Chapter 5 Analog Output
© National Instruments Corporation 5-3 NI USB-621x User Manual
– Hardware-timed acquisitions can use hardware triggering.
Hardware-timed operations are buffered. During hardware-timed
AO generation, data is moved from a PC buffer to the onboard
FIFO on the USB-621x device using USB Signal Streams before
it is written to the DACs one sample at a time. Buffered
acquisitions allow for fast transfer rates because data is moved in
large blocks rather than one point at a time.
One property of buffered I/O operations is the sample mode. The
sample mode can be either finite or continuous:
• Finite sample mode generation refers to the generation of a
specific, predetermined number of data samples. After the
specified number of samples has been written out, the
generation stops.
• Continuous generation refers to the generation of an
unspecified number of samples. Instead of generating a set
number of data samples and stopping, a continuous
generation continues until you stop the operation. There are
three methods of continuous generation that control what data
is written. These methods are regeneration, FIFO
regeneration, and non-regeneration modes.
Regeneration is the repetition of the data that is already in the
buffer. Standard regeneration is when data from the PC buffer is
continually downloaded to the FIFO to be written out. New data
can be written to the PC buffer at any time without disrupting the
output.
With FIFO regeneration, the entire buffer is downloaded to the
FIFO and regenerated from there. Once the data is downloaded,
ne
w data
cannot be written to the FIFO. To use FIFO regeneration,
the entire buffer must fit within the FIFO size. The advantage of
using FIFO regeneration is that it does not require communication
with the main host memory once the operation is started, thereby
preventing any problems that may occur due to excessive bus
traffic.
With non-regeneration, old data is not repeated. New data must be
continually written to the buffer. If the program does not write new
data to the buffer at a fast enough rate to keep up with the
generation, the buffer underflows and causes an error.