This paper belongs to the Advanced Features in High-Speed Digital I/O Devices: White Paper Series
Download the Advanced Features of High-Speed Digital I/O Devices White Paper Series
NI digital waveform generator/analyzers use multiple megabytes of onboard memory to acquire and generate data. With onboard memory, you can achieve much higher data rates than would be allowed by streaming data from system memory across the PCI bus. Acquisition memory and generation memory are separate; for example, a 64 MS device has two 64 MS memory blocks –one for acquisition and one for generation.
If you are performing hardware comparison, the fault data is stored separately from the acquisition and generation data, so fault data does not consume any of your acquisition or generation memory.
Waveforms and scripts are stored together in device memory. They are stored in contiguous blocks, appearing in memory in the order they were written to the device. You can delete individual waveforms from the device, freeing up the space they occupy for other waveforms to be written.
This property node determines the sample size of the board. This also sets the number of usable channels. The default size is determined by the board. The acquisition data width can be set but the generation data width is fixed.
Figure 1. Data Width and Number of Channels Available
In NI LabVIEW software, you can use the Data Width Property Node to write to or read this property for the board.
Figure 2. Data Width Property Node
Acquisition Memory: The physical memory and data width determines the sample storage amount. You can increase the number of samples that can be stored in memory by reducing the data width.
Generation Memory: Similar to acquisition, the amount of samples that can be stored is determined by the physical memory and the data width. The data width is set by the device and the mode. For generation, a portion of the memory is also used for scripting instructions.
Board |
Memory Size (Mb/ch) |
||
1 Mb/ch |
8 Mb/ch |
64 Mb/ch |
|
6541/6542 |
1 |
8 |
64 |
6544/6545 |
1 |
8 |
64 |
6547/6548 SDR |
1 |
8 |
64 |
6547/6548 DDR |
2 |
16 |
128 |
6551/6552 |
1 |
8 |
64 |
6561/6562 SDR |
2 |
16 |
128 |
6561/6562 DDR |
4 |
32 |
256 |
Figure 3. Memory Sizes
The vast amounts of memory available on the high-speed digital products give you the ability to stream data to and from the PC memory. The onboard memory acts as a buffer, which can store data while the board generates/acquires. The examples below show how to stream data for both acquisition and generation using the high-speed digital boards.
Streaming on High-Speed Digital I/O Boards: Acquisition
Streaming on High-Speed Digital I/O Boards: Generation
A single instruction compiled for the NI high-speed digital I/O boards is 16 B. The number of samples that are used by an instruction depends on data width.
• Data width of 1 (6541/6542, 655x) 16 samples
• Data width of 2 (656x SDR) 8 samples
• Data width of 4 (6544, 6545, 656x DDR) 4 samples.
The amount of memory occupied can be determined by:
1 B 8 ch
Memory Option (Mb/ch) x -----------------x ------------ x datawidth (B)
8 bits 1 B
All scripts have a two instruction overhead.
The onboard memory on the high-speed digital boards is used for storing data. Digital vectors can be stored on the memory, and advanced linking and looping of these vectors can be achieved using scripting. Also, for features such as hardware compare, the expected data is stored on the memory, which is then used to compare against the data that is acquired. Lastly, the onboard memory is used for streaming data to and from the PC memory.