浙江大学嵌入式-嵌入式系统4课件_第1页
浙江大学嵌入式-嵌入式系统4课件_第2页
浙江大学嵌入式-嵌入式系统4课件_第3页
浙江大学嵌入式-嵌入式系统4课件_第4页
浙江大学嵌入式-嵌入式系统4课件_第5页
已阅读5页,还剩150页未读 继续免费阅读

下载本文档

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

文档简介

嵌入式处理器结构2005年3月一、概述

嵌入式系统的核心部件是各种类型的嵌入式处理器。嵌入式CPU具有处理速度快、I/O功能强、功率损耗低及实时响应快等特点。RISC(ReducedInstructionSetComputer)型处理器且有结构简单、处理速度快和处理功能强等优点,新型的嵌入式系统大多数都采用RISC型处理器作为核。ARM公司的ARM、Hitachi公司的SH、MIPS/LSILogic/IDT/Aldeny/Toshiba公司的MIPS和Motorola公司的M-Core等都是新型嵌入式系统常用的RISC型处理器。2二、ARM嵌入式CPU

ARM架构处理器已在高性能、低功耗、低成本的嵌入式应用领域占据领先地位。ARM公司是嵌入式RISC处理器的知识产权IP供应商它为ARM架构处理器提供了ARM处理器内核(如ARM7TDMI、ARM9TDMI、ARM10TDMI等)和ARM处理器核(ARM710T/720T/740T、ARM920T/922T/940T、ARM926E/966E及ARM1020E等)3ARM架构ARM架构自诞生至今,已经发生了很大的演变,至今已定义5种不同的版本V1版架构V2版架构V3版架构V4版架构V5版架构5V1版架构该版架构只在原型机ARM1出现过,其基本性能:基本的数据处理指令(无乘法)字节、半字和字的LOAD/STORE指令转移指令,包括子程序调用及链接指令软件中断指令寻址空间:64M字节(226)6V2版架构该版架构对V1版进行了扩展,如ARM2与ARM3(V2a版)架构,增加了以下功能:乘法和乘加指令支持协处理器操作指令快速中断模式SWP/SWPB的最基本存储器与寄存器交换指令寻址空间:64M字节7V4版架构V4版架构是目前应用最广的ARM体系结构,对V3版架构进行了进一步扩充,有的还引进了16位的Thumb指令集,使ARM使用更加灵活。ARM7、ARM8、ARM9和StrongARM都采用该版架构。指令集中增加了以下功能:符号化和非符号化半字及符号化字节的存/取指令增加了16位Thumb指令集完善了软件中断SWI指令的功能处理器系统模式引进特权方式时使用用户寄存器操作把一些未使用的指令空间捕获为未定义指令9V5版架构这是最近推出ARM架构,在V4版基本上增加了一些新的指令,ARM10和XScale都采用该版架构,这些新增指令有:带有链接和交换的转移BLX指令计数前导零CLZ指令BRK中断指令增加了信号处理指令(V5TE版)为协处理器增加更多可选择的指令10v6版架构2001年发布的增加了SIMD功能扩展适合使用电池供电的便携式设备SIMD功能扩展包括音频/视频处理在内的应用系统提供了优化功能可以使音频/视频处理性能提高4倍首先在2002年发布的ARM11处理器中使用11StrongARM架构主要特性StrongARM处理器核内核:SA-1、指令快存I-Cache:16K字节、数据快存D-Cache:8K字节、微小数据Cache:512字节、存储器管理单元IMMU和DMMU、读和写缓冲器存储器控制模块支持各种ROM、FLASH(闪存)、DRAM和SRAM、支持PCMCIA系统控制模块通用可中断GPIO:28根、看门狗定时计数器、间隔定时器、电源管理控制器、中断控制器、片上振荡器:2个(含锁相环)外围控制模块LCD液晶驱动控制器、串行接口UART、红外接口irDA、数字单频Codec接口目前,大量应用的是改进型SA-1110处理器。在SA-1100处理器基础上,增加了以下功能:DMA控制器:6通道,以提高LCD显示和I/O传送的效率实时时钟RTC串行外围接口SPISA-1110处理器已取代了SA-1100处理器,与其配套的SA-1111芯片,扩展了PS/2键盘与鼠标接口、USB的主机接口以及PCMCIA/CF接口。13四、XScale架构处理器

XScale架构处理器是新一代为无线手持式应用产品开发的嵌入式处理器,是PCA开发式平台架构中的应用子系统与通信子系统中的嵌入式处理器XScale微架构处理器的时钟可以达1GHz、功耗1.6W,并能达到1200MIPS。IOP310、IOP321、PXA210、PXA25X、PXA26X、PXA27X14XScale系统结构图

15XScale架构特点(二)数据存储器管理单元DMMU32路变换后备缓冲器TLB(快表)中断控制器总线控制器1G字节/秒、ECC协议调试(Debug)接口:性能监控:协处理器CP14、硬件断点、硬件观察点、BKPT指令、异常中断、JTAG接口、迹缓冲器17五、ARM系列简介32位cpu中领军芯片2001年,市场占有率75%知识供应商合作伙伴100多个18ARM特点内核耗电少,成本低,功能强特有16/32位双指令集全球众多的合作伙伴成为移动通讯,手持计算机,多媒体数字消费等嵌入式解决方案的RISC标准19ARM7系列系列产品ARM7TDMI:T:Thumb,D:debug,M:multiplier,I:嵌入式ICEARM7TDMI-S:synthesizable可综合ARM720TARM7EJ-最低功耗具有:嵌入式ICE-RT逻辑-硬件上提供片上断点与调试点支持非常低的功耗提供0.9MIPS/MHz的三级流水线和冯.诺依曼体系21ARM9系列系列产品ARM920T与ARM922TARM940T具有:5级流水线1.1MIPS/MHz的哈佛结构22ARM9E系列系列产品ARM966E-SARM946E-SARM926EJ-S提供DSP扩充嵌入式ICE-RT调试逻辑1.1MIPS/MHz的5级流水线和哈佛结构紧耦合存储器(TCM)接口,可使存储器以最高处理器速度运转,可直接连到内核上23SecurCoreSC100专为安全设计抗窜改(resisttampering)逆向工程(reverseengineering)保护机构-确保操作系统与数据安全25StrongARMIntelStrongARMSA-1100处理器兼容ARMv4体系具有intel体系结构的特点26芯片工艺0.18μm,0.13μm,0.25μm工艺29ARM特定功能的变种T变种(Thumb指令集):Thumb指令集严格控制产品成本比采用ARM指令更多的指令,不适合对时间要求苛刻的场合M变种(长乘法指令):增加了两条用于进行长乘法操作的ARM指令首先在ARM体系版本3引入,在ARM体系版本4之后,M变种成为系统的标准功能;E变种(增强型DSP指令):包含附加指令用于增强处理器对一些典型DSP算法的处理性能E变种首先在ARM体系版本5T中使用30J变种(Java加速器Jazelle):提供Java加速功能D变种(片内Debug):支持片内Debug调试;I变种(嵌入式ICE):集成嵌入式ICE宏单元;SIMD变种(ARM媒体功能扩展):高性能的音频/视频处理技术。31六、ARM体系结构简介1)、Thumb指令集的16位指令集32ARM指令集的子集代码密度高,性能高状态:ARM状态,Thumb状态每指令集都有:切换状态的指令322)寄存器37个寄存器寄存器分成可以重叠的组R13堆栈R14返回地址R15=PC333)ARM指令集32位长度字对准可以传送8bit,16bit,32bit符号/无符号数据344)Thumb指令集16位长度半字对准操作寄存器中是32bit数据访问和取指使用全32bit地址条件分支指令是唯一一句CPSR的Thumb指令大多数指令访问R0-R7355)ARM体系结构1)ARM体系结构的版本版本1~536ARMv1基本数据处理指令(不含乘法)字节、字、半字的load,store分支指令,包括子程序调用软件中断指令,进行操作系统调用26位寻址无使用,37ARMv2增加乘法,乘加协处理器支持快速中断中2个以上分组的寄存器称为SWP与SWPB的原子性加载与存储26位寻址不使用了38ARMv3寻址32位增加CPSR(CurrentProgramStatusRegister)增加SPSR(SavedProgramStatusRegister)增加访问CPSR与SPSR的指令修改了过去用于异常返回的指令的功能与26位寻址模式兼容39ARMv4半字load,store加载与进行字节和半字节带符号扩展在T变量中,一个转换到Thumb状态的指令使用用户模式寄存器的新的特权处理器模式不再要求与26位寻址模式兼容40ARMv5提高T变量中ARM/Thumb切换效率让非T变量同T变量一样,使用相同的代码生成技术增加一个计数前导零指令增加软件断点指令为协处理器设计者增加更多可选择指令对乘法如何设置标志严密定义412)ARM体系结构的变量A)Thumb指令集(T变量)Thumb指令集Thumbv1应用在ARMv4Thumbv2应用在ARMv542B)长乘法指令(M变量)ARM指令集的M变量包括4个附加指令完成32×32->64的乘法和乘加结果放在2个32位寄存器中43C)增强型DSP指令(E变量)完成DSP功能443)处理器模式处理器模式说明用户usr正常程序执行模式FIQfiq支持高速数据传输或通道处理IRQirq用于通用中断处理管理svc操作系统保护模式中止abt支持虚拟存储器和/或存储器保护未定义und支持硬件协处理器的软件仿真系统sys运行特权操作系统任务(ARMv4以上)45改变模式方法:软件控制外部中断异常处理通常在用户模式下不能访问被保护的系统资源一般不能改变模式异常发生可以导致模式改变46特权模式除了用户模式外的所有模式47异常模式FIQIRQ管理(Supervisor)中止(Abort)未定义(Undefined)由异常进入对应模式48系统模式不受限制的用户模式494)寄存器组织37个寄存器31个32bit通用寄存器6个32bit状态寄存器(实际只用12bit)每个模式下可见15个通用寄存器(R0-R14),1~2个状态寄存器,PC不同模式下的通用寄存器有所不同50通用寄存器分类R0-R14R0-R7:不分组寄存器任何模式下都可以访问,且映射固定寄存器R8-R14:分组寄存器不同模式映射不同物理寄存器51PCARM状态下:位[1:0]为0,位[31:2]为PCThumb状态:位[0]为0,位[31:1]为PC52CPSR1)条件码标记N:负数Z:为0C:进位V:溢出Q:增强型DSP的溢出标志NZCVQDNM(RAZ)IFTM4M3M2M1M0532)控制位I:禁止IRQ中断标记F:禁止FIQ中断标记T:T变量模式位M[4:0]10000:用户模式 10001:FIQ模式10010:IRQ模式 10011:管理模式10111:中止模式 11011:未定义11111:系统模式54Thumb状态的寄存器集可访问的寄存器集是ARM的子集8个通用寄存器R0-R7PC(R15)SP(R13)LR(R14)CPSR555)异常由内部、外部引起的事件7种异常复位,进入管理模式未定义指令:未定义模式软件中断(SWI):管理模式预取中止:中止模式数据中止:中止模式IRQ:IRQ模式FIQ:FIQ模式56异常的优先级优先级 异常1(最高) 复位2 数据中止3 FIQ4 IRQ5 预取中止6 未定义指令,SWI576)Thumb指令集与ARM指令集的区别分支语句数据传送指令单寄存器加载与存储指令多寄存器加载与存储指令没有协处理器指令没有信号量指令没有访问CPSR指令58分支指令向后转移条件下向前转移转向子程序从Thumb状态切换到ARM状态59数据处理指令操作的结果放第一个寄存器eg:R1=R1+R2数据处理操作少访问R8-R15受到限制60单寄存器load、store只访问R1-R761多寄存器load、storeLDMIAR3!,{R0-R7}STMIAR0!,{R6,R7}PUSH{R3,R5-R7}POP{R2,R5}627)流水线ARM7的三级流水线取指->译码->执行638)嵌入式ICE-RT逻辑在片调试支持调试通道DDC:(DebugcommunicationChannel)在目标机与宿主调试器之间传送信息JATG(JointTestActionGroup)可以通过JATG测试访问口进行控制可以设置DBGEN为低电平禁止ICE-RT649)存储系统增加控制cache与MMU操作的寄存器IDC操作(Instructionanddatacache)MMU中的可cache位是否可将正在读的数据放入IDCIDC使能,禁止,复位:操作控制寄存器65写缓冲(WB)ARM720T8字data4个独立地址三种操作:可缓冲的写非缓冲的写读-锁-写66MMU功能1。将虚拟地址翻译成物理地址2。控制存储器的访问权限67MMU硬件1。TLB2。访问控制逻辑3。变换表移动逻辑地址变换表4。增加的寄存器变换表基址寄存器,域访问控制寄存器,TLB操作寄存器,故障状态寄存器,故障地址寄存器682种页映射方式大页:64KB小页:4KB69IDC,WB,MMU->存储系统70不同系列的ARM内核差异详见各内核的说明书71七、ARMJTAG调试73几种常用的调试方法指令集模拟器一种利用PC机端的仿真开发软件模拟调试的方法。驻留监控软件驻留监控程序运行在目标板上,PC机端调试软件可通过并口、串口、网口与之交互,以完成程序执行、存储器及寄存器读写、断点设置等任务JTAG仿真器通过ARM芯片的JTAG边界扫描口与ARM核进行通信,不占用目标板的资源,是目前使用最广泛的调试手段在线仿真器使用仿真头代替目标板上的CPU,可以完全仿真ARM芯片的行为。但结构较复杂,价格昂贵,通常用于ARM硬件开发中74ARM的JTAG调试结构AngelJTAG75宿主机调试器宿主机调试器通过固定的协议控制下位机(协议转换器)。比如,SDT中通过Angel协议或者第三方调试器所提供的协议宿主机调试器只发送宏观的命令,比如:

程序运行、终止。读些内存、ARM寄存器等通讯的介质可以是串口、并口、以太网、USB等76JTAG与AngelJTAG调试:协议转换器解释上位机传送过来的命令,通过JTAG控制ARM执行。Angel调试:协议转换器可以直接做为目标板的Firmware的一部分。直接执行从宿主机传送过来的调试命令;并回送相应的数据。Angel可以节省专门的JTAG仿真器,但是,它需要软件,或者是嵌入式操作系统的支持,做不到完全的实时仿真。而JTAG仿真是通过硬件和控制ARM的EmbeddedICE实现的,可以做到实时仿真。77什么是JTAG?JTAG是JointTestActionGroup的缩写;

是IEEE1149.1标准JTAG的建立使得集成电路固定在PCB上,只通过边界扫描便可以被测试在ARM7TDMI处理器中,可以通过JTAG直接控制ARM的内部总线,IO口等信息,从而达到调试的目的78JTAG的典型接口TMS:测试模式选择(TestModeSelect),通过TMS信号控制JTAG状态机的状态TCK:JTAG的时钟信号TDI:数据输入信号TDO:数据输出信号nTRST:JTAG复位信号,复位JTAG的状态机和内部的宏单元(Macrocell)79JTAG的状态机(TAP)80JTAG链的组成81ARM7TDMI的JTAG标准链(1)82ARM7TDMI的JTAG标准链(2)ScanChain0:包括ARM核的所有的IO和总线的输入输出控制信号ScanChain1:包括ARM核的数据总线和一个断点控制信号。通过控制这个条链,可以控制ARM核执行指定的指令。ScanChain2:通过控制EmbeddedICE宏单元,实现对ARM执行指令的断点、观察点的控制83EmbeddedICE的结构84ARM7TDMI中断点的设置设置EmbeddedICE的两个watchpoint单元

主要包括:地址、数据、控制信号等当一个(或者两个)watchpoint中的地址(也可以包括数据)和ARM所执行的当前的指令相同的时候,ARM就从运行状态进入Debug状态85断点的类型硬件断点:在ARM中直接设定watchpoint中的地址,当ARM运行到制定的地址时,就进入Debug状态软件断点:改变存储器中的ARM指令为一个特殊的数据X(ARM的未定义指令),同时,设置watchpoint中的断点数据也为X,当ARM把X数据作为指令读入的时候,ARM就进入Debug状态86硬件断点和软件断点的优缺点硬件断点:数目受EmbeddedICE中的Watchpoint数目的限制;但是,可以在任何地方设置断点软件断点:数目不受限制,但是,软件断点是通过替换系统的断点地址的指令实现的,所以,软件断点只能在可写的存储器的地址中设置(比如:RAM),而不能在ROM(比如:Flash)中设置87八、ARM实例SamsungS3C44B0XARM体系结构的主要特征大量的寄存器,都可用于多种用途;Load-Store体系结构3地址指令(两个源操作数寄存器和结果寄存器独立设定)每条指令都条件执行包含非常强大的多寄存器Load和Store指令能在单时钟周期执行的单条指令内完成一项普通的移位操作和一项普通的ALU操作能过协处理器指令集来扩展ARM指令集,包括在编程模式下增加了新的寄存器和数据类型在Thumb体系结构中以高密度16位压缩形式表示指令集88SamsungS3C44B0XSamsungS3C44B0X微处理器是三星公司专为手持设备和一般应用提供的高性价比和高性能的微控制器解决方案,它使用ARM7TDMI核,工作在66MHZ。为了降低系统总成本和减少外围器件,这款芯片中还集成了下列部件:8KBCache、外部存储器控制器、LCD控制器、4个DMA通道、2通道UART、1个多主I2C总线控制器、1个IIS总线控制器,5通道PWM定时器及一个内部定时器、71个通用I/O口、8个外部中断源、实时时钟、8通道10位ADC等。89S3C44B0X体系结构:用于手持设备和通用嵌入式应用的完整系统;16/32位RISC结构和带ARM7DMICPU核的功能强大的指令集;Thumb协处理器在保证性能的前提下使代码密度最大;片上ICE中断调试JTAG调试方式328位硬件乘法器;

90系统管理:支持大/小端模式地址空间:每个Bank32MB(一共256MB);每个Bank支持8/16/32位数据总线编程;固定的Bank起始地址和7个可编程的Bank;1个起始地址和尺寸可编程的Bank;8个内存Bank::6个用于ROM、SRAM;2个用于ROM/SRAM/DRAM;所有内存Bank的可编程寻址周期;在能量低的情况下支持DRAM/SDRAM自动刷新模式;支持DRAM的非对称/对称寻址;91缓冲内存和内部SRAM4路带8K字节的联合缓存;不使用缓存的0/4/8K内容SRAM伪LRU(最近最少使用)的替代算法;通过在主内存和缓冲区内容之间保持一致的方式写内存;当缓冲区出错时,请求数据填充技术;

92时钟和能量管理l

低能耗;l时钟可以通过软件选择性地反馈回每个功能块l能量模式:u正常模式:正常运行模式;u低能模式:不带PLL的底频时钟;u休眠模式:只使CPU的时钟停止;u停止模式:所有时钟都停止;l

用EINT或RTC警告中断从停止模式唤醒93中断控制器l30个中断源(看门狗定时器,6个定时器,6个UART,8个外部中断,4个DMA,2个RTC,1个ADC,1个I2C,1个SIO;l矢量IRQ中断模式减少中断响应周期;l外部中断源的水平/边缘模式;l可编程的水平/边缘极性;l对紧急中断请求支持FIQ(快速中断请求);94带PWM的定时器l脉冲宽度调制l5个16位带PWM的定时器/1个16位基于DMA或基于中断的定时器;l可编程的工作循环,频率和极性l死区产生l

支持外部时钟源95实时时钟l全时钟特点:毫秒、秒、分、小时、天、星期、月、年l32.768KHz运行

CPU唤醒的警告中断时钟记号中断

96通用输入输出端口l8个外部中断端口l71个多路输入输出口;UARTl2个带DMA和中断的UART;l支持5位,6位,7位,8位串行数据传送/接收;l当传送/接收时支持双向握手l可编程波特率;l

支持IrDA1.0(115.2KBPS);l测试的循环返回模式;l每个通道有2个内部32位FIFO97DMA与A/DDMA控制器l

2路通用无需要CPU干涉的DMA控制器;l2路桥式DMA控制器;l采用6种DMA请求的桥式DMA支持IO到内存,内存到IO,IO到IO:软件,4个内部功能块(UART,SIO,实时器,IIS),外部管脚;lDMA之间可编程优先级次序;l突发传送模式提高到FPDRAM、EDODRAM和SDRAM的传送率;A/D转换l10位多路ADC;l最大500KSPS/10位;98LCD控制器

l支持彩色/单色/灰度LCD;l支持单扫描和双扫描显示;l支持虚拟显示功能l

系统内存作为显示内存l专用DMA用于从系统内存中提取图象数据;l可编程屏幕尺寸;l

灰度:16级l

256色99看门狗定时器与I2C总线接口l16位看门狗定时器;l定时中断请求和系统复位;l1个带中断的多主机I2C总线;l串行,8位,双向数据传送器能够以100KB/S的标准模式和400KB/S的快速模式传送100IIS总线接口l1个I带DMA的音频IS总线接口;l串行,每路8/16位数据传送器;支持MSB数据格式;

SIO(同步串行I/O)l

1个带DMA和中断的SIOl

可编程波特率;支持8位串行数据传送/接收操作

101操作电压范围内核:2.5V;I/O:3.0V到3.6V;运行频率最高到75MHz;封装160LQFP/160FBGA;102S3C44B0X微处理器体系结构框图103S3C44B0X微处理器管脚定义图104基于ARM的嵌入式硬件平台体系结构105S3C44B0X把外部复位信号,也作为一个中断来处理。在系统复位的时候,程序(PC)指针被设置成0,使程序跳转到0x00000000开始运行。此空间对应的是Bank0。因为在系统的1MB的线性Flash和处理器的Bank0相连接。在线性Flash里存储的是供系统的初始化的程序。此程序负责的配置处理器的结构、工作模式以及自动检测嵌入式控制器的各个硬件是否工作正常。此程序负责把存储在16MB的非线性处理器里面的system.bin文件复制到0xc5f0000地址(此地址是系统8MB的SDRAM的首地址)。引导程序把程序(PC)指针指向0xc000000地址,系统开始运行。system.bin是嵌入式操作系统引导的执行文件。编译以后的操作系统和应用程序就是这个文件。

106S3C44B0X存储系统的特征

支持数据存储的大/小端选择(通过外部引脚进行选择)地址空间:具有8个存储体,每个存储体可达32Mb,总共可达256Mb。对所有存储体的访问大小均可进行改变(8位/16位/32位)8个存储体中,Bank0-Bank5可支持ROM、SRAM;Bank6、Bank7可支持ROM、SRAM和FP/EDO/SDRAM等。7个存储体的起始地址固定,1个存储体的起始地址可变。

支持数据存储的大/小端选择(通过外部引脚进行选择)地址空间:具有8个存储体,每个存储体可达32Mb,总共可达256Mb。对所有存储体的访问大小均可进行改变(8位/16位/32位)8个存储体中,Bank0-Bank5可支持ROM、SRAM;Bank6、Bank7可支持ROM、SRAM和FP/EDO/SDRAM等。7个存储体的起始地址固定,1个存储体的起始地址可变。

107典型系统中存储体的分配情况存储体与存储体的接口Bank0BIOS512K×2FlashBank116MFlash硬盘Bank2USB接口Bank3LCD显示模块Bank4保留Bank5保留Bank6系统内存SDRAMBank7保留108复位后的S3C44B0X的存储器映射表109使用Bank0上的两片512Kb×2来放置系统BIOS,系统上电以后,PC指针自动指向Bank0的第一个单元,开始进行系统自举。系统自举完成以后,便从硬盘中将系统文件和用户应用程序复制到SDRAM内存中执行。Bank1上接16M非线性Flash,当做系统硬盘使用,可以构造文件系统,存放海量数据。用SDRAM当作系统内存,只有Bank6/Bank7能支持SDRAM,所以将SDRAM接在Bank6上。如果同时使用Bank6/Bank7,则要求连接相同容量的存储,而且其地址空间在物理上是连续的。110Bank0:系统的启动ROM(FlashRom)。在系统复位的时候,处理器的PC(程序计数器)指针指向0x0地址。在Bank0的起始地址的程序,就是系统的初始化程序。此程序的主要任务是:1、管理处理器的中断服务程序处理器的中断是从0x0地址开始,引导ROM负责把这一部分的中断映射到另一个区域,以便系统处理。具体的做法,可以参考44binit.s里面的代码。(这部分代码是三星主页可以提供,它把系统的中断,映射到了不同的指针所指向的地址空间(主要就是系统RAM的空间))。1112、初始化硬件平台,配置其他的BankS3C44B0X的Bank0是通过外部的一个管脚提供的上拉、下拉电阻来配置的。主要包括:数据位数(8位、16位、32位),数据格式(大端、小端)。而其他的Bank的配置,以及读写周期等信息是靠Bank0内部的代码配置相应的寄存器来实现的。同时,系统的引导Rom也负责配置系统的其他的一些寄存器,比如,系统的PLL(锁频环)配置,系统的IO口等一些端口功能的配置等等。1123、系统自动检测引导Rom负责检测系统的启动必须的外设是否正常。主要是系统的SDRAM的检测。4、系统的软件设置,更新系统(system.bin)用户可以在系统启动的时候,按任意键,进入系统的软件设置状态。通过引导Rom设置或者查看系统的一些软件信息。包括:通过开启USB端口,更新系统文件system.bin;LCD显示测试;演示程序的装载测试;键盘测试;触摸屏的坐标校准;触摸屏测试;以太网地址的设置等113实验系统的存储空间分配在系统引导的最后阶段,负责复制system.bin到系统的SDRAM中,然后,把PC指针指向SDRAM中程序的首地址,开始运行。Bank1:K9F2808(三星16MbyteFlash),非线性寻址,每次寻址需要3次写入8位地址线。具体的时序可以参考K9F2808的datasheetBank2:USBN9603。USB设备端接口芯片,占用系统外部中断0。8位数据总线。Bank3、Bank4未接设备。可以共扩展使用Bank5:RTL8019AS,ISA总线兼容的10M以太网(PHY+MAC层)控制芯片。占用系统外部中断1,16位数据总线114Bank6:SDRAM,起始地址为0xC000000。在SDRAM中,前512Kbyte的空间划分出来,作为系统的LCD显示缓冲区使用(更新其中的数据,就可以更新LCD的显示)。系统的程序存储空间从0xC080000开始。也就是,引导系统的时候,需要把system.bin文件复制到0xC080000开始的地址空间,把PC指针指向0xC080000。Bank7:未使用。可以扩展另一片SDRAM,或者其他的外设。系统的同步串行口(SIO),连接着触摸屏控制芯片FM7843(与ADS7843完全兼容)。在同步串行口上,还可以扩展其他的芯片。靠IO口控制设备的片选信号(CS)来防止设备的冲突。注:系统的扩展接口上,A0的标号,连接在S3C44B0X的ADDR1上,后面的地址依次向后错位。115九、MOTOROLA公司的龙珠MX1微处理器MC928MX1(以下简称MX1)摩托罗拉公司基于ARM核心的第一款MCU面向高端嵌入式应用龙珠微处理器已经应用在超过全球75%的个人数字助理设备(PDA)上基于PalmOS操作平台的产品上有卓越的表现116DragonBallMX系列作为DragonBall家族的后续产品提供了ARM9™微处理器内核和完整的系统功能个人移动产品设计,支持各种智能外设,配有高级处理核心和灵活的电源管理ARM920T™内核200MHz片上模块:LCD控制器,staticRAM,USB支持,A/D转换器、触摸屏控制器,MMC/SDhost控制器,片上蓝牙加速器MC9328MX1是第一个支持Bluetooth™技术的应用处理器,其蓝牙带宽处理功能已集成于处理器上的蓝牙加速器(BTA)与RF前端集成电路结合后,能够为PDA应用提共无缝的蓝牙解决方案。龙珠MX1能够在操作、休眠及停止状态下耗用最低能量。外围设备16灰度单色显示,彩色STN显示和彩色TFT显示的LCD控制器多媒体加速器(MMA)、多媒体卡(MMC)/安全数位(SD)/记忆棒界面、先进处理器核心及能源管理117MC9328MX1芯片主要优势低功耗稳定的系统设计多媒体加速功能蓝牙应用优化有效的在手持设备上增加无线应用服务适用各种终端设备如PDA和Smartphone等下一代无线通讯设备 118OS第一个通过PalmSource认证兼容任何PalmOS都可在运行支持PalmOS操作系统平台微软WindowsCE操作系统和PocketPCLinux操作系统SymbianEPOC技术119“龙珠”MXI的建议售价为19美元,最低订货量为10,000套。120外部连接两个必要的串行端口UART1和UART2能够执行高至1.875MHz的波特率并提供IrDA1.0支持一个32位FIFO-ON传输和32-位FIFO-ON接收决定了中断负载和CPU处理该类通信的速度。一个可配置的串行外部接口(CSPI)可被配置为主接口或从属接口执行高至16位的宽带数据传输传输接收都是高达16字节的FIFO最大时钟频率为24MHz121SSI/I2S(同步串行端口和Inter-IC声音)支持用于外部音频芯片或用于内部处理器机间通信的普通SSI端口还支持用于外部数字声频芯片接口、飞利浦标准的Inter-IC声音总线。122龙珠MX1的USB接口全速情况下(12MHz)符合通用串行总线规格1.1版,提供六个端点端点(0)可用于输入和输出,进行管理,得到32字节FIFO支持,因而确定了32字节的最大信息包尺寸。端点(1-5)用于单向通讯(可选择为进或出)端点(1-2)由64位FIFO支持,端点(3-5)与32字节FIFO连接端点(3-5)能够支持等时通讯导管端点(1-5)也支持控制,容积,和中断导管用户可培植的最大的信息包尺寸是8、16、32或64字节,只受片上缓冲器实际尺寸的限制当USB框架发生时,等时通讯导管产生中断信息包尺寸大小按通信性能的不同受到限制:用于等时端点的DMA接入受FIFO端点尺寸的限制下一个信息包仅在DMA服务于FIFO之后才能得到编程后的I/O能够支持从0到1023字节的任意大小的数据包USB芯片自己供给能量,从而不需要从相连的USB设备上吸收能量,但是在系统设计需要的情况下,它也能通过USB线缆获得能量。该智能卡接口模式(SIM)符合ISO7816智能卡接口标准具有16字节深的FIFO传送和32字节深的FIFO接收同时具有带中断功能的SIM卡识别特点。123龙珠蓝牙加速器(BTA)提供基带处理器还将一个跳跃频率选择协同处理器与传送接收缓冲器结合起来直接支持摩托罗拉、松下半导体和飞利浦半导体的外部蓝牙收发器还具有蓝牙应用计时器和低功耗管理能力的特点。124多媒体卡(Infineon规格)和安全数字(MMC/SD)主控制器磁心与2.2版本的MMC系统规格和1.0版本的SD存储卡规格相兼容。多媒体卡还利用1/4信道与SDI/O规格0.8e相兼容。该标准支持高达10个MMC卡和一个SD。对于单独的非混合MMC卡,Infineon规格达到30个单元。这个MMC/SD磁心支持热插拔卡功能,数据速度达20Mb/s至80Mb/s。索尼的存储标准-存储棒(MemoryStick)主控制器(MSHC)磁心提供了一个内置的8字节(4字组)FIFO缓冲,用于传输和接收、一个内置CRC电路、和一个通过阅读FIFO状态的DMA支持。该磁心的超时设置可以中断主处理器。它还具有检查插拔执行的检测和16位宽主总线接入的特点(不支持8位宽)。125硬件规格输入输出电压:1.62v~1.98v芯片电压:1.62v~1.98v256接脚PBGA,14mmx14mmx1.3mm;0.8点距关于MX1的详细资料,感兴趣的读者可以参考126龙珠MX1方块图127十、ARM芯片选择的一般原则ARM芯片有多达十几种的芯核结构70多家芯片生产厂家千变万化的内部功能配置组合开发人员如何选择方案?128(1)ARM芯核如果希望使用WinCE或Linux等操作系统以减少软件开发时间就需要选择ARM720T以上带有MMU(MemoryManagementUnit)功能ARM芯片,ARM720T、StrongARM、ARM920T、ARM922T、ARM946T都带有MMU功能ARM7TDMI没有MMU不支持WindowsCE和大部分的Linux,但目前有uCLinux等少数几种Linux不需要MMU的支持129(2)系统时钟控制器系统时钟决定了ARM芯片的处理速度ARM7的处理速度为0.9MIPS/MHz常见的ARM7芯片系统主时钟为20MHz-133MHzARM9的处理速度为1.1MIPS/MHz常见的ARM9的系统主时钟为100MHz-233MHz,ARM10最高可以达到700MHz不同芯片对时钟的处理不同只有一个主时钟频率芯片可能不能同时顾及UART和音频时钟的准确性如CirrusLogic的EP7312等;内部时钟控制器可以分别为CPU核和USB、UART、DSP、音频等功能部件提供不同频率的时钟如PHILIPS公司的SAA7550等芯片130(3)内部存储器容量在不需要大容量存储器时,可以考虑选用有内置存储器的ARM芯片芯片型号供应商FLASH容量ROM容量SRAM容量AT91F40162ATMEL2MBytes256Kbytes4KBytesAT91FR4081ATMEL1MBytes128KBytesSAA7750Philips384KBytes64KbytesPUC3030AMicronas256KBytes56KbytesHMS30C7202Hynix192KBytes

ML67Q4001OKI256KBytes

LC67F500Snayo640KBytes32K131(4)USB接口许多ARM芯片内置有USB控制器有些同时有USBHost和Slave控制器芯片型号ARM内核供应商USBSlaveUSBHostIIS接口S3C2410ARM920TSamsung121S3C2400ARM920TSamsung121S5N8946ARM7TDMIsamsung100L7205ARM720TLinkup110L7210ARM720TLinkup110EP9312ARM920TCirrusLogic031DragonballMX1ARM920TMotorola101SAA7750ARM720TPhilips101TMS320DSC2xARM7TDMITI100PUC3030AARM7TDMIMicronas105AAEC-2000ARM920TAgilent100ML67100ARM7TDMIOKI100ML7051LAARM7TDMIOKI100SA-1100StrongARMIntel100LH79531ARM7TDMISharp100GMS320C7201ARM720THynix101132(5)GPIO数量GPIO数量许多引脚是和地址线、数据线、串口线等引脚复用的在系统设计时需要计算实际可以使用的GPIO数量133(6)中断控制器ARM内核只提供快速中断(FIQ)和标准中断(IRQ)两个中断向量。各个半导体厂家在设计芯片时加入了自己不同的中断控制器,以便支持诸如串行口、外部中断、时钟中断等硬件中断合理的外部中断设计很大程度减少任务调度的工作量PHILIPS公司的SAA7750所有GPIO都可以设置成FIQ或IRQ,并且可以选择上升沿、下降沿、高电平、低电平四种中断方式。红外线遥控接收、指轮盘和键盘等任务都可以作为背景程序运行CirrusLogic公司的EP7312芯片只有4个外部中断源每个中断源都只能是低电平或者高电平中断接收红外线信号时,就必须用查询方式,会浪费大量的CPU时间134(7)IIS接口IIS(IntegrateInterfaceofSound)集成音频接口设计音频应用产品,IIS总线接口是必需的135(8)nWAIT信号外部总线速度控制信号不是每个ARM芯片都提供这个信号引脚利用这个信号与廉价的GAL芯片就可以实现与符合PCMCIA标准的WLAN卡和Bluetooth卡的接口,而不需要外加高成本的PCMCIA专用控制芯片当需要扩展外部DSP协处理器时,此信号也是必需的。136(9)RTC(RealTimeClock)很多ARM芯片都提供实时时钟功能,但方式不同。CirrusLogic公司的EP7312的RTC只是一个32位计数器,需要通过软件计算出年月日时分秒SAA7750和S3C2410等芯片的RTC直接提供年月日时分秒格式

137(10)LCD控制器有些ARM芯片内置LCD控制器,有的甚至内置64K彩色TFTLCD控制器。在设计PDA和手持式显示记录设备时,选用内置LCD控制器的ARM芯片如S1C2410较为适宜。138(11)PWM输出脉冲宽度调制(PWM)有些ARM芯片有2~8路PWM输出,可以用于电机控制或语音输出等场合。1139(12)ADC和DAC有些ARM芯片内置2~8通道8~12位通用ADC,可以用于电池检测、触摸屏和温度监测等PHILIPS的SAA7750更是内置了一个16位立体声音频ADC和DAC,并且带耳机驱动140(13)扩展总线大部分ARM芯片具有外部SDRAM和SRAM扩展接口不同的ARM芯片可以扩展的芯片数量即片选线数量不同,外部数据总线有8位、16位或32位。某些特殊应用的ARM芯片如德国Micronas的PUC3030A没有外部扩展功能141(14)UART和IrDA几乎所有的ARM芯片都具有1~2个UART接口,可以用于和PC机通讯或用Angel进行调试一般的ARM芯片通讯波特率为115,200bps少数专为蓝牙技术应用设计的ARM芯片的UART通讯波特率可以达到920Kbps,如Linkup公司的L7205。142(15)DSP协处理器芯片型号供应商DSPcoreDSPMIPS应用TMS320DSC2XTI16bitsC5000500DigitalCameraDragonBallMX1Motorola24bits56000

CD-MP3SAA7750Philips24bitsEPIC73CD-MP3VWS22100Philips16bitsOAK52GSMSTLC1502STD950

VOIPGMS30C3201Hynix16bitsPiccolo

STBAT75C220ATMEL16bitsOAK40IAAT75C310ATMEL16bitsOAK40x2IAAT75C320ATMEL16bitsOAK60X2IAL7205Linkup16bitsPiccolo

WirelessL7210Linkup16bitsPiccolo

wirelessQuatroOAK16bitsOAK

DigitalImage143(16)内置FPGA有些ARM芯片内置有FPGA,适合于通讯等领域。芯片型号供应商ARM芯核FPGA门数引脚数EPXA1AlteraARM922T100K484EPXA4AlteraARM922T400K672EPXA10AlteraARM922T1000K1020TA7S20系列TriscendARM7TDMI多种多种144(17)时钟计数器和看门狗

一般ARM芯片都具有2~4个16位或32位时钟计数器和一个看门狗计数器。

(18)电源管理功能

ARM芯片的耗电量与工作频率成正比,一般ARM芯片都有低功耗模式、睡眠模式和关闭模式。

(19)DMA控制器

有些ARM芯片内部集成有DMA(DirectMemoryAccess)可以和硬盘等外部设备高速交换数据,同时减少数据交换时对CPU资源的占用145还可以选择的内部功能部件有:HDLC,SDLC,CD-ROMDecoder,EthernetMAC,VGAcontroller,DC-DC。可以选择的内置接口有:IIC,SPDIF,CAN,SPI,PCI,PCMCIA。146封装ARM芯片现在主要的封装有QFP、TQFP、PQFP、LQFP、BGA、LBGA等形式BGA封装具有芯片面积小的特点,可以减少PCB板的面积,但是需要专用的焊接设备,无法手工焊接一般BGA封装的ARM芯片无法用双面板完成PCB布线,需要多层PCB板布线。147十一、多芯核结构ARM芯片的选择为了增强多任务处理能力、数学运算能力、多媒体以及网络处理能力,某些供应商提供的ARM芯片内置多个芯核,常见的有ARM+DSP,ARM+FPGA,ARM+ARM等结构

148(1)多ARM芯核为了增强多任务处理能力和多媒体处理能力,某些ARM芯片内置多个ARM芯核。例如Portalplayer公司的PP5002内部集成了两个ARM7TDMI芯核,可以应用于便携式MP3播放器的编码器或解码器。MinSpeed公司在其多款高速通讯芯片中集成了2~4个ARM7TDMI内核149(2)ARM芯核+DSP芯核为了增强数学运算功能和多媒体处理功能,许多供应商在其ARM芯片内增加了DSP协处理器。通常加入的DSP芯核有ARM公司的PiccoloDSP芯核、OAK公司16位定点DSP芯核、TI的TMS320C5000系列DSP芯核、Motorola的56KDSP芯核等。150(3)ARM芯核+FPGA为了提高系统硬件的在线升级能力,某些公司在ARM芯片内部集成了FPGA。151十一、主要ARM芯片供应商目前可以提供ARM芯片的著名欧美半导体公司有:英特尔、德洲仪器、三星半导体、摩托罗拉、飞利浦半导体、意法半导体、亿恒半导体、科胜讯、ADI公司、安捷伦、高通公司、Atmel、Intersil、Alcatel、Altera、CirrusLogic、Linkup、Parthus、LSIlogic、Micronas,SiliconWave、Virata、Portalplayerinc.、NetSilicon,Parthus。日本的许多著名半导体公司如东芝、三菱半导体、爱普生、富士通半导体、松下半导体等公司较早期都大力投入开发了自主的32位CPU结构,但现在都转向购买ARM公司的芯核进行新产品设计。由于它们购买ARM版权较晚,现在还没有可以销售的ARM芯片,而OKI、NEC、AKM、OAK、Sharp、Sanyo、Sony、Rohm等日本半导体公司目前都已经批量生产了ARM芯片。韩国的现代半导体公司也生产提供ARM芯片。国外也有很多设备制造商采用ARM公司

温馨提示

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

评论

0/150

提交评论