把嵌入式系统应用到仪器仪表领域,让传统的仪表,Internet和微处理器相结合,已成为仪器仪表行业发展的趋势。
1 引言
在仪器仪表迅速发展的同时,计算机和网络技术也在迅速发展,PC机已经从高速增长进入到平稳发展时期,嵌入式系统的出现和广泛应用,使计算机和网络进入了后PC时代,基于嵌入式智能仪表远程监控系统作为工业控制网络重要发展方向之一。而嵌入式控制器是能够实现智能仪表远程监控的关键设备,是工业控制仪表与Internet连接的桥梁。
2 控制器总体介绍
嵌入式智能仪表的结构及其与Internet的连接方案设计如图1。
图1基于嵌入式智能仪表的远程监控系统
嵌入式控制器是用于执行独立功能并具有以复杂方式处理数据能力的控制系统,它内置在工业仪表上,由三部分组成:高速处理器、嵌入式Web服务器和工业仪表接口。嵌入式控制器以高速处理器为核心,由高速处理器和其他芯片协同工作来控制电子设备或装置,能够完成监视、控制等各种自动化处理任务。嵌入式控制器是一种很好的基本接入设备,它通过工业仪表接口与仪表相连。嵌入式控制器在TCP/IP数据传输的基础上,将Web功能融入整个装置。客户只要拥有浏览器,即可方便的与控制器进行通信,对现场智能仪表进行过程参数的查看与设定,控制对象的关闭与开启。
基于嵌入式仪表的远程监控系统的核心是嵌入式控制器,嵌入式控制器是一个典型的嵌入式系统,嵌入式控制器的系统设计遵从嵌入式系统设计的相关理论。系统设计需要考虑把软件和硬件的结构作为一个统一协调的整体。嵌入式系统趋向于采用高平台(Platform)和采用面向对象的UML-RT来进行系统的分析和设计。因此,我们在设计嵌入式控制器时,采用UML-RT和平台(Platform),使嵌入式控制器有一个弹性的架构,能够方便快速的改变或扩充功能,满足系统要求。
3 嵌入式控制器的需求分析
我们利用UML的用例图(use case)来对嵌入式控制器进行需求分析。用例图从用户的观点描述了系统硬件和软件的功能。按照前面我们对嵌入式控制器的功能描述,我们得出系统的用例图,如图2所示。其中包括七个不同的用例和两个不同的角色。
图2 嵌入式控制器的用例图
用户角色可进行查看数据,设定数据,开启和关闭控制对象(智能仪表),控制对象可以接收和发送数据,相应开启和关闭的操作指令。数据处理中心负责数据的封装,发送,计算等数据处理工作。
4 平台(platform)的划分和设计
在完成了系统的需求分析之后,开始划分本平台的系统结构,所谓本平台的系统结构就是指平台系统对各级之间界面的定义及其上、下层的功能分配,而且每一层又有它自己的系统结构。主要按照功能、逻辑顺序来划分多级层次结构。在划分系统结构的时候,主要需要综合平衡下面的一些问题:
1、本质上,它是从平台用户在使用本平台进行开发时,所看到的本平台的属性,包括概念性结构,一些接口和功能特性。从概念和功能上把它看作是有多级构成的层次结构,有利于对嵌入式控制器及开发平台本身的正确理解。要研究哪些应当透明,哪些不应当透明。透明的好处是可以不用管它,简化了该级的设计。
2、一般来说,很多功能既可以放在上层,也可以放在下层,而且它们在逻辑功能上是等效的。选择什么样的上下层分配比例,主要取决于易用性,复杂度及现有的硬件状况等。
3、系统结构的设计与实现,究竟应该从哪一层开始,也是一个重要的问题。比如对于一个三层的结构,可以有从上到下、从下到上、由中间开始等多种选择。从上述几点考虑,嵌入式控制器平台的系统结构如图3所示。
我们把嵌入式控制器系统分为3个抽象层次:体系结构平台(ARC platform),应用程序编程接口平台(API platform),定制的应用程序平台(ASP)。ARC平台包含了微处理器存储系统,接口电路,I/O通道及芯片之间的内部连接。微处理器系统由S3C2410微处理器、FLASH, SDRAM, CS8900A网络控制芯片等一族“微架构”组成。API平台包括RTOS实时操作系统,嵌入式Web服务器,设备驱动程序等。API平台是软件抽象层,把ARC平台的实现细节进行封装。API平台提供接口服务,并对这些接口按类别进行分组。比如用户需要知道RTOS是否提供占先式任务调度接口,嵌入式Web服务器提供的HTTP, TCP/IP接口。ASP平台提供用户的直接操作界面和专门的应用服务,如让用户通过浏览器查看和设定智能仪表的控制参数。
图3 平台的划分
在每个平台都有相应的服务质量(QoS)的要求。在ARC平台对功耗、存储量、处理速度、通讯能力等都有要求。S3C2410, CS8900A等芯片可以很好的满足这些要求。在API平台对运行任务的个数,任务切换时间等也有要求,嵌入式Web服务器和嵌入式Linux能满足这些要求。在ASP平台要求进行实时的参数查看和参数设定。采用Java Applet能很好的做到这些。
对嵌入式控制器系统进行平台的划分,并且对各个平台提出相应的服务质量参使我们在设计的初始阶段对整个设计有全局的观念,由于各个平台之间相对独对以后出现的新的设计要求和设计修改具有很好的适应能力。
5 基于UML-RT的嵌入式控制器设计
在对嵌入式控制器划分平台后,我们可以用UML-RT的符号体系对嵌入式控制器系统进行建模。我们把建模的过程分为两个阶段。第一阶段是考虑系统的对外接口。第二阶段是考虑系统内部的平台建模。
在第一阶段,嵌入式控制器的建模见图4。根据前面用例图的需求分析,得出系统需要与环境交互的端口有两个:一个是与控制对象即智能仪表进行通讯。一个是和用户进行交互。为了支持和用户交互以及控制对象通讯,我们定义了两个容器(capsule)u :User InteRFace和t : Transfer Data。容器p :Process Data则是用来处理数据。容器可以包含相关的软件和硬件结构,数据传送可通过并口和串口进行,这种传送和处理器藕合的很紧,我们用UML-RT的扩展符号表示。同样,《SW p1》表示在处理器P1上执行的处理与控制对象通讯的程序。我们用这种方式还可以对u :User Interface和p :Process Data进行细化。
图4 嵌入式控制器的第一阶段表示
在第一阶段的基础之上,我们结合前面对平台的划分,进行平台建模。系统的ARC平台的建模如图5所示。
图5 ARC平台下的UML-RT建模
图5表示了ARC平台的基本组件和它们的拓扑图结构,利用这个图可以进一步的进行对象建模。这个模型提供了一个框架,并可以方便的增加,移动,替代,修改框架内的元素。UML-RT的端口可以有效的表示模型元素之间的接口。
API平台处于ARC平台和ASP平台之间,包括RTOS嵌入式Web服务器,设备驱动程序等。从UML-RT角度看,API平台是ARC容器与ASP容器之间的通讯管道。在这里ARC容器和ASP容器直接通过连接器相连。
ARC Proxy从ASP容器的端口中接收调用信息,然后把这个信息通过RTOS API送到合适的设备驱动程序,让设备驱动程序去和ARC平台通讯。异步或同步的通讯可以通过这个方式进行。驱动程序和RTOS是紧密相关的。ASP平台的建模同样可以通过类似的方式表现。
综上所述,结合UML-RT和Platform进行嵌入式控制器的设计,我们看到它们能够很好的对嵌入式软硬件进行抽象,提供良好的文档资料。基于UML-RT和Platform设计的系统架构,对设计过程出现的新的设计要求和设计修改具有很好的适应能力,设计者可以及早的发现并更正错误。