1.1.2 嵌入式系统的组成

嵌入式系统由硬件和软件两大部分组成,如图1-1所示。

图1-1 嵌入式系统的组成

图1-1的上半部分为软件,下半部分为硬件,下半部分中间为SOC/SOPC(System on a Chip/System on a Programmable Chip,片上系统/片上可编程系统),中间虚框内为核心处理器,核心处理器外面为外围电路,SOC/SOPC之外为外部设备。

硬件一般由高性能微处理器和外围端口电路组成,软件一般由操作系统和应用程序组成,软件和硬件之间由所谓的中间层(BSP层,板级支持包)连接。概括地说,嵌入式系统的硬件有核心处理器、外围电路和外部设备,嵌入式系统的软件有操作系统、应用软件,下面分别介绍。

1.嵌入式系统硬件部分

(1)核心处理器

嵌入式系统硬件层的核心是嵌入式微处理器。嵌入式微处理器与通用 CPU 最大的不同在于,嵌入式微处理器大多工作在为特定用户群专门设计的系统中,它将通用CPU中许多由板卡完成的任务集成在芯片内部,从而有利于嵌入式系统在设计时趋于小型化,同时还具有很高的效率和可靠性。

为便于读者理解,下面举例进行详细说明。

① ARM芯片是嵌入式微处理器中的佼佼者,是很多数字电子产品的核心。如今,95%的手机里的核心处理器使用的是ARM芯片,ARM芯片在整个手机市场上占有90%以上的份额。

② MIPS CPU是一种精简指令集(RISC)结构的CPU。MIPS起源于一个学术研究项目。该项目的设计小组设计出几种芯片并投放市场,结果是MIPS CPU得到了工业领域广大制造商的支持,包括从生产专用集成电路核心(ASIC Cores)的厂家(LSI Logic、Toshiba、Philips、NEC等)到生产低成本CPU的厂家(NEC、Toshiba、IDT等),从生产低端64位处理器的厂家(IDT、NKK、NEC等)到生产高端64位处理器的厂家(NEC、Toshiba、IDT等)。

③ PowerPC是由苹果(Apple)公司、IBM以及早期的Motorola(现在的飞思卡尔半导体公司)组成的联盟(AIM)共同设计的微处理器架构,以对抗当时在市场上占有压倒优势的Intel x86处理器。

④ DSP处理器(数字信号处理器)是微处理器的一种,这种微处理器具有极快的速度。因为这种处理器的应用场合要求极高的实时性,信号处理各种运算最基本的是乘法和累加运算,其运算量非常大,这就决定了DSP处理器的结构和指令系统的特点。

为进一步说明它们的差异,下面举3个实例。

例1:Z80微机。

Z80微机的早期应用主要是将构成计算机系统的Z80微处理器、RAM、ROM和输入/输出端口等电路都组合在一块PCB(Print Circuit Board,印制电路板,也称印刷线路板)板上,因此早期的Z80微机系统也叫Z80单板机(Single Board Computer,SBC)。要构成一台简单的计算机系统至少需要Z80 CPU、Z80 PIO(并行输入/输出端口)、Z80 CTC(定时/计数器)等芯片。

例2:PC机(Intel 8086)。

Intel 8086是Intel公司于1978年设计的16位微处理器芯片,是Intel x86架构的鼻祖。不久之后,Intel公司推出了Intel 8088(一个拥有8根外部数据总线的微处理器)。Intel 8086以Intel 8080和Intel 8085的设计为基础,拥有类似的寄存器组,但是数据总线扩充为16位。总线端口单元(Bus Interface Unit)通过6字节预存(Prefetch)队列(Queue)位指令给执行单元(Execution Unit),所以取指和执行是同步的。Intel 8086 CPU有20位地址线,可直接寻址1MB存储空间,每一个存储单元可以存放一个字节(8位)的二进制代码。

要构成一个最简单的计算机系统至少需要Intel 8086 CPU、Intel 8255(并行输入/输出端口)、Intel 8253(定时/计数器)、Intel 8259(中断控制器)等芯片。

例3:Intel 8051。

Intel 8051是一种8位的单芯片微控制器,属于MCS-51单芯片的一种,由Intel公司于1981年制造。Intel公司将MCS-51的核心技术授权给了很多公司,所以很多公司在做以Intel 8051为核心的单片机,如Atmel、Philips、深联华等公司,它们相继开发了功能更多、更强大的兼容产品。单片微型计算机简称为“单片机”,又称为“微型控制器”,是微型计算机的一个重要分支。单片机是20世纪70年代中期发展起来的一种超大规模集成电路芯片,是集成CPU、RAM、ROM、输入/输出端口和中断系统于同一硅片上的器件。20世纪80年代以来,单片机发展迅速,各类新产品不断涌现,出现了许多高性能的新型号,现已逐渐成为工厂自动化领域和各控制领域的支柱产业之一。

要构成一个最简单的计算机系统只需1块Intel 8051 CPU即可。

(2)外围电路

外围电路包括嵌入式系统的存储器控制器、输入/输出端口、复位电路、模数转换器/数模转换器(ADC/DAC)和电源管理等。

(3)外部设备

外部设备指嵌入式系统与真实环境交互的各种设备,包括通用串行总线(USB)、存储设备、键盘、鼠标、液晶显示器(LCD)、红外数据传输(IrDA)和打印设备等。

2.嵌入式系统软件部分

嵌入式软件由嵌入式操作系统和嵌入式应用软件两大部分组成。嵌入式软件一般包含四个层面:应用程序,文件系统/图形用户应用程序接口(API),实时操作系统(RTOS),设备驱动程序、HAL、BSP。有的开发者将文件系统/图形用户应用程序接口(API)归属于操作系统(OS)层,这是按照三层来划分,即应用层、OS层、驱动层。

嵌入式系统硬件是嵌入式系统软件运行的物理平台的通信端口,它的存在使嵌入式系统的优越性能得以展现。嵌入式操作系统和嵌入式应用软件控制着整个系统的运行,提供人机交互等,两者相辅相成,缺一不可。