在FPGA和主机间传递数据
- 更新时间2025-05-20
- 阅读时长2分钟
如要在FPGA VI和主控VI间可编程式地传输数据,可使用下列方法:
- 可编程式前面板通信
- 直接内存访问(DMA)
- 用户定义I/O变量
下表总结并比较了上述方法。
| 数据传输方法 | 主控OS | 吞吐率 | 调用系统开销 | 主CPU使用量 | 定时模型 | 同步 |
|---|---|---|---|---|---|---|
| 可编程式前面板通信 | Windows, RT | 下限 | 下限 | 高 | 用户定义 | 用户定义 |
| 直接内存访问 | Windows, RT | 高 | 高 | 下限 | 用户定义 | 自动 |
| 用户定义I/O变量 | 带有NI扫描引擎功能的RT系统 | 下限 | 下限 | 下限 | NI扫描引擎 | 自动 |
通常,小型、频繁的数据传输可使用可编程式前面板通信,一次性传输大量数据时可使用DMA。使用用户定义I/O变量传输相干FPGA I/O数据集至RT主VI或从RT主VI接收数据。下表比较了使用下列传输方法的常见原因。
| 数据传输方法 | 常用于 |
|---|---|
| 可编程式前面板通信 |
|
| 直接内存访问 |
|
| 用户定义I/O变量 |
|