微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > 嵌入式设计 > 基于LabVIEW的32位处理器嵌入式系统的开发

基于LabVIEW的32位处理器嵌入式系统的开发

时间:05-13 来源:3721RD 点击:

开发与目标无关的代码

嵌入式目标本身要求程序员在编写代码之前对目标有深入的了解。程序需要知道板卡上各种关于内存映射和寄存器的信息,才能在板卡上执行他们的代码。另外,大部分代码是专为某一特定目标编写的。这样,在一块板卡上使用不同的微处理器或是不同的外围设备,可能就需要重新编写大部分已有的代码,或是完全从头开始。这意味着最终产品的扩展性方面是有缺陷的。

图1:LabVIEW 开发界面

但是,使用LabVIEW嵌入式开发模块,工程师和科学家们不需了解最终的目标,就可以进行代码开发,因为软件生成的是LabVIEW应用的ANSI C代码,而不是针对某个特定目标的二进制代码。LabVIEW嵌入式方式是一个开放的框架,它可以整合任意的第三方工具链,将生成的C代码、LabVIEW实时库函数和板卡支持程序包(BSP)编译成为针对某一目标并能在这个目标上运行的二进制代码。BSP是一种作为C代码与板上外围硬件接口的底层代码。因此,如果板卡需要升级,工程师可以简单地将不同的BSP链接到LabVIEW中,在现有的图形化代码上作一小部分改动就可以完成。

与目标无关的代码开发意味着工程师和科学家不再需要等待硬件确定之后再开始设计算法。这样并行的工作和效率的提升,使开发周期和产品上市时间大大缩短。最后,所生成的LabVIEW代码不是针对某个特定平台的,所以您很容易升级到新的硬件。

使用LabVIEW嵌入式特性缩短开发时间

LabVIEW嵌入式开发模块构建在自LabVIEW诞生以来近20年的创新精神之上,帮助工程师和科学家们利用数百个内建的库函数,涵盖高等算法、文件I/O、逻辑和信号处理各个方面。通过LabVIEW嵌入式方式 ,工程师和科学家可以使用一种叫做内联C节点(Inline C Node)的新特性,整合现有的嵌入式代码,来保持LabVIEW的开放架构。

除了用于快速调试的内建图形化用户接口显示件、探针、断点和函数步进之外,LabVIEW嵌入式开发模块为代码调试提供了另外两种无缝的接口。在嵌入式目标平台上,工程师可以使用"仪器调试"(instrumented debugging),以便于通过TCP/IP、RS232,或CAN进行调试。使用内建的片上调试接口,工程师可以通过工业标准协议,如JTAG、BDI和Nexus等,进行调试,同时不影响程序性能。

LabVIEW嵌入式开发模块使领域专家可以使用现有的技术进行更多的应用,使用同一环境进行算法设计、原型,实现他们的解决方案,极大地缩短开发时间和产品上市时间。
NI提供了各种硬件平台与LabVIEW集成,完成从设计、原型到部署的全过程。例如使用LabVIEW和NI 可重复配置I/O(RIO)设备或NI CompactRIO平台,他们可以快速而便捷地创建嵌入式系统的原型。NI现有的一个成功案例就是帮助汽车控制和数据采集解决方案的提供商--Drivven公司通过NI CompactRIO对基于FPGA的2004 Yamaha YZF-R6摩托车引擎控制系统设计原型,他们的目标是为基于FPGA传动控制器提供一条无缝的从原型设计到生产的路径。对于这个项目,Drivven在软件上使用LabVIEW;在硬件上选择了一个4插槽的NI CompactRIO嵌入式系统,因为它灵活性强、体积小巧而且波形因数稳定。利用这一系统,他们可以在轻松地添加传感器和激励器的同时快速且便捷地观察数据,除此之外,还可以在一个超级运动型摩托车上利用的极为有限的空间放置控制器。这个项目包含三个主要的阶段: 1,通过自定义I/O模块的开发。共有三个自定义I/O模块监视着所有摩托车的传感器并控制它的激励器,此外现在正在开发其他的CompactRIO的模块以用于传动控制应用,包括用于驱动电子节流阀的模块和与通用的废气氧气传感器连接的模块。2,映射工厂级ECU(Factory ECU)。把ECU数据记录在1MB的文件上(在每分钟一个文件的速率下高达20个文件)同时在许多种不同的节流阀位置和引擎速率(接近700个操作点)的组合下驾驶摩托车从而完整地映射了工厂级ECU(Factory ECU)的性能。驾驶员仔细地驾驶着摩托车,以尽可能的减少瞬时操作。在一辆跟随的汽车里的工程师则周期地以无线的方式从CompactRIO接收数据文件,传输至一台笔记本电脑并且立即分析这些数据以覆盖所有操作点。一个基于笔记本电脑的NI LabVIEW应用程序迅速地将数据分类至速度/负载操作表,与此同时滤除瞬时数据。对每一个操作点都从这些数据计算出平均和标准的偏差。在两个小时里,这个团队采集了90%摩托车的操作点的数据,这对于全面理解工厂级ECU的映射是一个足够充分的覆盖。后来,在实验室里,工程师又使用LabVIEW对这些数据进行处理,在图形化地修改原始数据以填充丢失的操作点的同时提供了3维和2维的可视化信息。3,引擎控制。在最后阶段,Drivven使用CompactRIO对一个研究性质的ECU进行原型设计,它的性能可以与工厂级ECU相媲美,但是却提供了可以实施未来控制算法研究和开发的功能(这对使用生产目的的电子是不可能的)。利用CompactRIO,Drivven实现了许多引擎管理FPGA核,它们都具有可配置的LabVIEW FPGA图表并放置在方框图里。使用LabVIEW实时模块,实现了速度-密度和alpha-N引擎控制策略(经常用于高性能的赛车场合)的结合。所以说,Compact RIO和LabVIEW提供了所需的可靠性和精确的定时资源,而且这个系统具有足够稳定性来承受工作环境的高温和高振动。如果读者想要阅读完整的解决方案,请访问ni.com/china,输入信息码(info code)cn5k8t。

另外使用LabVIEW嵌入式开发模块,还可以制造嵌入式板卡并部署到任意的32位微处理器。正如LabVIEW使工程师们可以开发定制的虚拟仪器,而不再依赖供应商定义的台式仪器,从而在测试和测量领域掀起一场革命一样,LabVIEW嵌入式开发模块使得业内专家可以使用他们的专业知识开发嵌入式应用,而不需要再依赖嵌入式方面的专家。

NI嵌入式开发模块示意图

随着嵌入式系统设计的复杂性日益增加,图形化方式是一个必然的趋势,它正在对嵌入式设计进行重新的定义,使更多的工程师可以以一种前所未有的方式使用嵌入式开发,从而使设计的速度和质量得到提高。将分散的市场整合、采用标准和现成可用的技术,并发布集成的、易用的软硬件平台--这就是NI多年来所持之以恒的运营模式。图形化系统设计,这是一个将嵌入式设计推向更广大受众的平台,我们通过一个统一的图形化工具提供这种功能,这种工具能将领域专家从越发复杂的嵌入式设计中解脱出来。从设计、原型到实现的整个过程中,使用统一的设计工具无疑将会大大提升整个设计过程的效率。

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

网站地图

Top