在 FPGA 中同步 DSA 模块

更新 Nov 9, 2020

环境

硬件

  • NI-9229
  • NI-9233
  • NI-9237
  • NI-9227
  • NI-9238
  • NI-9234
  • NI-9225
  • NI-9202
  • NI-9218
  • NI-9232
  • NI-9235
  • NI-9236
  • NI-9239
  • NI-9242
  • NI-9244
  • NI-9246
  • NI-9247
  • NI-9250
  • NI-9251

软件

  • LabVIEW FPGA Module

  • 我的CompactRIO中有一些动态信号采集(DSA:Dynamic Signal Acquisition)模块,我想在LabVIEW FPGA中进行同步。我应该怎么做呢?
  • 我的cRIO里有两个动态信号采集模块。根据记录的数据,一个模块采集的数据落后于另一个。有时它们是同步的,而其他时候则不是。我该怎么办?

同步DSA模块的方法取决于模块是否相同。

如果模块相同,则可以将数据速率设置为相同,并且可以使用相同的FPGA I / O节点同步模块。

如果模块不同,则需要考虑以下步骤:
  1. 为了同步两个不同的模型,您需要首先从速率最快的模块中导出时钟,然后将该时钟用于其他模块。
  2. 每个DSA模块都具有数据延时滤波器  。由于不同模块之间的延迟有所不同,因此您需要对此进行补偿
  3. 在LabVIEW FPGA中从DSA模块读取同步数据的最佳方法是将每个模块的I / O节点置于相同的while循环中。如果在while循环中并行使用不同模块的I / O节点,则需要考虑其他启动延迟。这些启动延迟将需要进行模块间基准测试,以确定如何同步采集。