您的位置 首页 方案

运用LabVIEW开发根据32位处理器的嵌入式体系

随着32位多核处理器应用逐渐走热,设计者正面临着新的挑战, 业内专家指出面向角色(actor-oriented)的图形化方法是更适合嵌入式软件设计的工具。NI 的LabVIEW嵌入式开发模块是LabV

跟着32位多核处理器运用逐步走热,规划者正面对着新的应战, 业界专家指出面向人物(actor-oriented)的图形化办法是更适合嵌入式软件规划的东西。NI 的LabVIEW嵌入式开发模块是LabVIEW图形化编程环境的一款全新附加模块,经过这个软件和图形化体系规划的理念,原先无法运用到嵌入式编程的工程师们都能够进入32位微处理器的范畴之中。经过LabVIEW中附加的状态图、操控图表、信号处理库函数等这一完好的东西来规划它们的运用,以处理各种问题。本文对该开发东西进行了介绍。

跟着嵌入式体系变得越来越杂乱,规划者正面对着新的应战:跟着依据32位微操控器(MCU)的嵌入式体系的本钱向16位体系逐步挨近,在许多高档运用中8位和16位微操控器正逐步让位给扩展性更佳,功用更好的32位片上体系(SoC)。此外,由于单纯经过CPU的功用进步来添加整个体系的功用现已不是一种耐久的发展趋势了,所以首要的处理器制作商现已转向了多中心架构。从Dell在几个月前推出的多处理器中心的台式核算机,就能够看到这种趋势。从顾客和用户的观念上来看,处理功用的进步是相同的。可是,从一个嵌入式体系开发者的观念来看,规划将变得愈加杂乱,由于您有必要了解如安在多处理器环境下开发和切割您的运用。依据十年前的估量,嵌入式体系的均匀代码量为10万行。到2001年,这个数字实践现已超过了100万,而现在的数字估量为500万。

现在咱们将视野搬运到当时嵌入式体系的开发东西上来,跟着杂乱度的逐步上升,现在传统东西很难下降编程作业的杂乱度,嵌入式范畴需求另一种办法来应对这些应战。应战不仅是东西方面的,还有处理问题的途径:依据文本编程的嵌入式运用开发在将来不或许处理这些问题。这现已是许多业界专家的一致;Edward Lee博士是加州大学伯克利分校嵌入式研讨方面的领先者,他指出现在嵌入式体系的开发手法如依据文本编程和面向对象的东西都难以用来构建嵌入式实时体系,由于面向对象很难直观地表达时刻和平行性(parallelism),而时刻和平行性或并行(concurrency)在现在的嵌入式体系中是必不可少的。Lee博士提出面向人物(actor-oriented)的图形化办法是更适合嵌入式软件规划的东西。

虽然嵌入式体系的应战越来越严峻,可是现在现已有了许多处理的方向。许多供货商采取了将底层东西的规划笼统出来的办法。这种办法每行进一步,都会招引更多的用户。另一个方向是能够更彻底地处理面对的应战,也便是向依据渠道的东西搬运,它能够更好地表达整个体系,而削减与特定硬件的相关性,这使得更多的软件规划简略了解并被重复运用,而从依据文本的东西向图形化东西的搬运则能够直观地表达体系,并处理体系的应战。图形化体系规划(Graphical System Design)的理念便是源于这些趋势。经过简化嵌入式编程的杂乱性,它下降了对范畴专家在嵌入式规划流程中各个进程的要求;一起供给了从规划、原型到布置的一条捷径,使得工程师和科学家们能够更快速地进行重复规划。

虽然商场上的东西都在向图形化的方向改变,但由于它们是针对特定范畴特定运用的东西,所以依旧遭到自身的约束,而这是不足以处理职业即将面对的应战的。事实上,现在的嵌入式体系商场与八十年代前期的台式核算机商场有许多相似之处,其间的一个特色便是十分涣散。现在商场所需的是一种彻底的图形化编程言语,供给满意的灵活性和功用,以满意更广泛运用的需求。因而,图形化体系规划的关键因素是图形化编程。

将规划办法学直接运用于完结

自1986年诞生以来,LabVIEW图形化编程言语现已开端简化了体系的杂乱性,并在同一个渠道上供给收集、剖析和显现等功用,在运用核算才能对处理进程自动化的一起,答应在研制原型,制作和测验进程中对软硬件的重用,弥补了原先由于原型、制作和测验三个进程间因东西不同而形成的这一距离。在一切涉及到数据收集和操控的范畴里,LabVIEW图形化方法都现已成为规范的开发东西。从那时开端,咱们就一向向这个编程环境添加功用上的改善,现在LabVIEW在已有的守时循环结构上新加了硬件守时功用,它是一种表明时刻和并行的语义。现在,咱们就能够经过点击来设置操作体系优先级,延时,循环速率等等;回想在文章前面所说到的向多处理器搬运的趋势,现在咱们能够神往运用可扩展的直观图形化编程,来开发运用,并将处理进程分配到不同的处理器上。

新的NI LabVIEW嵌入式开发模块(LabVIEW Embedded Development Module,)是LabVIEW图形化编程环境的一款全新附加模块,经过这个软件和图形化体系规划的理念,原先无法运用到嵌入式编程的工程师们都能够进入32位微处理器的范畴之中。经过LabVIEW中附加的状态图、操控图表、信号处理库函数等这一完好的东西来规划它们的运用,以处理各种问题。

范畴专家-在某个科学或工程范畴的专家,但不一定是嵌入式的程序员-一般运用不同的模型或东西处理他们学术上或工程上的问题。例如,开发引擎操控单元(ECU)的工程师或许运用状态图来对引擎操控单元的功用进行图形化的描绘。这位工程师或许是一个操控理论方面的专家,可是却或许没有任何嵌入式或C编程方面的经历。直到现在,嵌入式运用的完结依然需求深化了解关于嵌入式编程东西,如C言语等方面的常识。因而,许多范畴专家要完结他们的处理方案,乃至仅仅简略的验证一个概念依然要依靠专门的嵌入式开发人员。这个存在于范畴专家和嵌入式程序员之间的距离,使得开发时刻添加,并且简略在体系中引进过错。

LabVIEW嵌入式开发模块在规划和完结间的距离之上架起了一座桥梁。范畴的专家现在能够运用相同环境快速地规划算法,对定制的规划进行原型规划,将他们的处理方案在所选的方针上完结,并进行调试——一切这些进程都是经过图形化方法完结的。

开发与方针无关的代码

嵌入式方针自身要求程序员在编写代码之前对方针有深化的了解。程序需求知道板卡上各种关于内存映射和寄存器的信息,才能在板卡上履行他们的代码。别的,大部分代码是专为某一特定方针编写的。这样,在一块板卡上运用不同的微处理器或是不同的外围设备,或许就需求从头编写大部分已有的代码,或是彻底从头开端。这意味着终究产品的扩展性方面是有缺点的。

11.jpg

图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嵌入式开发模块使得业界专家能够运用他们的专业常识开发嵌入式运用,而不需求再依靠嵌入式方面的专家。

22.jpg

NI嵌入式开发模块示意图

跟着嵌入式体系规划的杂乱性日益添加,图形化方法是一个必定的趋势,它正在对嵌入式规划进行从头的界说,使更多的工程师能够以一种史无前例的方法运用嵌入式开发,然后使规划的速度和质量得到进步。将涣散的商场整合、选用规范和现成可用的技能,并发布集成的、易用的软硬件渠道——这便是NI多年来所锲而不舍的运营形式。图形化体系规划,这是一个将嵌入式规划面向更广大受众的渠道,咱们经过一个一致的图形化东西供给这种功用,这种东西能将范畴专家从越发杂乱的嵌入式规划中摆脱出来。从规划、原型到完结的整个进程中,运用一致的规划东西无疑将会大大进步整个规划进程的功率。

声明:本文内容来自网络转载或用户投稿,文章版权归原作者和原出处所有。文中观点,不代表本站立场。若有侵权请联系本站删除(kf@86ic.com)https://www.86ic.net/fangan/284092.html

为您推荐

联系我们

联系我们

在线咨询: QQ交谈

邮箱: kf@86ic.com

关注微信
微信扫一扫关注我们

微信扫一扫关注我们

返回顶部