Chapter 10
Bus Interface
10-4
ni.com
compatible as long as those terminals on the sub-bus are disabled by default
and never enabled.
Caution
Damage can result if these lines are driven by the sub-bus. NI is
not
liable for any
damage resulting from improper signal connections.
Data Transfer Methods
(NI PCI/PCIe/PXI/PXIe Devices)
The three primary ways to transfer data across
the PCI bus are direct memory access (DMA), interrupt request (IRQ), and
programmed I/O:
•
Direct Memory Access (DMA)
—DMA is a method to transfer data
between the device and computer memory without the involvement of
the CPU. This method makes DMA the fastest available data transfer
method. NI uses DMA hardware and software technology to achieve
high throughput rates and increase system utilization. DMA is the
default method of data transfer for PCI/PCIe/PXI/PXIe devices.
•
Interrupt Request (IRQ)
—IRQ transfers rely on the CPU to service
data transfer requests. The device notifies the CPU when it is ready to
transfer data. The data transfer speed is tightly coupled to the rate at
which the CPU can service the interrupt requests. If you are using
interrupts to transfer data at a rate faster than the rate the CPU can
service the interrupts, your systems may start to freeze.
•
Programmed I/O
—Programmed I/O is a data transfer mechanism
where the user’s program is responsible for transferring data. Each
read or write call in the program initiates the transfer of data.
Programmed I/O is typically used in software-timed (on-demand)
operations. Refer to the
section of
Chapter 5,
, for more information.
(USB Devices)
The two primary ways to transfer data across the USB bus are
USB Signal Stream and programmed I/O:
•
USB Signal Stream
—USB Signal Stream is a method to transfer data
between the device and computer memory using USB bulk transfers
without intervention of the microcontroller on the NI device. NI uses
USB Signal Stream hardware and software technology to achieve high
throughput rates and increase system utilization in USB devices.
•
Programmed I/O
—Programmed I/O is a data transfer mechanism
where the user’s program is responsible for transferring data. Each
read or write call in the program initiates the transfer of data.
Programmed I/O is typically used in software-timed (on-demand)