1.3 嵌入式系统基本组成

1.3.1 嵌入式系统的组织架构

嵌入式系统的组织架构是由嵌入式处理器、存储器等硬件、嵌入式系统软件和嵌入式应用软件所组成的,如图1-12所示。

图1-12 嵌入式系统架构图

嵌入式系统一般由硬件系统和软件系统两大部分组成,其中,硬件系统包括嵌入式处理器、存储器、I/O系统和配置必要的外围接口部件;软件系统包括操作系统和应用软件,嵌入式系统的软/硬件框架如图1-13所示。

图1-13 嵌入式系统的软/硬件框架

目前嵌入式系统一般是专用系统,其功能专一,成本较低。而PC是通用计算平台,嵌入式系统的资源比PC少,软件故障带来的后果要比PC大。嵌入式系统一般采用实时操作系统,嵌入式系统大都有成本、功耗的要求,例外嵌入式系统需要多种微处理体系的支持和需要专用的开发工具。

嵌入式系统的开发环境可分为硬件开发工具和软件开发工具,硬件开发工具有宿主机、在线实时仿真器和其他检测工具(示波器等)。软件开发工具包括编辑、交叉编译、连接、定位软件和调试软件等,详见第5章。

1.3.2 嵌入式系统的硬件组成

1.嵌入式系统基本硬件架构

嵌入式系统基本硬件架构主要包括有微处理器、外围电路及外部设备三大部分。其中外围电路一般包括由时钟、复位电路、程序存储器、数据存储器和电源模块等部件组成。外部设备一般应配有USB、显示器、键盘或触摸屏等设备及接口电路。核心部件是微处理器,在一片嵌入式微处理器基础上增加电源电路、时钟电路和存储器电路(如ROM和RAM等),就构成了一个嵌入式核心控制模块。其中操作系统和应用程序都可以固化在ROM中,如图1-14所示,嵌入式工业监控系统的组成原理如图1-15所示。

图1-14 典型嵌入式系统的硬件组成

图1-15 嵌入式工业监控系统的组成原理图

2.嵌入式微处理器的分类

嵌入式系统的核心是嵌入式处理器,嵌入式微处理器一般对实时多任务具有很强的支持能力,能完成多任务并且有较短的中断响应时间,从而使内部的代码和实时内核的执行时间减少到最低限度,具有功能很强的存储区保护功能,这是由于嵌入式系统的软件结构已模块化。为了避免在软件模块之间出现错误的交叉作用,所以需要设计强大的存储区保护功能,同时也有利于软件诊断。另外还具有可扩展的处理器结构,以能最迅速地开发出满足应用的最高性能的嵌入式微处理器。嵌入式微处理器必须功耗很低,尤其是用于便携式的无线及移动的计算和通信设备上。靠电池供电的嵌入式系统更是如此,需要功耗越小越好,甚至可以在mW或μ W数量级。嵌入式处理器的一般分为以下四种类型,如图1-16所示。

图1-16 嵌入式微处理器的分类

(1)嵌入式微控制器

微控制器(Microprogrammed Control Unit, MCU)的典型代表是单片机,这种8位或16位的电子器件在嵌入式设备中仍然有着极其广泛的应用。目前使用的单片机芯片内部一般都集成有FlashROM、RAM、总线、定时器/计数器、看门狗、I/O、串口、脉宽调制输出等一些必要功能。

由于MCU具有低廉的价格和优良的功能,所以拥有的品种和数量众多,并且还有些单片机内部集成有I2C、CAN-Bus、LCD、A/D和D/A功能以及众多专用MCU的兼容系列。比较有代表性的8位通用系列单片机是MCS-51系列,16位的通用单片机有MSP430系列等。

微控制器的最大特点是单片化,体积小,功耗和成本低。因此,微控制器仍然有广泛的应用领域。另外微控制器的外设资源一般比较丰富,适合用于进行控制,因此被称为微控制器(MCU)。

(2)嵌入式数字信号处理器

数字信号处理器(Digital Signal Processor, DSP)是专门用于信号处理方面的处理器,其在系统结构和指令算法方面进行了特殊设计,比如在需要进行数字滤波、FFT、频谱分析等运算的各种仪器上,DSP中就获得了大规模的应用。

DSP的理论算法在20世纪70年代就已经出现,在1982年世界上诞生了首枚DSP芯片。DSP一般可以被用于射频、音频和视频的处理。某些对实时性、计算强度要求较高的场合也使用DSP。随着DSP的运算速度进一步提高,应用领域也从上述范围扩大到了通信和计算机领域。目前DSP处理器已得到了快速的发展和应用,特别是在运算量较大的智能化系统中。例如,各种带有智能逻辑的消费产品、生物信息识别终端、带加密算法的键盘、实时语音压缩和解压系统、虚拟现实显示等。

DSP处理器对系统结构和指令进行了特殊设计,使其适合于执行DSP算法,编译效率较高,指令执行速度也很快。DSP应用正从在通用单片机中以普通指令实现DSP功能,过渡到采用嵌入式DSP处理器。DSP处理器经过单片化、EMC改造、增加片上外设成为嵌入式DSP处理器,例如TI公司的TMS320C2000/C5000/6000等都属于此范畴。

(3)嵌入式微处理器

嵌入式微处理器(Embedded Micro Processor Unit, EMPU)是由通用计算机中的CPU演变而来的。与计算机处理器不同的是,在实际嵌入式应用中,只保留和嵌入式应用紧密相关的功能硬件,去除了其他冗余的功能部分,这样就以最低的功耗和资源实现嵌入式应用的特殊要求。功能与标准和微处理器基本类似,在工作温度、抗电磁干扰、可靠性等方面一般都做了各种增强。与工业控制计算机相比,嵌入式微处理器具有体积小、重量轻、成本低、可靠性高的优点。主流的芯片有ARM、Am186/88、Power PC、68000、MIPS系列等。

基于ARM9系列以韩国三星公司生产的嵌入式微处理器S3C2410为例,该最小系统稳定工作在203 MHz主频上,其核心模块上包括64 MB SDRAM、16~128 MB Flash ROM。32位的数据总线,保留充分扩展空间,为嵌入式技术爱好者提供了一个廉价的中高端平台,也是科研人员高效的开发工具。

(4)嵌入式片上系统

嵌入式片上系统(System On Chip, SOC)嵌入式系统微处理器就是一种电路系统。SOC内部结合了许多功能模块,将功能做在一个芯片上。如将微处理器核心电路再加上一些通信接口单元,如通用串行端口(USB)、TCP/IP通信单元、GPRS通信接口、GSM通信接口、IEEE1394、蓝牙模块接口等集成在一起,做在一个片上构成片上系统。

SOC是追求产品系统最大包容的集成器件,最大的特点是成功实现了软/硬件的无缝结合,可以直接在处理器片内嵌入操作系统的代码模块。SOC可以运用VHDL等硬件描述语言进行系统设计,不像传统的硬件系统设计要绘制庞大、复杂的电路板,再对元器件进行逐一焊接。只需要使用精确的编程语言,综合时序设计可直接在器件库中调用各种通用处理器的标准,然后通过仿真之后就可以直接交付芯片厂商进行生产。SOC的结构如图1-17所示。

图1-17 片上系统(SOC)的结构图

目前,SOC在声音、图像、影视、网络及系统逻辑等应用领域中发挥了重要作用。采用SOC所具有的其他好处还有很多,比如可以利用改变内部工作电压,来降低芯片功耗;由于减少了芯片对外的引脚数,简化制造过程;减少了外围驱动接口单元及电路板之间的信号传递,可以加快微处理器数据处理的速度;内嵌的线路可以避免外部电路板在信号传递时所造成系统杂乱信息;减小了体积和功耗,而且提高了系统的可靠性和设计生产效率等。

1.3.3 嵌入式系统的软件组成

嵌入式系统的软件部分包括操作系统软件和应用程序,但有时设计人员也会把这两种软件组合在一起进行应用。应用程序控制着系统的运行和行为,而操作系统控制着应用程序编程与硬件的交互作用。

嵌入式操作系统通常包括与硬件相关的底层驱动软件、系统内核、设备驱动接口、通信协议、图形界面、标准化浏览器等。具有编码体积小、面向应用、可裁剪和移植、实时性强、可靠性高、专用性强等特点。嵌入式系统的开发工具,一般包含有程序编辑器、编译器、链接定位器、调试器等。嵌入式系统的硬件和软件位于嵌入式系统产品本身,而开发工具和开发系统则独立于嵌入式系统产品之外。嵌入式操作系统的主要有以下三种类型。

1.按实时性分类

实时表示一个非常短的时间间隔,具有“立即”的含义。当计算机进行实时处理时,要求在接收到数据的同时执行输出操作并输出计算结果,不能超出计算机系统所能容忍的时限。嵌入式系统的软件主要有实时系统和分时系统(非实时系统)两大类。其中实时系统又分为硬(强)实时和软(弱)实时系统。实时嵌入式系统是为执行特定功能而设计的,可以严格地按时序执行功能。其最大的特征就是程序的执行具有确定性。具体可分为以下三种形式。

① 具有强实时特点的嵌入式操作系统。在实时系统中,如果系统在指定的时间内未能实现某个确定的任务,会导致系统的全面失败,这样的系统被称为强实时系统或硬实时系统。强实时系统响应时间一般在毫秒或微秒级,如核反应堆处理装置、飞机控制器和数控机床控制器等。一个强实时系统往往在硬件上需要添加专门用于时间和优先级管理的控制芯片,例如μC/OS和VxWorks就是典型的强实时操作系统。

② 具有弱实时特点的嵌入式操作系统。在弱实时系统中,虽然响应时间同样重要,但是超时却不会发生致命的错误。设计软实时系统时,也需要考虑系统可接受的超时限的次数和延迟。目前大多数实时操作系统都是弱实时系统,它则主要是在软件方面通过编程实现现实的管理。比如Windows CE、Linux是一个多任务分时系统,其系统响应时间在毫秒至秒的数量级上,其实时性的要求比强实时系统要差一些,具体应用如对饭店电子菜谱的查询等。

③ 没有实时特点的嵌入式操作系统。

2.按开发成本分类

大体上可分为商用型和免费型。商用型的实时操作系统功能稳定、可靠,有完善的技术支持和售后服务,但价格昂贵,如VxWorks、Windows CE、Psos、Palm、OS-9、LynxOS和QNX等;免费型的操作系统在价格方面具有优势,目前主要有Linux和μ C/OS操作系统,但与商用型OS相比具有不可靠、无技术支持等缺点。

3.按软件结构分类

按软件结构分类有两种形式。最简单的软件结构是循环轮询系统(Polling Loop),程序依次检查系统的每一个输入条件,一旦条件成立就进行相应的处理。事件驱动系统是能对外部事件直接响应的系统,它包括前后台、实时多任务、多处理器等,是嵌入式实时系统的主要形式。

应用程序是一个无限的循环,循环中调用相应的函数完成相应的操作,这部分可以看成后台行为。中断服务程序处理异步事件,这部分可以看成前台行为。后台也可以叫做任务级,前台也叫做中断级。很多基于微处理器的产品都采用前后台系统设计的方法,如微波炉、电话机、智能玩具等。从省电的角度出发,平时微处理器处在停机状态,所有的事都靠中断服务程序来完成。