|
当我使用NI 9205和一个RIO设备以及LabVIEW FPGA时,在C系列模块属性对话框中,我看到选项可以设置模拟输入通道的最小转换时间。如果我在FPGA代码中使用定时循环来手动设置循环速率,LabVIEW FPGA怎么决定循环速率?
图1 NI 9205 C系列模块属性对话框
NI 9205为所有模拟通道实现了一个两元素深度的流水线。在C系列模块属性对框中你可以设置的最小转换时间决定了两次转换之间最短的可能时间。
图2 NI 9205流水线框图
如果你在一个循环内使用一个FPGA I/O节点,你配置的最小转换时间将优先于FPGA代码中的循环时间,除非配置的最小转换时间比代码中更小。 举个例子,如果你在FPGA I/O节点有32个模拟通道,在一个while循环中正在被采样,并且最小转换时间呗设置为20us,这样的话循环运行速率将为20us x 32通道 = 640us = ~1560Hz。 如果你在FPGA代码中使用定时循环,并设置循环速率为200us(5000Hz),代码实际上将以最小转换时间运行(~1560Hz)。 然而,如果你设置的最小转换时间比代码循环周期更短,例如把最小转换时间设置为4us/通道(总共~7810Hz),代码实际上将以FPGA代码中的5000Hz循环速率运行。 参考范例工程来验证两种配置在FPGA代码中的优先关系。范例程序在使用前需要被编译成一个目标。
LabVIEW Help: Conversion Timing for the NI 9205
C-Series Module Properties Dialog Box for the NI 9205 and NI 9206 (FPGA Interface)
|