嵌入式微处理器讲解_第1页
嵌入式微处理器讲解_第2页
嵌入式微处理器讲解_第3页
嵌入式微处理器讲解_第4页
嵌入式微处理器讲解_第5页
已阅读5页,还剩61页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第三节嵌入式系统处理器3.1处理器基本知识3.2处理器分类3.3嵌入式处理器的技术指标3.4选择原则3.5典型的嵌入式处理器3.6嵌入式微处理器调试方法3.1处理器基本知识3.1.1体系结构冯.诺依曼体系结构和哈佛体系结构冯.诺依曼体系结构:单一的存储空间,程序和数据都放在这一空间中,提取指令和数据是通过单一的总线进行。不能同时对程序和数据进行存取。memoryCPUPCaddressdataIRADDr5,r1,r3200200ADDr5,r1,r3PC哈佛体系结构:程序和数据有分离的存储空间,有多条总线,允许同时存取指令和数据。多数DSP处理器采用此结构,速度较快。CPUPCdatamemoryprogrammemoryaddressdataaddressinstruction3.1.2指令集RISC与CISC:CISC:ComplexInstructionSetComputer,复杂指令集计算机。RISC:ReducedInstructionSetComputer,精简指令集计算机CISCCISC:指令系统复杂,寻址方式多,指令多,每条指令的执行周期数不尽相同。统计表明:8.7%~30.3%的指令从来没用过,44.6%~87.8%的指令很少用。因此简化指令系统有利于提高整个系统的运行速度。RISC中心思想:简化硬件设计,硬件只执行很有限的最常用的指令,大部分复杂的操作使用成熟的编译技术,由简单指令合成。采用RISC可以以相对少的晶体管设计出较快的微处理器。RISC的特点1、采用精简的指令集,指令的长度一样,一个时钟周期内可以完成。2、指令流水线每执行一步需要一个周期,一条指令需要四个周期,但平均一条指令需要一个周期。3、采用加载(load)、存储(store)结构,只允许加载(load)、存储(store)指令执行存储器操作,其余指令均对寄存器操作,大大增加通用寄存器的数量以提高速度。4、编译优化RISC不常用的操作由软件来实现。因此RISC处理机更加依赖于好的编译器,同时也要依靠优化编译器。没有高时钟频率和好编译器的支持,RISC不可能很好地发挥优点。优点:指令精简,减少CPU内部的控制部件的复杂性,减少控制部分所占芯片的面积,降低功耗,指令流水线提高运行速度。缺点:模拟复杂指令代码长(30%),内存大。CISC与RISC:两者互相融合,各取所长。3.2处理器分类嵌入式微处理器一般具备4个特点:(1)对实时和多任务有很强的支持能力,能完成多任务并且有较短的中断响应时间,从而使内部的代码和实时操作系统的执行时间减少到最低限度;(2)具有功能很强的存储区保护功能,由于嵌入式系统的软件结构已模块化,为了避免在软件模块之间出现错误的交叉作用,需要设计强大的存储区保护功能,同时也有利于软件诊断;(3)可扩展的处理器结构,以能迅速地扩展出满足应用的高性能的嵌入式微处理器;(4)嵌入式微处理器的功耗必须很低,尤其是用于便携式的无线及移动的计算和通信设备中靠电池供电的嵌入式系统更是如此,功耗只能为mw甚至μw级。处理器分类:微控制器(MCU)、微处理器(MPU)MPU:Processor,主要完成对数据的运算和处理,注重于对数据的处理速度,常用的包括Intel的x86/Pentium系列和IBM/Motorola的部分PowerPC系列;MCU:Controller,内核与MPU类似,通常包括很丰富的外围接口,种类繁多,主要完成对系统的控制。嵌入式计算机的方式:(1)嵌入式通用计算机通用计算机、工控机;单板计算机:PC104.PC104PLUS、SBC(3.5”)。成本低、开发周期短、维护方便。(2)嵌入式专用计算机量身定做、优化性能。通常使用的处理器包括:通用微处理器、嵌入式微处理器、嵌入式微控制器、DSP以及SOC等。嵌入式专用计算机系统(1)通用微处理器:(2)嵌入式微处理器:处理能力、寻址能力较强,需扩展外围电路,通用性较强。“增强型”通用微处理器,由于嵌入式系统通常应用于环境比较恶劣的环境中,因而嵌入式微处理器在工作温度、电磁兼容性以及可靠性方面的要求较通用的标准微处理器高。80186国内机载设备,x86系列较多,应用中都需要较多的外围接口电路扩展,如Flash存储器、A/D.D/A等,增加成本,降低系统可靠性。另外由于x86是基于CISC指令集,需要较大的硅片,系统的功耗较大,通常300MHz的CPU就需要散热片,对于环境要求较高的机载设备增加散热片必然影响系统的可靠性。(3)嵌入式微控制器:51系列、96系列、68K系列、Microchip的PIC系列等,典型的嵌入式微控制器集成了CPU内核、中断控制器、定时器/计数器、存储器(RAM、FLASH等)以及其它外设。通常不需要扩展外部存储器。现在MCU主要有8位、16位和32位三种,其中8位MCU市场占有率达到近一半以上,而32位MCU的增长速度非常快。在大多数设备,控制规律较简单,选择8位的MCU较为合适,从CPU的集成度、开发工具、开发的复杂性等方面,都具有很大优势,特别是现在集成了各种外围接口,如Flash存储器、A/D.D/A等,完全满足一些较简单的控制系统的需求。8位微控制器的代表就是8051系列和摩托罗拉的68HC05系列。16位MCU:16位MCU与DSP的结合具有较广的应用。32位:较复杂的系统控制和系统综合处理机,Motorola的68K系列CPU,随后在其基础上推出了ColdFire系列,主要应用于消费类电子以及工业过程控制设备中。32位的ARM、PowerPC和MIPS。(4)DSP:为数字信号处理设计的处理器。定点DSP和浮点DSP。定点DSP完成定点运算,精度低、耗电低、成本低。适合低端市场,浮点DSP能处理浮点运算,计算能力强、成本高,高端市场。可以采用处理器+DSP的设计方法来结合两者的优点。dsp处理器经过单片化、emc改造、增加片上外设成为嵌入式dsp处理器在通用单片机或soc中增加dsp协处理器,例如intel的mcs-296和infineon(siemens)的tricore。(5)SoC:各种通用处理器内核将作为soc设计的标准库,用标准的vhdl、verlog等硬件语言描述,成为vlsi设计中一种标准的器件,存储在器件库中。用户只需定义出其整个应用系统,仿真通过后交给半导体工厂制作样品。针对特定应用而设计,如HDTV、ADSL、CableModem等,集成的资源比一般MCU更专业化,可以根据设计人员的要求来构建定制SoC,价格高于MCU。3.3嵌入式处理器的技术指标(1)功能:处理器的种类、外部接口的种类和数量,集成的多需要外围扩展的就少,可靠性高成本低。根据系统的需要尽量选择集成所需接口种类和数量的处理器。(2)字长:参与运算的数的基本位数,决定于寄存器、运算器和数据总线的宽度,直接影响硬件的复杂度。字长越长,包含的信息量越多,能表示的数据有效位数也越多,计算精度越高,而且处理器的指令可以较长,指令系统的功能就较强。通常有1、4、8、16.32、64位字长。(3)处理速度:现在通常采用在单位时间内各类指令的平均执行条数,即根据各种指令的使用频度和执行时间来计算。n为处理器指令类型数,为第i类指令在程序中的使用频度,为第i类指令的执行时间,为平均指令执行时间,其倒数就是处理器的运新高速度的指标,单位为MIPS。还有其它的方法衡量处理器的速度,如MFLOPS(每秒百万次浮点运算)、主频。(4)工作温度:商业级(0~55℃)、工业级(-40~85℃)、军用级(-55~125℃)、航天级(更宽),七专:专技;专料;专线;专人;专检;专卡(跟踪卡片);专筛。MIL-STD-883:(5)功耗:嵌入式处理器一般包含待机功耗和工作功耗,功耗与运行频率、电源电压都有关系,如mW/MHz。开关管的开关损耗。(6)寻址功能:与地址总线的宽度有关。对于集成了存储器的处理器意义不大。(7)其它:包括性价比、工艺等。3.4选择原则MCU选择主要应该考虑以下几点:⑴根据系统处理数据的主要类型来定CPU总线的位数,如果主要数据的位数大于8位,就应该选择16位或32位的CPU。如对信号采样时,A/D或D/A为12位的,如果采用8位的CPU,在输入或输出以及在中间的数据处理时都要进行数据的类型转换,影响程序运行效率。⑵对于工业应用来说,价格成本是影响CPU选型的另外的一个比较重要的原因,8位的MCU基本都在1美元以下,32位的CPU相对较贵。但是对于武器系统来说,通常供货稳定性和可靠性是选择的一个非常重要的原因,因为从武器设计到退役往往几十年,不仅要保证设计时能买到CPU,更要保证在设备维护时有相应的备件来替换。⑶开发工具的支持。开发工具在嵌入式系统的开发中具有重要地位,不仅影响开发的进度,而且直接关系到设备的性能,甚至项目的成败。⑷操作系统的支持。一般简单的机电系统应用不需要操作系统,直接采用汇编或C就可以编程,一般采用8位MCU就可以完成任务;而对于较复杂的应用,通常需要操作系统的支持。⑸代码的继承性往往决定了CPU的选择,在军用设备中,为了实现系统的可靠性以及研制周期,直接延用原来的CPU类型。⑹供应商的因素。由于功能的扩展,原来选择的CPU已经不能满足系统需求,供应商提供相应的升级替换CPU,并提供技术支持。3.5典型的嵌入式处理器Microchip公司PIC系列Philips公司:51LPC系列Motorola的MC68HC08系列MCS51系列AtmelAVR系列AMD80C18616位系列MotorolaMC68HC1216位系列MotorolaPowerPC/ColdFire32位系列ARM32位系列国产龙芯/方舟系列DSP概述FFT算法的出现和可编程数字信号处理器的引入加速了DSP的发展。AD公司:ADSP-21xx处理器,代码和引脚兼容的数字信号处理器家族,高达160MHz的工作频率和低至184uA的功耗。21xx系列产品包括适合蜂窝通信应用,2199x系列适合电机控制应用Motorola公司:DSP563xx、DSP58xxx、MCS7111.MCS81xx。TI公司:1982年推出第一个DSP,根据应用领域的不同,推出三个大平台。控制平台:TMS320C2000,C24x、C28x强大数据处理能力和控制能力,定点低功耗平台:TMS320C5000,C54x、C55x针对消费类数字市场,最低功耗0.33mA/MHz,移动电话、数码相机等。定点处理能力平台:TMS320C6000,C62x、C64x处理能力强,网络交换、图像处理、雷达信号处理等高端应用。定点/浮点TMS320C2000系列介绍TMS320F281x系统功能框图主频达到150MHz,低功耗支持JTAG边界扫描接口高性能32位CPU16x16位和32x32位乘法累加器/16x16位双乘法累加器哈佛总线结构快速中断响应和处理能力4MB的程序/数据寻址空间高效的代码转换功能(支持C/C++和汇编)与F240x和F24x系列代码兼容片上存储器Flash、ROM、OTPROM、SARAM(L0/L1/H0/M0/M1)、BootROM带软件启动模式、标准的数学表外部存储器扩展接口最多1MB寻址空间/可编程等待周期/可编程读写选择时序/3个独立片选信号时钟和系统控制支持动态改变锁相环的倍频系数片上振荡器看门狗定时模块三个外部中断外设中断扩展模块支持45个外设中断三个32位CPU定时器128位保护密码电机控制外设(PWM/定时器/事件捕获)串口通信外设12位ADC56个可配置GPIO先进的仿真调试功能(断点/硬件支持实时仿真)低功耗模式和省电模式宽温:−40°Cto85°C/−40°Cto125°CC281x的内核包括:中央处理单元CPU、测试单元和外设接口单元CPU:完成数据/程序存储器的访问地址的产生、译码和执行指令、逻辑操作、控制寄存器及数据/程序存储器之间的数据交换等操作。测试逻辑单元:监测、控制DSP的各部分的运行及其运行状态,方便调试。接口信号单元:是存储器、外设、时钟、CPU以及测试单元之间进行信号传输的通道。CPU包括:算术逻辑单元ALU:32位2的补码算术/布尔运算乘法器:32x32位的2的补码的乘法运算移位器:左/右移操作,最大16位寻址运算单元:数据存储器的寻址运算/地址产生独立寄存器空间:包括系统控制寄存器、算术寄存器和数据指针。带保护的流水线:防止同时对同一地址空间进行读写ARM简介1985年原形诞生在英国剑桥的Acorn公司90年代ARM32位嵌入式RISC处理器领先ARM处理器的特点:小体积、低功耗、成本低、高性能16位/32位双指令集全球众多合作伙伴(IP供应商,不生产)ARM的解决方案:开放平台:无线、消费电子和图像应用等嵌入式实时系统:自动化、工业、网络安全应用:智能卡、SIM卡等ARM当前有5个产品系列:ARM7、ARM9、ARM9E、ARM10、SecurCoreARM7:低功耗32位低端的ARM内核,适合对价位和功耗敏感的消费类应用,网络设备和移动电话ARM9:高性能、低功耗,PDA.高端打印机、智能计算机、机顶盒和仪器仪表等ARM9E:带DSP扩展等功能,与VFP9综合可为浮点运算提供硬件支持,适合海量存储、语音编码器、语音识别与合成等ARM10:比ARM9性能提高50%,与VFP9综合为浮点运算提供硬件支持,为数字机顶盒、智能电话、视频游戏机和高性能打印机等提供高级的整数和浮点运算能力。SecurCore:为安全而设计,具有特定的抗篡改特性,灵活的保护单元,以确保操作系统和应用数据的安全。3.6嵌入式微处理器调试方法基于主机的调试交叉调试片上调试3.6.1基于主机的调试方法在主机上调试程序,然后直接移植到目标系统运行或者移植到目标上与硬件联调,如PC104程序在PC机上调试。(1)主要基于C语言的可移植性,可以用C或C++编写,而且要考虑程序设计与硬件无关;(2)对于有些汇编语言可以通过指令集模拟器(InstructionSetSimulator,ISS)来运行,建立虚拟的处理器环境。指令模拟器(ISS),用软件来模拟处理器的硬件,包括指令系统、外部设备、中断、定时器等。用户开发的软件如同在目标系统的硬件上运行一样。软件仿真器的性能有差别。功能强大的软件仿真器能仿真处理器的细节,包括中断和外设等,能够仿真应用程序的个细节;简单的仿真软件至少能够仿真处理器的指令系统。有些软件仿真器提供了对指令执行时间的仿真,这样的仿真器使用的软件时钟有两种方式:一种是实时时钟,利用CPU的时钟运行嵌入式处理器的指令,只仿真指令的执行结果不仿真指令的执行时间;另外一种方式就是采用仿真时钟,用户可以设置仿真时钟与处理器的时钟相同,这样不仅仿真指令执行的结果,也可以仿真指令执行时间和软件执行时间。如ARM公司的AXD仿真器。高档的仿真器可以建立一个较大的实时系统模型,(ObjectTime公司的ObjectTime系统),它甚至能仿真不存在的硬件,因此开发者可以就一个硬件还没有开始设计的项目进行软件开发,并验证软件的正确性、实时性等。缺点:较慢10~100倍;只能仿真正确性、无法仿真与时序相关的错误;比较适合验证软件算法的正确性。3.6.2CrashandBurn1.编写代码2.反复的检查代码,直到编译通过3.将程序固化(即Burn)到目标机上的非易失性记忆体(如:EEPROM,FLASH等)4.观察程序是否正常工作,借助指示灯、显示器、声音等输出设备。5.如果程序不能正常工作(即Crash),反复检查代码,查找问题的根源6.改写代码7.重复3到6直到程序正常工作嵌入式系统的资源一般都很有限,一般都将调试器分成两部分,大部分都驻留在主机中,很小一部分在目标系统中,有时称为调试代理或称为monitor,两部分通过串口或网络接口进行连接。基本原理:高优先级中断,产生中断,运行中断服务程序,调试内核。3.6.3交叉调试ROMMonitor

是运行在目标机上的一段程序,负责监控目标机上被调试程序的运行,通常和HOST端的程序一起完成对应用程序的调试。ROMMonitor预先被固化到目标机的ROM空间,在目标机复位后首先执行,对目标机进行一些必要的初始化,然后初始化自己的程序空间,最后就等待HOST端的命令。ROMMonitor能完成程序的下载,目标机内存和寄存器的读写、设置断点、单步执行等功能。高级的ROMMonitor能完成代码分析、系统分析,以及设置各种非常复杂的断点等功能。缺点:(1)开发ROMMonitor的难度比较大。(2)当ROMMonitor占用CPU时,应用程序不响应外部的中断,因此不便于调试有时间特性的程序。(3)ROMMonitor要占用目标机一定数量的资源,如:CPU资源、RAM资源和通用设备(如:串口、网卡等)资源。(4)在调试时ROMMonitor己经为应用程序建立了运行环境,因此在一定程度上造成应用程序的最终运行环境和调试环境的差异,如:程序初始化部分的代码、内存空间分配等都与最终运行环境不同。ROMEmulator用RAM以及附加电路来仿真ROM,代替目标机上的ROM。因为ROMEmulator设备上的ROM芯片的地址可以实时的映射到目标机的ROM地址空间,从而仿真目标机的ROM。ROM仿真器的优点:可以缩短

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论