系统架构设计笔记(59)嵌入式系统的组成

嵌入式系统通常都由软件和硬件两个部分组成,其中嵌入式处理器 、 存储器和外部设备构成整个系统的硬件基础。git

嵌入式系统的软件部分能够分为3个层次:系统软件 、 应用支撑软件和应用软件。其中,系统软件和支撑软件是基础,应用软件则是最能体现整个嵌入式系统的特色和功能的部分。算法

1 硬件架构

图 1 是一个嵌入式系统的基本硬件架构。微处理器是整个嵌入式系统的核心,负责控制系统的执行。外部设备是嵌入式系统同外界交互的通道,常见的外部设备有 Flash 存储器 、 键盘 、 输入笔 、 触摸屏 、 液晶显示器等输入 / 输出设备,在不少嵌入式系统中还有与系统用途紧密相关的各类专用外设。数据库

嵌入式系统中常用的存储器有3种类型:RAM 、 ROM( Read-Only Memory ,只读内存)和混合存储器。系统的存储器用于存放系统的程序代码 、 数据和系统运行的结果。编程

1.1 嵌入式处理器

嵌入式系统的核心部件是各类类型的嵌入式处理器。据不彻底统计,目前世界上嵌入式处理器的种类已经超过了 1000 种,比较流行的也有 30 几个系列。根据目前的使用状况,嵌入式处理器能够分为以下几类:缓存

(1)嵌入式微处理器安全

嵌入式微处理器( Embedded Micro Processing Unit , EMPU )是由通用计算机中的 CPU 演变而来。嵌入式微处理器在功能上跟普通的微处理器基本一致,可是它具备体积小 、 功耗低 、 质量轻 、 成本低及可靠性高的优势。一般,嵌入式微处理器和ROM 、 RAM 、 总线接口及外设接口等部件安装在一块电路板上,称为单板计算机。目前,主要的嵌入式微处理器有AM186/88 、 386EX 、 SC-400 、 POWERPC 、 MIPS及 ARM 等系列。网络

(2)嵌入式微控制器架构

嵌入式微控制器( Embedded Micro Controlling Unit , EMCU )又称为单片机,就是整个计算机系统都集成到一块芯片中。嵌入式微控制器通常以某一种微处理器内核为核心,芯片内部集成有 ROM / EPROM / E2PROM 、 RAM 、 总线 、 总线逻辑 、 定时器 / 计数器 、 WatchDog(监督定时器) 、 并口 / 串口 、 数模 / 模数转换器 、 闪存等必要外设。dom

与嵌入式微处理器相比,嵌入式微控制器的最大特色是单片化,于是体积更小,功耗和成本更低,可靠性更高。异步

目前,嵌入式微控制器的品种和数量最多,约占嵌入式系统市场份额的 70%。 比较有表明性的通用系列有: 8051 系列 、 MCS-96 / 196 / 296 、 C166 / 167 、 MC68HC05 / 11 / 12 / 16等。还有许多半通用系列,如支持 UBS 接口的MCU8XC930 / 931 、 C540 、 C541以及用于支持I2C 、

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

嵌入式数字信号处理器( Embedded Digital Signal Processor , E DSP )是一种专门用于信号处理的处理器, DSP 芯片内部采用程序和数据分开的哈佛结构,具备专门的硬件乘法器,普遍采用流水线操做,提供特殊的 DSP 指令,能够用来快速实现各类数字信号的处理算法。目前,数字信号处理器在嵌入式系统中使用很是普遍,如数字滤波 、 快速傅立叶变换及频谱分析等。同时,嵌入式系统的智能化也是推进嵌入式 DSP 发展的一个动力,如各类带有智能逻辑的消费类产品 、 生物信息识别终端 、 带有加密 / 解密算法的设备 、 实时语音压缩和解压系统以及虚拟现实显示装置等,这类系统上的智能化算法通常运算量都比较大,这刚好能够充分发挥数字信号处理器的长处。

(4)嵌入式片上系统

嵌入式片上系统( Embedded System On Chip )是一种在一块芯片上集成不少功能模块的复杂系统,如微处理器内核 、RAM、USB、IEEE139四、Bluetooth 等。以往这些单元按照各自的功能作成一个个独立的芯片,并经过电路板与其余单元组成一个系统。如今将这些原本在电路板上的单元都集成到一个芯片中,构成一个嵌入式片上系统,从而大幅度缩小了系统的体积,下降了系统的复杂度,加强了系统的可靠性。在大量生产时,生产成本也远远低于单元部件组成的电路板系统。

嵌入式片上系统能够分为通用片上系统和专用片上系统两类。

  • 通用类的主要产品有 Siemens 的 Trocore、Motorola 的 M- C ore、 某些 ARM 系列的器件等。
  • 专用类的嵌入式片上系统通常是针对某一个或某些系统而设计的。具备表明性的产品有 Philips 的 Smart XA ,它将 XA 单片机的内核和支持超过 2048 位复杂 RSA 算法的 CCU 单元制做在一个芯片上,造成一个可加载 Java 或 C 的专用嵌入式片上系统,可用于网络安全等方面。

1.2 总线

总线是链接计算机系统内部各个部件的共享高速通路,自 20 世纪 70 年代以来,工业界相继出现了多种总线标准,不少总线技术在嵌入式系统领域获得了普遍的应用。

嵌入式系统的总线通常分为片内总线和片外总线。片内总线是指嵌入式微处理器内的 CPU 与片内其余部件链接的总线;片外总线是指总线控制器集成在微处理器内部或外部芯片上的用于链接外部设备的总线。

(1)AMBA 总线

AMBA ( Advanced Micro controller Bus Archiecture ,先进微控制器总线架构)是 ARM 公司研发的一种总线规范,该总线规范独立于处理器和制造工艺技术,加强了各类应用中外设和系统单元的可重用性,它提供将 RISC 处理器与 IP 核集成的机制。该规范定义了三种总线:

  1. 先进性能总线( Advanced High-performance Bus , AHB )。 AHB 由主模块 、 从模块和基础结构三部分组成,整个 AHB 总线上的传输都由主模块发起,从模块响应。基础结构包括:仲裁器 、 主从模块多路选择器 、 译码器 、 名义主模块 、 名义从模块等。 AHB 系统具备时钟边沿触发 、 无三态 、 分帧传输等特性。 AHB 也支持复杂的事务处理,如突发传送 、 主单元重试 、 流水线操做以及分批事务处理等。
  2. 先进系统总线( Advanced System Bus , ASB )。 ASB 用于高性能模块的互连,支持突发数据传输模式,较老的总线格式,逐步由 AHB 总线所替代。
  3. 先进外设总线( Advanced Peripheral Bus , APB )。 APB 主要用于链接低带宽外围设备,其总线结构只有惟一的主模块,即 APB 桥,它不须要仲裁器以及响应 / 确认信号,以最低功耗为原则进行设计,具备老是两周期传输 、 无等待周期和响应信号的特色。

(2)PCI 总线

外围构件互连总线( Peripheral Component Interconnect , PCI )规范前后经历了 1.0 版本 、 2.0 版本和 2.1 版本等一系列规范。 PCI 总线是地址 、 数据复用的高性能 32 位与 64 位总线,是微处理器与外围设备互连的机构,它规定了互连协议 、 电气 、 机械以及配置空间的标准。 PCI 是不依赖于具体处理器的局部总线,从结构上看, PCI 是在微处理器和原来的系统总线之间加入的一级总线,由一个桥接电路负责管理,实现上下接口和协调数据传送,管理器提供了信号缓冲,使多种外设可以在高时钟频率下保持高性能。

PCI 总线支持主控技术,容许智能设备在须要时得到总线控制权,以加速数据传输。为了将 PCI 总线规范应用到工业控制计算机中, 1995 年,推出了Compact PCI 规范,并相继推出了 PCI - PCI Bridge规范 、 Computer Telephony TDM规范和用户定义 I/O 引脚分配规范等。CPCI 总线规范有机地结合了 PCI 总线电气规范的高性能和欧洲卡结构的高可靠。目前,CPCI 总线已经在嵌入式系统 、 工业控制计算机等高端系统中获得了普遍的应用,并逐步替代了 VME 和 MultiBUS 总线。

(3)Avalon 总线

Avalon 总线是 Altera 公司设计的用于可编程片上系统( Systemon Programmable Chip , SOPC )中,链接片上处理器和其余 IP 模块的一种简单总线协议,规定了主部件和从部件之间进行链接的端口和通讯时序。

做为总结,下表对比了几种嵌入式总线技术的主要特色。

总线类型 特色
AMBA 总线 带宽高;采用地址与数据分离的流水线操做;支持定长或不定长突发传送;兼容性好;支持多个总线主设备
PCI 总线 速度快;支持线性突发传送;支持即插即用;兼容性好;可靠性高;可扩展性好
Avalon 总线 支持字节 、 半字和字传输;同步接口;独立的地址线 、 数据线和控制线;设备内嵌译码部件;支持多个总线主设备;自动生成仲裁机制;多个主设可同时操做使用一条总线;可自动调整总线宽度,以适应尺寸不匹配的数据

1.3 存储器

嵌入式系统的存储器主要包括主存和外存,图 2 所示为嵌入式系统的存储结构。

1.3.1 存储介质

(1)存储介质基本分类

RAM :随机访问存储器 (Random Access Memory) ,易失性。是与 CPU 直接交换数据的内部存储器,它能够随时读写,并且速度很快,一般做为操做系统或其余正在运行中的程序的临时数据存储媒介。当电源关闭时 RAM 不能保留数据。若是须要保存数据,就必须把它们写入一个长期的存储设备中(例如硬盘) 。

ROM :只读存储器 (Read Only Memory) ,非易失性。通常是装入整机前事先写好的,整机工做过程当中只能读出,而不像随机存储器那样能快速地 、 方便地加以改写 。 ROM 所存数据稳定,断电后所存数据也不会改变。计算机中的 ROM 主要是用来存储一些系统信息,或者启动程序 BIOS 程序,这些都是很是重要的,只能够读通常不能修改,断电也不会消失。


RAM 和 ROM 相比,二者的最大区别是 RAM 在断电之后保存在上面的数据会自动消失,而 ROM 不会自动消失,能够长时间断电保存。

(2)随机访问存储器:RAM

随机访问存储器分为两类:静态的和动态的。静态的RAM(SRAM)比动态RAM(DRAM)更快,但也贵不少。SRAM用来做为高速缓存存储器,既能够在CPU芯片上,也能够在芯片下。DRAM用来做为图形系统的帧缓冲区。

  • SRAM:SRAM存储器单元具备双稳态特性,只要有电,它就会永远的保持它的值(有点相似ROM易失性)。即便有干扰来扰乱电压,当干扰消除时,电路就会恢复到稳定值。

  • DRAM:动态RAM。

  • SDRAM:同步DRAM。

  • DDR SDRAM:双倍数据速率同步 DRAM(Double Data-Rate Synchronous DRAM)

(3)只读存储器:ROM

计算机存储器在其上数据已被预先记录。一旦将数据写入ROM 芯片,就没法将其删除,只能读取。与主存储器(RAM)不一样,即便计算机关闭,ROM也会保留其内容。ROM被称为非易失性,如今有不少非易失性存储器。因为历史缘由,虽然ROM中有的类型能够读也能够写,可是总体上都被称为只读存储器(Read Only Memory)。ROM是以它们可以被从新编程(写)的次数和对它们进行重编程所用的机制来区分的。

  • PROM(Programmable ROM):可编程ROM,只能被编程一次。

  • EPROM(Erasable Programmable ROM,EPROM):可擦写可编程ROM,擦写可达1000次。

  • EEPROM(Electrically Erasable Programmable ROM,电子可擦除EPROM)

  • 闪存(flash memory):基于EEPROM,它已经成为一种重要的存储技术。固态硬盘(SSD)U盘等就是一种基于闪存的存储器

  • nor flash :NOR Flash的读取和咱们常见的SDRAM的读取是同样,用户能够直接运行装载在NOR FLASH里面的代码,这样能够减小SRAM的容量从而节约了成本。

  • nand falsh:NAND Flash没有采起内存的随机读取技术,它的读取是以一次读取一块的形式来进行的,一般是一次读取512个字节,采用这种技术的Flash比较廉价。用户不能直接运行NAND Flash上的代码,所以好多使用NAND Flash的开发板除了使用NAND Flash之外,还做上了一块小的NOR Flash来运行启动代码。

1.3.2 存储器类型

嵌入式系统的存储器主要分为三种:高速缓存( Cache ) 、 片内主存和片外主存以及外存。

(1)高速缓存

高速缓存是存放当前使用最多的程序代码和数据的,即主存中部份内容的副本,在嵌入式系统系统中, Cache 所有集成在嵌入式微处理器内部,能够分为:数据 Cache 、指令 Cache 和混合 Cache 。

(2)主存

主存是处理器可以直接访问的存储器,用来存放系统和用户的程序和数据,系统上电后,主存中的代码直接运行,主存的主要特色是速度快,通常采用 ROM、EPROM、NOR flash、SRAM 和 DRAM 等存储器件。

(3)外存

外部存储器是不与运算器直接联系的后备存储器,用来存放不经常使用的或暂不使用的信息,外存通常以非易失性存储器构成,数据可以持久保存,即便掉电,也不消失 。Flash 存储器是在 EPROM 和E EPROM 的基础上发展起来的非易失性存储器,具备结构简单 、 可靠性高 、 体积小 、 质量轻 、 功耗低 、 成本低等优势,是最经常使用的一种外存类型。

1.4 I/O 设备与接口

因其应用领域的不一样,嵌入式系统的输入设备多种多样,比较常见的有键盘 、 鼠标 、 触摸屏 、 手柄 、 声控开关等。

一般,根据输入设备实现机理的不一样,嵌入式系统的设备能够分为:机械式 、 触控式以及声光式三类。

嵌入式系统的输出设备除了通用计算机经常使用的显示器 、 打印机 、 绘图仪等外,还包括 LED 指示灯 、 LCD屏幕 、 扬声器等媒体。

嵌入式系统与外部设备或其余的计算机系统进行通讯时,需经接口适配电路,进行工做速度 、 数据格式 、 电平等匹配与转换,嵌入式系统应用的接口形式是多种多样的。

嵌入式系统中接口电路的设计须要首先考虑的是电平匹配问题,嵌入式系统微处理器所提供与接收信号的电平,必须与所链接的设备的电平相匹配,不然将致使电路损坏或逻辑断定错误。其次,还要考虑驱动能力和干扰问题等因素。

当前,在嵌入式系统中普遍应用的接口主要有: RS232- 串行接口 、 并行接口 、 USB接口 、 IEEE-1394接口以及 RJ-45 接口等,此外,以蓝牙为表明的无线接口在嵌入式系统中的应用也日趋普遍。

(1)RS-232 接口

RS-232 接口是美国电子工业协会推广的一种串行通讯总线标准,是数据通讯设备和数据终端设备间传输数据的接口总线, RS-232 -C标准规定其最高速率为 20kbps ,在低码元畸变的状况下,最大传输距离是 15 米,经过使用加强器,其传输距离已经延长到 1000 米左右。

(2)USB 接口

USB ( Universal Serial Bus ,通用串行总线)是 1995 年由康柏等几大厂商共同制定的一种支持即插即用的外设接口标准,它支持 USB 外部设备到主机外部总线的链接。在 USB 系统中,必须有一个 USB 主控制器, USB 设备经过四根电缆与 USB 主控制器直接或间接相连, USB 的规范由最初的 1.0 版本发展到了 1.1 版本,以致当前主流的高速 2.0 版本,最高速率可到 480Mbps。

(3)1394 接口

IEEE 1394 即火线( FireWire )最初是由 Apple 公司研制的, 1995 年 IEEE 协会以 FireWire 为蓝本制定了这个串行接口标准,其电缆接口为6根电缆组成,包括一堆电源线和两对双绞信号线。

IEEE 1394 协议定义了三种传输速率: 98.304Mbps、196.608Mbps 和 392.216Mbps ,分别称之为 S100、S200 和 S400。 为了保证数据传输率,线缆的长度通常不超过4.5m。

IEEE 1394 标准经过全部链接设备创建起一种对等网络,不须要主控节点来控制数据流,即跟 USB 技术相比,最大的区别是 IEEE 1394 不须要主控制器,不一样的外设之间能够直接传递信息,此外,采用该技术,两台计算机能够共享同一个外部设备。

IEEE 1394 同时支持同步和异步传输两种模式。在异步传输模式下,信息的传递能够被中断,在同步模式下,数据将不受任何中断和干扰下实现连续传输。采用异步传输模式时, IEEE 1394 会根据不一样的设备实际须要分配相应的带宽。同时, IEEE 1394 设备也支持热插拔和即插即用。

(4) 并行接口

并行接口,指采用并行传输方式来传输数据的接口标准。从最简单的一个并行数据寄存器或专用接口集成电路芯片如825五、6820等,一直至较复杂的SCSI或IDE并行接口,种类有数十种。

一个并行接口的接口特性能够从两个方面加以描述:

  1. 以并行方式传输的数据通道的宽度,也称接口传输的位数;
  2. 用于协调并行数据传输的额外接口控制线或称交互信号的特性。

(5)RJ-45 接口

RJ45是布线系统中信息插座(即通讯引出端)链接器的一种,链接器由插头(接头、水晶头)和插座(模块)组成,插头有8个凹槽和8个触点。RJ是Registered Jack的缩写,意思是“注册的插座”。在FCC(美国联邦通讯委员会标准和规章)中RJ是描述公用电信网络的接口,计算机网络的RJ45是标准8位模块化接口的俗称。

(6)蓝牙接口

蓝牙技术是一种无线数据和语音通讯开放的全球规范,它是基于低成本的近距离无线链接,为固定和移动设备创建通讯环境的一种特殊的近距离无线技术链接。

2 软件架构

随着嵌入式技术的发展,特别是在后 PC 时代,嵌入式软件系统获得了极大的丰富和发展,造成了一个完整的软件体系,如图 3 所示。

这个体系自底向上由三部分组成:嵌入式操做系统、应用支撑软件和应用软件。

(1)操做系统

嵌入式操做系统由操做系统内核 、 应用程序接口 、 设备驱动程序接口等几部分组成。嵌入式操做通常采用微内核结构。操做系统只负责进程的调度 、 进程间的通讯 、 内存分配及异常与中断管理最基本的任务,其余大部分的功能则由支撑软件完成。

(2)应用支撑软件

嵌入式系统中的应用支撑软件由窗口系统 、 网络系统 、 数据库管理系统及 Java 虚拟机等几部分组成。对于嵌入式系统来说,软件的开发环境大部分在通用台式计算机和工做站上运行,但从逻辑上讲,它仍然被认为是嵌入式系统支撑软件的一部分。应用支撑软件通常用于一些浅度嵌入的系统中,如智能手机 、 我的数字助理等。

(3)应用软件

嵌入式系统中的应用软件是系统总体功能的集中体现。系统的能力老是经过应用软件表现出来的,一个嵌入式系统能够没有支撑软件,甚至能够没有操做系统,但不能够没有应用软件,不然它就不可能成为一个系统。从范围上讲,嵌入式系统的应用软件涉及工业控制 、 家电 、 商业 、 通讯等诸多领域。从跟用户的交互方式上讲,有跟桌面系统相似的软件,也有嵌入程度很深 、 使用户感受不到其存在的应用软件。从运行环境上讲,有在操做系统和支撑软件上运行的软件,也有直接在硬件上运行的应用软件。


相关文章
相关标签/搜索