To transfer data between an FPGA VI and a host VI programmatically, you can use one of the following methods:
- Programmatic Front Panel Communication
- Direct Memory Access (DMA)
- User-defined I/O variables
The following table summarizes and compares these methods.
Data Transfer Method | Host OS | Throughput Rate | Call Overhead | Host CPU Usage | Timing Model | Synchronization |
---|---|---|---|---|---|---|
Programmatic front panel communication | Windows, RT | Lower | Lower | Higher | User-Defined | User-Defined |
Direct memory access | Windows, RT | Higher | Higher | Lower | User-Defined | Automatic |
User-Defined I/O Variables | RT with NI Scan Engine capability | Lower | Lower | Lower | NI Scan Engine | Automatic |
In general, use programmatic front panel communication for small, frequent data transfers and DMA for streaming large amounts of data at a time. Use user-defined I/O variables for transferring coherent sets of FPGA I/O data to and from an RT host VI. The following table compares the common reasons to use each of the transfer methods.
Data Transfer Method | Common Use |
---|---|
Programmatic Front Panel Communication |
|
Direct Memory Access |
|
User-Defined I/O Variables |
|
Article from http://zone.ni.com/reference/en-XX/help/371599P-01/lvfpgaconcepts/fpga_data_transfer_overview/
FPGA servers is more secure ?