嵌入式系统设计---嵌入式系统的组成

 嵌入式系统的组成git

    嵌入式系统通常都由软件和硬件两个部分组成,其中嵌入式处理器、存储器和外部设备构成整个系统的硬件基础。嵌入式系统的软件部分能够分为 3 个层次:系统软件、应用支撑软件和应用软件。其中,系统软件和支撑软件是基础,应用软件则是最能体现整个嵌入式系统的特色和功能的部分。算法

 

1 硬件架构数据库

    图 12-1 是一个嵌入式系统的基本硬件架构。微处理器是整个嵌入式系统的核心,负责控制系统的执行。外部设备是嵌入式系统同外界交互的通道,常见的外部设备有 Flash 存储器、键盘、输入笔、触摸屏、液晶显示器等输入/输出设备,在不少嵌入式系统中还有与系统用途紧密相关的各类专用外设。嵌入式系统中常用的存储器有 3 种类型:RAM、 ROM(Read-Only Memory,只读内存)和混合存储器。系统的存储器用于存放系统的程序代码、数据和系统运行的结果。编程

    1.嵌入式处理器缓存

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

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

    (2)嵌入式微控制器。嵌入式微控制器(Embedded Micro Controlling Unit,EMCU)又称为单片机,就是整个计算机系统都集成到一块芯片中。嵌入式微控制器通常以某一种微处理器内核为核心,芯片内部集成有 ROM/EPROM/E2PROM、RAM、总线、总线逻辑、定时器/计数器、WatchDog(监督定时器)、并口/串口、数模/模数转换器、闪存等必要外设。与嵌入式微处理器相比,嵌入式微控制器的最大特色是单片化,于是体积更小,功耗和成本更低,可靠性更高。架构

    目前,嵌入式微控制器的品种和数量最多,约占嵌入式系统市场份额的 70%。比较有表明性的通用系列有:8051 系列、MCS-96/196/29六、C166/16七、MC68HC05/11/12/16 等。还有许多半通用系列,如支持 UBS 接口的 MCU 8XC930/93一、C540、C541 以及用于支持 I2C、现场总线等各类微控制器。异步

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

    (4)嵌入式片上系统。嵌入式片上系统(Embedded System On Chip)是一种在一块芯片上集成不少功能模块的复杂系统,如微处理器内核、RAM、USB、IEEE 139四、Bluetooth 等。以往这些单元按照各自的功能作成一个个独立的芯片,并经过电路板与其余单元组成一个系统。如今将这些原本在电路板上的单元都集成到一个芯片中,构成一个嵌入式片上系统,从而大幅度缩小了系统的体积,下降了系统的复杂度,加强了系统的可靠性。在大量生产时,生产成本也远远低于单元部件组成的电路板系统。嵌入式片上系统能够分为通用片上系统和专用片上系统两类。通用类的主要产品有 Siemens 的 Trocore、Motorola 的 M-Core、某些 ARM 系列的器件等。专用类的嵌入式片上系统通常是针对某一个或某些系统而设计的。具备表明性的产品有 Philips 的 Smart XA,它将 XA 单片机的内核和支持超过 2048 位复杂 RSA 算法的 CCU 单元制做在一个芯片上,造成一个可加载 Java 或 C 的专用嵌入式片上系统,可用于网络安全等方面。

    2.总线 

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

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

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

  • 先进性能总线(Advanced High-performance Bus,AHB)。AHB 由主模块、从模块和基础结构三部分组成,整个 AHB 总线上的传输都由主模块发起,从模块响应。基础结构包括:仲裁器、主从模块多路选择器、译码器、名义主模块、名义从模块等。AHB 系统具备时钟边沿触发、无三态、分帧传输等特性。AHB 也支持复杂的事务处理,如突发传送、主单元重试、流水线操做以及分批事务处理等。

  • 先进系统总线(Advanced System Bus,ASB)。ASB 用于高性能模块的互连,支持突发数据传输模式,较老的总线格式,逐步由 AHB 总线所替代。

  • 先进外设总线(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 TelephonyTDM 规范和用户定义 I/O 引脚分配规范等。CPCI 总线规范有机地结合了 PCI 总线电气规范的高性能和欧洲卡结构的高可靠。目前,CPCI 总线已经在嵌入式系统、工业控制计算机等高端系统中获得了普遍的应用,并逐步替代了 VME 和MultiBUS 总线。

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

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

    3.存储器

    嵌入式系统的存储器主要包括主存和外存,图 12-2 所示为嵌入式系统的存储结构,嵌入式系统的存储器主要分为三种:高速缓存(Cache)、片内主存和片外主存以及外存。

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

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

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

    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 接口。IEEE1394 即火线(FireWire)最初是由 Apple 公司研制的,1995 年IEEE 协会以 FireWire 为蓝本制定了这个串行接口标准,其电缆接口为 6 根电缆组成,包括一堆电源线和两对双绞信号线。IEEE1394 协议定义了三种传输速率:98.304Mbps、 196.608Mbps 和392.216Mbps,分别称之为 S100、S200 和 S400。为了保证数据传输率,线缆的长度通常不超过4.5m。

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

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

 

2 软件架构

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

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

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

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

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