


单击此处编辑母版标题样式,,单击此处编辑母版文本样式,,第二级,,第三级,,第四级,,第五级,,,,*,嵌入式系统,,胡威,,武汉科技大学计算机学院,,1.,嵌入式系统,,2.,嵌入式处理器,,3.,嵌入式操作系统,嵌入式系统概述,1.1,嵌入式系统,概述,,经过几十年的发展,嵌入式系统已经在很大程度改变了人们的生活、工作和娱乐方式,而且这些改变还在加速嵌入式系统具有无数的种类,每类都具有自己独特的个性例如,,MP3,、数码相机与打印机就有很大的不同汽车中更是具有多个嵌入式系统,使汽车更轻快、更干净、更容易驾驶现实中的嵌入式系统,,即使不可见,嵌入式系统也无处不在嵌入式系统在很多产业中得到了广泛的应用并逐步改变着这些产业,包括工业自动化、国防、运输和航天领域例如神州飞船和长征火箭中肯定有很多嵌入式系统,导弹的制导系统也是嵌入式系统,高档汽车中也有多达几十个嵌入式系统在日常生活中,人们使用各种嵌入式系统,但未必知道它们事实上,几乎所有带有一点“智能”的家电(全自动洗衣机、电脑电饭煲,…,)都是嵌入式系统嵌入式系统广泛的适应能力和多样性,使得视听、工作场所甚至健身设备中到处都有嵌入式系统现实中的嵌入式系统,,嵌入式系统的概念,,目前,对嵌入式系统的定义多种多样,但没有一种定义是全面的。
下面给出两种比较合理定义:,,,从技术的角度定义:以应用为中心、以计算机技术为基础、软件硬件可裁剪、适应应用系统对功能、可靠性、成本、体积、功耗严格要求的专用计算机系统从系统的角度定义:嵌入式系统是设计完成复杂功能的硬件和软件,并使其紧密耦合在一起的计算机系统术语嵌入式反映了这些系统通常是更大系统中的一个完整的部分,称为嵌入的系统嵌入的系统中可以共存多个嵌入式系统嵌入式系统示例,——,汽车控制系统,,,,,,马达,,控制器,,车灯,,嵌入式系统示例,——,汽车控制系统,尾灯控制系统,后车门控制系统,前车门控制系统,座椅控制系统,发动器控制系统,所有的控制系统都是一个完整的嵌入式系统,嵌入式系统的未来,,早在,1990,年之前,嵌入式系统通常是很简单的且具有很长的产品生命周期的自主设备近些年来,嵌入式工业经历了巨大的变革产品市场窗口现在预计翻番的周期狂热到,6,~,9,个月全球重新定义市场的机会和膨胀的应用空间互联现在是一个需求而不是辅助性的,包括用有线和刚刚显露头角的无线技术基于电子的产品更复杂化互联嵌入式系统产生新的依赖网络基础设施的应用微处理器的处理能力按莫尔定律(,Moore’s L aw,)预计的速度在增加。
该定律认为集成电路和晶体管个数每,18,个月翻一番1.,嵌入式系统,,2.,嵌入式处理器,,3.,嵌入式操作系统,嵌入式系统概述,简介,,早期的嵌入式系统通常使用普通个人计算机(,PC,)中的通用处理器近年来,随着大量先进的微处理器制造技术的发展,越来越多的嵌入式系统用嵌入式处理器建造,而不是用通用目的的处理器 这些嵌入式处理器可以大致分为以下几类:,,注重嵌入式处理器的尺寸、能耗和价格应用于,PDA,等不注重计算的设备;,,注重嵌入式处理器的性能应用于路由器等计算密集型的设备;,,注重嵌入式处理器的性能、尺寸、能耗和价格应用于蜂窝电话等设备;,1.2,嵌入式处理器,分类,,嵌入式处理器可以分为以下几大类:,,,嵌入式微处理器;,,嵌入式微控制器;,,嵌入式,DSP,处理器;,,嵌入式片上系统(,SOC,)嵌入式微处理器,,嵌入式微处理器的基础是通用计算机中的,CPU,在应用中,将微处理器装配在专门设计的电路板上,只保留和嵌入式应用有关的母板功能,这样可以大幅度减小系统体积和功耗为了满足嵌入式应用的特殊要求,嵌入式微处理器虽然在功能上和标准微处理器基本是一样的,但在工作温度、抗电磁干扰、可靠性等方面一般都做了各种增强。
和工业控制计算机相比,嵌入式微处理器具有体积小、重量轻、成本低、可靠性高的优点,但是在电路板上必须包括,ROM,、,RAM,、总线接口、各种外设等器件,从而降低了系统的可靠性,技术保密性也较差嵌入式微处理器及其存储器、总线、外设等安装在一块电路板上,称为,单板计算机,如,STD-BUS,、,PC104,等CPU,ROM,RAM,外设,1,外设,2,单板计算机,嵌入式微控制器,,嵌入式微控制器又称,单片机,,它是将整个计算机系统集成到一块芯片中嵌入式微控制器一般以某一种微处理器内核为核心,芯片内部集成,ROM/EPROM,、,RAM,、总线、总线逻辑、定时,/,计数器、,WatchDog,、,I/O,、串行口、脉宽调制输出、,A/D,、,D/A,、,Flash RAM,、,EEPROM,等各种必要功能和外设为适应不同的应用需求,一般一个系列的单片机具有多种衍生产品,每种衍生产品的处理器内核都是一样的,不同的是存储器和外设的配置及封装这样可以使单片机最大限度地和应用需求相匹配,功能不多不少,从而减少功耗和成本和嵌入式微处理器相比,微控制器的最大特点是单片化,体积大大减小,从而使功耗和成本下降、可靠性提高。
微控制器是目前嵌入式系统工业的主流微控制器的片上外设资源一般比较丰富,适合于控制,因此称,微控制器,嵌入式微控制器目前的品种和数量最多,比较有代表性的通用系列包括,8051,、,P51XA,、,MCS-251,、,MCS-96/196/296,、,C166/167,、,MC68HC05/11/12/16,、,68300,、数目众多,ARM,芯片等目前,MCU,占嵌入式系统约,70,%的市场份额复位,,部件,看门狗,,部件,晶振,,部件,I/O,,部件,中断,,部件,ROM,,部件,SRAM,,部件,定时器,,部件,CPU,核,,嵌入式,DSP,处理器,DSP,处理器对系统结构和指令进行了特殊设计,使其适合于执行,DSP,算法,编译效率较高,指令执行速度也较高在数字滤波、,FFT,、谱分析等方面,DSP,算法正在大量进入嵌入式领域,,DSP,应用正从在通用单片机中以普通指令实现,DSP,功能,过渡到采用嵌入式,DSP,处理器嵌入式,DSP,处理器比较有代表性的产品是,Texas Instruments,的,TMS320,系列和,Motorola,的,DSP56000,系列TMS320,系列处理器包括用于控制的,C2000,系列,移动通信的,C5000,系列,以及性能更高的,C6000,和,C8000,系列。
DSP56000,目前已经发展成为,DSP56000,,,DSP56100,,,DSP56200,和,DSP56300,等几个不同系列的处理器另外,PHILIPS,公司近年也推出了基于可重置嵌入式,DSP,结构低成本、低功耗技术上制造的,R. E. A. L DSP,处理器,特点是具备双,Harvard,结构和双乘,/,累加单元,应用目标是大批量消费类产品嵌入式片上系统,(SOC),,随着,EDA,的推广和,VLSI,设计的普及化及半导体工艺的迅速发展,在一个硅片上实现一个更为复杂的系统的时代已来临,这就是,System On Chip(SOC),各种通用处理器内核将作为,SOC,设计公司的标准库,和许多其它嵌入式系统外设一样,成为,VLSI,设计中一种标准的器件,用标准的,VHDL,等语言描述,存储在器件库中用户只需定义出其整个应用系统,仿真通过后就可以将设计图交给半导体工厂制作样品这样除个别无法集成的器件以外,整个嵌入式系统大部分均可集成到一块或几块芯片中去,应用系统电路板将变得很简洁,对于减小体积和功耗、提高可靠性非常有利SoC,可以分为通用和专用两类通用系列包括,Infineon,的,TriCore,、,Motorola,的,M-Core,、某些,ARM,系列器件、,Echelon,和,Motorola,联合研制的,Neuron,芯片等。
专用,SoC,一般专用于某个或某类系统中,不为一般用户所知一个有代表性的产品是,Philips,的,Smart XA,,它将,XA,单片机内核和支持超过,2048,位复杂,RSA,算法的,CCU,单元制作在一块硅片上,形成一个可加载,JAVA,或,C,语言的专用的,SOC,,可用于公众互联网如,Internet,安全方面1.,嵌入式系统,,2.,嵌入式处理器,,3.,嵌入式操作系统,嵌入式系统概述,1.3,嵌入式操作系统,概述,,计算机系统由硬件和软件组成,在发展初期没有操作系统这个概念,用户使用监控程序来使用计算机随着计算机技术的发展,计算机系统的硬件、软件资源也愈来愈丰富,监控程序已不能适应计算机应用的要求于是在六十年代中期监控程序又进一步发展形成了操作系统,(Operating System),发展到现在,广泛使用的有三种操作系统即多道批处理操作系统、分时操作系统以及实时操作系统1.3,嵌入式操作系统,概述,监,,控,,程,,序,操,,作,,系,,统,实时操作系统,分时操作系统,多道批处理操作系统,,时 间 先 后,适用于多个用户共享系统资源,适用于计算中心等较大的计算机系统,适用于嵌入式设备和有实时性要求的系统中,1.3,嵌入式操作系统,概述,监,,控,,程,,序,操,,作,,系,,统,实时操作系统,分时操作系统,多道批处理操作系统,,时 间 先 后,适用于多个用户共享系统资源,适用于计算中心等较大的计算机系统,适用于嵌入式设备和有实时性要求的系统中,实时操作系统是我们介绍的重点,1.3,嵌入式操作系统,实时操作系统的特点,IEEE,的实时,UNIX,分委会认为实时操作系统应具备以下的几点,:,,,异步的事件响应,,切换时间和中断延迟时间确定,,优先级中断和调度,,抢占式调度,,内存锁定,,连续文件,,同步,,总的来说实时操作系统是事件驱动的,能对来自外界的作用和信号在限定的时间范围内作出响应。
它强调的是,实时性,、,可靠性,和,灵活性,,,与实时应用软件相结合成为有机的整体起着核心作用,,,由它来管理和协调各项工作,,,为应用软件提供良好的运行软件环境及开发环境从实时系统的应用特点来看实时操作系统可以分为两种:,一般实时操作系统,和,嵌入式实时操作系统,一般实时操作系统,应用于实时处理系统的上位机和实时查询系统等实时性较弱的实时系统,并且提供了开发、调试、运用一致的环境嵌入式实时操作系统,应用于实时性要求高的实时控制系统,而且应用程序的开发过程是通过交叉开发来完成的,即开发环境与运行环境是不一致嵌入式实时操作系统具有规模小,(,一般在几,K,~几十,K,内,),、可固化使用实时性强,(,在毫秒或微秒数量级上,),的特点,,1.3,嵌入式操作系统,基本概念,,对基于芯片的开发来说,应用程序一般是一个无限的循环,可称为前后台系统或超循环系统很多基于微处理器的产品采用前后台系统设计,例如微波炉、电话机、玩具等在另外一些基于微处理器应用中,从省电的角度出发,平时微处理器处在停机状态,所有事都靠中断服务来完成——,前后台系统,基本概念,,中断服务程序处理异步事件,这部分可以看成,前台行为,,前台也叫中断级。
时间相关性很强的关键操作一定是靠中断服务程序来保证的循环中调用相应的函数完成相应的操作,这部分可以看成,后台行为,,后台也可以叫做任务级这种系统在处理的及时性上比实际可以做到的要差ISR,ISR,ISR,,ISR,后台,前台,中断服务程序,时,,,间,,,——,前后台系统,1.3,嵌入式操作系统,基本概念,,操作系统是计算机中最基本的程序操作系统负责计算机系统中全部软硬资源的分配与回收、控制与协调等并发的活动;操作系统提供用户接口,使用户获得良好的工作环境;操作系统为用户扩展新的系统功能提供软件平台——,操作系统,,硬件,硬件驱动,操作系统,用户程序,1.3,嵌入式操作系统,基本概念,,实时操作系统是一段在嵌入式系统启动后首先执行的背景程序,用户的应用程序是运行于,RTOS,之上的各个任务,,RTOS,根据各个任务的要求,进行资源,(,包括存储器、外设等,),管理、消息管理、任务调度、异常处理等工作在,RTOS,支持的系统中, 每个任务均有一个优先级,,RTOS,根据各个任务的优先级,动态地切换各个任务,保证对实时性的要求——,实时操作系统(,RTOS,),1.3,嵌入式操作系统,基本概念,,多任务系统中,内核负责管理各个任务,或者说为每个任务分配,CPU,时间,并且负责任务之间的通信。
内核提供的基本服务是任务切换使用实时内核可以大大简化应用系统的设计,是因为实时内核允许将应用分成若干个任务,由实时内核来管理它们内核需要消耗一定的系统资源,比如,2,%~,5,%的,CPU,运行时间、,RAM,和,ROM,等内核提供必不可少的系统服务,如信号量、消息队列、延时等——,内核,1.3,嵌入式操作系统,基本概念,,调度是内核的主要职责之一调度就是决定该轮到哪个任务运行了多数实时内核是基于优先级调度法的每个任务根据其重要程序的不同被赋予一定的优先级基于优先级的调度法指,CPU,总是让处在就绪态的优先级最高的任务先运行然而究竟何时让高优先级任务掌握,CPU,的使用权,有两种不同的情况,这要看用的是什么类型的内核,是非占先式的还是占先式的内核——,调度,1.3,嵌入式操作系统,基本概念,,非占先式内核要求每个任务自我放弃,CPU,的所有权非占先式调度法也称作合作型多任务,各个任务彼此合作共享一个,CPU,异步事件还是由中断服务来处理中断服务可以使一个高优先级的任务由挂起状态变为就绪状态但中断服务以后控制权还是回到原来被中断了的那个任务,直到该任务主动放弃,CPU,的使用权时,那个高优先级的任务才能获得,CPU,的使用权。
——,非占先式内核,1.3,嵌入式操作系统,基本概念,,当系统响应时间很重要时,要使用占先式内核因此绝大多数商业上销售的实时内核都是占先式内核最高优先级的任务一旦就绪,总能得到,CPU,的控制权当一个运行着的任务使一个比它优先级高的任务进入了就绪状态,当前任务的,CPU,使用权就被剥夺了,或者说被挂起了,那个高优先级的任务立刻得到了,CPU,的控制权如果是中断服务子程序使一个高优先级的任务进入就绪态,中断完成时,中断了的任务被挂起,优先级高的那个任务开始运行——,占先式内核,1.3,嵌入式操作系统,基本概念,,任务的优先级是表示任务被调度的优先程度每个任务都具有优先级任务越重要,赋予的优先级应越高,越容易被调度而进入运行态——,任务优先级,1.3,嵌入式操作系统,基本概念,,中断是一种硬件机制,用于通知,CPU,有个异步事件发生了中断一旦被识别,,CPU,保存部分(或全部)上下文即部分或全部寄存器的值,跳转到专门的子程序,称为中断服务子程序(,ISR,)中断服务子程序做事件处理,处理完成后,程序回到:,,1,.,在前后台系统中,程序回到后台程序;,,2,.,对非占先式内核而言,程序回到被中断了的任务;,,3,.,对占先式内核而言,让进入就绪态的优先级最高的任务开始运行。
——,中断,,前后台系统,1.3,嵌入式操作系统,基本概念,——,中断,ISR,任务,,,,,,,ISR,,,,非占先操作系统,任务,A,任务,B,任务,C,,,ISR,,,占先操作系统,任务,A,任务,B,任务,C,1.3,嵌入式操作系统,基本概念,,时钟节拍是特定的周期性中断这个中断可以看作是系统心脏的脉动中断之间的时间间隔取决于不同应用,一般在,10ms,到,200ms,之间时钟的节拍式中断使得内核可以将任务延时若干个整数时钟节拍,以及当任务等待事件发生时,提供等待超时的依据时钟节拍率越快,系统的额外开销就越大——,时钟节拍,1.3,嵌入式操作系统,使用实时操作系统的必要性,,嵌入式实时操作系统在目前的嵌入式应用中用得越来越广泛,尤其在功能复杂、系统庞大的应用中显得愈来愈重要在嵌入式应用中,只有把,CPU,嵌入到系统中,同时又把操作系统嵌入进去,才是真正的计算机嵌入式应用使用实时操作系统主要有以下几个因素:,,,嵌入式实时操作系统提高了系统的可靠性提高了开发效率,缩短了开发周期嵌入式实时操作系统充分发挥了,32,位,CPU,的多任务潜力1.3,嵌入式操作系统,实时操作系统的优缺点,,优点,:在嵌入式实时操作系统环境下开发实时应用程序使程序的设计和扩展变得容易,不需要大的改动就可以增加新的功能。
通过将应用程序分割成若干独立的任务模块,使应用程序的设计过程大为简化;而且对实时性要求苛刻的事件都得到了快速、可靠的处理通过有效的系统服务,嵌入式实时操作系统使得系统资源得到更好的利用缺点,:但是,使用嵌入式实时操作系统还需要额外的,ROM/RAM,开销,,2~5%,的,CPU,额外负荷,以及内核的费用uClinux,是一个完全符合,GNU/GPL,公约的操作系统,完全开放代码uClinux,从,Linux 2.0/2.4,内核派生而来,沿袭了主流,Linux,的绝大部分特性它是专门针对没有,MMU,的,CPU,,并且为嵌入式系统做了许多小型化的工作适用于没有虚拟内存或内存管理单元,(MMU),的处理器,例如,ARM7TDMI,它通常用于具有很少内存或,Flash,的嵌入式系统它保留了,Linux,的大部分优点:,稳定、良好的移植性、优秀的网络功能、完备的对各种文件系统的支持、以及标准丰富的,API,等,1.3,嵌入式操作系统,常见的嵌入式操作系统,——,嵌入式,Linux,,1.3,嵌入式操作系统,常见的嵌入式操作系统,,Windows CE,是微软开发的一个开放的、可升级的,32,位嵌入式操作系统,是基于掌上型电脑类的电子设备操作,它是精简的,Windows 95,。
Windows CE,的图形用户界面相当出色Win CE,具有模块化、结构化和基于,Win32,应用程序接口以及与处理器无关等特点Win CE,不仅继承了传统的,Windows,图形界面,并且在,Win CE,平台上可以使用,Windows 95/98,上的编程工具(如,Visual Basic,、,Visual C++,等)、,使绝大多数的应用软件只需简单的修改和移植就可以在,Windows CE,平台上继续使用——,Win CE,,1.3,嵌入式操作系统,常见的嵌入式操作系统,——,VxWorks,VxWorks,操作系统是美国 公司于,1983,年设计开发的一种嵌入式实时操作系统(,RTOS,),是嵌入式开发环境的关键组成部分良好的持续发展能力、高性能的内核以及友好的用户开发环境,在嵌入式实时操作系统领域占据一席之地它以其良好的可靠性和卓越的实时性被广泛地应用在通信、军事、航空、航天等高精尖技术及实时性要求极高的领域中,如卫星通讯、军事演习、弹道制导、飞机导航等,甚至在,1997,年,4,月登陆火星表面的火星探测器上也使用到了,VxWorks,。
1.3,嵌入式操作系统,常见的嵌入式操作系统,μC/OS-II,是一个源码公开、可移植、可固化、可裁剪、占先式的实时多任务操作系统其绝大部分源码是用,ANSI C,写的,使其可以方便的移植并支持大多数类型的处理器μC/OS-II,通过了联邦航空局(,FAA,)商用航行器认证自,1992,年问世以来,,μC/OS-II,已经被应用到数以百计的产品中μC/OS-II,占用很少的系统资源,并且在高校教学使用是不需要申请许可证——,μC/OS-II,。