PersonalCorpus 版 (精华区)
发信人: YouZhi (花开花落两由之), 信区: Embedded_system
标 题: 嵌入式系统总数
发信站: 哈工大紫丁香 (2001年12月15日10:48:18 星期六), 站内信件
嵌入式系统的概念
嵌入式系统是以应用为中心,以计算机技术为基础,并且软硬件可裁剪,适用于应用系
统对功能、可靠性、成本、体积、功耗有严格要求的专用计算机系统。它一般由嵌入式
微处理器、外围硬件设备、嵌入式操作系统以及用户的应用程序等四个部分组成,用于
实现对其他设备的控制(Control)、监视(Monitor)或管理(Management)等功能。
其实,早在二十世纪七、八十年代就已经有嵌入式微处理器应用于工业控制等领域,随
着工业、医疗卫生、国防等各部门对智能控制需求的不断增长,同时也对嵌入式微处理
器的运算速度、可扩充能力、系统可靠性、功耗和集成度等方面提出了更高的要求,为
了适应各方面的需求,嵌入式微处理器体系结构也经历了一个从CRISC到RISC和Compact
RISC;从4位、8位、16位、32位到64位;寻址空间从64kB到16MB甚至更大;处理速度从
0.1 MIPS到2000 MIPS;常用封装从8个引脚到144个引脚的过程。处理器的功耗也有了明
显降低;集成度进一步提高,近闻,美国国家半导体公司又推出了一款高度集成的微处
理器SC1400(片上系统System-On-A-Chip),它代表了目前嵌入式微处理器的最高集成
度。
目前嵌入式系统已广泛应用于信息家电、移动通讯、手持信息设备以及工业控制等领域
,国外许多大处理器生产厂商(Motorola、Intel、AMD、日立、NSC等)纷纷推出各种嵌
入式微处理器,最具有代表性的是:Motorola 的PowerPC系列;Intel 的StrongArm系列
和National Semiconductor的x86系列。其中最具影响力的当数Motorola 的PowerPC系列
,由于PowerPC系列微处理器种类繁多,而且性能优越,系统集成度高,扩展能力强,可
以广泛应用于各类嵌入式系统中,因此,Motorola 已成为当今全球最大的嵌入式微处理
器生产商,PowerPC系列微处理器成为当今嵌入式系统应用的主流。
嵌入式系统的特点
嵌入式计算机系统同通用型计算机系统相比具有以下特点:
嵌入式系统通常是面向特定应用的
嵌入式CPU与通用型的最大不同就是嵌入式CPU大多工作在为特定用户群设计的系统中,
它通常都具有低功耗、体积小、集成度高等特点,能够把通用CPU中许多由板卡完成的任
务集成在芯片内部,从而有利于嵌入式系统设计趋于小型化,移动能力大大增强,跟网
络的耦合也越来越紧密。
嵌入式系统是将先进的计算机技术、半导体技术和电子技术和各个行业的具体应用相结
合后的产物。这一点就决定了它必然是一个技术密集、资金密集、高度分散、不断创新
的知识集成系统。
嵌入式系统的硬件和软件都必须高效率地设计,量体裁衣、去除冗余,力争在同样的硅
片面积上实现更高的性能,这样才能在具体应用对处理器的选择面前更具有竞争力。
嵌入式系统和具体应用有机地结合在一起,它的升级换代也是和具体产品同步进行,因
此嵌入式系统产品一旦进入市场,具有较长的生命周期。
为了提高执行速度和系统可靠性,嵌入式系统中的软件一般都固化在存储器芯片或单片
机本身中,而不是存贮于磁盘等载体中。
嵌入式系统本身不具备自举开发能力,即使设计完成以后用户通常也是不能对其中的程
序功能进行修改的,必须有一套开发工具和环境才能进行开发。
嵌入式系统的分类及应用
根据不同的分类标准嵌入式系统有不同的分类方法,这里根据嵌入式系统的复杂程度,
可以将嵌入式系统分为以下四类:
单个微处理器:
这类系统可以在小型设备中(如温度传感器、烟雾和气体探测器及断路器)找到。这类
设备是供应商根据设备的用途来设计的。这类设备受Y2K影响的可能性不大。
不带计时功能的微处理器装置:
这类系统可见于过程控制、信号放大器、位置传感器及阀门传动器等中找到。这类设备
也不太可能受到Y2K的影响。但是,如果它依赖于一个内部操作时钟,那么这个时钟可能
受Y2K问题的影响。
带计时功能的组件:
这类系统可见于开关装置、控制器、电话交换机、电梯、数据采集系统、医药监视系统
、诊断及实时控制系统等。它们是一个大系统的局部组件,由它们的传感器收集数据并
传递给该系统。这种组体可同PC机一起操作,并可包括某种数据库(如事件数据库)。
在制造或过程控制中使用的计算机系统:
对于这类系统,计算机与仪器、机械及设备相连来控制这些装置的工作。这类系统包括
自动仓储系统和自动发货系统。在这些系统中,计算机用于总体控制和监视,而不是对
单个设备直接控制。过程控制系统可与业务系统连接(如根据销售额和库存量来决定定
单或产品量)。在许多情况下,两个功能独立的子系统可在一个主系统操作下一同运行
。如控制系统和安全系统,控制子系统控制处理过程以使系统中的不同设备能正确的操
作和相互作用以生产产品;而安全子系统则用来降低那些会影响人身安全或危害环境的
误操作风险。
嵌入式系统的设计要求
嵌入式计算机系统设计不同于桌面计算机系统设计的一个方面在于:嵌入式系统非常受
限于功能和具体的应用环境,如对外部事件必须保证在规定时间内进行响应,有体积、
重量的限制,功率预算、散热必须符合环境要求,需要令人满意的安全性、可靠性,系
统本身的成本需求等。下面是嵌入式系统设计时需要重点考虑的因素:
实时性好
由于嵌入式系统面向特定的用户,有的不仅要求得到正确的结果,而且对得到结果的时
间延迟也有明确的限制,如“信号处理系统”、“紧急任务处理系统”等是实时性要求
很强的系统,因此设计时必须充分考虑到系统实时性的要求。
可靠性高
嵌入式系统是嵌入到其它的设备上,完成某些特定的任务或功能,严重的人为误操作、
设备的损坏等都会造成系统的瘫痪,因此对于其本身要求有较高的可靠性。
集成度高
嵌入式系统一般用于工业控制、家用电器、移动通讯等领域,因此对于系统本身的体积
有严格的要求,同时为了提高开发效率,也要求系统要有较高的集成度。
功耗低
嵌入式系统的适用领域:移动通讯设备、便携式设备等需要电池供电的设备,决定了系
统应当有更低的功耗。
环境适应能力强
嵌入式系统的工作环境往往是不可控的,特别是热、冲击、光、强电磁场等,这些因素
会对系统产生影响,因此在设计时应当充分考虑到对于这些干扰的防护措施。
系统成本低
任何系统的成本都是一个很关键的因素,当然嵌入式系统也不例外,设计时应当在满足
系统要求的前提下尽可能的降低成本,这样的系统才有生命力。
嵌入式系统的开发工具
嵌入式处理器是一个复杂的高技术系统,因此以开发工具和技术咨询为基础的整体解决
方案是迫切需要的。好的开发工具除能够开发出处理器的全部功能以外,还应当是用户
友好的。目前嵌入式系统的开发工具平台主要包括下面几类。
(1)实时在线仿真系统ICE(In-Circuit Emulator)
实时在线仿真系统(ICE)仍是进行嵌入式应用系统调试最有效的开发工具。ICE首先可以
通过实际执行,对应用程序进行原理性检验,排除以人的思维难以发现的设计逻辑错误
。ICE的另一个主要功能是在应用系统中仿真微控制器的实时执行,发现和排除由于硬件
干扰等引起的异常执行行为。此外,高级的ICE带有完善的跟踪功能,可以将应用系统的
实际状态变化、微控制器对状态变化的反应、以及应用系统对控制的响应等以一种录像
的方式连续记录下来,以供分析,在分析中优化控制过程。很多机电系统难以建立一个
精确有效的数学模型,或是建立模型需要大量人力,这时采用ICE的跟踪功能对系统进行
记录和分析是一个快而有效的方法。
嵌入式应用的特点是和现实世界中的硬件系统有关,存在各种异变和事先未知的变化,
这就给微控制器的指令执行带来了各种不确定性,这种不确定性只有通过ICE的实时在线
仿真才能发现,特别是在分析可靠性时要在同样条件下多次仿真,以发现偶然出现的错
误。
ICE不仅是软件硬件排错工具,同时也是提高和优化系统性能指标的工具。高档ICE工具
(如美国NOHAU公司的产品)是可根据用户投资裁剪功能的系统,亦可根据需要选择配置各
种档次的实时逻辑跟踪器(Trace)、实时映象存储器(Shadow RAM)及程序效率实时分析功
能(PPA)。(有关详情请查阅http://www.nohau.com)。
(2) 高级语言编译器(Compiler Tools)
C语言作为一种通用的高级语言,大幅度提高了嵌入式系统工程师的工作效率,使之能够
充分发挥出嵌入式处理器日益提高的性能,缩短产品进入市场时间。另外C语言便于移植
和修改,使产品的升级和继承更迅速。更重要的是采用C语言编写的程序易于在不同的开
发者之间进行交流,从而促进了嵌入式系统开发的产业化。
区别于一般计算机中的C语言编译器,嵌入式系统中的C语言编译器要专门进行优化,以
提高编译效率。优秀的嵌入式系统C编译器代码长度和执行时间仅比以汇编语言编写的同
样功能程序长5~20%。编译质量的不同,是区别嵌入式C编译器工具的重要指标。而C编译
器与汇编语言工具相比残余的5~20%效率差别,完全可以由现代微控制器的高速度、大存
储器空间以及产品提前进入市场的优势来弥补。
C/C++/EC++引入嵌入式系统,使得嵌入式开发和个人计算机、小型机等之间在开发上的
差别正在逐渐消除,软件工程中的很多经验、方法乃至库函数可以移植到嵌入式系统。
在嵌入式开发中采用高级语言,还使得硬件开发和软件开发可以分工,从事嵌入式软件
开发不再必须精通系统硬件和相应用汇编语言指令集。
另一种高级语言,JAVA的发展则具有戏剧性。JAVA本来是为设备独立的嵌入式系统设计
的、为了提高程序继承性的语言,但是目前基于JAVA的嵌入式开发工具代码生成长度要
比嵌入式C编译工具差10倍以上。因此EC++很可能将成为未来的主流工具。
(3) 源程序模拟器(Simulator)
源程序模拟器是在广泛使用的、人机接口完备的工作平台上,如小型机和PC,通过软件
手段模拟执行为某种嵌入式处理器内核编写的源程序测试工具。简单的模拟器可以通过
指令解释方式逐条执行源程序,分配虚拟存储空间和外设,供程序员检查;高级的模拟
器可以利用计算机的外部接口模拟出处理器的I/O电气信号。不同档次和功能模拟器工具
价格差距巨大。
模拟器软件独立于处理器硬件,一般与编译器集成在同一个环境中,是一种有效的源程
序检验和测试工具。但值得注意的是,模拟器毕竟是以一种处理器模拟另一种处理器的
运行,在指令执行时间、中断响应、定时器等方面很可能与实际处理器有相当的差别。
另外它无法和ICE一样,仿真嵌入式系统在应用系统中的实际执行情况。(更多的资料,
可查询以下网址:www.chiptools.com, www.keil.com, www.tasking.com)。
(4) 实时多任务操作系统
(Real Time multi-tasking Operation System, RTOS)
实时多任务操作系统(RTOS)是嵌入式应用软件的基础和开发平台。目前在中国大多数嵌
入式软件开发还是基于处理器直接编写,没有采用商品化的RTOS,不能将系统软件和应
用软件分开处理。RTOS是一段嵌入在目标代码中的软件,用户的其它应用程序都建立在
RTOS之上。不但如此,RTOS还是一个可靠性和可信性很高的实时内核,将CPU时间、中断
、I/O、定时器等资源都包装起来,留给用户一个标准的API,并根据各个任务的优先级
,合理地在不同任务之间分配CPU时间。
RTOS是针对不同处理器优化设计的高效率实时多任务内核,优秀商品化的RTOS可以面对
几十个系列的嵌入式处理器MPU、MCU、DSP、SOC等提供类同的API接口,这是RTOS基于设
备独立的应用程序开发基础。因此基于RTOS上的C语言程序具有极大的可移植性。据专家
测算,优秀RTOS上跨处理器平台的程序移植只需要修改1~5%的内容。在RTOS基础上可以
编写出各种硬件驱动程序、专家库函数、行业库函数、产品库函数,和通用性的应用程
序一起,可以作为产品销售,促进行业内的知识产权交流,因此RTOS又是一个软件开发
平台。
(5) RTOS是嵌入式系统的软件开发平台
RTOS最关键的部分是实时多任务内核,它的基本功能包括任务管理、定时器管理、存储
器管理、资源管理、事件管理、系统管理、消息管理、队列管理、旗语管理等,
这些管理功能是通过内核服务函数形式交给用户调用的,也就是RTOS的API。 RTOS的引
入,解决了嵌入式软件开发标准化的难题。随着嵌入式系统中软件比重不断上升、应用
程序越来越大,对开发人员、应用程序接口、程序档案的组织管理成为一个大的课题。
引入RTOS相当于引入了一种新的管理模式,对于开发单位和开发人员都是一个提高。
基于RTOS开发出的程序,具有较高的可移植性,实现90%以上设备独立,一些成熟的通用
程序可以作为专家库函数产品推向社会。嵌入式软件的函数化、产品化能够促进行业交
流以及社会分工专业化,减少重复劳动,提高知识创新的效率。
嵌入式工业的基础是以应用为中心的芯片设计和面向应用的软件开发。实时多任务操作
系统(RTOS)进入嵌入式工业的意义不亚于历史上机械工业采用三视图的贡献,对嵌入式
软件的标准化和加速知识创新是一个里程碑。
目前,商品化的RTOS可支持从8BIT的8051到32BIT的PowerPC及DSP等几十个系列的嵌入式
处理器。提供高质量源代码RTOS的著名公司主要集中在美国。
--
※ 来源:·哈工大紫丁香 bbs.hit.edu.cn·[FROM: riee3.hit.edu.cn]
Powered by KBS BBS 2.0 (http://dev.kcn.cn)
页面执行时间:6.079毫秒