beautypg.com

17 _7200_di_dma_start, Description – ADLINK PCI-7200 User Manual

Page 72

background image

60

C/C++ Libraries

5.17 _7200_DI_DMA_Start

@ Description

The function will perform digital input N times with DMA data trans-
fer by using one of the following four sampling modes:

1. pacer trigger (internal timer trigger)

2. external rising edge I_REQ

3. external falling edge I_REQ

4. I_REQ & I_ACK handshaking

It will take place in the background which will not stop until the Nth
input data is transferred or your program execute
_7200_DI_DMA_Stop function to stop the process.

After executing this function, it is necessary to check the status of
the operation by using the function _7200_DI_DMA_Status. The
PCI-7200 Bus mastering DMA is different from traditional PC style
DMA. Its description is as follows:

Bus Mastering DMA mode of the PCI-7200:

PCI bus mastering offers the highest possible speed available on
the PCI-7200. When the function _7200_DI_DMA_Start is exe-
cuted, it will enable PCI bus master operation. This is conceptually
similar to DMA (Direct Memory Access) transfers in a PC but it is
really PCI bus mastering. It does not use an 8237-style DMA con-
troller in the host computer and therefore isn't blocked in 64k max
groups. PCI-7200 bus mastering works as follows:

1. To set up bus mastering, first do all normal PCI-7200 ini-

tialization necessary to control the board in status mode.
This includes testing for the presence of the PCI BIOS,
determining the base addresses, slot number, vendor
and device ID's, I/O, or memory, space allocation, etc.
Please make sure the PCI-7200 is plugged in a bus
master slot, otherwise this function will not be workable.

2. Load the PCI controller with the count and 32-bit physi-

cal address of the start of previously allocated destina-
tion memory, which will accept data. This count is the
number of bytes (not long words) transferred during the