
PicoScope 3000A Series Prog rammer's Guide
7
Copyright © 2011-2013 Pico Technology Limited. All rights reserved.
ps3000abpg.en r9
2.7
Sampling modes
PicoScope 3000A Series oscilloscopes can run in various
sampling modes
.
In this mode, the scope stores data in internal RAM and then transfers
it to the PC. When the data has been collected it is possible to examine the data,
with an optional downsampling factor. The data is lost when a new run is started in
the same
, the settings are changed, or the scope is powered down.
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
This is a variant of block mode that allows you to capture more
than one waveform at a time with a minimum of delay between captures. You can
use downsampling in this mode if you wish.
.
In this mode, data is passed directly to the PC without being
stored in the scope's internal RAM. This enables long periods of slow data collection
for chart recorder and data-logging applications. Streaming mode supports
downsampling and triggering, while providing fast streaming at up these rates (with
a USB 2.0 port; USB 3.0 devices may be faster when used with a USB 3.0 port):
7.8125 MS/s (128 ns per sample) when three or four channels or ports* are
active
15.625 MS/s (64 ns per sample) when two channels or ports* are active
31.25 MS/s (32 ns per sample) when one channel or port* is active
*Note: A port is a block of 8 digital channels, available on MSOs only.
In all sampling modes, the driver returns data asynchronously using a
. This is a
call to one of the functions in your own application. When you request data from the
scope, you pass to the driver a pointer to your callback function. When the driver has
written the data to your buffer, it makes a callback (calls your function) to signal that
the data is ready. The callback function then signals to the application that the data is
available.
Because the callback is called asynchronously from the rest of your application, in a
separate thread, you must ensure that it does not corrupt any global variables while it
runs.
For compatibility of programming environments not supporting callback, polling of the
driver is available in block mode.