定时循环
- 更新时间2025-01-28
- 阅读时长5分钟
FPGA模块单周期定时循环不同于标准LabVIEW定时循环 的优点在于FPGA单周期定时循环的定时与指定的FPGA时钟的时钟速率完全一致。通过将单周期定时循环配置为使用非FPGA终端基本时钟的时钟,可实现FPGA VI中的 多个时钟域 。通过连线单周期定时循环输入节点的 源名称 输入端,或使用配置定时循环 对话框。
不能在单周期定时循环内使用下列VI、函数或结构。
所用的FPGA终端可能不支持额外的VI或函数。同样,某些终端不支持位于单周期定时循环内部和外部的指定I/O项。参考特定的FPGA终端有关详细信息,请参阅 硬件文档 。
下表描述了单周期定时循环与其他组件交互的方式。
| 在“我的电脑”下打开的VI中的单周期定时循环 | 如在我的电脑下打开的VI中放置单周期定时循环,单周期定时循环将显示某些FPGA终端不支持的接线端。如在FPGA终端下打开该VI,仍会显示不支持的接线端。如在FPGA终端下打开的VI中放置单周期定时循环,单周期定时循环将隐藏不支持的接线端。如在我的电脑下打开该VI,单周期定时循环不会显示我的电脑支持的全部接线端。 |
| 在FPGA终端下打开的VI中的单周期定时循环 | 如在FPGA VI中放置一个单周期定时循环,默认情况下仅显示源名称输入端。除源名称和错误外,单周期定时循环的输入节点的可用输入端对在FPGA VI中使用单周期定时循环无影响。错误为FPGA VI中唯一支持的单周期定时循环输出端。
注: 请勿在单周期定时循环帧的前后添加帧,以尝试将单周期定时循环在FPGA VI中用作定时顺序结构。LabVIEW FPGA模块不支持定时顺序结构。
|
| 单周期定时循环中的显示控件 | 仅当没有局部变量写入显示控件时,才可在单周期定时循环内放置显示控件。 |
| FPGA I/O节点和单周期定时循环 | 您可以使用单周期定时循环中的 FPGA I/O节点 (如果FPGA终端支持)。如使用的FPGA终端支持单周期定时循环,则只能使用 Arbitrate if Multiple Requestors Only 和 从不仲裁仲裁选项如选择仅在有多个请求方时仲裁,不能对FPGA VI中的指定I/O项使用超过一个的FPGA I/O节点实例。如选择从不仲裁,如每个实例位于以同一速率执行的单周期定时循环内,可对FPGA VI中的指定I/O项使用超过一个的FPGA I/O节点实例。 |
| 平铺式顺序和单周期定时循环 | 您可以使用平铺式顺序 或单周期定时循环中的 堆叠顺序 结构。但所有顺序帧在一个时钟周期内执行。 |
| 子VI和单周期定时循环 | 不能使用多个单周期定时循环中的 非重入 或共享子VI。可在单周期定时循环中使用重入VI的多个实例,前提是重入VI不使用共享资源。 |
| 等待事件发生函数和单周期定时循环 | 您无法使用单周期定时循环中的 等待发生 函数。但是,您可以使用设置发生次数 函数。然后,可在单周期定时循环之外使用等待发生函数。While循环 或For循环。 |
| 一个时钟周期函数、内部寄存器和单周期定时循环 | 在单周期定时循环中,可以使用一些需要一个时钟周期才能执行的函数,例如内存方法节点。如使用该函数读取使用嵌入式存储器块的存储器项,该函数的输出直至单周期定时循环的下一次计数才有效。因此必须直接连线该类函数的输出至未初始化的移位寄存器。 |
| 单周期定时循环中的数组和簇 | 可编译带有数组和簇的FPGA VI,该数组和簇连线至单周期定时循环内部指定数值和布尔函数。 |
| 单周期定时循环内的For循环 | 如For循环仅包含数组、数值、布尔或比较运算且仅使用自动索引的隧道,可在单周期定时循环内放置For循环。在单周期定时循环的For循环内,不允许使用生成或包含状态的对象(例如,移位寄存器、反馈节点或VI调用)。 |
| 单精度浮点型(SGL)数据类型和单周期定时循环 | 大多数功能无法执行单周期定时循环中的单精度浮点运算, 因为它们需要一个以上的时钟周期才能执行,但它们没有握手信号。 |