微波EDA网,见证研发工程师的成长!
首页 > 微波射频 > 测试测量 > 基于NI LabVIEW 2010和NI RIO构建精确定时的嵌入式系统

基于NI LabVIEW 2010和NI RIO构建精确定时的嵌入式系统

时间:10-16 来源:mwrf 点击:

竞争等潜在的不稳定因素。

在实时硬件上确定性的运行m文件

如果已经有了现成的m文件,用户可以通过LabVIEW MathScript RT模块,在使用LabVIEW Real-Time模块编程的嵌入式系统中使用这些代码。这种方式从根本上改变了以往从m文件到实时硬件代码的复杂而繁琐的迁移过程,使其变得简洁而迅速。只需要将用户的m文件通过MathScript节点嵌入到LabVIEW图形代码中,再在LabVIEW项目中将其拖放到实时硬件上,整个迁移过程就完成了。

5、LabVIEW FPGA模块内置的定时特性

使用单周期定时循环优化FPGA程序

LabVIEW 2010 FPGA模块中的单周期定时循环移除了循环内部的寄存器,用户可以在其中最优化地运行与之相兼容的代码。这项措施可以使那些需要在硬件上可靠运行的关键操作达到最高40MHz的循环速率。另外,在单周期定时循环内执行的代码占用的FPGA资源更少,从而可以节省出更多的资源给其他的任务。

基于NI LabVIEW 2010和NI RIO构建精确定时的嵌入式系统

图4. LabVIEW FPGA模块中的单周期定时循环可以让用户的这部分代码达到最高40MHz的循环速率

使用循环定时器来调整FPGA代码的执行

想要在FPGA上周期性地执行操作其实很简单,只需要在LabVIEW FPGA的代码框图里添加一个循环,然后在其中放置一个循环定时器就可以了。循环定时器的定时控制可以根据需要选择循环周期为纳秒级、微秒级或者毫秒级的不同硬件时钟作为定时基准。在默认的40MHz时钟速率下,循环定时器可以实现25ns整数倍的定时周期。

通过中断对实时程序和FPGA程序的定时进行同步

在FPGA硬件系统中,用户可以在FPGA程序中产生中断,通知实时程序各种事件的发生,例如数据采集完毕,发生错误,任务已经完成等等。使用LabVIEW FPGA模块中的相关中断函数结合LabVIEW Real-Time模块中的Wait on Interrupt方法,用户可以实现整个嵌入式系统中CPU和FPGA之间的同步。一个系统中最多能够使用32个中断。

使用关键路径高亮帮助确定系统瓶颈。

在开发过程中,确定和修正时序错误的FPGA代码是一件耗时费力的事情。为了简化这一过程,可以使用LabVIEW FPGA模块的关键路径高亮功能来突出关键路径上的每一步操作,迅速跳转到出现瓶颈的代码部分,编写更高效的代码或者流水线来对瓶颈进行修正。

基于NI LabVIEW 2010和NI RIO构建精确定时的嵌入式系统

图5. LabVIEW FPGA模块的关键路径高亮功能可以帮助用户迅速确定FPGA程序中的瓶颈所在

6、在您的下一次嵌入式原型或设计中使用LabVIEW和NI RIO

NI RIO硬件设备和LabVIEW由于其短周期高可靠的开发特性,已经在数以千计的嵌入式原型或工程产品中得到成功应用。当您在计划下一次的嵌入式设计时,请考虑这样一套功能强大、扩展性强的成熟系统为您所带来的时间和金钱成本上的节省,以及LabVIEW的图形化编程、内置的定时特性以及数以百计的IP内核帮助您缩短的开发周期。

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top