Sampling modes
11Copyright © 2006–2022 Pico Technology Ltd. All rights reserved.ps2000pg.en-12
PicoScope 2000 Series Programmer's Guide
3 Sampling modes
PicoScope 2000 Series PC Oscilloscopes can run in various sampling modes.
Block mode. At the highest sampling rates, the oscilloscope collects data much faster than
a PC can read it. In this case, the oscilloscope stores a block of data in an internal memory
buffer, delaying transfer to the PC until the required number of data points have been
sampled.
ETS mode. In this mode, it is possible to increase the effective sampling rate of the scope
when capturing repetitive signals. It is a modified form of block mode.
Streaming modes. At all but the highest sampling rates, these modes allow accurately
timed data to be transferred back to the PC without gaps. The computer instructs the
oscilloscope to start collecting data. The oscilloscope then transfers data back to the PC
without storing it in its own memory, so the size of the data set is limited only by the size
of the PC's memory. Sampling intervals from less than one microsecond (depending on
model) to 60 seconds are possible. There are two streaming modes:
·
Compatible streaming mode
·
Fast streaming mode
3.1 Block mode
In block mode, the computer prompts the oscilloscope to collect a block of data in its internal
memory. When the oscilloscope has collected the whole block, it signals that it is ready and
then transfers the whole block to the computer's memory through the USB port.
The maximum number of values depends upon the size of the oscilloscope's memory. A
PicoScope 2000 Series oscilloscope can sample at a number of different rates that correspond
to the maximum sampling rate divided by 1, 2, 4, 8 and so on.
There is a separate memory buffer for each channel. When a channel is unused, its memory
can be borrowed by the enabled channels. This feature is handled transparently by the driver.
The driver normally performs a number of setup operations before collecting each block of
data. This can take up to 50 milliseconds. If it is necessary to collect data with the minimum
time interval between blocks, avoid calling setup functions between calls to
ps2000_run_block, ps2000_ready, ps2000_stop and ps2000_get_values.
See Using block mode for programming details.
3.1.1 Using block mode
This is the general procedure for reading and displaying data in block mode:
1. Open the oscilloscope using ps2000_open_unit.
2. Select channel ranges and AC/DC coupling using ps2000_set_channel.
3. Using ps2000_set_trigger, set the trigger if required.
4. Using ps2000_get_timebase, select timebases until you locate the required time
interval per sample.
5. Start the oscilloscope running using ps2000_run_block.
6. Poll the driver to find out if the oscilloscope has finished collecting data, using
ps2000_ready.