版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、ARM嵌入式技术原理与应用,第一章嵌入式系统介绍,1.1嵌入式系统(Embeddedsystem)嵌入式系统有时也称为嵌入式计算机系统,指的是专用计算机系统。个人电脑嵌入式系统(通用)(专用,嵌入到对象体中)嵌入式系统的定义是:以应用为中心,以计算机技术为基础,软硬件可裁剪,对功能、可靠性、成本、体积、功耗等严格要求的专用计算机系统。以上定义突出了它的“嵌入性”和“专用性”,将其与通用计算机区分开。,第一章嵌入式系统介绍,1.2嵌入式系统的特点嵌入式系统是将先进的计算机技术、半导体技术以及电子技术与各行业的具体应用相结合的产物。嵌入式系统通常是面向用户、面向产品、面向特定应用的。嵌入式系统CP
2、U都具有功耗低、体积小、集成度高等特点,能够把通用CPU中许多由板卡完成的任务集成在芯片内部,从而使整个系统设计趋于小型化,移动能力日益增强,与网络的关系也越来越密切。嵌入式系统和具体应用有机地结合在一起,其升级换代也是和具体产品同步进行的。因此嵌入式系统产品一旦进入市场,就具有较长的生存周期。为了提高执行速度和系统可靠性,嵌入式系统中的软件一般都固化在存储器芯片或单片机中,而不是存储于磁盘等载体中。嵌入式系统本身并不具备在其上进一步开发的能力。,第一章嵌入式系统介绍,1.3嵌入式系统发展历程嵌入式计算机系统与通用计算机系统目前属于计算机技术的两大分支。嵌入式系统的发展大致经历了4个阶段:第一
3、阶段:单片微型计算机(SCM)阶段,即单片机时代。这一阶段的嵌入式系统硬件是单片机,软件停留在无操作系统阶段,采用汇编语言实现系统的功能。这阶段的主要特点是:系统结构和功能相对单一、处理效率低、存储容量也十分有限,几乎没有用户接口。第二阶段:微控制器(MUC)阶段,主要的技术发展方向是:不断扩展对象系统要求的各种外围电路和接口电路,突显其对象的智能化控制能力。这一阶段主要以嵌入式微处理器为基础、以简单操作系统为核心,主要特点是硬件使用嵌入式微处理器,微处理器的种类繁多,通用性比较弱;系统开销小,效率高;软件采用嵌入式操作系统,这类操作系统有一点的兼容性和扩展性;这个阶段的嵌入式产品的应用软件比
4、较专业化,用户界面不够友好。第三阶段:片上系统(SOC),主要特点是:嵌入式系统能够运行于各种不同类型的微处理器上,兼容性好,操作系统的内核小,效果好。第四阶段:以Internet为标志的嵌入式系统。嵌入式网络化主要表现在两个方面,一方面是嵌入式处理器集成了网络接口,另一方面是嵌入式设备应用于网络环境中。,第一章嵌入式系统介绍,1.4嵌入式系统基本结构嵌入式系统的基本结构一般可分为硬件和软件两部分。1.4.1嵌入式系统的硬件包括嵌入式核心芯片、存储器系统及外部接口。1、嵌入式处理器:是构成系统的核心部件,系统工程中的其他部件均在它的控制和调度下工作。处理器通过专用的接口获取监控对象的数据、状态
5、等各种信息,并对这些信息进行计算、加工、分析和判断并作出相应的控制决策,再通过专用接口将控制信息传送给控制对象。,第一章嵌入式系统介绍,2、嵌入式存储器:存储器的类型将决定整个嵌入式系统的操作和性能,因此存储器的选择非常重要。无论系统是采用电池供电还是由市电供电,应用需求将决定存储器的类型(易失性或非易失性)以及使用目的(存储代码、数据或者两者兼有)。对于较小的系统,微控制器自带的存储器就有可能满足系统要求,而较大的系统可能要求增加外部存储器。为嵌入式系统选择存储器类型时,需要考虑一些设计参数,包括微控制器的选择、电压范围、电池寿命、读/写速度、存储器尺寸、存储器的特性、擦除/写入的耐久性以及
6、系统总成本。3、嵌入式系统的输入/输出接口:一般嵌入式处理器上集成了输入/输出接口,但是外设需要外接。例如,大多数的嵌入式通信控制器集成了以太网接口,但是收发器需要外部电路。,第一章嵌入式系统介绍,1.4.2嵌入式系统的软件嵌入式系统的软件主要包括两大部分:嵌入式操作系统和应用软件。,嵌入式系统软件层次结构,第一章嵌入式系统介绍,1、BSP在嵌入式操作系统中,BSP以嵌入式操作系统“驱动程序”的身份出现,在系统启动之初,BSP所做的工作类似于通用计算机的BIOS,它也负责系统加电,各种设备初始化、操作系统装入等。但BSP与BIOS是不同的,主要区别有以下几个方面:BSP是与操作系统相适应的,但
7、是BIOS却是和所在的主板相适应的,也就是说BSP的作用是让硬件支持某种嵌入式操作系统,而BIOS的作用是让所有操作系统都能够在其生产的硬件上正常工作。开发软件人员可以对BSP做一定的修改,加入自己想加入的一些东西,比如各类驱动程序,但BIOS一般不能修改,开发人员只能对其进行升级或者更改配置。相对来讲,嵌入式开发人员对于BSP的自主性更大。一个BSP对应一种硬件和一种嵌入式操作系统,即同一个处理器可能有多个BSP,同一个嵌入式操作系统针对不同的处理器也需要不同的BSP。而一个BIOS是对应一种硬件和多个操作系统,也就是说BIOS是根据硬件在一定历史条件下设计的,与操作系统无关。BSP里可以加
8、入非系统必需的东西,比如一些驱动程序甚至一些应用程序,但通用计算机的主板BIOS一般不会有这些东西。,第一章嵌入式系统介绍,2、嵌入式操作系统嵌入式操作系统是嵌入式系统极为重要的组成部分,是嵌入式系统的灵魂。经历了4个比较明显的阶段:第一阶段:无操作系统的嵌入算法阶段,通过汇编语言编程对系统进行直接控制。第二阶段:以嵌入式CPU为基础、简单操作系统为核心的嵌入式系统。第三阶段:通用的嵌入式实时操作系统阶段,该阶段以嵌入式操作系为核心。第四阶段:以基于Internet为标志的嵌入式系统,这还是一个正在发展的阶段。嵌入式操作系统一般具有体积小、实时性强、可剪裁、可靠性高、功耗低等特点。实时性是嵌入
9、式系统最重要的要求之一。实时操作系统又分为软实时和硬实时两种。常用的嵌入式操作系统有:VxWorks、WindowsCE、嵌入式Linux、嵌入式实时内核uC/os等。,第一章嵌入式系统介绍,3、应用软件嵌入式系统领域的应用软件是为了解决某些特定的应用性问题而设计出来的软件,如浏览器、播放器等。嵌入式系统的应用软件与通用计算机软件相比,由于嵌入式系统的资源有限,致使对应用软件有更多苛求,要求尽量做到高效、低耗。而且嵌入式系统的应用软件还存在着操作系统的依赖性,一般情况下,不同操作系统之间的软件必须进行修改才能移植,甚至需要重新编写。,第二章嵌入式处理器,嵌入式系统上的处理器单元称为嵌入式处理器
10、。实际上,处理单元的种类很多,包括嵌入式微处理器、嵌入式微控制器、数字信号处理器、可编程器件及其组合。嵌入式处理器运行嵌入式系统的系统软件和应用软件。嵌入式处理器有如下的共性:1、处理器内核(内部);2、地址总线;3、数据总线;4、控制类总线;5、处理器本身的辅助支持电路,如时钟、复位等;6、片上I/O接口电路。注:有的嵌入式微控制器上集成了存储器和I/O接口电路,不需要扩展,因此没有地址总线、数据总线、控制总线扩展接口。,第二章嵌入式处理器,嵌入式系统的硬件体系结构,嵌入式系统的硬件子系统包括处理器子系统、存储器子系统、附属电路、I/O子系统,它们之间通过系统总线连接在一起,形成一个专用的计
11、算机系统嵌入式系统。嵌入式系统硬件的设计围绕嵌入式处理器进行。,第二章嵌入式处理器,嵌入式处理器从各种外部设备接收到输入数据,进行必要的计算和处理工作,并把计算结果送到输出接口,驱动外部设备。嵌入式处理器的数据处理功能与普通的处理器是相同的,其内核和普通处理器的内核也是相同的。例如:在Intel80 x86系列处理器中,8086、80286、80386、80486、Pentium、P2、P3、P4及其以上是通用处理器,80186是嵌入式处理器;80386SX、80386DX是通用处理器,80386EX是嵌入式处理器。嵌入式处理器和通用处理器的内核相同、指令系统相同、所不同的是嵌入式处理器集成了
12、大量的I/O模块单元(如中断控制器、通信控制器等)和存储器(FLASH和RAM等)。,第二章嵌入式处理器,2.1嵌入式处理器的分类1、嵌入式微控制器(EMCU)嵌入式微控制器又称单片机,就是将整个计算机系统集成到一块芯片中。嵌入式微控制器一般以某一种微处理器内核为核心,芯片内部集成ROM/EPROM、RAM、总线、总线逻辑、定时、计数器、WatchDog、I/O、串行口、脉宽调制输出、A/D、D/A、FlashRAM等各种必要功能和外设。目前,比较知名的嵌入式微控制器有Intel公司的MCS-51系列、Freescale公司的68HCXX系列、Microchip的PIC系列等。嵌入式微控制器在
13、小系统应用时,通常是控制应用的一种理想解决方案,因为可以利用它以及很少的附加电路来构建一个嵌入式系统。8位微控制器可用于过程控制应用,比如用在电动玩具、智能卡、仪表中。如果对处理能力和存储器容量的要求很高,就需要选择16位或32位微控制器。嵌入式微控制器处理能力差一些,功能比较全,但是指标较低、价格比较低,适合应用于简单控制系统,如家用电器、工业仪表与简单的自动化装置。,第二章嵌入式处理器,2、嵌入式微处理器(EMPU)嵌入式微处理器的基础是通用计算机中的CPU。与嵌入式微控制器相比,嵌入式微处理器的处理能力比较强,字长一般是16位或32位,如ARM、Atmel、Intel、Freescale
14、、NationalSemiconductors等公司推出了许多可用的嵌入式微处理器。嵌入式微处理器的特点如下:1、需要扩展。要使用嵌入式微处理器来设计开发嵌入式系统,一般需要大量的外围电路,包括存储器和I/O接口电路。2、处理能力一般大于微控制器。由于集成的外部接口比较少,通常嵌入式微处理器的处理能力较强,芯片上集成了处理器内核,通常具有更高的时钟频率和较宽的字长。3、寻址能力大于微控制器。4、一般适用于高端应用。5、型号多。6、通用性强。,第二章嵌入式处理器,3、嵌入式DSP处理器(EDSP)DSP是特别为处理信号设计的处理器,而不是为一般应用设计的。对系统结构和指令进行了特殊设计,使其适合
15、于执行DSP算法,编译效率较高,指令执行速度也较高。DSP体系结构需要具备以下特点:1、能够非常快速地计算出总和的乘加(MAC)模块,而通用处理器可能要花费多个周期才能计算出一个乘积。2、支持通过移位操作完成对位的处理。3、独立的地址生成单元产生存储器单元的地址,这样使访问存储器变得更加快速。4、专门的硬件实现循环。通过硬件可以增加循环计数器,将计数值与最终目标值进行比较,执行循环之后再转到循环顶部等。,第二章嵌入式处理器,4、可编程器件现在可编程器件的集成度达到了百万门电路或更多,甚至片上集成了处理器、数字信号处理器等。利用可编程器件实现嵌入式系统的处理器子系统可以提高系统的集成度,复杂的外
16、部电路都可以集成在可编程器件上,甚至包括CPU,这样的系统通常称为SoC。可编程器件的最大优点是提高了嵌入式系统硬件电路板的集成度,同时减小了电路板的面积。传统的嵌入式系统的硬件除了CPU和存储器之外,在电路板上还大面积地安装了I/O逻辑电路、译码器等。通过可编程器件的使用,即可减少外部逻辑电路,从而缩减电路板的面积,增加系统的可靠性。,第二章嵌入式处理器,2.2嵌入式处理器的构架标准的嵌入式系统架构有两大体系:精简指令集计算机(reducedinstructionsetcomputer,RISC)处理器复杂指令集计算机(complexinstructionsetcomputer,CISC)处
17、理器.这两种指令集结构的重要区别之一是其指令功能的强弱不同。2.2.1CISC计算机指令集CISC结构追求的目标是强化指令功能,减少程序的指令条数,从而达到提高性能的目的。CISC体系的设计思想就是基于使用大量的指令,包括复杂指令。它的优点是进行程序设计比较容易,因为每一个简单的或者复杂的操作都有相应的指令。如为了适应所处理数据的不同长度,CISC设计有8位、16位甚至32位的指令,还有专门用于浮点数运算的指令。对程序设计者来书,CISC系统可用简单的指令组合解决一个比较复杂的问题。CISC指令系统趋于多用途、强功能化,且面向高级语言发展。但它又把指令系统带向庞大化、复杂化,使得设计处理器的电
18、路非常复杂,设计周期长、难保正确性、维护困难。,第二章嵌入式处理器,2.2.2RISC计算机指令集在对各条指令使用频率的统计分析中发现,最常使用的是一些比较简单的指令,而这些指令数占指令总数的20%,但它们在程序中出现的频率却占80%。这个结论后来被称为“20%对80%率”。因此如果从指令系统中去掉一些不常用的指令,特别是那些复杂的指令就可以降低处理器电路的复杂程度,使处理器以更快的速度、更高的频率运行,从而提高整个计算机的执行速度。根据这个设计指导思路设计出来的处理器被称为精简指令集计算机系统即RISC。,第二章嵌入式处理器,RISC机的特点:选取一些使用频率高、很有用但不复杂的简单指令。指
19、令长度固定,指令格式种类少,寻址方式种类少。只有取数/存数指令会访问存储器,其余指令的执行都在寄存器之间进行,即限制内存访问。CPU中通用寄存器数量相当多。大部分指令在一个机器周期内完成。采用流水线组织。以硬布线控制逻辑为主,不用或少用微程序控制。特别重视编译工作,以简单有效的方式支持高级语言,减少程序执行时间。,第二章嵌入式处理器,RISC和CISC的差异:指令系统:RISC设计者把主要精力放在那些经常使用的指令上,尽量使它们具有简单高效的特色。对不常用的功能,常通过组合指令来完成。因此,在RISC机器上实现特殊功能时,效率可能比较低。但可以利用流水技术和超标量技术加以改进和弥补。而CISC
20、计算机的指令系统比较丰富,由专用指令完成特定的功能。因此,处理特殊任务效率较高。存储器操作:RISC对存储器操作有限制,使控制简单化;而CISC机器的存储器操作指令多,操作直接。程序:RISC汇编语言程序一般需要较大的内存空间,实现特殊功能时程序复杂,不易设计;而CISC汇编语言程序编程相对简单,科学计算及复杂操作的程序设计相对容易,效率较高。中断:RISC机器在一条指令执行的适当地方可以响应中断;而CISC机器是在指令执行结束后相应中断。CPU:RISC处理器包含有较少的单元电路,因而面积小、功耗低;而CISC处理器包含有丰富的电路单元,因而功能强、面积大、功耗大。,第二章嵌入式处理器,设计
21、周期:RISC微处理器结构简单,布局紧凑,设计周期短,且易于采用最新技术;CISC微处理器结构复杂,设计周期长。用户使用:RISC微处理器结构简单,指令规整,性能容易把握,易学易用;CISC微处理器结构复杂,功能强大,实现特殊功能容易。应用范围:由于RISC指令系统的确定与特定的应用领域有关,故RISC机器更适合于专用机,主要应用于ARM系列;而CISC机器则更适合于通用机,主要应用于Intelx86系列。从以上的比较来看,RISC与CISC各有优势,而RISC的实用性则更强一些,应该是未来处理器架构的发展方向。但事实上,由于早期的很多软件是根据CISC设计的,单纯的RISC将无法兼容,此外,
22、现代的CISC结构CPU已经融合了很多RISC的成分,如超长指令集CPU就是融合了RISC和CISC的优势,其性能差距已经越来越小,而复杂的指令可以提供更多的功能,这是程式设计所需要的,因此,CISC与RISC的融合应该是未来的发展方向。目前RISC的架构主要有:ARC架构、ARM架构、MIPS架构、PowerPC架构以及Tensilica架构。CISC的架构主要有:x86架构、AMD架构。,第二章嵌入式处理器,2.3嵌入式处理器的技术指标主要从以下几方面考虑:1、功能:主要取决于处理器所集成的存储器的数量和外部设备接口的种类。2、字长:指参与运算的数的基本位数,决定了寄存器、运算器和数据总线
23、的位数,因而直接影响硬件的复杂程度。处理器的字长越长,它包含的信息量越多,能表示的数值有效位数越多,计算精度也越高。通常处理器可以有4、8、16、32、64位等不同的字长。3、处理速度:目前普遍采用在单位时间内各类指令的平均执行条数,即根据各种指令的使用额度和执行时间来计算。取其倒数即得到该处理器的运算速度指标,其单位为百万条指令每秒,表示为MIPS。,第二章嵌入式处理器,4、工作温度:从工作温度方面考虑,嵌入式处理器通常分为民用、工业用、军用、航天等几个温度级别。5、功耗:嵌入式处理器通常给出几个功耗指标,如工作功耗、持机功耗等。许多嵌入式处理器还给出功耗与工作频率之间的关系,表示为Mw/H
24、z或W/Hz。6、寻址能力:嵌入式处理器的寻址能力取决于处理器地址线的数目,处理器的处理能力与寻址能力有一定的关系。注:对于嵌入式微控制器而言,寻址能力的意义不大,因为嵌入式微控制器通常集成了程序存储器和数据存储器,一般不能进行扩展。7、平均失效间隔时间(MTBF):是指在相当长的运行时间内,机器工作时间除以运行期间故障次数。它是一个统计值,用来表示嵌入式系统的可靠性。MTBF值越大,表示可靠性越高。,第二章嵌入式处理器,2.4典型的嵌入式处理器目前,用户接触得最多的应该是ARM、MIPS、PowerPC这三类处理器。2.4.1ARM处理器1、ARM简介ARM(advancedRISCmach
25、ine),既可认为是一个公司的名称,又可以认为是对一类微处理器的通称,还可以认为是一种技术的名称。ARM公司成立于1991年,主要出售芯片设计技术。目前,采用ARM技术知识产权(IP)核的微处理器,即通常所说的ARM处理器,已遍及工业控制、消费类电子产品、通信系统、网络系统、无线系统等各类产品市场,基于ARM技术的微处理器应用占据32位RISC微处理器75%以上的市场份额。目前,全世界有几十家大的半导体公司使用ARM公司的授权,因此既使得ARM技术获得更多的第三方工具、制造、软件的支持,又使整个系统成本降低,从而使产品更容易进入市场被消费者所接受。这样产品更具有竞争力。,第二章嵌入式处理器,2
26、、ARM处理器的应用领域及特点ARM处理器系列提供的解决方案包括以下3点:(1)在无线、消费类电子和图像应用方面的开放平台。(2)存储、自动化、工业和网络应用的嵌入式实时系统。(3)智能卡和SIM卡的安全应用。ARM处理器一般具有如下特点:(1)小体积、低功耗、低成本、高性能。(2)支持Thumb(16位)/ARM(32位)双指令集,能很好地兼容8位/16位器件。(3)大量使用寄存器,指令执行速度更快。(4)大多数数据操作都在寄存器中完成。(5)寻址方式灵活简单,执行效率高。(6)指令长度固定。,第二章嵌入式处理器,3、ARM处理器系列ARM处理器当前有以下产品系列:ARM7、ARM9、ARM
27、9E、ARM10、ARM11和SecurCore。进一步的产品来自于合作伙伴,例如IntelXScale微体系结构和StrongARM产品。ARM7、ARM9、ARM9E、ARM10、ARM11是通用处理器系列,每个系列提供一套特定的性能来满足设计者对功耗、性能和体积得需求;SecurCore是专门为安全设备而设计的。ARM7、ARM9、ARM9E、ARM10、ARM11产品系列提供了一系列处理器供用户选择,其中包括用于低价位应用的整型内核;用于WindowCE操作系统的、带集成存储器管理单元(MMU)的内核;最适用于运行实时嵌入式操作系统的内核。,第二章嵌入式处理器,2.4.2MIPS处理器
28、MIPS是世界上很流行的一种RISC处理器。MIPS的意思是“无内部互锁流水级的微处理器”(Microprocessorwithoutinterlockedpipedstages),其机制是尽量利用软件办法避免流水线中的数据相关问题。它最早是在80年代初期由斯坦福大学Hennessy教授领导的研究小组研制出来的。MIPS公司的R系列就是在此基础上开发的RISC工业产品的微处理器。这些系列产品为很多计算机公司采用构成各种工作站和计算机系统。MIPS是出现最早的商业RISC架构芯片之一,新的架构集成了所有原来MIPS指令集,并增加了许多更强大的功能。MIPS的产品系列有:R2000、R3000、R
29、4000、R8000、R10000等。,第二章嵌入式处理器,2.4.3PowerPC处理器二十世纪九十年代,IBM(国际商用机器公司)、Apple(苹果公司)和Motorola(摩托罗拉)公司开发PowerPC芯片成功,并制造出基于PowerPC的多处理器计算机。PowerPC架构的特点是可伸缩性好、方便灵活。其主要产品系列有:PowerPC7xx系列和PowerPC4xx系列。,第三章嵌入式系统的存储器,存储器是构成嵌入式系统硬件的重要组成部分。设计嵌入式系统的存储器时需要考虑许多因素:有的嵌入式控制器集成了存储器,一般不需要额外扩展,甚至有的嵌入式控制器无法扩展;有的嵌入式微处理器片上没有
30、存储器,必须外部扩展;有的嵌入式处理器片上集成了一定数量的存储器,可以满足一定的需要,如果软件占用空间比较大,可能需要扩展存储器,所以整个存储器系统由片上和片外两部分组成。通常,嵌入式系统的软件直接放在内存(NorFlash或EPROM)中,如8位的单片机系统,上电之后立即可以运行;也有的嵌入式系统的软件放在外存(如Flash卡)或NANDFlash中,如嵌入式Linux系统,系统上电时,从NANDFlash中装载、引导、运行软件。以上两种情况下都需要考虑嵌入式系统的软件固化问题,而这一问题是在通用计算机中开发软件时不需要考虑的。考虑存储器系统时,还需要考虑嵌入式系统软件的引导问题。,第三章嵌
31、入式系统的存储器,3.1嵌入式系统存储器的结构和组织3.1.1存储器的结构和组织目前存储器的存储介质主要采用半导体器件和磁性材料。存储器中最小的存储单位为1bit,由若干个位组成一个存储单元,然后再由许多存储单元组成一个存储器。一个存储器包含许多存储单元,每个存储单元的位置都有一个编号(即地址),一般用十六进制表示。一个存储器中所有存储单元可存放数据的总和称为这个存储器的存储容量。存储器有3个主要特性:速度、容量和价格/位(简称价位)。,第三章嵌入式系统的存储器,从上图可以看出由上至下,每位的价格越来越低,速度越来越慢,容量越来越大,CPU访问的频度也越来越少。位于最上层的寄存器通常都制作在C
32、PU芯片内。寄存器中的数据接在CPU内部参与运算。CPU内可以有十几乃至几十个寄存器,它们的速度最快、位价最高、容量最小。主存用来存放将要参与运行的程序和数据,其速度与CPU的速度差距较大,为了使它们之间的速度更好地匹配,在主存与CPU之间插入了一种比主存速度更快、容量更小的高速缓冲存储器cache。主存与缓存之间的数据调动由硬件自动完成,对程序员是透明的。以上三层存储器都是由速度不同、价位不等的半导体存储材料制成,其都设在主机内。第四、五层是辅助存储器其容量比主存大得多,大都用来存放暂时未用到的程序和数据文件。CPU不能直接访问辅存,辅存只能与主存交换信息,因此辅存的速度可以比主存慢得多。辅
33、存与主存之间信息的调动均由硬件和操作系统来实现。为了解决对存储器要求容量大、速度快、成本低三者之间的矛盾,目前通常采用多级存储器体系结构,即使用高速缓冲存储器、主存储器和外存储器。,第三章嵌入式系统的存储器,3.1.2嵌入式系统存储器子系统的结构嵌入式系统的体系结构与通用计算机并无很大的不同,因此其存储器子系统的功能也无明显的区别,这决定了嵌入式系统的存储器子系统的设计指标和方法可以参考通用计算机技术。不过,它们之间也有一定的区别,主要体现在一下几个方面。(1)体积考虑,嵌入式系统由于体积的限制,尽量使用存储密度比较大的存储器芯片。(2)功耗考虑,设计嵌入式系统的存储系统时需要考虑功耗问题。(
34、3)成本考虑,大多数嵌入式系统的存储器容量与软件大小匹配。(4)使用嵌入式微控制器的嵌入式系统,由于微控制器上集成了存储器资源(ROM和RAM),因此有的系统可以不需要另外设计存储器子系统;有的需要扩展一部分存储器子系统,这时从成本控制上需要综合平衡。(5)如果嵌入式处理器上没有存储器,那么进行扩充时,通常需要扩充ROM子系统(用于存储程序)、RAM子系统(用于存储数据)和EEPROM子系统(用于存储配置数据和常数)。,第三章嵌入式系统的存储器,(6)嵌入式系统的存储器子系统通常设计成模块结构,包括ROM子系统、RAM子系统等,每个子系统占用一定的存储空间。(7)与通用计算机不同,嵌入式系统的
35、存储器通常与系统主板设计在一起,而不设计成所谓内存条形式,原因是一方面嵌入式系统的内存通常是固定大小的;另一方面,一体结构可以提高系统的可靠性,特别是工作在恶劣、移动环境中的设备更需要高的可靠性。(8)就整个存储器系统的空间分配而言,典型的存储器空间分配如图所示:,第三章嵌入式系统的存储器,(9)关于嵌入式处理器的中断向量表,有两种设计方案。一种方案是中断向量表或中断服务程序入口地址设置在ROM空间,一旦设置,运行中不再更改,大多数小规模的嵌入式系统可采取这种方法;另一种方案是把中断向量表设置在RAM空间,当执行ROM中的初始化代码时,由初始化程序填写中断向量,一些大型、复杂的应用通常采取这种
36、方法。3.2存储器的性能指标1、易失性:是区分存储器种类的重要特性之一。在嵌入式系统中,要求系统必须至少有一部分存储器是非易失性的,用于存放启动和初始化代码。ROM是非易失性的,RAM是易失性的。2、位容量:用大规模集成电路构成的半导体存储器件常用位容量来表示其存储能力。嵌入式系统应该尽量采用位容量高的器件。3、存取时间:是指存数的写操作和取数的读操作所占用的时间,一般以ns为单位。4、功耗:指每个存储单元所耗的功率,单位为。5、电源:指芯片工作时所需的电源电压种类。有的芯片只需要单一的+5V电源,而有的则需要多种电源才能工作,例如12V、5v等。6、带宽:指单位时间内存储器所存取的信息量,是
37、体现数据传输速率的技术指标。,第三章嵌入式系统的存储器,3.3存储器的分类嵌入式系统中使用的存储器类型主要包括:RAM、ROM、混合存储器、双端口存储器等。,第三章嵌入式系统的存储器,3.3.1随机存储器(RAM)随机存储器是指通过指令可以随机地、个别地对每个存储单元进行访问,访问所需时间基本固定且与存储单元地址无关的可以读/写的存储器。在RAM家族中有两种重要的存储元件:SRAM(静态RAM)和DRAM(动态RAM)它们之间的主要差别是存储于其中的数据的寿命长短。SRAM只要是芯片有电就会保留其中的内容,但如果切断了电源或者是暂时断电了,其中的内容就会永久丢失;DRAM只有极短的数据寿命,通
38、常不超过0.25s,即使是在连续供电的情况下也是如此。因此使用DRAM时,要配合DRAM控制器,对DRAM进行周期性刷新或再生。SRAM和DRAM的特点比较如下:(1)SRAM比DRAM速度快(2)工作时,SRAM比DRAM功耗大(3)DRAM的存储密度大于SRAM(4)DRAM需要周期性刷新,需要使用专用的DRAM控制器(5)关于价格,考虑到DRAM需要使用控制器的因素,小容量使用时,SRAM比较适宜;大容量是,DRAM比较经济。,第三章嵌入式系统的存储器,1、静态RAM,SRAM具有如图4种引脚:(1)是芯片使能端输入。低电平有效,时,SRAM的data引脚呈现高阻;时,SRAM的data
39、引脚使能,即呈现输入或输出状态。(2)控制当前操作是读还是写。读和写通常相对于CPU而言,读意味着从RAM读,写意味着写至RAM。(3)Adrs指明要访问的存储单元的地址,输入。(4)Data指数据传输的双向数据总线。读操作时,该引脚为输出;写操作时,该引脚为输入。,注:有的SRAM的读写使用两个控制引脚和。,第三章嵌入式系统的存储器,第三章嵌入式系统的存储器,2、动态RAM(DRAM)由于动态RAM工作时需要刷新,因此DRAM在使用时必须配合DRAM控制器。DRAM控制器是位于处理器和存储器芯片之间的一个芯片,其主要用途是:(1)执行DRAM的刷新操作使得DRAM中数据有效(2)处理器通过D
40、RAM控制器访问DRAM在存储系统中使用DRAM时,软件首先要做的就是初始化DRAM控制器。一般地,初始化代码通常用汇编语言编写,放置在硬件初始化模块里。,第三章嵌入式系统的存储器,(1):片选端,有效,选中该DRAM。(2):读写控制端,执行读操作;,执行写操作。(3):行地址选通信号,通常接地址的高位部分。(4):列地址选通信号,通常接地址的低位部分。(5):地址线的输入。(6):数据线,双向。,动态RAM的特点如下:(1)基本存储电路用电管线路组成。(2)集成度高。(3)比静态RAM的功耗低。(4)价格比静态RAM便宜。(5)因动态存储器靠电容来存储信息,由于电容总是存在有泄漏电流,故要
41、求有刷新电路的支持。注:设计嵌入式系统时,通常不使用分离的DRAM控制器,相反,嵌入式处理器上集成了DRAM控制器,因此在嵌入式系统中使用DRAM很方便。,第三章嵌入式系统的存储器,3、双端口RAM普通的RAM只有一个端口,即一组数据总线、控制总线和地址总线,只能接在一个处理器上。双端口RAM具有两个端口,即两套地址线、数据线、控制线、两个主设备(如处理器)可以分别接在两个不同的端口上,同时访问此芯片。双端口RAM通常应用于两个嵌入式处理器共享内存的应用系统。通过双端口RAM的使用,两个处理器之间进行通信时,不需要进行数据块的复制操作,效率非常高。,第三章嵌入式系统的存储器,4、如何选择RAM
42、?在设计嵌入式系统过程中,随机存储器目前有两种选择,即SRAM和DRAM.选择时,通常需要考虑下面的因素。(1)如果系统的随机存储器的容量不是很大,一般采用SRAM;反之,选择DRAM存储器。(2)对于嵌入式处理器而言,有的嵌入式处理器芯片本身集成了DRAM控制器,这时选择DRAM比较好。一般小规模的嵌入式系统不建议使用分离的DRAM控制器+DRAM的方案,因为这种方案一方面增加了系统的复杂性(电路板的面积、故障率等),另一方面也会增加系统的成本。(3)如果确实需要DRAM,那么尽量使用带有DRAM控制器的微处理器,然后配合使用DRAM。通常,高性能的32位及以上的嵌入式处理器大多集成了DRA
43、M控制器。而低端的单片机如8位单片机上没有集成DRAM控制器。(4)对于特别高速度的应用,可使用SRAM。8位单片机,通常使用SRAM。(5)如果嵌入式系统对功耗要求比较严格,可使用SRAM。因为DRAM需要时刻刷新消耗能量;而SRAM在系统进入待机方式时,只需要微笑的待机电流就可以维持数据不丢失。注意:SRAM的平均功耗低,但是工作时功耗不一定低。,第三章嵌入式系统的存储器,(6)复杂的嵌入式系统可以使用SRAM和DRAM混合设计的方案,不同速度要求的数据使用不同的随机存储器,满足整体系统的性价比的优化设计。(7)目前,多数基于32位嵌入式处理器的嵌入式系统一般会使用DRAM。(8)嵌入式系
44、统的设计在使用SRAM和DRAM的成本上,需要细致核算,并与整个系统的硬件一起进行核算,最终作出选择。(9)对于双端口RAM,目前价格比较高,通常应用于两个数据处理单元之间的高速数据共享。在决定选用哪一种类型的存储器时,系统设计者要考虑存取时间和成本。SRAM器件提供了极快的存取时间(大约比DRAM快4倍),但是大容量器件制造起来十分得昂贵。通常,SRAM只是用于那些存取速度极端重要的场合(如Cache)。在需要使用大容量的RAM的时候,DRAM将是一种很好的选择。很多嵌入式系统两种类型都包括:关键数据通道上的一小块SRAM(几百KB)和其他所有地方的一大块DRAM(以MB计)。,第三章嵌入式
45、系统的存储器,3.3.2只读存储器ROMROM存储器是按照向其中写入或更新数据的方法(通常叫作编程)及其可以重写的次数来区分的,其中包括不可擦除型(掩膜只读存储器ROM、可一次编程只读存储器PROM)、可擦除型(EPROM、EEPROM、Flash)。在嵌入式系统中,ROM主要用来存放引导程序bootloader、操作系统和开发好的应用程序。1、EPROMEPROM一般用在软件或系统开发阶段,一旦设计彻底完成,即可用掩膜型ROM或者PROM取而代之。,第三章嵌入式系统的存储器,2、EEPROM电擦除可编程ROM是一种用电信号编程也用电信号擦除的ROM芯片,它可以通过读/写操作进行逐个存储单元读
46、出和写入,且读/写操作与RAM存储器几乎没有什么差别,所不同的只是写入速度慢一些。断电后能保存信息。EEPROM从大方面分为并行和串行两种。除了可以用作程序存储器外,还可以用作常数存储器,系统参数存储器等,其在线电擦除和编程功能作为系统参数存储和修改很适宜。3、FLASHflash存储器又称闪存,结合了ROM和RAM的长处,不仅具备EEPROM的性能,还不会断电丢失数据,同时可以快速读取数据(读取,而不是写入),U盘和MP3里用的就是这种存储器。近年来flash存储器全面代替了ROM在嵌入式系统中的地位,用作存储引导加载程序以及操作系统或者程序代码或者直接当做硬盘使用。,第三章嵌入式系统的存储
47、器,FLASH的两种主要种类:NANDFLASH和NORFLASH。NORFLASH是在EEPROM的基础上发展起来的,其存储单元由N-MOS构成,而连接N-MOS单元的线都是独立的。NORFLASH的特点是可以随机读取任意单元的内容,适合程序代码的并行读写存储,所以常用于制作计算机的BIOS存储器和微控制器内部存储器等。NANDFLASH将几个N-MOS单元用同一根线连接,可以按顺序读取存储单元的内容,适合于数据或文件的串行读写存储。,第四章嵌入式系统的I/O模块,嵌入式处理器在功能上有别于通用处理器,其区别在于嵌入式处理器上集成了大量的I/O电路,用户在开发产品时,通常是根据自己的应用需求
48、选择带有满足需求的I/O模块的嵌入式处理器,而不是选择处理器另外配合I/O电路。嵌入式处理器几个典型的I/O电路和处理器的附属电路主要有:复位电路、振荡器电路、译码器、UART、SPI、A/D转换等。4.1复位电路嵌入式处理器的复位电路主要用于完成硬件的初始化。通常使用的复位电路有以下几种形式:阻容复位电路、手动复位电路、专用复位电路、软件复位和看门狗复位等。,第四章嵌入式系统的I/O模块,4.1.1阻容复位电路,复位脉冲的宽度与RC时间常数有关,具体参数选取需要符合处理器数据手册对复位脉冲宽度的要求。,第四章嵌入式系统的I/O模块,4.1.2手动复位电路,手动复位通常配合自动复位电路工作。即
49、把手动复位开关产生的复位信号接在复位电路上,而不是直接接在处理器的复位信号输入端上。复位开关通过复位电路产生复位信号的优点是信号的波形比较好,复位电路可以去掉开关的抖动。,第四章嵌入式系统的I/O模块,4.1.3看门狗复位如果嵌入式系统的工作环境比较恶劣,处理器运行过程中可能会出现死机和程序“跑飞”的情况,这时就需要使处理器强制复位。强制复位可以使用所谓的看门狗(Watchdog)复位电路。其原理是:正常工作的嵌入式系统程序中,设定每个确定的时间内必须运行其中的某一部分代码,如果在用户设定的最大时间内没有运行该部分代码,则认为系统出了问题,程序不正常运行,于是看门狗电路产生复位信号,使处理器强
50、制复位,系统从复位向量处重新运行。,第四章嵌入式系统的I/O模块,4.1.4专用复位电路专用复位电路可以把诸如电压监视、电池监视、看门狗定时器等的一些功能集成在一起,组成处理器监视电路。,第四章嵌入式系统的I/O模块,4.1.5软件复位软件复位需要处理器的支持,即处理器具有软件复位指令和相应的电路,并非所有的嵌入式处理器都支持软件复位功能。软件复位的方法是通过执行复位指令完成处理器的复位,其复位结果如同硬件复位一样。软件复位后,程序从复位向量处开始运行。需要指出的是,软件复位后转入执行0000H处的指令与在程序中直接跳转到0000H处的执行指令的结果是不同的。不同之处在于软件复位后,处理器的寄
51、存器也被初始化成默认状态;而直接跳转到0000H执行指令,不会初始化处理器的硬件寄存器。,第四章嵌入式系统的I/O模块,4.2系统时钟、嵌入式系统译码器时钟电路用于产生处理器工作的时钟信号。通用计算机可以使用分离的时钟电路,如IBMPC/XT,使用专用时钟芯片8284产生时钟信号。为了节省电路,嵌入式系统通常把时钟电路集成在处理器上,只需要外接晶体即可。通常嵌入式系统的时钟电路有以下几种形式:RC时钟、石英晶体、石英振荡器、锁相倍频时钟、多时钟源。译码器通常用于对存储器和I/O接口电路分配地址空间。译码器的设计方案有如下几种:(1)普通集成电路译码器,如74LS138、74LS154等。缺点:
52、译码电路的灵活性较差。(2)可编程器件译码器。(3)嵌入式处理器集成译码器。,第四章嵌入式系统的I/O模块,4.3I/O模块4.3.1I/O接口的基本结构I/O接口电路与处理器内核之间通过内部总线交换信息。按总线上传输的数据类型分类,内部总线可分为数据总线、地址总线和控制总线。I/O模块从编程结构上可分成数据输入寄存器、数据输出寄存器、控制寄存器、状态寄存器、模式寄存器等。,(1)模式寄存器:只写,用于设置I/O模块的工作方式。(2)控制寄存器:只写,用于控制I/O模块的工作。(3)状态寄存器:只读,处理器内核通过读取状态寄存器的内容,了解模块的工作状态。(4)数据输入寄存器:只读,处理器内核
53、读取该寄存器,输入外设的数据。(5)数据输出寄存器:只写,处理器内核写该寄存器,把数据输出给外设。(6)根据I/O模块的功能和种类的不同,上面的寄存器并非每个I/O模块均存在,功能复杂的I/O模块可能有更多的寄存器配合工作。,第四章嵌入式系统的I/O模块,4.3.2I/O接口的信号及其作用处理器与集成的外设之间的信息通常有3大类:1、数据信息处理器内核与I/O设备之间交换的基本信息是数据信息,数据信息以并行的方式在处理器的内部总线上传输。外部设备连接的数据类型很多,如模拟量等。这些信息经过接口的转换电路连接到处理器的内部总线上,在程序的控制下完成传输。2、控制信息控制信息是处理器内核传输给外设
54、的。处理器内核通过发送控制信息控制外设的工作,如外设的启动、停止信号。外设不同,控制信号的类型、功能和数量也不同。3、状态信息状态信息反映了外设的工作状态,是外设传输给处理器内核的信息。在嵌入式处理器中,反映数据信息、控制信息和状态信息的数据分别存放在相应的端口寄存器中。寄存器地址可以映射到处理器的内存地址或I/O空间。,第四章嵌入式系统的I/O模块,4.3.3寄存器地址的映射方式(重要)地址映射是为了保证CPU执行指令时可正确访问存储单元,需将用户程序中的逻辑地址转换为运行时由机器直接寻址的物理地址。,1、与存储器统一编址与存储器统一编址的方式:I/O处理器的地址位于存储器空间,把存储器空间
55、的一部分用于I/O空间,对于寄存器的访问使用与访问存储器相同的指令。这种映射方式有以下两种实现方案:(1)I/O地址空间与存储器地址空间地址重叠,寻址方法不同。(2)I/O空间与存储器空间统一编址,寻址方法相同。如ARM处理器。2、单独编址单独编址方式:设计了存储器地址空间和I/O地址空间,它们之间完全独立,对它们的访问采用不同的指令进行。,第四章嵌入式系统的I/O模块,4.4SPI接口模块SPI全称为串行外部设备接口,利用4条线完成2个芯片之间的全双工高速通信。其中,MOSI和MISO数据线用于收发数据,SPSCK时钟线用于同步,CS作为片选信号。,SPI系统提供了控制、状态和数据3个寄存器
56、。这些寄存器包括SPI控制寄存器SPCR、SPI状态控制寄存器SPSCR和SPI数据寄存器SPOR。相关寄存器位信息请自行查阅相关资料或芯片技术手册。,第四章嵌入式系统的I/O模块,4.5通用异步收发器(UART)UART是异步通信收发器的简称,遵守工业异步通信标准。异步通信允许处理器之间的通信不使用公共的参考时钟。通信的双方使用相同的波特率,数据发送和接收的单位是帧。帧由一系列在通信线上传输的位组成。一帧由一个开始(低电平)、多个数据位、停止位组成。串行通信口可传输7位、8位、9位数据位,可以包括奇偶校验位。UART接口常常用于主机与嵌入式开发板之间最初的调试信息通信。是嵌入式系统中最重要的
57、I/O接口。,第四章嵌入式系统的I/O模块,UART的主要功能有:(1)可进行传输波特率设定;(2)将接收到的串行数据变换为主机内部的并行数据;(3)把机内并行数据转换为输出串行数据;(4)设定数据传输的帧格式;(5)对输入/输出的串行数据流进行奇偶校验处理以及数据收发、缓冲处理等。,第四章嵌入式系统的I/O模块,基于ARM9内核架构的嵌入式处理器的S3C2410的通用异步接收/发送单元拥有3个SIO异步串行接口,每个单元都可以工作在中断模式以及直接存储存取模式(DMA),最大数据传输速率可以达到230.4kbps。如果外部设备提供一个时钟信号,使其可以工作在更高的通信数据传输速率。每个UAR
58、T通道都拥有两个16位的FIFO来接收和发送数据。另外,S3C2410处理器的UART支持可编程波特率、IR传输、1-2位停止位、5-8位数据宽度,同时支持奇偶校验。,第四章嵌入式系统的I/O模块,4.6并行接口并行接口简称“并口”。目前,计算机中的并行接口主要作为打印机端口。嵌入式处理器的通用并行接口提供输入、输出、双向功能。并口是指8位数据同时通过并行线进行传送,从而使数据传送速度大大提高,但并行传送的线路长度受到限制。因为长度增加,干扰会增加,数据也就容易出错。现在又5中常见的并口:4位、8位、半8位、ECP和EPP,大多数计算机配有4位或8位的并口。,第四章嵌入式系统的I/O模块,4.
59、7其他接口4.7.1通用串行总线(USB)接口在嵌入式系统中,最常见的串行总线扩展接口就是USB(universalserialbus),它是一种连接外围串行设备的技术标准。与个人计算机连接的数据传输速率远远超过RS-232接口。在USB的网络协议中,每个USB的系统有且只有一个主机(host),它负责管理整个USB系统,包括USB设备的连接与删除、主机与USB设备的通信、总线的控制等。USB以WDM(Windowsdrivermodel)规范为基础,支持同步数据传输方式和异步数据传输方式,其数据传输速率可达12Mbit/s,比标准串口快100倍,比标准并口快10倍。USB可以主动为外围设备提供电源。1999年初提出的USB2.0规范向下兼容USB1.1,数据的传输速率达到120-240Mbit/s,支持更快的Web访问技术以及各种各样的光介质和磁介质驱动器。USB技术当前的不足之处在于最大传输距离只有5m,不支持对等网络通信,不是真正的同步总线。,第四章嵌入式系统的I/O模块,4.7.2I2C总线接口I2C总线是由数据线SDA和时钟SCL构成的串行总线,可发送和接收数据。在CPU与被控IC之间、IC与IC之间进行双向传送,最高传送速率100kbit/s。总线上的每个电路和模块都有唯一的地址。CPU发出的控制信
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 语言引导目标检测算法研究
- 二零二五年度建筑防水系统设计施工合同2篇
- 现代农业产业园风险评估与应对措施
- 冶金行业业务员工作总结
- 应急响应机制的建立
- 餐饮服务行业员工激励策略
- 二零二五年度个人房地产居间佣金分配合同范本4篇
- 二零二五年度电子商务平台商铺入驻合作协议2篇
- 二零二五年度个人股份质押合同样本:有限责任公司股权融资专用2篇
- 部编版一年级语文下册第18课《棉花姑娘》精美课件
- 湖南高速铁路职业技术学院单招职业技能测试参考试题库(含答案)
- 英汉互译单词练习打印纸
- 2023湖北武汉华中科技大学招聘实验技术人员24人笔试参考题库(共500题)答案详解版
- 一氯二氟甲烷安全技术说明书MSDS
- 母婴护理员题库
- 老年人预防及控制养老机构院内感染院内感染基本知识
- SWITCH暗黑破坏神3超级金手指修改 版本号:2.7.6.90885
- 2023高考语文全国甲卷诗歌阅读题晁补之《临江仙 身外闲愁空满眼》讲评课件
- 物流签收回执单
- 钢结构厂房造价指标
- 安徽涵丰科技有限公司年产6000吨磷酸酯阻燃剂DOPO、4800吨磷酸酯阻燃剂DOPO衍生品、12000吨副产品盐酸、38000吨聚合氯化铝、20000吨固化剂项目环境影响报告书
评论
0/150
提交评论