【发布时间】:2018-06-10 05:57:46
【问题描述】:
我想在labview 中实现以下电路。
在 LabView 中,我可以发现 while 循环是由 Tick 计时器(以毫秒为单位)或固定时钟控制来控制的。但是我想将顺序 ckt 块放在 while 循环中,并且控制信号应该由其他一些组合电路生成。有可能这样做吗?
【问题讨论】:
标签: clock labview sequential digital
我想在labview 中实现以下电路。
在 LabView 中,我可以发现 while 循环是由 Tick 计时器(以毫秒为单位)或固定时钟控制来控制的。但是我想将顺序 ckt 块放在 while 循环中,并且控制信号应该由其他一些组合电路生成。有可能这样做吗?
【问题讨论】:
标签: clock labview sequential digital
首先...你有LabVIEW Real-Time Module 或LabVIEW FPGA Module 吗?这些是 LV 附加组件。如果没有,那么你没有能力做到这一点,不是真的。 LabVIEW 桌面版是一种用于桌面机器的编程语言。常规 LabVIEW 中的 While 循环就像 C++ 或 C# 中的 While 循环——它只是一个执行操作的循环,并且您在内部调用的任何计时子例程都受操作系统的反复无常,因为它交换线程进出或内存管理器的延迟。甚至 Timed While 循环也只是一个模拟。它试图靠近系统时钟,但它非常不精确。
您需要其中一个模块才能将代码部署到操作系统(实时)或直接部署到硬件 (FPGA),您可以在其中拥有确定性代码。这在任何桌面系统(Mac、Windows、桌面 Linux)上都是不可能的。
现在...如果您确实有这些模块之一,是的,这是可能的。
在 FPGA 上,您可以直接对其进行编程。 FPGA 模块允许编写 LV 代码以在每个时钟节拍上执行执行周期。与门实际上是与原始节点。还有一个信号时钟节点。等等。
在 RT 上,它更复杂但可行。 While 循环只是一个循环,就像您在任何其他编程语言中发现的一样。它将执行其中的所有节点,然后重新开始。因此,如果循环结构中的节点具有与之关联的时间签名,那么这些节点将在其预定时间执行,而 While 循环将等待这些节点完成,然后再开始下一次迭代。因此,编写您的数字时钟以在给定时刻返回一个信号,这将触发您的时序逻辑运行。
【讨论】: