摘 要:从高级嵌入式系统在仪器仪表中的应用角度,介绍了软硬件协同设计的设计思想,以及各种嵌入式处理器;讨论了嵌入式Internet接入技术、实时操作系统对于自动化仪表发展的影响;指出基于嵌入式的智能化网络化仪表是自动化仪表的发展趋势。并且介绍了设计开发的一种基于嵌入式PC104的智能化网络化仪表。
关键词:嵌入式系统;软硬件协同设计;嵌入式Internet接入;实时操作系统
0 嵌入式系统和自动化仪表
嵌入式系统是以应用为中心、以计算机技术为基础、软件硬件可裁剪、适应应用系统对功能、可靠性、成本、体积、功耗严格要求的专用计算机系统。目前基于嵌入式的系统大致可分为3类:
①基于单片机的MCU系统。一般是8位或16位的处理器,集成度较高,控制功能比较丰富。但是存储器容量比较小,系统资源有限,功能不够强大。
②以PC104为代表的工业化的单板机。在保留其强大功能的同时,实现了小型化、模块化、低功耗、较高的可靠性。但是硬件的剪裁只能从板卡级进行一些选择,灵活性不够。
③以32位嵌入式处理器为核心(MPU或DSP),按照应用的要求对硬件实现完全剪裁,有嵌入式操作系统支持的强大软件平台,具有最低冗余度和最大专用性的高级专用计算机系统。
针对特定的自动化仪表的要求,合理剪裁软硬件,实现高集成度、低冗余、小型化,使得自动化仪表不仅具有传感测量、补偿计算、显示的功能,还具有更加强大的信息处理、比较推理、故障自诊断自测试、自学习自适应等智能化功能。应用嵌入式的网络接入技术,还能使仪表完成远程维护、远程控制、故障预报、信息发布与共享等以前无法实现的功能。嵌入式系统的应用,为仪器仪表行业的发展带来了广阔的前景。
1 自动化仪表设计的新模式———软硬件协同设计
传统的仪器仪表设计顺序是先进行系统的硬件设计,后进行软件设计,再进行系统的集成测试。这时,如果发现系统硬件的错误或者系统结构的缺陷,要修正相当困难。可能导致系统的重新设计,这不仅延长了开发周期,增加了开发成本,而且难以满足快速变化的市场要求。
在嵌入式系统的研究开发中,人们认识到软件与硬件的开发不应是独立的、分离的,而应是协同的、一致的。即在软件与硬件实现之前,对软硬析所实现的功能进行划分,产生一个最佳的分解方案,同时在硬件开发之前,应对包含软件、硬件的嵌入式系统所实现的功能进行验证,以确保系统的实现与最初的功能规格说明相一致[1]。
这就是一种新的设计模式———软硬件协同设计。该思想对于自动化仪表的设计是很有借鉴意义的。软硬件协同设计可分为4个阶段:系统功能描述和划分阶段、软硬件设计阶段、协同模拟阶段、软硬件综合阶段[2、3]。如图1所示。
①系统功能描述和划分:在设计的初期就对系统的功能和性能进行验证,采用和实现无关的语言描述系统的功能,可以采用VHDL作为算法级的描述语言,也可以通过对C语言进行必要的修改与扩充作为行为级的描述语言,以便对系统功能进行模拟验证。
②软硬件功能分解:在系统功能描述的基础上,根据设计目标和约束条件进一步对系统进行分解,划分软硬件部分,使系统设计能够并行进行,且系统方案接近最优。
③系统协同模拟:软硬件设计完毕,通过通信和同步机制对整个系统综合模拟验证,及时发现并修正系统设计偏差。
④软硬件综合:模拟通过后进行软硬件综合,最后完成整个系统的设计。硬件构件的综合可由硬件高层综合、逻辑综合、版图综合等几个不同阶段构成。软件构件的综合包括软件高级综合、编译、汇编等几个阶段。
采用这种新的设计思想,不仅能够降低设计成本,缩短设计周期,而且避免了重复设计,提高了设计的合理性和成功率。
2 新型自动化仪表的核心———高性能嵌入式处理器
目前的自动化仪表大多采用8位或者16位的微控制器(单片机),虽然在一定程度上做到了智能化,但是随着需要实现的功能越来越多,越来越复杂,已经有些力不从心。同时,微电子技术、芯片技术、集成电路工艺的飞速发展,使得高性能的嵌入式处理器的价格、体积、功耗都不断降低,新型仪器中 使用高性能的嵌入式处理器已成为可能[4]。
嵌入式微处理器目前主要有Intel、AMD及其他X86兼容厂商生产的X86嵌入式CPU,Motorola的68000、IBM和Motorola的Power PC,日立公司的SH,SGI公司的MIPS,以及在嵌入式的RISC处理器市场占绝对优势的ARM系列等[5]。
嵌入式DSP处理器系统结构和指令进行了特殊设计,适合于执行DSP算法,编译效率较高,指令执行速度也较快。在数字滤波、FFT、谱分析等方面具有突出的优势,比较有代表性的产品是TI的TMS320系列和Motorola的DSP56000系列。
为了满足各种不同应用的需求,CPU生产商还提供了专用的集成化处理器。以32位处理器为内核,处理器中还集成了许多外围的功能。如Motoro-la68360是一个32位内核(CPU32+)的集成通信用CPU,它最大特点是集成了一个通信系统,内含4路同步协议的协议通道,可以支持HDLC、T1/E1、ISDN等通信协议。ARM系列的微处理器种类更多,有专用于网络的、通信的、集成DSP协处理器的,还有支持Java的等等。
用户可以根据自动化仪表的具体应用要求,以及功耗、体积、性能、价格等综合因素,选择合适的嵌入式微处理器。并在此基础上实现更加高级的算法,提供更加强大的功能。
3 嵌入式Internet技术使自动化仪表实现网络化
实现自动化仪表与Internet连接的想法其实很早以前就有了,主要的困难在于,Internet上的各种通信协议对于计算机存储器、运算速度等的要求比较高,而仪器仪表大多使用的是8位和16位MCU,支持TCP/IP等Internet协议将占用大量系统的资源,或根本不可能[6]。除了采用高性能的32位处理器及相应硬件平台之外,对于现存的8位和16位仪器仪表,嵌入式也提供了网络化的解决方案[7]。其中比较有代表性的技术是嵌入式微型互联网技术EMIT(Embedded Micro Internet Technology),如图2所示。
EMIT采用桌面计算机或高性能的嵌入式处理器作为网关,网络协议的实现主要放在该网关上。网关通过RS-232、RS-485、CAN、红外、射频等轻量级总线与多个嵌入式设备联系起来,每个嵌入式设备将自身的工作参数反馈到网关中;同时网关可以发送命令,修改设备中的变量,或进行某种控制。这样仅通过增加一个网关,就解决了嵌入式设备上Inter-net的问题;网关可以同时管理多个嵌入式设备,从而提高嵌入式网络的结构化、智能化、浏览信息资源的归一化,并具有迄今为止其他解决方案无可比拟的性能价格比优势。
通过嵌入式Internet接入技术,新型的仪器仪表与计算机一样,成为网络中的独立节点,实现基于Internet的远程数据采集、远程控制、自动报警、上传/下载数据文件等功能;用户通过浏览器或符合规范的应用程序也可实时浏览到所需的信息。
总之,自动化仪表的网络化释放了系统的潜力,改变了测量技术的以往面貌,打破在同一地点进行采集、分析和显示的传统模式;依靠Internet和网络技术,已能够和将能够有效地控制远程仪器设备,在任何地方进行采集、分析和显示。
4 嵌入式实时操作系统RTOS使自动化仪表产生质的飞跃
自动化仪表不一定需要实时操作系统,而且在以往的仪器仪表中由于处理器功能、存储器容量等限制,实时操作系统也难以实现应用。随着仪器仪表硬件功能的增强,成本的降低,功能要求的增加和复杂化,需要实时操作系统对多个任务进行合理协调调度,管理系统资源的要求越来越迫切。同时,各种嵌入式实时操作系统不断出现,对硬件配置要求不再苛刻,实时性不断增强,效率不断提高,有些还提供了对网络协议的支持,使得在自动化仪表中使用实时操作系统成为可能。
使用RTOS的优点有以下几方面,首先RTOS支持多任务,应用程序被分解成多个任务,程序开发变得更加容易、便于维护、易读易懂、提高了开发效率、缩短了开发周期。再者,计算机对关键事件的处理在延迟时间上有保证,即系统的实时性、稳定性、可靠性会得到提高。
目前,国外开发商提供的嵌入式操作系统为数众多,主要有Vxworks、pSOS、QNX、PSOSystem、NucleusPLUS、WinCE等;国内主要有Hopen、桑夏2000、DeltaOS等。此外还有相当多的基于Linux的嵌入式 操作系统。用户可以根据应用的需要,从任务调度、内存管理、内存开销、任务切换时间、最大中断禁止时间等几个方面来衡量和选择适当的实时操作系统。
在功能强大的嵌入式处理器及其硬件平台的支持下,凭借实时操作系统的高效调度和管理,在基于嵌入式的新型自动化仪表中,软件具有了突出的地位。软件不再附属于硬件,仅仅完成测量、计算、显示等功能,而成为处理能力很强的智能模块,能够实现人工智能的方法和技术,使自动化仪表能够实现复杂的信号处理算法,进行频谱分析,并以分析、比较和推理的结果输出相应的控制信息,能够自诊断自测试,经内部协调和重组自动修复,适应外界的变化自补偿自适应,通过自校准(校准零点、增益等)来保证自身的准确度。不仅如此,还能通过自学习处理更多更复杂的测控程序。软件成为仪器智能化程度高低的决定性因素。以软件为核心的虚拟仪器,也成为自动化仪表发展的一个重要方向。
5 基于PC104的智能化网络化仪表
采用软硬件协同设计的思想,笔者设计开发了基于嵌入式PC104的智能化、网络化仪表用于多相流检测,如图3所示。该系统采用研华PCM3350嵌入式低功耗PC104CPU模块和PCM3718高性能数据采集模块,实现了小体积、低功耗、高集成度和高可靠性。使用WinCE嵌入式操作系统,其高度的模块化、增强的实时性能、友好的视窗界面、丰富的通讯方式给系统提供了强大的功能支持和灵活的选择。仪表具有实时数据采集、分析计算、动态曲线显示、故障自诊断、通过以太网接入远程传输等功能,是一种新型的智能化网络化仪表。
6 结束语
嵌入式系统在各个领域的研究和应用已经成为热点,对于自动化仪表的发展而言,采用新的设计模式,选择高性能的嵌入式微处理器,在实时操作系统的强大支持下,设计和开发高级智能化网络化的新型仪器仪表,必将成为行业发展的趋势。
参考文献
[1]郭晓东,刘积仁.嵌入式系统的协同设计[J].计算机科学,1999,26(9).
[2]王世好,严迎建,吴清平.嵌入式系统软硬件协同设计环境构造与实现方法[J].计算机工程与应用,2002,(12).
[3]Wolf W H.Hardware-Software Co-Design of Embedded Sys-tems[J].Proc.ofIEEE.1994,82(7):967-989.
[4]Jean J.Labrosse.袁勤勇,黄绍金,唐青,等译.嵌入式系统构件[M].北京:机械工业出版社,2002.2.
[5]马忠梅,马广云,徐英慧,等.ARM嵌入式处理器结构与应用基础[M].北京航空航天大学出版社,2002.1.
[6]Burton HLee.Embedded InternetSystems:Poised for Take off[J].Internet Computing,1998,2(3):612-625.
[7]刘立芳,齐小刚.远程设备实时监控管理系统的设计与实现[J].计算机工程,2000,26(4):91-92.
摘自 工业仪表与自动化装置