National Instruments AT-MIO-16X Switch User Manual


 
Chapter 3 Theory of Operation
AT-MIO-16X User Manual 3-22
©
National Instruments Corporation
continuous waveform. The advantage of having the data in the DAC
FIFO is that the FIFO never needs to have the data refreshed, therefore
it is never empty. Rather than requesting new data, the FIFO simply
reuses existing data, removing a large demand on the PC bus
bandwidth. Maximum updating performance is achieved in this mode
because it does not rely on the speed of the computer. All described
waveform modes involving cycling within the DAC FIFO can also
be accomplished without the entire buffer fitting inside the FIFO.
However, this requires more software intervention and therefore results
in a slower rate and decreased reliability.
FIFO Continuous Cyclic Waveform Generation
In addition to allowing better performance, the cyclic mode provides
greater flexibility. Because the hardware is in full control of the buffer,
it can start, stop, and restart the generation of the waveform as
programmed. An example of this added functionality is shown in
Figure 3-13.
Figure 3-13.
FIFO Cyclic Waveform Generation with Disable
In this example, the entire buffer fits within the DAC FIFO. After the
waveform is initiated, it cycles and recycles through the buffer. The end
of the buffer is indicated by the DACFIFORT* signal, or DAC FIFO
Retransmit. This is a signal generated by the hardware in cyclic mode
to trigger the DAC FIFO to retransmit its buffer. The CYCLICSTOP
signal is programmable through a register in the AT-MIO-16X register
set. If this bit is cleared, the DAC FIFO hardware runs ad infinitum or
until the timer update pulse triggering is disabled. If necessary, the
waveform can be stopped by disabling the timer trigger. The result of
this action is to leave the DAC at some unknown value, for example the
last updated value. The advantage of the CYCLICSTOP control signal
is that DAC updating ends gracefully. When this signal is set, the
waveform ends after it encounters the next retransmit signal. Thus, it
will always end in a known state at the end of the buffer.
DACFIFORT*
CYCLICSTOP