Appendix B
Using the DMAmove and CDS-852 Adapter Code Instruments
B-6
ni.com
uint32 mode
Bit vector for mode of transfer
Bit 0: Transfer direction
0 = Source to destination
1 = Destination to source
Bit 1: Destination size
0 = 16 bit
1 = 8 bit
Bit 2: Operand size
0 = 16 bit
1 = 8 bit
Bit 3: DMA transfer mode
0 = Cycle steal
1 = Burst
Bit 4: Source address increment
0 = Increment source address by operand size
1 = Do not increment source address
Bit 5: Destination address increment
0 = Increment destination address by destination size
1 = Do not increment destination address
The interface for the DMAmove CI is almost identical. To control the DMAmove CI, simply
send 16 binary bytes of information over the GPIB with EOI on the last byte corresponding
to the four 32-bit parameters in the
DMAmove
function prototype. The only exception to this
for the DMAmove CI is that the value of zero (0) in the
source
parameter specifies to take
data from the GPIB as input and the value of zero (0) in the
dest
parameter specifies for the
source data to be transmitted out the GPIB. You may not specify zero in both
source
and
dest
parameters. If you are writing data with GPIB as the source, simply follow the 16-byte
transfer, which has EOI on the last byte, with the continuous data transfer with EOI on the last
byte. If you are reading data from the GPIB-VXI/C out to the GPIB, simply follow the 16-byte
transfer, which has EOI on the last byte, with a GPIB read. If both
source
and
dest
are
non-zero, the transfer will take place without further action. When either
source
or
dest
is
non-zero it specifies a local GPIB-VXI/C address as shown in Figure 5-1.