第5章 CHAPTER 5 嵌入式系统原理 本章将介绍计算机组成原理、嵌入式系统和ARM微处理器。通过本章的学习,学生需要了解计算机系统、系统总线、CPU、存储系统、输入/输出系统、嵌入式系统的分类、嵌入式处理器、嵌入式系统的组成、嵌入式系统的应用、ARM微处理器结构等。 5.1计算机组成原理 5.1.1计算机系统 计算机系统由计算机硬件和软件两部分组成,见图51。硬件包括中央处理器、内存储器和外部设备等,软件是计算机的运行程序和相应的文档。计算机系统具有接收和存储信息、按程序快速计算和判断并输出处理结果等功能,其内核是硬件系统——进行信息处理的物理装置。最外层是使用计算机的人,即用户。人与硬件系统之间的接口界面是软件系统,它大致可分为系统软件、支援软件和应用软件三层。 图51计算机系统 1. 硬件 硬件系统主要由中央处理器、存储器、输入/输出控制系统和各种外部设备组成。中央处理器是对信息进行高速运算处理的主要部件,其处理速度最高可达每秒几亿次操作。内存储器用于存储程序、数据和文件,常由快速主存储器和慢速海量辅助存储器组成。各种输入/输出外部设备是人机间的信息转换器,由输入/输出控制系统管理外部设备与主存储器、中央处理器之间的信息交换。 2. 软件 软件系统的最内层是系统软件,它由操作系统、实用程序和编译程序等组成: 操作系统实施对各种软硬件资源的管理控制; 实用程序是为方便用户所设,如文本编辑等; 编译程序的功能是把用户用汇编语言或某种高级语言所编写的程序,翻译成机器可执行的机器语言程序。支援软件有接口软件、工具软件、环境数据库等,它能支持用户的环境,提供软件研制工具。支援软件也可认为是系统软件的一部分。应用软件则是用户按其需要自行编写的专用程序,它借助系统软件和支援软件来运行,是软件系统的最外层。 5.1.2系统总线 1. 系统总线概述 系统总线,又称内总线或板级总线,是用来连接计算机各功能部件来构成完整计算机系统的。系统总线上传送的信息包括数据信息、地址信息和控制信息,因此,系统总线包含 三种不同功能的总线,即数据总线(Data Bus,DB)、地址总线(Address Bus,AB)和控制总线(Control Bus,CB),见图52。 图52系统总线 2. 工作原理 CPU通过系统总线对存储器的内容进行读写,同样通过总线实现将CPU内数据写入外设,或由外设读入CPU。总线就是用来传送信息的一组通信线,微型计算机通过系统总线将各部件连接到一起,实现了微型计算机内部各部件间的信息交换。一般情况下,CPU提供的信号需经过总线形成电路从而形成系统总线。系统总线按照传递信息的功能分为地址总线、数据总线和控制总线,这些总线提供了CPU与存储器、输入/输出接口部件的连接线。可以认为,一台微型计算机就是以CPU为核心,其他部件全“挂接”在与CPU相连接的系统总线上。 3. 功能分类 (1) 数据总线。用于传送数据信息。数据总线是双向三态形式的总线,既可以把CPU的数据传送到存储器或 输入/输出接口等其他部件,也可以将其他部件的数据传送到CPU。数据总线的位数是微型计算机的一个重要指标,通常与微处理器的字长相一致。例如,Intel 8086微处理器字长16位,其数据总线宽度也是16位。需要指出的是,数据的含义是广义的,它可以是真正的数据,也可以是指令代码或状态信息,有时甚至是一个控制信息,因此,在实际工作中,数据总线上传送的并不一定仅仅是真正意义上的数据。 (2) 地址总线。是专门用来传送地址的,由于地址只能从CPU传向外部存储器或输入/输出端口,所以地址总线总是单向三态的,这与数据总线不同。地址总线的位数决定了CPU可直接寻址的内存空间大小,比如8位微机的地址总线为16位,则其最大可寻址空间为216B=64KB,16位微机的地址总线为20位,其可寻址空间为 220B=1MB。一般来说,若地址总线为 n位,则可寻址空间为2n字节。举例说明: 一个16位元宽度的地址总线(通常在20世纪 70~80年代早期的8位元处理器中使用)可以寻址的内存空间为 216B=65536B=64KB,而一个32位元地址总线(通常在 现今的PC处理器中)可以寻址的内存空间为4294967296B=4GB。 (3) 控制总线。用来传送控制信号和时序信号。控制信号中,有的是微处理器送往存储器和输入/输出接口电路的,如读/写信号、片选信号、中断响应信号等; 也有的是其他部件反馈给CPU的,如中断申请信号、复位信号、总线请求信号、限备就绪信号等。因此,控制总线的传送方向由具体控制信号而定,一般是双向的,控制总线的位数要根据系统的实际控制需要而定。实际上,控制总线的具体情况主要取决于CPU。 5.1.3CPU 1. CPU定义 中央处理器(Central Processing Unit,CPU)是一台计算机的运算和控制核心。CPU、内部存储器和输入/输出设备是计算机三大核心部件。CPU的功能主要是解释计算机指令以及处理计算机软件中的数据。CPU由运算器、控制器和寄存器及实现它们之间联系的数据、控制及状态的总线构成。几乎所有CPU的运作原理都可分为4个阶段: 提取(Fetch)、解码(Decode)、执行(Execute)和写回(Writeback)。CPU从存储器或高速缓冲存储器中取出指令,放入指令寄存器,并对指令译码,最后执行指令。所谓的计算机可编程性主要是指对CPU的编程。 2. 工作原理 CPU从存储器或高速缓冲存储器中取出指令,放入指令寄存器,并对指令译码。它把指令分解成一系列的微操作,然后发出各种控制命令,执行微操作系列,从而完成一条指令的执行。指令是计算机规定执行操作的类型和操作数的基本命令,由一个字节或者多个字节组成,其中包括操作码字段,一个或多个有关操作数地址的字段以及一些表征机器状态的状态字和特征码,有的指令中也直接包含操作数本身。 3. 基本结构 CPU包括运算逻辑部件(ALU)、寄存器部件和控制部件,见图53。 图53CPU结构 (1) 运算逻辑部件,可以执行定点或浮点的算术运算操作、移位操作以及逻辑操作,也可执行地址的运算和转换。 (2) 寄存器部件,包括通用寄存器、专用寄存器和控制寄存器。 (3) 控制部件,主要负责对指令译码,并且发出为完成每条指令所要执行的各个操作的控制信号。 5.1.4存储系统 1. 存储器概述 存储器(Memory)是计算机系统中的记忆设备,用来存放程序和数据。计算机中的全部信息,包括输入的原始数据、计算机程序、中间运行结果和最终运行结果都保存在存储器中,它根据控制器指定的位置存入和取出信息。有了存储器,计算机才有记忆功能,才能保证正常工作。按用途,存储器可分为主存储器(内存)和辅助存储器(外存),也有外部存储器和内部存储器的分类方法。外存通常是磁性介质或光盘等,能长期保存信息。内存指主板上的存储部件,用来存放当前正在执行的数据和程序,但仅用于暂时存放程序和数据,关闭电源或断电,数据会丢失。 2. 存储器的构成 构成存储器的存储介质,目前主要采用半导体器件和磁性材料。存储器中最小的存储单位就是一个双稳态半导体电路或一个CMOS晶体管或磁性材料的存储元,它可存储一个二进制代码。由若干个存储元组成一个存储单元,然后再由许多存储单元组成一个存储器。一个存储器包含许多存储单元,每个存储单元可存放一个字节(按字节编址)。每个存储单元的位置都有一个编号,即地址,一般用十六进制表示。一个存储器中所有存储单元可存放数据的总和称为它的存储容量。假设一个存储器的地址码由20位二进制数(即5位十六进制数)组成,则可表示220,即1M个存储单元地址。每个存储单元存放一个字节,则该存储器的存储容量为1MB。 存储器的主要功能是存储程序和各种数据,并在计算机运行过程中高速、自动地完成程序或数据的存取。存储器是具有“记忆”功能的设备,它采用具有两种稳定状态的物理器件来存储信息。这些器件也称为记忆元件。在计算机中采用只有两个数码0和1的二进制来表示数据。记忆元件的两种稳定状态分别表示为0和1。日常使用的十进制数必须转换成等值的二进制数才能存入存储器中。计算机中处理的各种字符,例如英文字母、运算符号等,也要转换成二进制代码才能存储和操作。 3. 存储器用途 根据存储器在计算机系统中所起的作用,可分为主存储器、辅助存储器、高速缓冲存储器和控制存储器等。为了解决对存储器要 求容量大、速度快、成本低三者之间的矛盾,目前通常采用多级存储器体系结构,即使用高速缓冲存储器、主存储器和外存储器,见图54。 图54多级存储器体系结构 高速缓冲存储器 cache: 指令和数据存取速度快,但存储容量小。 主存储器: 存放计算机运行期间的大量程序和数据,存取速度较快,存储容量不大。 外存储器: 存放系统程序和大型数据文件及数据库,存储容量大,位成本低。 按照与CPU的接近程度,存储器分为内存储器与外存储器,简称内存与外存。内存储器又常称为主存储器(简称主存),属于主机的组成部分; 外存储器又常称为辅助存储器(简称辅存),属于外部设备。CPU不能像访问内存那样,直接访问外存,外存要与CPU或I/O设备进行数据传输,必须通过内存进行。在80386以上的高档微机中,还配置了高速缓冲存储器(cache),这时内存包括主存与高速缓存两部分。对于低档微机,主存即为内存。 4. 常用存储器 1) 硬盘 硬盘(Hard Disc Drive)是计算机主要的存储媒介之一,由一个或者多个铝制或者玻璃制的碟片组成。这些碟片外覆盖有铁磁性材料。绝大多数硬盘都是固定硬盘,被永久性地密封固定在硬盘驱动器中。其物理结构如下。 (1) 磁头。是读写合一的电磁感应式磁头。 (2) 磁道。当磁盘旋转时,磁头若保持在一个位置上,则每个磁头都会在磁盘表面划出一个圆形轨迹,这些圆形轨迹就叫作磁道。 (3) 扇区。磁盘上的每个磁道被等分为若干个弧段,这些弧段便是磁盘的扇区,每个扇区可以存放512 B的信息,磁盘驱动器在向磁盘读取和写入数据时,要以扇区为单位。 (4) 柱面。硬盘通常由重叠的一组盘片构成,每个盘面都被划分为数目相等的磁道,并从外缘的“0”开始编号,具有相同编号的磁道形成一个圆柱,称为磁盘的柱面。 2) 光盘 光盘以光信息作为存储物的载体,用来存储数据,采用聚焦的氢离子激光束处理记录介质的方法存储和再生信息。激光光盘 分为不可擦写光盘(如CDROM、DVDROM等)和可擦写光盘 (如CDRW、DVDRW等)。高密度光盘(Compact Disc)是近代发展起来不同于磁性载体的光学存储介质。常见的CD光盘非常薄,只有1.2mm厚,分为5层,包括基板、记录层、反射层、保护层和印刷层等。 3) U盘 U盘,全称为“USB闪存盘”,英文名为“USB flash disk”,是一个USB接口的无需物理驱动器的微型高容量移动存储产品,可以通过USB接口与计算机连接,实现即插即用。U盘的称呼最早来源于朗科公司生产的一种新型存储设备,名曰“优盘”,使用USB接口进行连接。USB接口连到计算机的主机后,U盘中的资料可与其交换。 U盘最大的优点就是小巧便于携带、存储容量大、价格便宜和性能可靠等。U盘体积很小,仅大拇指般大小,重量极轻,一般在15g左右,特别适合随身携带。一般的U盘容量有1GB、2GB、4GB、8GB、16GB、32GB、64GB等,价格多为几十元。U盘中无任何机械式装置,抗震性能极强。另外,U盘还具有防潮防磁、耐高低温等特性,安全可靠性很好。 4) ROM ROM(ReadOnly Memory,只读内存)是一种只能读出事先所存数据的固态半导体存储器,其特性是一旦储存资料就无法再将其改变或删除。通常用在无须经常变更资料的电子或计算机系统中,并且资料不会因为电源关闭而消失。 5) RAM RAM是随机存取存储器(Random Access Memory)。存储单元的内容可按需随意取出或存入,且存取的速度与存储单元的位置无关。这种存储器在断电时将丢失其存储内容,故主要用于存储短时间使用的程序。按照存储信息的不同,随机存储器又分为静态随机存储器(Static RAM,SRAM)和动态随机存储器(Dynamic RAM,DRAM)。 5.1.5输入/输出系统 1. 输入/输出系统控制方式 1) 程序查询方式 这种方式通过在程序控制下CPU与外设之间交换数据来实现。CPU通过I/O指令询问指定外设当前的状态,如果外设准备就绪,则进行数据的输入或输出,否则CPU等待,循环查询。 程序查询方式是一种程序直接控制方式,这是主机与外设间进行信息交换的最简单方式,输入和输出完全是通过CPU执行程序来完成的。一旦某一外设被选中并启动后,主机将查询这个外设的某些状态位,看其是否准备就绪。若外设未准备就绪,主机将再次查询; 若外设已准备就绪,则执行一次I/O操作。 这种方式控制简单,但外设和主机不能同时工作,各外设之间也不能同时工作,系统效率很低,因此,仅适用于外设的数目不多,对I/O处理的实时要求不那么高,CPU的操作任务比较单一,且并不很忙的情况。 这种方式的优点是结构简单,只需要少量的硬件电路即可,缺点是由于CPU的速度远远高于外设,因此通常处于等待状态,工作效率很低。 2) 中断方式 中断是主机在执行程序过程中,遇到突发事件而中断程序的正常执行,转去处理突发事件,待处理完成后返回原程序继续执行的过程。中断过程如下: 中断请求,中断响应,中断处理和中断返回。 计算机中有多个中断源,有可能在同一时刻有多个中断源向CPU发出中断请求,这种情况下CPU按中断源的中断优先级顺序进行中断响应。 中断处理方式的优点是显而易见的,它不但为CPU省去了查询外设状态和等待外设就绪所花费的时间,提高了CPU的工作效率,还满足了外设的实时要求。缺点是对系统的性能要求较高。 3) 直接存储器访问方式(DMA) DMA方式指高速外设与内存之间直接进行数据交换,不通过CPU并且CPU不参加数据交换的控制。工作过程如下。 外设发出DMA请求,CPU响应DMA请求,把总线让给DMA控制器,在DMA控制器的控制下通过总线实现外设与内存之间的数据交换,见图55。 图55直接存储器访问方式 DMA最明显的一个特点是它不是用软件而是采用一个专门的控制器来控制内存与外设之间的数据交流,无须CPU介入,大大提高了CPU的工作效率。 2. 输入/输出设备 1) 输入设备 常用的输入设备有键盘、鼠标和扫描仪等。 (1) 键盘的分类。按键数分,键盘可分为83键盘、101键盘、104键盘和107键盘; 按形式分,键盘可分为有线键盘、无线键盘、带托键盘和USB键盘。 (2) 鼠标的分类。按照工作原理,鼠标可分为机械式鼠标和光电式鼠标; 按形式分,鼠标可分为有线鼠标和无线鼠标。 (3) 扫描仪。扫描仪通过光源照射到被扫描的材料上来获得材料的图像。扫描仪常用的有台式、手持式和滚筒式三种。分辨率是扫描仪很重要的特征,常见扫描仪的分辨率有300×600、600×1200等。 2) 输出设备 常用的输出设备有显示器和打印机等。 (1) 显示器。按使用的器件分类,可分为阴极射线管显示器(CRT)、液晶显示器(LCD)和等离子显示器; 按显示颜色 ,可分为彩色显示器和单色显示器。显示器的主要性能指标包括像素、分辨率、屏幕尺寸、点间距、灰度级、对比度、帧频、行频和扫描方式。 (2) 打印机。打印机分为针式打印机、喷墨打印机、激光打印机、热敏打印机四种。 3) 其他输入/输出设备 数码相机DC、数码摄像机DV、手写笔、投影机、绘图仪等。 3. I/O接口 图56I/O接口 1) 接口的功能 使主机和外设能够按照各自的形式传输信息,见图56。 2) 几种接口 (1) 显示卡。主机与显示器之间的接口。 (2) 硬盘接口。IDE接口,EIDE接口,ULTRA接口和SCSI接口等。 (3) 串行接口。COM 端口,也称串行通信接口。 (4) 并行接口。是一种打印机并行接口标准。 5.2嵌入式系统概述 5.2.1嵌入式系统的基本概念 1. 定义 IEEE对嵌入式系统的定义是“控制、监视或者辅助装置、机器和设备运行的装置”。 从中可以看出,嵌入式系统是软件和硬件的综合体,还可以涵盖机械等附属装置。 国内普遍认同的定义是: 以应用为中心,以计算机技术为基础,软硬件可裁剪,适应应用系统对功能、可靠性、成本、体积和功耗等严格要求的专用计算机系统。 可从以下几方面来理解嵌入式系统。 (1) 嵌入式系统是面向用户、面向产品、面向应用的,它必须与具体应用相结合才会具有生命力,才更具有优势。因此可以这样理解上述三个面向的含义,即嵌入式系统是与应用紧密结合的,它具有很强的专用性,必须结合实际系统需求进行合理的裁剪利用。 (2) 嵌入式系统是将先进的计算机技术、半导体技术、电子技术和各个行业的具体应用相结合后的产物,这一点就决定了它必然是一个技术密集、资金密集、高度分散、不断创新的知识集成系统。 (3) 嵌入式系统必须根据应用需求对软硬件进行裁剪,满足应用系统的功能、可靠性、成本和体积等要求。一个比较好的发展模式在于建立相对通用的软硬件基础,然后在其之上开发出适应各种需要的系统。目前的嵌入式系统的核心往往是一个只有 几千字节(KB)到几十千字节(KB)的微内核,需要根据实际的使用进行功能扩展或者裁剪,但是由于微内核的存在,这种扩展能够非常顺利地进行。 实际上,嵌入式系统本身是一个外延极广的名词,凡是与产品结合在一起的具有嵌入式特点的控制系统都可以叫嵌入式系统,而且有时很难给它下一个准确的定义。现在人们讲嵌入式系统,某种程度上指近些年比较热的具有操作系统的嵌入式系统。 一般而言,嵌入式系统的构架可以分成4个部分: 处理器、存储器、输入/输出(I/O)和软件(多数嵌入式设备是应用软件和操作系统的结合)。 2. 历史 20世纪60年代,嵌入式这个概念就已经存在了。在通信方面,嵌入式系统在20世纪60年代就用于电子机械电话交换的控制,当时被称为“存储式程序控制系统”。 20世纪70年代出现了微处理器。1971年11月,Intel公司把算术运算器和控制器电路集成在一起,推出了第一款微处理器Intel 4004,其后各厂家陆续推出了许多8位、16位的微处理器。微处理器的广泛应用促使计算机厂家根据用户需要选择一套适合CPU板、存储器板以及各式I/O插件板,专用设计的嵌入式计算机系统。 20世纪80年代,总线技术飞速发展,把微处理器、I/O接口、A/D转换、D/A转换、串行接口以及RAM、ROM等部件统统集成到一个VLSI中,从而制造出面向I/O设计的微控制器,也俗称单片机。 20世纪90年代,在分布控制、柔性制造、数字化通信和信息家电等巨大需求的牵引下,嵌入式系统进一步加速发展。面向实时信号处理算法的DSP产品向着高速、高精度、低功耗发展。TI推出的第三代DSP芯片TMS320C30,引导着微控制器向32位高速智能化发展。在应用方面,掌上电脑、手持PC、机顶盒技术相对成熟,发展也较为迅速。特别是掌上电脑,1997年在美国市场上掌上电脑不过四五个品牌,而1998年年底,各式各样的掌上电脑如雨后春笋般纷纷涌现出来。此外,Nokia推出了智能电话,西门子推出了机顶盒,Wyse推出了智能终端,NS推出了WebPAD。装载在汽车上的小型计算机,不但可以控制汽车内的各种设备(如音响等),还可以与GPS连接,自动操控汽车。 21世纪进入全面的网络时代,使嵌入式计算机系统应用到各类网络中去也必然是嵌入式系统发展的重要方向。 3. 特点 (1) 内核小。嵌入式系统一般用于小型电子装置,系统资源相对有限,所以内核较小。比如Enea公司的OSE分布式系统,内核只有5KB。 (2) 专用性强。嵌入式系统的个性化很强,其中软件系统和硬件的结合非常紧密,一般要针对硬件进行系统的移植,即使是同一品牌、同一系列的产品也需要根据系统硬件的变化和增减不断进行修改。 (3) 系统精简。嵌入式系统一般没有系统软件和应用软件的区分,不要求其功能设计及实现上过于复杂,可以控制系统成本,也利于实现系统安全。 (4) 高实时性。高实时性是嵌入式软件的基本要求。而且软件要求固态存储,以提高速度,软件代码要求高质量和高可靠性。 (5) 多任务。嵌入式软件开发要想走向标准化,就必须使用多任务的操作系统。嵌入式系统的应用程序可以没有操作系统,直接在芯片上运行,但是为了合理地调度多任务、利用系统资源、系统函数以及和专家库函数接口,用户必须自行选配RTOS(RealTime Operating System)开发平台,这样才能保证程序执行的实时性、可靠性,并减少开发时间,保障软件质量。 (6) 需开发环境。由于嵌入式系统本身不具备自主开发能力,即使设计完成以后用户通常也是不能对其中的程序功能进行修改的,必须有一套开发工具和环境才能进行开发,这些工具和环境一般是基于通用计算机上的软硬件设备以及各种逻辑分析仪、混合信号示波器等。开发时往往有主机和目标机的概念,主机用于程序的开发,目标机作为最后的执行机,开发时需要交替结合进行。 5.2.2嵌入式系统的分类 根据嵌入式系统的复杂程度,可以将嵌入式系统分为以下4类。 1. 单个微处理器 这类系统可以在小型设备(如温度传感器、烟雾和气体探测器及断路器)中找到。这类设备是供应商根据设备的用途来设计的,其受Y2K影响的可能性不大。 2. 不带计时功能的微处理器装置 这类系统可在过程控制、信号放大器、位置传感器及阀门传动器中找到,其也不太可能受到Y2K的影响。但是,如果它依赖于一个内部操作时钟,那么这个时钟就可能受Y2K的影响。 3. 带计时功能的组件 这类系统可见于开关装置、控制器、电话交换机、电梯、数据采集系统、医药监视系统、诊断及实时控制系统等。它们是一个大系统的局部组件,由它们的传感器收集数据并传递给该系统。这种组件可同PC一起操作,并可包括某种数据库(如事件数据库)。 4. 在制造或过程控制中使用的计算机系统 对于这类系统,计算机与仪器、机械及设备相连来控制这些装置工作。这类系统包括自动仓储系统和自动发货系统。其中,计算机用于总体控制和监视,而不是对单个设备直接控制。过程控制系统可与业务系统连接(如根据销售额和库存量来决定订单或产品量)。 5.2.3嵌入式处理器 嵌入式处理器是嵌入式系统的核心,是控制、辅助系统运行的硬件单元。范围极其广阔,从最初的4位处理器,目前仍在大规模应用的8位单片机,到最新受到广泛青睐的32位、64位嵌入式CPU。 目前世界上具有嵌入式功能特点的处理器已经超过1000种,流行体系结构包括MCU和MPU等三十多个系列。鉴于嵌入式系统广阔的发展前景,很多半导体制造商都大规模生产嵌入式处理器,并且公司自主设计处理器也已经成为未来嵌入式领域的一大趋势,其中从单片机、DSP到FPGA有着各式各样的品种,速度越来越快,性能越来越强,价格也越来越低。目前嵌入式处理器的寻址空间可以从64KB到16MB,处理速度最快可以达到2000 MIPS,封装从8个引脚到144个引脚不等。 (1) 嵌入式微处理器(Micro Processor Unit,MPU)是由通用计算机中的CPU演变而来的。它的特征是具有32位以上的处理器,具有较高的性能,当然其价格也相应较高。但与计算机处理器不同的是,在实际嵌入式应用中,只保留和嵌入式应用紧密相关的功能硬件,去除其他的冗余功能部分,这样就以最低的功耗和资源实现嵌入式应用的特殊要求。和工业控制计算机相比,嵌入式微处理器具有体积小、重量轻、成本低和可靠性高的优点。 (2) 嵌入式微控制器(Microcontroller Unit,MCU),也称微控制器,其典型代表是单片机。从 20世纪70年代末到今天,已经过了几十年,但8位电子器件目前在嵌入式设备中仍然有着极其广泛的应用。单片机芯片内部集成ROM/EPROM、RAM、总线、总线逻辑、定时/计数器、看门狗、I/O、串行口、脉宽调制输出、A/D、D/A、Flash RAM、EEPROM等各种必要功能和外设。 (3) 嵌入式DSP处理器(Embedded Digital Signal Processor,EDSP)是专门用于信号处理方面的处理器,其在系统结构和指令算法方面进行了特殊设计,具有很高的编译效率和指令的执行速度。在数字滤波、FFT、谱分析等各种仪器上,DSP获得了大规模的应用。DSP的理论算法在20世纪70年代就已经出现,但未出现专门的DSP处理器。1982年,世界上诞生了首枚DSP芯片,其运算速度比MPU快了几十倍,在语音合成和编码解码器中得到了广泛应用。20世纪90年代后,DSP发展到了第五代,集成度更高,使用范围也更加广阔。 (4) 嵌入式片上系统(System on Chip,SoC)最大的特点是成功实现了软硬件无缝结合,直接在处理器片内嵌入操作系统的代码模块。而且SoC具有极高的综合性,在一个硅片内部运用VHDL等硬件描述语言,实现一个复杂的系统。用户 不必再像传统的系统设计那样,绘制庞大复杂的电路板,一点点地连接焊制,只需要使用精确的语言,综合时序设计,直接在器件库中调用各种通用处理器的标准,然后通过仿真之后就可以直接交付芯片厂商进行生产。由于绝大部分系统构件都是在系统内部,整个系统就特别简洁,不仅减小了系统的体积和功耗,而且提高了系统的可靠性和设计生产效率。 5.2.4嵌入式系统的组成 作为一个“专用计算机系统”的嵌入式系统由软件系统和硬件系统两大部分组成。 1. 嵌入式系统硬件部分 嵌入式系统硬件部分的核心部件就是嵌入式处理器。ARM处理器是一个典型的嵌入式处理器,现在全世界嵌入式处理器的品种已经超过1000种,流行的体系结构多达三十多个。嵌入式处理器的寻址空间也从64KB到2GB不等,其处理速度可以 为0.1~2000MIPS。嵌入式处理器可以分成以下4类。 (1) MPU(Micro Processor Unit,嵌入式微处理器); (2) MCU(Micro Controller Unit,嵌入式微控制器); (3) 嵌入式DSP处理器(Digital Signal Processor); (4) 嵌入式片上系统(SoC)。 嵌入式系统硬件部分除了嵌入式处理器核心部分外,还包括丰富的外围接口。也正是基于这些丰富的外围接口,才带来嵌入式系统越来越丰富的应用。现在的ARM处理器内部的接口相当丰富,像I2C、SPI、UART和USB等接口基本上都是“标准”配置。在设计系统的时候,通常只要把处理器和外设进行物理连接就可以实现外围接口扩展了。 2. 嵌入式系统软件部分 嵌入式系统软件部分一般是由嵌入式操作系统和应用软件两部分组成。嵌入式系统软件可以分成启动代码(Boot Loader)、操作系统内核与驱动(Kernel & Driver)、文件系统与应用程序(File System & Application)等几部分。Boot Loader是嵌入式系统的启动代码,主要用来初始化处理器、传递内核启动参数给嵌入式操作系统内核,使得内核可以按照参数要求启动。操作系统内核则主要有4个任务: 进程管理、进程间通信与同步、内存管理及I/O资源管理。驱动程序也应该算是内核中的一个部分,主要提供给上层应用程序,通过处理器外设接口控制器和外部设备进行通信的一个媒介。文件系统则可以让嵌入式软件工程师灵活方便地管理系统。应用程序才是真正针对需求的,是嵌入式软件工程师完全自主开发的。 5.2.5嵌入式系统的应用 (1) 工业控制。基于嵌入式芯片的工业自动化设备将获得长足的发展,如工业过程控制、数字机床、电力系统、电网安全、电网设备监测和石油化工系统。 (2) 交通管理。在车辆导航、流量控制、信息监测与汽车服务方面,嵌入式系统技术已经获得了广泛的应用,内嵌GPS模块,GSM模块的移动定位终端已经在各种运输行业成功使用。 (3) 信息家电。这将成为嵌入式系统最大的应用领域,冰箱、空调等的网络化、智能化将引领人们的生活步入一个崭新的空间。即使不在家里,也可以通过电话线、网络进行远程控制。在这些设备中,嵌入式系统将大有用武之地。 (4) 家庭智能管理系统。水、电、煤气表的远程自动抄表,安全防火、防盗系统,其中嵌有专用控制芯片将代替传统的人工检查,实现更高、更准确和更安全的性能。目前在服务领域,如远程点菜器等已经体现了嵌入式系统的优势。 (5) POS网络及电子商务。例如,公共交通无接触智能卡发行系统,公共电话卡发行系统,自动售货机和各种智能ATM终端等。 (6) 环境工程与自然。例如,水文资料实时监测,防洪体系及水土质量监测、堤坝安全,地震监测网,实时气象信息网,水源和空气污染监测。在很多环境恶劣、地况复杂的地区,嵌入式系统将实现无人监测。 (7) 机器人。嵌入式芯片的发展将使机器人在微型化、高智能方面优势更加明显,同时会大幅度降低机器人的价格,使其在工业领域和服务领域获得更广泛的应用。 (8) 机电产品方面应用。机电产品是嵌入式系统应用最典型最广泛的领域之一。从最初的单片机到现在的工控机,SoC在各种机电产品中均有着巨大的市场。 5.3ARM微处理器 5.3.1ARM微处理器概述 1. ARM处理器简介 ARM(Advanced RISC Machines)是一类嵌入式微处理器,同时也是一个公司的名字。ARM公司于1990年11月成立于英国剑桥,它是一家专门从事16位/32位RISC微处理器知识产权设计的供应商。ARM公司本身不直接从事芯片生产,而只是授权ARM内核给生产和销售半导体的合作伙伴,同时也提供基于ARM架构的开发设计技术。世界各大半导体生产商从ARM公司处购买其设计的ARM微处理器核,根据各自不同的应用领域,加入适当的外围电路,从而形成自己的ARM微处理器芯片进入市场。ARM处理器是一个32位元精简指令集(RISC)处理器架构,其广泛地应用于许多嵌入式系统设计中。 ARM公司从成立至今,短短几十年的时间就占据了约75%的市场份额,如今,ARM微处理器及技术应用几乎已经深入到各个领域。采用ARM技术的微处理器现在已经遍及各类电子产品,汽车、消费娱乐、影像、工业控制、海量存储、网络、安保和无线等市场。到2001年就几乎已经垄断了全球RISC芯片市场,成为业界实际的RISC芯片标准。 2. ARM处理器特点 ① 体积小、低功耗、低成本、高性能; ②支持Thumb(16位)/ARM(32位)双指令集,能很好地兼容8位/16位器件; ③大量使用寄存器,指令执行速度更快; ④大多数数据操作都在寄存器中完成; ⑤寻址方式灵活简单,执行效率高; ⑥指令长度固定。 3. 应用 到目前为止,ARM微处理器及技术应用几乎已经深入到各个领域。 (1) 工业控制领域。作为32位的RISC架构,基于ARM核的微控制器芯片不但占据了高端微控制器市场的大部分市场份额,同时也逐渐向低端微控制器应用领域扩展,ARM微控制器的低功耗、高性价比,向传统的8位/16位微控制器提出了挑战。 (2) 无线通信领域。目前已有超过85%的无线通信设备采用了ARM技术,ARM以其高性能和低成本,在该领域的地位日益巩固。 (3) 数字信号领域。随着宽带技术的推广,采用ARM技术的ADSL芯片正逐步获得竞争优势。此外,ARM在语音及视频处理上进行了优化,并获得广泛支持,也对DSP的应用领域提出了挑战。 (4) 消费类电子产品。ARM技术在目前流行的数字音频播放器、数字机顶盒和游戏机中得到广泛采用。 (5) 成像和安全产品。现在流行的数码相机和打印机中绝大部分采用ARM技术。手机中的32位SIM智能卡也采用了ARM技术。 5.3.2ARM微处理器结构 1. 体系结构 1) 复杂指令集计算机(Complex Instruction Set Computer,CISC) 在CISC指令集的各种指令中,大约有20%的指令会被反复使用,占整个程序代码的80%。而余下80%的指令却不经常使用,在程序设计中只占20%。 2) 精简指令集计算机(Reduced Instruction Set Computer,RISC) RISC结构优先选取使用频最高的简单指令,避免复杂指令; 将指令长度固定,指令格式和寻址方式种类减少; 以控制逻辑为主,不用或少用微码控制等。RISC体系结构应具有如下特点: ①采用固定长度的指令格式,指令整齐、简单,基本寻址方式有两三种; ②使用单周期指令,便于流水线操作执行; ③大量使用寄存器,数据处理指令只对寄存器进行操作,只有加载/存储指令可以访问存储器,以提高指令的执行效率; ④所有的指令都可根据前面的执行结果决定是否被执行,从而提高指令的执行效率 ; ⑤可用加载/存储指令批量传输数据,以提高数据的传输效率; ⑥可在一条数据处理指令中同时完成逻辑处理和移位处理。⑦在循环处理中使用地址的自动增减来提高运行效率。 2. 寄存器结构 ARM处理器共有37个寄存器,被分为若干个组(BANK),这些寄存器包括: ①31个通用寄存器,包括程序计数器(PC指针),均为32位; ②6个状态寄存器,用以标识CPU的工作状态及程序的运行状态,均为32位,目前只使用了其中的一部分。 3. 指令结构 ARM微处理器在较新的体系结构中支持两种指令集: ARM指令集和Thumb指令集。其中,ARM指令为32位长度,Thumb指令为16位长度。Thumb指令集为ARM指令集的功能子集,但与之等价。与ARM代码相比较,Thumb代码可节省30%~40%的存储空间,同时具备32位代码的所有优点。 习题 1. 名词解释 (1) 硬件系统; (2) 软件; (3) 中央处理器; (4) 存储器; (5) 嵌入式系统; (6) ARM处理器。 2. 判断题 (1) 计算机系统由计算机硬件和软件两部分组成。() (2) CPU就是微处理器。() (3) 嵌入式系统就是微机机箱内的部分。() (4) 中断是主机在执行程序过程中,遇到突发事件而中断程序的正常执行,转去处理突发事件,待处理完成后返回原程序继续执行的过程。() 3. 填空题 (1) 硬件包括中央处理器、和外部设备等。 (2) 系统总线包含三种不同功能的总线,即数据总线、地址总线和。 (3) CPU包括运算逻辑部件、寄存器部件和。 (4) 为了解决对存储器要求容量大、速度快、成本低三者之间的矛盾,目前通常采用多级存储器体系结构,即使用高速缓冲存储器、主存储器和。 (5) 常用存储器包括: 硬盘、、U盘、ROM和RAM等。 (6) 输入/输出系统控制方式包括: 程序查询方式、和直接存储器访问方式。 (7) 嵌入式系统特点是: 内核小、专用性强、、高实时性、多任务和需开发环境。 4. 选择题 (1) 常用的输入设备有()。 A. 键盘B. 鼠标C. 扫描仪D. 打印机 (2) 常用的输出设备有()。 A. 显示器B. 打印机C. 键盘D. 手写笔 (3) I/O的几种接口包括()。 A. 显示卡B. 硬盘接口C. 串行接口D. 并行接口 5. 简答题 (1) 简述系统总线的工作原理。 (2) 简述嵌入式系统的历史。 (3) 简述嵌入式系统的分类。 (4) 简述嵌入式系统的结构。 (5) 简述嵌入式系统的应用。 (6) 简述ARM微处理器结构。 6. 论述题 请展望嵌入式系统在物联网中的应用前景。