User`s manual
80 Continuous Data Transfer
PCIS-DASK
Double-Buffered AI/DI Operation
5.2 Double-Buffered AI/DI Operation
The PCIS-DASK uses double-buffering techniques in its driver
software for continuous input of large amounts of data.
Double Buffer Mode Principle
The data buffer for double-buffered continuous input operation is a
logical circular buffer. It is logically divided into two equal halves.
The double-buffered input begins when the device starts writing
data into the first half of the circular buffer (a). Refer to figure
below. When the device starts writing to the second half of the cir-
cular buffer, the data is copied from the first half to the transfer
buffer (b) also known as user buffer. You can now process the
data in the transfer buffer depending on the application needs.
After the board has filled the second half of the circular buffer, the
board returns to the first half buffer and overwrites the old data.
The data is copied from the second half of the circular buffer to the
transfer buffer (c). The data in the transfer buffer is again available
for process. The process may be repeated endlessly to provide a
continuous stream of data to your application (d).
The PCIS-DASK double buffer mode functions were designed
according to the principle described above. If you use:
AI_AsyncDblBufferMode or
DI_AsyncDblBufferMode
to enable double buffer mode, the following continuous AI/DI func-
tion performs double-buffered continuous AI/DI. You may call