使用图形化的开发环境——LabView开发嵌入式系统

发布者:TranquilOasis最新更新时间:2007-07-03 来源: 电子产品世界关键字:处理器  RISC  驱动 手机看文章 扫描二维码
随时随地手机看文章
传统设计模式所应对的挑战

嵌入式系统正在渗入现代社会的各个方面,广泛地应用于航空航天、通信设备、消费电子、工业控制、汽车、船舶等领域,据统计,在美国平均每个中产阶级家庭要使用40~50个嵌入式系统。巨大的市场需求推动了嵌入式系统向更高的技术水平发展。设计师们一方面采用性能更强大的嵌入式处理器如32位、64位RISC芯片取代传统的8位、16位微处理器;另一方面嵌入式系统也由单处理器单操作系统的传统结构向混合型Multi-core系统发展,通过采用多个处理器和OS提高系统并行度来提高系统运行效能,并且设计师们往往同时采用MPU、DSP和FPGA等多种可编程器件来增强处理能力,满足应用功能的升级。

嵌入式系统复杂性的不断增加给设计师们带来了很大的挑战,代码长度呈指数级增加,根据十年前的估计,嵌入式系统的平均代码量为10万行,到2001年实际已经超过了100万,而现在估计为500万。第三方独立市场预测机构EMF在对900多名嵌入式系统开发人员进行调研后指出,超过50%的嵌入式设计比预期时间晚上市,而平均延迟高达4个月;在已发布的产品中,有近30%的设计未达到预期的功能和指标。

由此可见,随着嵌入式系统复杂性的不断增加,软件工程的重要性毋庸置疑,而大部分的嵌入式系统开发人员都缺乏这方面的专业训练。与此同时,随着嵌入式系统的广泛应用,越来越多领域的专家比如机器人设计师、控制工程师、测试工程师需要使用嵌入式技术来构建他们的系统,他们既缺乏嵌入式系统的专业知识,也不一定经过软件工程的专业训练。因此,无论是嵌入式系统本身的发展,还是开发人员的专业限制,都需要一种新的设计模式和解决问题的途径来应对目前的挑战。

嵌入式系统开发工具的发展趋势

随着嵌入式系统的快速发展和复杂性的不断增加,基于文本的编程方式所面临的挑战愈发严峻,这种编程模式在将来不可能彻底解决问题。加州大学伯克利分校嵌入式研究专家Edward Lee博士指出,现有的嵌入式系统的开发手段如基于文本编程和面向对象的工具都难以用来构建嵌入式实时系统,因为面向对象很难直观地表达时间和平行性(parallelism),而时间和平行性或并行(concurrency)在现在的嵌入式系统中是必不可少的。面向角色(actor-oriented)的图形化方法是更适合嵌入式软件设计的工具。

应对嵌入式系统所面临的挑战,工程师们已经有了一些解决的方向,比如采用实时多任务编程技术和交叉开发工具技术来控制功能复杂性、简化应用程序设计、保障软件质量和缩短开发周期。但是现有的嵌入式系统开发工具非常多,全世界嵌入式处理器的品种总量已经超过1000种,流行体系结构有30多个系列,在其上运行的操作系统环境也非常多样化,包括VxWorks、QNX、Linux、 Nuclears、WinCE等等。不仅各种操作系统有各自的开发工具,在同一系统下开发的不同阶段也有不同的开发工具。如在用户的目标板开发初期,需要硬件仿真器来调试硬件系统和基本的驱动程序,在调试应用程序阶段可以使用交互式的开发环境进行软件调试,在测试阶段需要一些专门的测试工具软件进行功能和性能的测试等等。最合理的解决方案是向基于平台的工具转移,它能够更好地表达整个系统,减少与特定硬件以及操作系统的相关性,使更多的软件设计和算法容易理解并被重复使用;而从基于文本的工具向图形化工具的转移则可以直观地表达系统,图形化系统设计(Graphical System Design)的理念就是源于这两大趋势。通过简化嵌入式编程的复杂性,降低了对工程师在嵌入式设计流程中各个步骤的要求;同时提供了从设计、原型到部署,从软件调试、功能测试到生产检测的统一环境,使得工程师们可以更快速地进行重复设计。

在嵌入式系统中实现图形化已经成为大势所趋,现在市场上的工具都在向图形化的方向转变,但往往仅限于基于嵌入式操作系统的图形界面开发;而且由于它们是针对特定硬件或操作系统的工具,与硬件和操作系统平台有很大的相关性,这不足以彻底解决行业将要面临的挑战的。现在市场需要的是一种完全的图形化编程语言,提供足够的灵活性和功能,以满足更广泛应用的需求。因此,图形化系统设计的关键因素是图形化编程。

对于时间和平行性的支持

20年来,科学家和工程师一直在使用LabVIEW为他们的设计实验室、验证实验室和生产现场构建自动化数据采集和仪器控制解决方案,并在这些应用领域成为业界的事实标准。其核心在于,LabVIEW图形化编程语言使没有太多软件背景的技术专家能够快速搭建高级自动化测量和控制系统。和传统的文本编程相比,LabVIEW天生是一种并行结构的编程语言,而时间和并行性在现在的嵌入式系统中是必不可少的。比如,LabVIEW在已有的定时循环结构上新加了硬件定时功能,它是一种表示时间和并行的语义,可以设置操作系统优先级、延时、循环速率等等,如图1所示。如果我们将图1所示的两个并行任务的执行目标扩展到嵌入式对象,比如FPGA或微处理器,就可以发现通过编程环境的一致性和可升级性,LabVIEW能够容易地实现和管理嵌入式系统的并行性。回想在文章前面所提到的向多处理器转移的趋势,现在我们可以憧憬使用可扩展的直观图形化编程来开发应用,并将处理过程分配到不同的处理器上。

图1 LabView对两个并行任务的编程

支持多种算法设计

谈到嵌入式系统设计,人们所指的其实包括两部分工作:算法设计和固件设计。对于嵌入式系统设计来说,另一个关键要求是软件平台必须能够兼顾实时嵌入式设计中常见的多种算法设计,即计算模型。这些计算模型符合系统设计师们筹划系统时的方式,从而降低从“系统要求”转换到“软件设计”的复杂性。近年来LabVIEW已经包含了多种计算模型以更好地满足不同专业背景的嵌入式系统开发者的需求。LabVIEW现在可以通过连续时间仿真、状态图、图形化数据流模型和基于文本的数学语言mathscript等多种方式来表达各种算法,同时它提供了很多交互式的工具用来帮助数字滤波器、控制模型、通信系统的设计以及数字信号处理算法的开发,从而在这些顶层应用中进一步简化设计师的工作。

快速构建原型—沟通虚拟世界与物理世界的桥梁

如前所述,很多设计比预期时间晚上市,并且有一些在投入市场以后发现未达到预定的功能和指标,因此必须采取一定的措施来加快设计流程、提高设计质量。一种解决方案就是更早地将真实世界的信号和硬件引入到设计流程之中,进行更好的系统原型化,从而在早期就发现并修正潜在的问题。

但是在任何设计和开发流程中,基于软件设计和仿真工具的虚拟世界与电子或机械测量的物理世界之间有一个很大的鸿沟,而LabVIEW平台最明显的价值就是在虚拟和物理世界的鸿沟上建一座桥梁。物理测量是与设计和仿真完全不同的挑战,要求与广泛的测量和控制硬件紧密集成,并以优化的性能处理大量的通道数或超高速吞吐量。LabVIEW平台经过不断演进,在物理测量领域具有很高的性能和灵活性。更重要的是,LabVIEW平台是开放的,设计人员可以将测量数据与仿真结果相映射,甚至互换仿真和物理数据,以用于设计中的行为建模或者以仿真激励驱动物理测试,从而更有效快速地进行系统原型构建。

嵌入式系统开发人员如果要定制硬件用于最终的发布,很难同时并行地开发软件和硬件。而如果直到系统集成测试的时候才引入I/O用真实世界的信号检验设计,一旦发现存在问题,那就意味着很难在预期时间完成设计任务了。大多数设计师当前用评估板来进行系统的原型化,但是,原型板往往只具备少量的模拟和数字I/O通道,也很少支持视觉、运动或同步的功能。此外,设计师经常因为需要传感器或特殊I/O的支持而花费大量时间来开发定制的原型板,而这些仅仅是为了设计概念的验证。使用灵活的、商业化的原型平台可以大大简化这个过程,消除其中硬件验证和板级设计的大量工作。对于大多数系统,原型化平台必须包括最终发布系统的同样部件,比如用于执行算法的实时处理器、用于高速处理的可编程逻辑器件,或者将实时处理器接口到其他部件。因此,如果这个商业化的系统不能满足所有的要求,那么这个平台必须是可扩展的,并且支持自定义。NI提供了各种硬件平台与LabVIEW集成,完成从设计、原型到部署的全过程。例如使用LabVIEW和NI 可重复配置I/O(RIO)设备或NI CompactRIO平台,可以快速而便捷地创建嵌入式系统的原型。

例如Boston Engineering公司要开发一种牵力控制机用于数码照片打印系统。其中,彩色墨盒通过驱动马达馈送到打印头,由卷带电机和推进电机来控制牵力。切割机底盘的振动、每次打印的照片数目和每个电机的速度变化都会影响到底层的牵力。控制系统通过两个电机的位置来保证卷带和推进的牵力处于设定范围之内,否则就会有色差。设计的牵力控制硬件需要两个脉宽调制输出来控制电机,两个编码器将转速反馈给电机,两个模拟输入通道连接霍尔传感器用来测量位置,两根数字线用于信令。传统的原型板无法满足这些要求,需要使用可以自定义I/O的原型平台,因此他们使用CompactRIO平台来进行原型化工作。他们在嵌入式控制器中运行管理程序,在FPGA中运行电机控制算法,这种资源配置使得原型化构建和最终系统发布在编程模式上是非常相似的。为了在FPGA中运行控制算法,他们将ZPK(zero-pole-gain)模型转化为LabVIEW数字滤波器设计工具包中提供的一种滤波器,由于这个工具包支持LabVIEW FPGA代码的自动生成和优化,所以原先的ZPK模型就可以直接转化成能够在FPGA上运行的代码。另外,他们还使用这个工具包对原先的浮点算法进行了定点转换,以节约FPGA 资源,并对量化后的模型进行测试、验证、修正从而得到预期的结果。通过这种原型化方式,他们节约了大量的开发时间。

发布到任何32位处理器

LabVIEW包括一个广泛的工具集,该工具集构成了一个用于设计、控制和测试的图形化开发平台。新的NI LabVIEW嵌入式开发模块是LabVIEW图形化编程环境的一款全新附加模块,是一个开放的框架,它可以集成任意的第三方工具链,将生成的C代码与LabVIEW运行库函数和板卡支持程序包,编译成为针对某一目标并能在之上运行的二进制代码。通过LabVIEW嵌入式开发模块和工具链,可以发布到运行任何操作系统的任何的32位处理器。该模块包含了近千个内建的库函数,涵盖了高等算法、文件I/O、逻辑和信号处理各个方面。原先无法利用到嵌入式编程的工程师们都可以进入32位微处理器的领域之中,通过LabVIEW中附加的状态图、控制图表、信号处理库函数等这一完整的工具来设计他们的应用,解决各种问题。此外,通过LabVIEW嵌入式方式 ,工程师和科学家可以使用一种叫做内联C节点(Inline C Node)的新特性,整合现有的嵌入式代码,来保持LabVIEW的开放架构。另外,在LabVIEW嵌入式项目环境中,还可以直接添加用C或者汇编开发的源代码,或者库文件,帮助开发人员充分利用以前的工作成果。

图2 内联C节点

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

减少与特定硬件以及操作系统的相关性

基于平台的工具,需要能够表达整个系统,而减少与特定硬件以及操作系统的相关性。在传统的开发模式中,嵌入式目标本身要求程序员在编写代码之前对目标有深入的了解。程序需要知道板卡上各种关于内存映射和寄存器的信息,才能在板卡上执行他们的代码。另外,大部分代码是专为某一特定目标编写的。这样,在一块板卡上使用不同的微处理器或是不同的外围设备,可能就需要重新编写大部分已有的代码,或是完全从头开始。这意味着最终产品的扩展性方面是有缺陷的。使用LabVIEW嵌入式开发模块,工程师和科学家们不需要了解最终的目标就可以进行代码开发,因为软件生成的是LabVIEW应用的ANSI C代码,而不是针对某个特定目标的二进制代码。如图3所示,灰色区域的部分对于开发员来说是透明的,他们在开发过程中不需要了解目标硬件上内存映射和寄存器的情况。同时,LabVIEW嵌入式方式是一个开放的框架,它可以整合任意的第三方工具链,将生成的C代码、LabVIEW运行库函数和板卡支持程序包(BSP)编译成为针对某一目标并能在这个目标上运行的二进制代码。BSP是一种作为C代码与板上外围硬件接口的底层代码。因此,如果板卡需要升级,工程师可以简单地将不同的BSP链接到LabVIEW中,在现有的图形化代码上作一小部分改动就可以完成。

图3 LabView嵌入式模块的开发流程

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

结语

LabVIEW为嵌入式系统开发提供了一个跨越多种、多代产品的连贯性的平台,使设计人员能够多年重复并改进其设计,而不必替换其整个工具集或者重新学习不同的设计方法,从而使设计的速度和质量得到提高。同时,其图形化的编程模式使得更多的工程师和科学家可以使用他们的专业知识开发嵌入式应用,而不需要再依赖嵌入式方面的专家。使用统一的环境进行设计、原型到部署,LabVIEW为嵌入式系统开发提供了前所未有的革新方式。

关键字:处理器  RISC  驱动 引用地址:使用图形化的开发环境——LabView开发嵌入式系统

上一篇:基于Linux和S3C2410的嵌入式图象传输系统设计
下一篇:嵌入式实时操作系统Nucleus PLUS在S3C2410A上移植的实现

推荐阅读最新更新时间:2024-05-13 18:36

《2018 NI趋势展望报告》与您一起探索驱动未来加速到来的力
NI(美国国家仪器公司,National Instruments,简称NI) 作为致力于为工程师和科学家提供基于平台的系统解决方案来应对全球最严峻工程挑战的供应商,近日发布了《2018 NI趋势展望报告》,探讨技术的进步正以前所未有的速度推动我们奔向未来,预言2018年工程师将面临的重大挑战。 “迈入21世纪,我们的客户不断要求更高质量的设备、更快速的测试、更可靠的网络以及近乎实时的计算来帮助企业持续向前发展。”NI企业营销副总裁Shelley Gretlein表示:“NI不仅探索影响行业未来的趋势帮助客户与时俱进,并基于以软件为中心的开放平台提供可行的洞察和建议,帮助客户加速自定义测试、测量和控制系统的开发。” 《201
[网络通信]
s3c6410在linux下的WATCHDOG TIMER(看门狗定时器)驱动(2)
在上一篇中看了看门狗在linux中驱动实现的整体架构,作为混杂设备和平台设备存在。现在开始看平台设备对应的probe函数。 static struct platform_driver s3c2410wdt_driver = { .probe = s3c2410wdt_probe, .remove = s3c2410wdt_remove, .shutdown = s3c2410wdt_shutdown, .suspend = s3c2410wdt_suspend, .resume = s3c2410wdt_resume, .driver = { .owner = THIS_MODULE, .name = s3c2410-wdt
[单片机]
s3c6410在linux下的WATCHDOG TIMER(看门狗定时器)<font color='red'>驱动</font>(2)
搭自家四核处理器 三星Mega 2规格曝光
    在本月上旬获得国内入网许可的三星GALAXY Mega 2在昨日被外媒截获了首个官方固件更新。通过对固件的反向编译,从build.prop文件中发现欧洲版GALAXY Mega 2确实将搭载还未发布的三星 Exynos 4415四核处理器。   根据外媒报道,三星GALAXY Mega 2将采用分辨率为1280×720的5.99英寸Super AMOLED屏幕,基于Cortex-A9架构主频为1.4GHz的三星Exynos 4415四核处理器,2GB RAM+8GB ROM内存组合并支持Micro SD卡扩展。摄像头方面则是采用1200万像素主摄像头。系统方面则是采用的Android 4.4.4KitKat操作系统。 图
[手机便携]
Intel80C196MC微处理器在静止逆变电源中的应用
摘要:简要介绍采用80C196MC单片机研制的三相静止逆变电源电路硬件、软件设计方案。试验结果表明,这一方案能够满足应用要求。 关键词:正弦脉宽调制 静止逆变电源 The Application of Intel 80C196MC Microprocessor in Static-inverter Power Supply Abstract: This paper presents a design precept of static-inverter power supply using Intel 80C196MC microprocessor and shows
[电源管理]
最根本的清洁能源:电脑不用电而用液体驱动
斯坦福大学的研究人员设计了一种新的电脑并不需要用电使处理器工作,相反它采用移动水珠作为处理器。这个项目的研究并不想取代传统电脑,相反,他们认为这是创造一个方法来控制和操纵事情本身。尽管不打算取代传统的电脑,由水珠驱动的PC可以再现数学逻辑运算。   这种电脑由一系列非常小的“T”和“I”形的金属片组成,来影响由环绕电脑的电磁线圈产生的磁场形状。机器内部使用的液体是铁磁流体,可通过一个磁场来进行操纵。取决于这些金属片在机器内部的布置,液体将以一个特定的图案移动。研究人员的想法是,控制液体在机器内部移动方式,该机器可以用于排序或排列不同的化学品液滴。该机器可能有一天成为某种微小的工厂,可以缩小到一个尺寸,允许被吞入人体,并像一个微小
[嵌入式]
让节能灯具面向未来:ST推出低失真高压LED驱动
意法半导体发布HVLED007 AC/DC LED驱动器,采用新的失真抑制输入电流整形(ICS)电路,使节能型固态灯具符合日益严格的照明规定。 HVLED007是一个峰值电流模式PFC控制器,为隔离式高功率因数准谐振反激式转换器专门设计,ICS电路确保电网输入电流是真正的正弦交变电流,在整个负载和输入电压范围内,输入电流总谐波失真(THD)极低,在满负荷时低于5%。功率因数接近1,最高能效高于90%,HVLED007允许设计人员仅用一个控制IC驱动多个高达80W的中高功率LED照明灯具。 HVLED007完善了意法半导体的HVLED系列直接用电网整流电源驱动LED灯具的数字IC产品。HVLED驱动器集成先进的功能,支
[电源管理]
让节能灯具面向未来:ST推出低失真高压LED<font color='red'>驱动</font>器
基于CMT处理器的电信级Linux平台
风河将面向 Sun UltraSPARC T2 芯片多线程( CMT )处理器推出特别定制的电信级 Linux ( CGL )和 Workbench 开发套件。 Wind River Platform for Network Equipment, Linux Edition 将成为首个基于 Sun 公司 CMT 处理器的电信级 Linux 平台。 通过此项合作,风河和 Sun 所共同发布的网络设备解决方案,是基于多内核处理架构、经过全面优化和测试、并取得 CGL 支持的 Linux 方案,能帮助电信设备制造商厂商快速地开发和部署下一代网络设备应用。 Su
[单片机]
俄罗斯只能买到低于25Mhz频率的处理器
据报道,从现在开始,俄罗斯和白俄罗斯实体只能从台湾公司购买运行频率低于 25 MHz 并提供高达 5 GFLOPS 性能的 CPU。这基本上排除了所有现代技术,包括用于或多或少复杂设备的微控制器。 由于 美国、英国和欧盟对俄罗斯出口的限制,在俄罗斯于 2 月下旬与乌克兰发生冲突以来,台湾龙头企业率先停止与俄罗斯合作。本周,中国台湾经济部门正式公布了禁止向俄罗斯和白俄罗斯出口的高科技产品清单,该清单禁止台湾生产的各种高科技设备以及用于制造芯片的工具(无论他们是否使用来自美国、英国或欧盟的技术,这些技术已经受到限制)出口到俄罗斯。 禁止向俄罗斯和白俄罗斯出口的物品符合瓦森纳安排的第 3 类至第 9 类 ,涵盖电子、计算机、电
[半导体设计/制造]
小广播
热门活动
换一批
更多
最新应用文章
更多精选电路图
换一换 更多 相关热搜器件
更多每日新闻
随便看看

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 安防电子 医疗电子 工业控制

词云: 1 2 3 4 5 6 7 8 9 10

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved