How Does DMA Work with High-Speed Digitizer Boards?
Primary Software: Driver Software>>NI-SCOPE
Primary Software Version: 2.7
Primary Software Fixed Version: N/A
Secondary Software: N/A
High-speed digitizers typically have large onboard memory to accommodate very high sampling rates. However there are times when the data is too large to fit on the onboard memory. In these situations it is important to understand how high-speed digitizers use direct memory access (DMA) to transfer data across the PCI bus to the host computer.
High-speed digitizer boards use the NI-Scope driver and by default, direct memory access (DMA) is used to transfer data across the PCI bus. Calling the fetch function will DMA data from the onboard memory across the PCI bus to the host computer.
Fetching data refers to the process of transferring the acquired waveform from the digitizer memory to the host computer memory. This is generally done with DMA, which copies the binary data from the digitizer extremely quickly.
Usually, the binary data is scaled to voltage during the fetch and stored in as a 64-bit floating point number. One or more waveform arrays are returned from each Fetch function, which allow you to display, analyze, or store the acquired data.
When fetching data from a multi record acquisition, the DMA operation is started and stopped for each individual record. When acquiring data continuously, the DMA operation is started and stopped each time the fetch function is called. Thus, the data transfer rate will depend on PCI bus speed, processor speed, and the board transfer speed.
As a side note, the number of samples transferred from the board to the host computer can be changed using this property node:
NI High-Speed Digitizers Help
Tutorial: Reference Design for Streaming Data from Multiple High-Speed Digitizer Modules
Specifications Explained: NI Oscilloscopes and Digitizers
Report Date: 04/19/2005
Last Updated: 10/04/2017
Document ID: 3KIBREQT