基于平台和中间件的嵌入式系统软硬件协同设计[1]

1引言
嵌入式系统(embeddedsystem)是嵌入式计算系统(embeddedcomputingsystem)的简称。随着微处理器(MPU)的发展,将其作为一个部件的嵌入式计算系统已作为一个新兴学科出现[1]。
嵌入式系统的核心是微处理器,包括8/16/32位。基于8位IP核的微控制器(MCU)在我国称之为单片机,其中,MCS-51作为一款优秀的微控制器,自1980年始到20世纪末对嵌入式系统理论的发展及实际应用起到重大推动作用[2]。90年代后期,后PC时代特征开始出现,主要表现在多媒体、嵌入式Internet、复杂在线计算和无线通信等先进技术开始融入嵌入式系统。特别是,近年来与人们生活密切相关的信息电器(IA)等个性化消费类电子产品的快速涌现,使16/32位RISC架构微处理器/微控制器得以大量应用[3]。目前所谓的嵌入式系统,主要是指这类以16/32位(特别是后者)RISC架构的微处理器/微控制器组成的嵌入式系统,以区别于早期的8位微控制器构成的系统。
嵌入式系统主要分为:单硅片级(singlesilicon)、单板级(SingleBoard)和多板级(multiboard)。单硅片级多为基于定制ASIC的SoC(systemonchip)或基于半定制FPGA的SoPC(systemonprogrammingchip)
,属于专用芯片系统;单板级为基于32位RISC架构的MCU、MPU、DSP,属于通用芯片系统;多板级为基于×86MPU等的微型板卡系统,如PC-104,亦属于通用芯片系统。
随着32位嵌入式系统的出现,特别是系统功能要求的多样化、复杂化和产品快速上市需求,使嵌入式系统设计方法学面临新的挑战。目前,国际上用于嵌入式系统设计的方法多为:自顶向下设计(top-downdesign)和软硬件协同设计(SW/HWco-design)[4,5]。本文在此基础上,提出基于平台(platform)和中间件(middleware)技术的软硬件协同设计方法。结合所从事的具体研究阐述其方法,并给出一些有借鉴性的结论。
2嵌入式系统软硬件协同设计
由于嵌入式系统面临技术上的复杂性和开发时间上的严格约束,设计方法已成为影响系统最终成本、性能、功能、可制造性以及研制周期的关键因素。对于嵌入式系统,要达到成本、体积、功耗、性能等方面的严格要求,主要依靠好的硬件设计方法;而要在有限的研制周期内达到预期的功能和可靠性要求,则主要依靠好的软件设计方法。在满足设计规范(specification)的前题下,兼顾软硬件的特点,进而实现优化的协同设计是问
基于平台和中间件的嵌入式系统软硬件协同设计
白瑞林吴广霖吉峰
(江南大学控制科学与工程研究中心,江苏无锡214012)
摘要提出了一种基于平台和软件中间件技术的嵌入式系统软硬件协同设计方法。通过显微图像嵌入式Internet技术的具体研究,比较详细地分析了嵌入式系统软硬件协同设计方法,并给出设计流程。通过软/硬件平台的设计,以及TCP/IP协议栈等中间件的具体开发,实现了一个实用的嵌入式系统,并给出实验测试结论。研究结果表明:该方法有利于复杂系统的层次化分解、软件复用,以及软硬件优化,同时,可提高系统的可靠性。是一种有效的嵌入式系统设计方法。
关键词嵌入式系统软硬件协同设计平台中间件实时操作系统
文章编号1002-8331-(2005)34-0104-04文献标识码A中图分类号TP3
红外与毫米波学报Software/HardwareCo-DesignofEmbeddedSystem
BasedonPlatformandMiddleWare
BaiRuilinWuGuanglinJiFeng
(ControlScienceandEngineeringResearchCenter,SouthernYangtzeUniversity,Wuxi,Jiangsu214012)
Abstract:Thispaperproposesamethodforsoftware/hardwareco-designofembeddedsystembaseduponplatformandmiddleware.ThismethodisfullyanalyzedthroughthestudyuponmicrographInternettechnologywiththepresentationofadesignflow.Apracticalembeddedsystemandtheresultofexperimentareconstructedandgiventhroughthedesignofsoftware/hardwareplatformandthedevelopmentofthemiddlewares,suchasTCP/IPprotocolcluster.Theconclusionindicatesthatthemethodisfavorableforhierarchyofcomplexsystem,thereuseofmiddleware,aswellastheoptimizationofsoftwareandhardware.Atthesametime,itpossessestheabilitytoenhancethereliabilityofsystem.Itisaveryeffectivedesignmethodforembeddedsystem.
Keywords:embeddedsystem,SW/HWco-design,platform,middleware,RTOS
基金项目:江南大学基础研究基金项目(编号:200208)
作者简介:白瑞林(1955-),男,教授,主要从事智能控制与嵌入式系统研究。吴广霖(1977-),男,研究生,研究方向为嵌入式系统研究。吉峰(1981-),男,研究生,研究方向为嵌入式系统研究。
用户需求
应用系统规范(软/硬/件统一描述)
软/硬件划分及其分层
软/硬件划分性能评估
构建硬件平台及测试接口设计构建软件平台及测试知网
系统集成
测试及验证
原型样机
16MNAND
FLASH
以太网接口
RTL8019AS
4MSDRAM
2MNOR
FLASH载荷系数
32位RISC架构
ARM内核微处理器
AT91R40008
USB主机接口
SL811H
2个RS232口
JTAG口
LCD按键扩展并口
82C55
题的关键。
目前,国际上用于嵌入式系统设计的主要方法为:基于自顶向下理念的软/硬件协同设计。该方法有2个明显特点:一是基于规范的软/硬件统一描述形式;二是基于性能评估的软/硬件划分的方案优选。从理论上讲,对一特定应用系统,都存在一个适合该系统的软/硬件功能划分的最佳组合[6]。所以,对具体的应用系统设计而言,采用该方法有希望获得满足综合性能指标的最佳或次最佳解决方案。
出于系统复杂性、开发周期短以及系统可靠性的考虑,本项研究将软/硬件平台设计模式和中间件、构件(buildingblocks)技术用于嵌入式系统软/硬件协同设计。
改进后的软硬件协同设计方法包括:根据用户需求,建立应用系统规范,构建系统的体系结构,并采取对软/硬件统一功能表示,如采用VHDL实现行为(功能)级描述;在系统功能描述的基础上,根据设计规范(目标)和约束条件对系统进行软/硬件划分及其层次化(hierarchy)设计,并对其结果进行性能评估,使系统方案接近最佳或次最佳;分别进行基于MPU/MCU的硬件平台设计,以及基于RTOS和中间件的软件平台设计;软/硬件设计完毕,通过通信和同步机制对整个系统综合模拟,及时发现并修正系统设计偏差;模拟通过后进行软硬件综合,并进行测试及验证,最终形成原型样机(prototype)。该设计方法的特点是:基于特定实时内核、中间件、构件复用的软/硬件协同设计(co-design)、协同测试(co-test)及协同验证(co-verification)。设计过程如图1所示。
图1嵌入式系统软硬件协同设计框图
3嵌入式系统开发平台
目前,嵌入式系统多采用层次体系结构(layeredarchitecture),但已有向总线结构转化的趋势。即把不同的功能模块独立设计成软件构件,包括中间件,采用相同方式与一个具有相互通信功能的结构部件连接。在这种结构体系中,可实现不停机下的软件构件的更换、维护和升级[7]。
国际上,基于层次体系结构的知名嵌入式系统开发平台有:Intel公司的PCA(personalinternetclientarchitecture)以及TI公司的OMAP(openmultimediaapplication)等。这些平台的主要特点是:双核结构(32位RISC架构MPU、DSP)、RTOS、多媒体,以及面向Internet的开放式平台架构[8,9]。上述平台均属于专业型,掌握有一定难度且价格较贵。但是,这些平台的体系结构和开发理念对嵌入式应用设计有很大的启示。即从抢占商机的市场角度和嵌入式系统本身的发展趋势看,充分利用平台和软件中间件的开发模式无疑是个方向。
MICETEK公司推出的ARM开发套件HitoolforARM,包括:评估板、JTAG调试和集成开发环境,其中集成开发环境主要包括:HitoolARMDebugger、GNUCompiler、JTAGCable。其中,编译器可替换成ARM公司的ARMADSCompiler或ARMSTDCompiler。是较为适合我国现况的嵌入式系统开发工具[10]。3.1硬件开发平台
EV40评估板支持ARM开发套件HitoolforARM,是针对Atmel公司的AT91×40系列微控制器而设计,可用于评估和调试以AT91×40系列MCU为硬件核心的嵌入式应用系统。该评估板上缺省配置的MCU为AT91M40800,是AT91系列中价格最低的一款微控制器,内含ARM7TDMI核,并集成8KBSRAM、EBI、USART和中断控制器等芯
片内外围部件,主频为33MHz,是用于系统主控制器的通用MCU。板级其他硬件配置包括:存储器系统(2MB的SRAM、2MB的Flash)、系统I/O{2个串口、USB(从机端)、Ethernet、PC-104I/O}、JTAGI/O(PowerProbe)和人机界面接口(LCD、键组)。这是一种精简的硬件开发平台模式,采用“宿主/目标机”方式,可支持低端产品和部分高端产品的研究与开发。
针对我们有关显微图像嵌入式Internet技术的专项研究,其目标样机硬件平台组成如图2所示。其中:微处理器采用AT91R40008(66MHz)、存储器扩展(4MBSDRAM、2MBNORFlash、16MBNANDFlash)、USB(主机端)、Ethernet接口。借以实现数字图像信号的采集、存储和网络传送的硬件支持。
图2目标样机硬件平台框图
3.2软件开发平台
软件开发平台的核心是RTOS,目前,可用于嵌入式系统的源代码开放的RTOS主要是嵌入式Linux和μC/OSⅡ。其中,嵌入式Linux功能比较强,特别是网络功能,支持数10种CPU芯片,有众多第三方厂商的支持,有很大的发展潜力。略有不足的是,嵌入式Linux内核代码相对μC/OSⅡ较大,如μCLinux内核代码在500KB左右,且运行需较大的RAM空间。
μC/OS-Ⅱ内核代码只有10KB左右,其核心代码短小精悍,简单易学。因μC/OS-Ⅱ是一个实时内核,需要根据特定应用对其进行功能扩展,包括:底层的硬件驱动、文件系统、用户图形I/O(GUI)等,才能建立实用的RTOS。但是,也正是如此,在构建具体项目的RTOS时,才能根据个性化系统的特点进行恰当的移植和裁减,使RTOS整体较小,以适于小型系统[11]。本
项研究采用μC/OS-Ⅱ作为实时内核,并完善RTOS功能。基于目标样机硬件系统的软件开发平台组成如图3所示。
图3目标样机软件平台框图
4嵌入式软件中间件
嵌入式中间件主要指嵌入式系统中RTOS与应用程序之
间的一类传递信息的软件。由于嵌入式系统的特定性和个性化应用,中间件一般具有高度专业化,并要符合行业规范或国际标准,进而有望成为可交易的软件实体。所以,定义一组完整的、符合行业标准的API接口,使应用程序独立于RTOS和硬件平台,其最大优势之一就是屏蔽多样的系统资源,保证良好的互操作性和系统可靠性[12,13]。如针对嵌入式设备与远程计算机平台的网络交互,需要一种合适的分布计算中间件标准,为此,
OMG组织在CORBA(commonobjectrequestbrokerarchitecture)
基础上,推出适于嵌入式系统的MinimumCORBA。但是,MinimumCORBA没有建立在“微内核”基础上,选择性裁减有待完善[14]。
中间件抽象了典型的应用模式,是构件化软件的一种表现形式。从此意义上讲,在μC/OS-Ⅱ内核基础上建立的文件系统、GUI,以及TCP/IP协议栈-和CAN及其高层协议程序都可认为是软件中间件或具有软件中间件性质的模块。本项研究中,在μC/OSⅡ内核基础上,采用中间件模式建立文件系统、
GUI、FS,以及TCP/IP协议栈,进而实现嵌入式Web。其中,嵌
入式TCP/IP协议栈的中间件模式如图4所示,以下就其开发模式作进一步阐述。
图4μC/OSⅡ内核基础上TCP/IP中间件模式框图
目前,在Internet上广泛使用的通信协议TCP/IP,实际上是一组通信协议的总称,其中最基本的是TCP与IP。TCP/IP模型分为应用层、传输层、网际层和网络接口层四层,如图4所示。TCP/IP协议簇在技术上一直得到Internet工作组的支持,现已成为工业界
事实上的网络标准。嵌入式设备要与Internet网络直接交换信息,就必须支持TCP/IP协议。
TCP/IP完整实现的固化代码需占用系统75-150KB,因嵌入式系统资源受限,有必要对TCP/IP协议栈作相应简化。在保证协议栈的基本通信功能的同时,TCP/IP中间件模块需要为用户提供一定的协议栈可配置性,并提供符合行业编程规范的模块接口,可与系统其他构件进行无缝连接,以实现定制的嵌入式Internet应用。针对本项研究,通过构造嵌入式HTTP服务器,以提供远端人员对嵌入式现场设备进行访问操作功能,嵌入式设备实现了以太网/ARP/ICMP/IP/TCP等网络协议,
TCP/IP中间件模块使用了约40KB固化代码容量。
本系统采用了与NE2000兼容的RTL8019AS以太网控制芯片,需要编写网络设备驱动程序以实现低层网络接口及硬件驱动函数,将网络上层协议与通信链路中的物理接口隔开。
ARP协议主要完成网络地址到物理地址的映射,该协议是网
络中实现通信的基础;IP协议主要是校验IP报文头和实现
ICMP、TCP协议之间多路复用功能;ICMP报文封装在IP数据
企业家宣言
报内,它传递差错报文以及其它需要注意的信息,用于检验IP协议的运行正确;ICMP协议可实现的功能包括:源站抑制报文、重定向报文以及响应请求/答复报文等。对于普通的嵌入式
Internet应用,为减少系统资源消耗,不必实现ICMP的所有功
能。为测试网络的连通情况,只需实现ICMP中类型号为0、代码为0的Ping应答协议即可。传输层采用了面向连接的可靠数据传输协议TCP,以确保远程诊断数据可靠性要求。应用层接口使用了类BSD套接字,屏蔽协议栈实现细节,方便用户在其基础上创建相应服务进程。本系统实现的HTTP服务器,运行在TCP的基础上,绑定80号端口,监听并处理客户机连接,客户端通过普通web浏览器即可访问并操作该嵌入式系统。协议栈使用了事件管理、内存、时间管理等内核系统函数,可通过系统API接口封装内核功能函数来实现,系统API接口提供了协议栈跨操作系统平台使用的便利。
5实验测试
显微图像通过现场嵌入式设备上的USB总线采集,并通
过以太网接入Internet,作为嵌入式Web服务器运行。远程专家可通过Internet以权限访问该嵌入式服务器进行医学诊断,实现与现场嵌入式设备的信息交互。根据本项研究的实际
需求,做出嵌入式系统设计规范,并划分系统软硬件功能,确定实时内核μC/OS-Ⅱ和AT91R40008为软硬件平台核心,以中间件和构件的开发模式完成系统各功能模块的软硬件协同设计。
其中:嵌入式GUI实现在LCD上刷新显示系统运行状态及提供本地用户操作界面的功能;USB主机模块可完成通过USB界面采集本地显微图像数据,可存储到本地的NAND型Flash,也可转存到通用的移动U盘,为用户提供文件存储介质的可选性;嵌入式文件系统主要是实现对存储在NAND型Flash上的数据进行管理,并通过API接口为其他应用提供可操作性;
TCP/IP模块完成实时数据的Internet远传,并为远端用户提供
交互界面。为测试系统功能,设置本地IP地址为192.168.0.10,确保此IP地址与局域网其他计算机的IP地址不冲突。局域网网关为:192.168.0.1,子网掩码为255.255.255.0。程序编译调试通过后,将其下载入目标板中的NOR型Flash,目标板通过以太网线经Hub与局域网连接,作为局域网的一台小型嵌入式
HTTP服务器运行。可在局域网任意一台PC机上打开web浏
览器,在地址栏输入http://192.168.0.10登录嵌入式HTTP服务器,客户端
用户在确认身份后,进入如图5所示的操作界面,鼠标点击界面不同的操作按钮,嵌入式HTTP服务器获取用户指令并作相应处理,并返回服务回显效果。
网络芯片、LCD、按键、USB芯片、FLASH等驱动程序
应用层
API
网络APIGUIAPIUSBAPIFSAPI内核API
扩展模块
中间层TCP/IP模块GUI模块USB模块FS模块
驱动库UC/OS-II内核
包含:时间、
消息、任务管理等内核模块
应用层服务
服务进程
TCP/IP
水木年华音箱中间件应用层API类BSD套接字
传输层协议TCPUDP
网际层协议
IP、ICMP、ARP
系统API
网络接口层LLC(逻辑链路控制)MAC(媒介访问控制)
驱动API物理层
CSMA/CD以太网
UC/OS-II
内核
6结论
由于多媒体、嵌入式Internet、无线通信等先进技术大量应
用于嵌入式系统,以及市场对产品需求的更新周期越来越短,对设计方法和手段提出新的、更高的要求。同时,对设计方法和手段的依赖性更强。基于自顶向下理念,采用平台和中间件技术的软硬件协同设计方法适于嵌入式系统设计,有利于嵌入式系统软硬件资源的合理配置、复杂系统的层次化分解、中间件和构件复用、便于基于模块(block)库的协作、缩短开发时间,同时,可大大提高系统的可靠性。将该方法用于具体项目的研究,验证了上述性能。理论分析和实践表明:该方法是一种有效的复杂嵌入式系统设计方法。(收稿日期:2005年3月)
参考文献
1.WWolf.ComputersasComponents:PrinciplesofEmbeddedComputing
SystemDesign[M].MorganKaufmann,2001
2.梁合庆.近十多年来嵌入式硬件综述[C].见:中国微计算机第十三届年会“嵌入式系统及其应用”论文集,2002:386~392
3.探矽工作室.嵌入式系统开发圣经[M].中国青年出版社,20024.AxelJantsch,JohannNotbaueretal.FunctionalofMixedHardware/SoftwareSystemsbasedonSpecification,Partitioning,andSimulationofTestCases[J].DesignAutomationforEmbeddedSystems,2000;(5):83~113
5.FrankSchirrmeister,MartinMeindletal.IPAuthoringandIntegrationforHW/SWCo-Designandreuse-LessonsLearned.http://www.eda.org/edps/edp02/papers/edp02-s7_2.pdf,2001
6.NikolaosSVoros,LuisSanchezetal.Hardware/SoftwareCo-DesignofComplexEmbeddedSystems[J].DesignAutomationforEmbedded
Systems,2003;(8):5~49
7.窦振中,王健等.嵌入式系统概念辨析[C].见:中国微计算机第十三届年会“嵌入式系统及其应用”论文集,2002:393~397
8.www.intel.com.cn/product/pca.20049.www.it.com.cn/product/omap.2004
10.www.micetek.com.cn/product/evboard/ev40.htm.2002
11.JeanJLabrosse.μC/OS-Ⅱ:TheRealTimeKernel[M].R&Dpub-lications,USA,2001
12.DouglasCSchmidt.MiddlewareTechniquesandOptimizationsforReal-Time,EmbeddedSystems[C].In:TheProceedingsof12thInterna-tionalSymposiumonSystemSynthesis,1999:12~17
13.XiaCai,MichaelRLyu,Kam-FaiWong.Component-BasedEmbeddedSoftwareEngineering:Development
Framework,QualityAssuranceandGenericAssessmentEnvironment[J].InternationalJournalofSoftwareEngineeringandKnowledgeEngineering,2002;27(2):107~13314.何东海,宋莹等.基于嵌入式系统的MinimumCORBA机制及分析[J].计算机工程与应用,2002;(18):92~95
图5
嵌入式web服务页面
AttimeoutAttimeout000112300011380110294011010211003581100166
1001
422
1001
表1
输出电机控制信号随时间变化情况
以上测试结果表明系统能实现对步进电机的远程运动控制,能通过字符终端完成系统的网络配置,达到了设计目的。但输出的步进电机控制脉冲在起停状态存在一定误差,这是由于仅采用简单的定时器产生控制脉冲造成的,如果采用更复杂和完善的控制算法,如PID算法,将大大降低这些误差。
8结论
本文针对现有运动控制器在网络化、体积和功耗等方面存
在的不足,结合最新出现的SoC技术和嵌入式Internet技术,对运动控制器的体系结构进行研究,提出一种片上网络化运动控制器的体系结构,并实现了该体系结构的一个原型系统:
SoC_Eweb_step。该系统大部分功能集成在一个芯片内实现,
具有体积小、功耗低的优点;通过在芯片内嵌的处理器上实现
嵌入式WebServer使系统直接接入Internet,用户能通过Web浏览器控制电机运行,具有使用方便、适用范围广泛等优点。但该系统仅用于验证这种体系结构的可行性,因此仅采用简单的定时器输出脉冲控制电机运行,为了达到实用化,必须采用更复杂和完善的控制算法,如PID算法。
另外,系统忽略了网络安全性,因此下一步工作将增加加密和解密模块来使系统具有较强的安全性。(收稿日期:2005年7月)
参考文献
1.孙颖.嵌入式Internet技术实现方法与研究[J].电子产品世界,2003;(10):49~51
2.章立生,韩承德.SoC芯片设计方法及标准化[J].计算机研究与发展,2002;39(1):1~8
3.葛立伟.基于平台的设计方法可作为一种选择但并非“万能药方”[J].电子工程专辑(30周年特刊),2002;(11):29~30
4.AlteraCoporation.ExcaliburDevicesHardwareReferenceManual[M].http://www.altera.com/literature/manual/mnl_arm_hard_ware_ref.pdf,2002-07
5.AlteraCoporation.SoPCBuilderUserGuide[M].h
ttp://www.altera.com/literature/ug/ug_sopcbuilder.pdf,2003-07
高沸点溶剂
(上接103页

本文发布于:2024-09-22 22:36:01,感谢您对本站的认可!

本文链接:https://www.17tex.com/xueshu/35844.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:系统   设计   中间件   方法   实现
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2024 Comsenz Inc.Powered by © 易纺专利技术学习网 豫ICP备2022007602号 豫公网安备41160202000603 站长QQ:729038198 关于我们 投诉建议