Chapter 2
Using Your 653X
2-22
ni.com
the Data Overwrite/Regenerate parameter in the Digital Buffer Control VI,
called by the DIO Start VI.
Continuous Output
Similarly, with continuous output, the 653
X
device continuously reads
data from computer memory. As the device retrieves data from the buffer,
call the
DIG_DB_Transfer
function or the DIO Write VI to write the data.
The device will stop and return an error if it runs out of data to output, but
you have the option to allow it to regenerate data that has already been
outputted. As in continuous input, you specify the device to allow
regeneration with the oldDataStop parameter in the
DIG_DB_Config
function and the data overwrite/regenerate parameter in the Digital Buffer
Control VI, called by the DIO Start VI.
With 6534 devices, if you want to output the same block of data repeatedly,
you have the option of loading a buffer of data into onboard memory and
looping through this data block continuously. With this option, data is only
transferred from computer memory to the device onboard memory once,
and the device outputs the same block of data continuously from its
onboard memory. This allows the device to output data at higher rates
because it is not limited by the PCI bus bandwidth. To enable on-oard
memory looping:
•
NI-DAQ C interface—Set the
ND_PATTERN_GENERATION_LOOP_ENABLED
to ND_ON in the
Set_DAQ_Device_Info
function.
•
LabVIEW—Set the Pattern Generation Loop Enable attribute to
ON
in the DIO Parameter VI.
Choosing DMA or Interrupt Transfers
When using DMA (by default), the 6534 device transfers data in 32-byte
blocks and the 6533 device transfers data in 4-byte blocks. Therefore, at
any time during a continuous operation, there may be up to 31 bytes (or
3 bytes for 6533 devices) of data in an internal device FIFO. You can use
interrupt driven transfers if you need to retrieve data immediately as it is
acquired. Interrupt driven transfers are slower and take more processing
time from the computer than DMA driven transfers.