简介
嵌入式计算机系统的出现,是计算机发展史上一个重要的里程碑。嵌入式系统诞生于微型计算机时代,它与通用计算机系统的专业化分工发展导致20世纪末、21世纪初计算机技术的飞速发展。通用计算机按照高速、海量存储技术发展,而嵌入式系统的发展则完全不同,走的是单芯片化道路。它以体积小、功能全、性价比高等诸多优点而独具特色,在工业控制、军事武器、通信设备、信息处理、家用电器等用领域中独占鳌头,迅速地将传统的电子系统发展为智能化的现代电子系统时代1。
嵌入式计算机应用是当今计算机技术发展的主流方向之一,主要应用在测控领域。嵌入式系统的目的是提供一个以多任务和网络化为核心、易于开发的复杂数字系统。从数字技术和信息技术的角度看,嵌入式系统已成为现代信息网络技术应用的基础技术,已成为现代工控领域的基本技术2。
随着后PC时代的到来,嵌入式系统的产品己经越来越多地渗入到我们生活当中,例如在制造及过程控制方面:人机操作面板、控制机床、电机驱动、测试设备、环境监测、输配电设备、炼油厂设备、远程无人采集监控站;医疗卫生设备方面:X光机、CT、医护管理系统、病房监测系统;楼宇自控及商业零售网点、商业POS、保安监控设备;办公设备及信息家电、手机嵌入系统、程控电话等等。而且它还会进一步地影响我们的生活,现代社会中嵌入式系统及产品最终会无所不在3。
定义根据IEEE(国际电气和电子工程师协会)的定义,嵌入式系统是控制、监视、或者辅助设备机器和车间运行的装置,这主要是从应用上加以定义的,从中可以看出嵌入式系统是软件和硬件的综合体,还可以涵盖机械等附属装置。
关于嵌入式系统还有多种其它的定义方法,它们从各个角度对嵌入式系统进行了阐述。其中主要有以下两种定义方法:
(1)第一种:嵌入式系统是以应用为中心、计算机技术为基础,软、硬件可裁剪,适应应用系统对功能、可靠性、成本、体积、功耗严格要求的专用计算机系统。
(2)第二种:把基于处理器(通用处理器和嵌入式处理器)的设备称为计算机,把计算机分成两大部分,即通用计算机和嵌入式计算机。嵌入式系统也称为嵌入式计算机,因此嵌入式系统被定义为非通用计算机系统。
综上所述,一个嵌入式系统就是一个硬件和软件的集合体,它包括硬件和软件两部分:硬件包括嵌入式处理器/控制器/数字信号处理器等、存储器及外设器件、输入输出端口,图形控制器等;软件部分包括操作系统软件(嵌入式操作系统)和应用程序(应用软件),应用的领域不同,应用程序千差万别3。
嵌入式系统的组成由于嵌入式系统具有面向应用的特点,因而其组成结构的变化非常大,但从总体上可以分为如下三个部分,如图1所示。
(1)嵌入式系统的硬件:嵌入式系统的硬件包括嵌入式核心芯片、存储器系统及外部接口。其中:
1)嵌入式核心芯片指EMPU-(嵌入式微处理器)、EMCU-(嵌入式微控制器)、EDSP- (嵌入式数字信号处理器)、ESoC-(嵌入式片上系统)、EPSoC一(嵌入式可编程片上系统)。
2)嵌入式系统的存储器系统,包括程序存储器(ROM, EPROM, Flash)、数据存储器(随机存储器)、参数存储器(目前一般使用EEPROM)和NVRAM等。
3)嵌入式系统的外部接口,一般嵌入式处理器上已集成了接口,但外设需要外接。
(2)嵌入式系统的软件:嵌入式系统的软件可以分为两部分:嵌入式操作系统和应用软件。嵌入式操作系统具有一定的通用性,虽然目前可用的嵌入式操作系统有几十种,但是常用的不过几种,一种操作系统适合于一定的应用范围。嵌入式应用软件种类非常多,不同的嵌入式系统具有完全不同的嵌入式应用软件。
(3)嵌入式系统的开发工具和开发系统:嵌入式系统的硬件和软件属于嵌入式系统产品本身,开发工具则独立于嵌入式系统产品之外。开发工具一般包括语言编译器、连接定位器、调试器等3。
嵌入式测控系统的系统结构通用的嵌入式测控系统的结构框图如图2。
嵌入式处理器嵌入式处理器是构成系统的核心部件,系统中的其他部件均在它的控制和调度下工作。在实际的测控系统中,处理器能够通过专用接口获取测控对象的数据、状态等各种信息,并对这些信息进行计算、加工、分析和判断。而后作出相应的控制决策,再通过专用接口将控制信号传送给测控对象。
嵌入式处理器可以以CPU为核心,再加上内存、接口等部件构成,可以在单片机的基础上扩展而成:可以以数字信号处理器(DSP)为核心构成:也可以用专用处理器芯片甚至用自己设计的ASIC来构成。采用什么样的处理器,主要取决于测控系统的要求。在嵌入式测控系统中,处理器性能的优劣将直接影响整个系统。
可编程逻辑器件利用CPLD,用户可以快捷方便地构成自己所需要地专用集成电路(ASIC)。从CPLD的集成度,从它所集成的功能单元可以想象到利用高集成度的CPLD可以实现功能很复杂、速度很高的各种集成电路。
FPGA可以像CPLD那样,先对其编程,而后文到系统中使用,还可以现场编程,即利用不同的EPROM控制FPGA实现不同的功能。甚至可以利用SRAM或EEPROM现场下载控制命令,用以控制FPGA完成不同功能。
随着CPLDF/PGA集成度的不断增加、速度不断提高,集成度达到数百万门,工作频率达数百MHZ,引脚上千的CPLD/FPGA已经出现。利用这样的产品,可以按照用户的要求设计出具有多种附加功能的单片机或DSP。
外设及其接口(1)常规外设及其接口:所谓常规外设是指构成一个计算机系统所必不可少的那些外设。通常包括以下三类:
1)输入设备,用于数据的愉入。常见的输入设备有键盘、鼠标、触摸屏、各种多媒体视频捕获卡等。
2)输出设备,用于数据的输出。常见的输出设备有各种显示器、各种打印机、绘图仪等。
3)外存储设备,用于存储程序和数据。常见的外存储设备有硬盘、软盘、光盘设备、存储卡等。
(2)专用外设及其接口:在嵌入式测控系统中,专用外设是指那些为完成用户要求的功能而必须使用的外设。在实际应用中,由于对测控系统功能要求的多样性,实现这些要求的技术途径灵活性,使得专用外设的种类繁多。例如,发光二极管、继电器、直流电A/D器件、D/A器件、按键等都可以认为是专用外设。
不管是常规外设还是专用外设,它们的接口要完成的功能是都是一样的。接口应该提供计算机与外设的信息传送的通路;实现外设状态的输入和对外设控制信息的输出;实现电平转换、信号形式(数字信号与模拟信号)的转换以及快速的处理器与慢速的外设间的同步2。
分类嵌入式系统是多种多样的,不同的嵌入式系统适合于不同的应用范围。根据嵌入式系统的复杂程度,可以将嵌入式系统分成四类:
(1) 单个微处理器:这类系统一般由单片嵌入式处理器组成,嵌入式处理器上集成了存储器、I/O设备、接口设备(如A/D转换器)等,嵌入式处理器再加上简单的元件如电源、时钟元件等就可以工作。
(2) 嵌入式处理器可扩展的系统:系统使用的处理器根据需要,可以扩展存储器,也可以使用片上的存储器。在处理器上扩充少量的存储器和外部接口,以构成嵌入式系统。
(3) 复杂的嵌入式系统:该类系统的嵌入式处理器一般是16位,32位等,用于大规模应用。由于软件量大,因此需要扩展存储器。扩展存储器一般较大,外部设备接口一般仍然集成在处理器上。这类系统一般是一个大系统的局部组件,由它们的传感器收集数据并传递给系统。这种组件可同计算机一起操作,并可包括某种数据库。
(4) 在制造或过程控制中使用的计算机系统:这类系统中,计算机与仪器、机械及设备相连来控制这些装置工作。计算机用于总控制和监视,而不是对单个设备直接控制。在许多情况下,两个功能独立的子系统可在一个主系统操作下一同运行。
另外,嵌入式系统按照其表现形式可以大致分为以下三种:
(1) 芯片级嵌入:嵌入式系统作为含程序或算法的处理器嵌入到目标系统,为目标系统实现核心智能或某个辅助功能。
(2) 模块级嵌入:嵌入式系统作为目标系统的一个独立模块嵌入目标系统之中,实现目标系统的某个局部功能。
(3) 系统级嵌入:嵌入式系统作独立系统嵌入目标系统之中,与目标系统协作,共同完成整个系统的功能3。
嵌入式测控系统的特点(1) 低功耗
由于嵌入式测控系统采用的是微处理器,实现相对单一的功能,所以往往不需要大量的外围器件。因而在体积上,功耗上有其自身的优势。
(2) 实时性
嵌入式测控系统的一大特点就是必须实时响应和处理事件。因为,在这样的系统中,经常对事件的响应提出规定的时限,要求刻不容缓地进行处理。当嵌入式测控系统比较复杂,要求实时响应的事件比较多时,设计者就更应当考虑和处理有关实时性的问题。现实中的事件有非周期性随即出现的,也有周期性发生的。对于前者,在系统设计时就必须考虑到最坏的情况一一即最大出现率的情况下,如何应付这种情况。对于后者,在设计时就必须保证有足够的性能来响应它们。
(3) 高可靠性
由于嵌入式测控系统多工作在工业企业的现场(甚至用于军事装备中),一旦出现故障,有可能造成整个生产过程的混乱,甚至造成更为严重的后果。因此,可靠性是嵌入式测控系统最重要、最突出的基本要求。可以这样说,可靠性是嵌入式测控系统的生命线。
(4) 软硬件高度结合
由于空间和各种资源相对不足,嵌入式测控系统的硬件和软件都必须高效率地设计,力争在同徉的硅片面积上实现更高的性能。为了提高执行速度和系统可靠性,嵌入式系统中的软件一般都固化在存储器芯片或微控制器本身中,而不是存贮于磁盘等载体中。
(5) 适应环境要求
嵌入式测控系统的环境适应能力也是极为重要的。这是因为,绝大多数嵌入式测控系统工作环境都十分恶劣。军用系统自不待说,就是工业系统,其工作场合的温度、湿度、振动、粉尘、烟雾、各种电磁干扰等环境一般都很差、很恶劣。因此,要求嵌入式测控系统必须适应用户环境的要求,才能保证系统长期稳定、可靠地工作。
(6) 通用性和可扩展性
嵌入式测控系统都是专用系统,但它们都是计算机系统。每个计算机都有自己强烈的个性,但又有共性。例如,用于雷达监测的DSP系统和超声电机DSP测控系统,虽然在功能上有着很大的差异,但内部结构却可能有许多相似之处。因此在系统设计时要充分注意到这种情况,在进行系统设计时尽量做到通用性好、便于扩展。当某一个系统设计投入使用后,若遇到后续的类似系统,则可在前面系统设计的基础上通过增加和减少某些部件来构成新的嵌入式测控系统,甚至可以把软件中的一些模块直接拷贝使用。通过这样的工作,往往会收到事半功倍的效果2。