5244D Data transfer speed

Post your Linux discussions here
Post Reply
cassiersg
Newbie
Posts: 0
Joined: Fri Feb 14, 2020 5:21 pm

5244D Data transfer speed

Post by cassiersg »

We are using the Picoscope 5244D to collect many traces (typically 1 channel, 12 bit resolution, 500MS/s) using rapid block mode. We run on recent machines (under ubuntu 18.04)

In our experience, the data transfer rate to the PC is limited to about 52MS/s (obtained by making maximal use of the memory of the device and collecting long traces: 1000 blocks of 260000 samples).
This is far from the maximum bandwidth of the USB3 (even assuming that each sample is transferred as 2 bytes, we get 840Mbit/s).
For 8 bit resolution, we get about twice more samples per second.

These measurements have been obtained using the SDK by running first the acquisition, then using the ps5000aGetValuesBulk function. (We measure the timing of only that function.)

We have not been able to find any documentation of the expected data transfer bandwidth for the rapid block mode, nor for the streaming mode for this particular model.

Is this a known/expected limitation or are there ways to make the data transfer faster ?
We are currently considering buying some more scopes, where can we find this information for other models ? (e.g. is it better for other products ?)

Gerry
PICO STAFF
PICO STAFF
Posts: 1144
Joined: Mon Aug 11, 2014 11:14 am

Re: 5244D Data transfer speed

Post by Gerry »

Hi cassiersg,

The fastest method to capture data in the PicoScope hardware sample buffer, without transfer to the computer, is by using standard Block Mode to completely fill the sample buffer in one capture. The fastest method to capture multiple waveform data in multiple sections of a split sample buffer is using Rapid Block Mode. Note that both of these methods then have to negotiate for control of the USB bus (which will take 10's of milliseconds) before transferring the data to the computer, which slows down the rate of capture + transfer to the computer.

So, the fastest method to both capture and send the data to the computer is by using Streaming Mode because, when using that method, once streaming has started i.e. once (a) the sample buffer has been set up effectively as a FIFO (for temporary storage of the incoming data and transfer to the computer) (b) some data has been captured (c) use of the USB bus has been negotiated and initiated, then the data can be transferred continuously at the negotiated rate, without any further intervention. The streaming rates are all published on our website in the specifications of our PicoScopes, under the 'Horizontal' section. So, for instance, the 5000 series PicoScopes will stream the data to the computer, using USB 3, at a maximum rate of 20MS per second, when using PicoScope our 6 software, or at a maximum rate of 125Ms per second, when using our Software Development Kit (note that this would be shared among active channels, and for 8-bit samples, while 12-bit samples and above would be transferring two sample bytes at a time, so the transfer rate would be halved).

While it is possible to send the data to the computer at a faster rate, using our SDK, our streaming rates have been tested for the maximum possible speed at which the data can be reliably transferred over the bus (i.e. the maximum rate, for the specific PicoScope series, without any data loss due to the mechanism involved for use by a customers developed application).

Just so that you're aware, you can stream data faster using our 6000 series PicoScopes, which will steam at a rate of 150MS per second (with a computer that has the resources to do it).

Regards,

Gerry
Gerry
Technical Specialist

cassiersg
Newbie
Posts: 0
Joined: Fri Feb 14, 2020 5:21 pm

Re: 5244D Data transfer speed

Post by cassiersg »

Thank you for your answer.

We need to capture multiple waveforms, therefore the rapid block mode is perfectly fitted for our purposes.
In our observations (obtained by varying the number of captured waveforms, hence the total number of samples), the usb bus control negociation is negligible: a few tens of ms, compared to the full transfer (about 260MS), therefore the full transfer takes a few seconds.

Do you know that maximal data transfer rate **in rapid block mode** for the 5000 and 6000 series ?

Gerry
PICO STAFF
PICO STAFF
Posts: 1144
Joined: Mon Aug 11, 2014 11:14 am

Re: 5244D Data transfer speed

Post by Gerry »

Hi cassiersg,

I would have to setup and run a test to find this out (as far as I'm aware, you are the first person to ask for this). I will need to set aside some time to do it though.

Regards,

Gerry
Gerry
Technical Specialist

BSI
Newbie
Posts: 0
Joined: Wed May 12, 2010 3:15 pm
Location: Canada

Re: 5244D Data transfer speed

Post by BSI »

Hi Gerry
I have the same question as cassiersg, I am doing rapid block acquisition : 1000 to 4000 captures, and a nbr of points for each capture around 3000 to 15000.
The overhead for the data transfer due to the buffer allocation is quite significant: ie: ~ 80ms for 4096 captures of length 2000 points. In terms of speed we are getting ~ 40-50 Msamples/sec, so if coded as 16 bits = 2 bytes, for each samples, that would be 80-100 MByte/s . Is it what you would expect? Thx

ldbm

Post Reply