beautypg.com

Continuous output, Choosing dma or interrupt transfers – National Instruments 653X User Manual

Page 40

background image

Chapter 2

Using Your 653X

653X User Manual

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 653X 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.