LPC系列ARM硬件结构与功能简介.pptx

上传人:莉*** 文档编号:77653028 上传时间:2023-03-16 格式:PPTX 页数:89 大小:620.29KB
返回 下载 相关 举报
LPC系列ARM硬件结构与功能简介.pptx_第1页
第1页 / 共89页
LPC系列ARM硬件结构与功能简介.pptx_第2页
第2页 / 共89页
点击查看更多>>
资源描述

《LPC系列ARM硬件结构与功能简介.pptx》由会员分享,可在线阅读,更多相关《LPC系列ARM硬件结构与功能简介.pptx(89页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、主要内容第一章 ARM及其体系结构简介第二章 LPC2000系列ARM简介第三章 LPC2000系列ARM硬件结构第1页/共89页第一章 ARM及其体系结构简介1.1 ARM公司简介1.2 ARM体系结构简介1.3 ARM处理器核1.4 处理器状态及模式第2页/共89页1.1 ARM简介ARM公司简介 ARM是Advanced RISC Machines的缩写,它是一家微处理器行业的知名企业,该企业设计了大量高性能、廉价、耗能低的RISC(精简指令集)处理器。公司的特点是只设计芯片,而不生产。它将技术授权给世界上许多著名的半导体、软件和OEM厂商,并提供服务。第3页/共89页1.2 ARM体系

2、结构简介ARM体系结构 ARM处理器为RISC芯片,其简单的结构使ARM内核非常小,这使得器件的功耗也非常低。它具有经典RISC的特点:大的、统一的寄存器文件;装载/保存结构,数据处理 操作只针对寄存器的内容,而不直接对存储器进行操作;简单的寻址模式;统一和固定长度的指令域,简化了指令的译码。第4页/共89页1.2 ARM体系结构简介ARM体系结构的特点:每条数据处理指令都对算术逻辑单元和移位器控制,以实现ALU和移位器的最大利用;地址自动增加和减少寻址模式,优化程序循环;多寄存器装载和存储指令实现最大数据吞吐量;所有指令的条件执行实现最快速的代码执行。第5页/共89页1.2 ARM体系结构简

3、介ARM体系结构版本 ARM体系结构从最初开发到现在有了巨大的改进,并仍在完善和发展。为了清楚的表达每个ARM应用实例所使用的指令集,ARM公司定义了5种主要的ARM指令集体系结构版本,以版本号V1V5表示。第6页/共89页1.2 ARM体系结构简介体系结构直接支持的数据类型ARM处理器支持下列数据类型:字节 8位半字 16位(必须分配为占用两个字节)字 32为(必须分配为占用4个字节)1112342第7页/共89页体系结构直接支持的数据类型注意:V4版本之后的ARM结构都支持这3种结构(包括V4版本),而以前的版本只支持字节和字;当数据类型定义为无符号型时,N位数据值使用正常的二进制格式表示

4、范围为02N-1的非负整数;当数据类型定义为有符号型时,N位数据值使用2的补码格式表示范围为-2N-1+2N-1-1的整数;1.2 ARM体系结构简介第8页/共89页体系结构直接支持的数据类型注意:所有数据操作,例如ADD,都以字为单位;装载和保存指令可以对字节、半字和字进行操作,当装载字节或半字时自动实现零扩展或符号扩展;ARM指令的长度刚好是1个字(分配为占用4个字节),Thumb指令的长度刚好是半字(占用2个字节)。1.2 ARM体系结构简介第9页/共89页1.3 ARM处理器核ARM处理器核简介 ARM公司开发了很多系列的ARM处理器核,目前最新的系列已经是ARM11了,而ARM6核以

5、及更早的系列已经很罕见了。目前应用比较广泛的系列是:ARM7ARM9ARM9EARM10SecurCoreXscale第10页/共89页1.3 ARM处理器核各系列ARM核应用领域ARM7系列广泛应用于多媒体和嵌入式设备,包括Internet设备、网络和调制解调器设备,以及移动电话、PDA等无线设备。ARM9系列主要应用于引擎管理、仪器仪表、安全系统和机顶盒等领域。ARM10由于其高性能的整型和浮点运算性能,可用于视频游戏机和高性能打印机等场合。SecurCore系列主要用于新兴的安全市场。Intel Xscale微控制器则提供全性能、高性价比、低功耗的解决方案。第11页/共89页1.3 AR

6、M处理器核ARM7TDMI简介 ARM7TDMI基于ARM体系结构V4版本,是目前低端的ARM核。具有广泛的应用,其最显著的应用为数字移动电话。注意:“ARM核”并不是芯片,ARM核与其它部件如RAM、ROM、片内外设组合在一起才能构成现实的芯片。第12页/共89页1.3 ARM处理器核ARM7TDMI简介 ARM7TDMI支持32位寻址范围,并弥补了ARM6不能在低于5V电源电压下工作的不足。ARM7TDMI的后缀意义为:支持高密度16位的Thumb指令集;支持片上调试;支持64位乘法;支持EmbededICE观察硬件;ARM7TDMI 的可综合(synthesizable)版本(软核),对

7、应用工程师来说其编程模型与ARM7TDMI 一致;ARM7 T D M I-S第13页/共89页1.3 ARM处理器核ARM7TDMI简介 ARM7TDMI处理器是ARM通用32位微处理器家族的成员之一。它具有优异的性能,但功耗却很低,使用门的数量也很少。它属于精简指令集计算机(RISC),比复杂指令集计算机(CISC)要简单得多。这样的简化实现了:高的指令吞吐量;出色的实时中断响应;小的、高性价比的处理器宏单元。第14页/共89页1.3 ARM处理器核三级流水线 ARM7TDMI处理器使用流水线来增加处理器指令流的速度。这样可使几个操作同时进行,并使处理和存储器系统连续操作,能提供0.9MI

8、PS/MHz的指令执行速度。ARM7TDMI的流水线分3级,分别为:取指译码执行第15页/共89页1.3 ARM处理器核三级流水线 正常操作过程中,在执行一条指令的同时对下一条指令进行译码,并将第三条指令从存储器中取出。这三条指令之间的位置关系如下表所示:流水线上各指令的地址流水线工位描述ARM指令集Thumb指令集PCPC取指指令从存储器中取出PC-4PC-2译码对指令使用的寄存器进行译码PC-8PC-4执行从寄存器组中读出寄存器,执行移位和ALU操作,寄存器被写回到寄存器组中第16页/共89页1.3 ARM处理器核存储器访问 ARM7TDMI处理器使用了冯诺依曼(Von Neumann)结

9、构,指令和数据共用一条32位总线。只有装载、存储和交换指令可以对存储器中的数据进行访问。数据可以是字节(8位)、半字(16位)或者字(32位)。第17页/共89页1.4 处理器状态及模式处理器状态 ARM7TDMI处理器内核使用V4T版本的ARM结构,该结构包含32位ARM指令集和16位Thumb指令集。因此ARM7TDMI处理器有两种操作状态:ARM状态:32位,这种状态下执行的是字方式的ARM指令;Thumb状态:16位,这种状态下执行半字方式的Thumb指令。注意:两个状态之间的切换并不影响处理器模式或寄存器内容。第18页/共89页1.4 处理器状态及模式处理器模式简介 ARM体系结构支

10、持7种处理器模式,分别为:用户模式、快中断模式、中断模式、管理模式、中止模式、未定义模式和系统模式,如下表所示。这样的好处是可以更好的支持操作系统并提高工作效率。ARM7TDMI完全支持这七种模式。第19页/共89页处理器模式说明备注 用户 (usr)正常程序工作模式不能直接切换到其它模式 系统 (sys)用于支持操作系统的特权任务等与用户模式类似,但具有可以直接切换到其它模式等特权 快中断 (fiq)支持高速数据传输及通道处理FIQ异常响应时进入此模式 中断 (irq)用于通用中断处理IRQ异常响应时进入此模式 管理 (svc)操作系统保护代码系统复位和软件中断响应时进入此模式 中止 (ab

11、t)用于支持虚拟内存和/或存储器保护在ARM7TDMI没有大用处 未定义 (und)支持硬件协处理器的软件仿真未定义指令异常响应时进入此模式1.4 处理器状态及模式处理器模式第20页/共89页1.4 处理器状态及模式特权模式处理器模式说明备注 用户 (usr)正常程序工作模式不能直接切换到其它模式 系统 (sys)用于支持操作系统的特权任务等与用户模式类似,但具有可以直接切换到其它模式等特权 快中断 (fiq)支持高速数据传输及通道处理FIQ异常响应时进入此模式 中断 (irq)用于通用中断处理IRQ异常响应时进入此模式 管理 (svc)操作系统保护代码系统复位和软件中断响应时进入此模式 中止

12、 (abt)用于支持虚拟内存和/或存储器保护在ARM7TDMI没有大用处 未定义 (und)支持硬件协处理器的软件仿真未定义指令异常响应时进入此模式 除用户模式外,其它模式均为特权模式。ARM内部寄存器和一些片内外设在硬件设计上只允许(或者可选为只允许)特权模式下访问。此外,特权模式可以自由的切换处理器模式,而用户模式不能直接切换到别的模式。未定义 (und)中止 (abt)管理 (svc)中断 (irq)快中断 (fiq)系统 (sys)第21页/共89页1.4 处理器状态及模式异常模式处理器模式说明备注 用户 (usr)正常程序工作模式不能直接切换到其它模式 系统 (sys)用于支持操作系

13、统的特权任务等与用户模式类似,但具有可以直接切换到其它模式等特权 快中断 (fiq)支持高速数据传输及通道处理FIQ异常响应时进入此模式 中断 (irq)用于通用中断处理IRQ异常响应时进入此模式 管理 (svc)操作系统保护代码系统复位和软件中断响应时进入此模式 中止 (abt)用于支持虚拟内存和/或存储器保护在ARM7TDMI没有大用处 未定义 (und)支持硬件协处理器的软件仿真未定义指令异常响应时进入此模式 未定义 (und)中止 (abt)管理 (svc)中断 (irq)快中断 (fiq)这五种模式称为异常模式。它们除了可以通过程序切换进入外,也可以由特定的异常进入。当特定的异常出现

14、时,处理器进入相应的模式。每种异常模式都有一些独立的寄存器,以避免异常退出时用户模式的状态不可靠。第22页/共89页1.4 处理器状态及模式用户和系统模式处理器模式说明备注 用户 (usr)正常程序工作模式不能直接切换到其它模式 系统 (sys)用于支持操作系统的特权任务等与用户模式类似,但具有可以直接切换到其它模式等特权 快中断 (fiq)支持高速数据传输及通道处理FIQ异常响应时进入此模式 中断 (irq)用于通用中断处理IRQ异常响应时进入此模式 管理 (svc)操作系统保护代码系统复位和软件中断响应时进入此模式 中止 (abt)用于支持虚拟内存和/或存储器保护在ARM7TDMI没有大用

15、处 未定义 (und)支持硬件协处理器的软件仿真未定义指令异常响应时进入此模式 这两种模式都不能由异常进入,而且它们使用完全相同的寄存器组。系统模式是特权模式,不受用户模式的限制。操作系统在该模式下访问用户模式的寄存器就比较方便,而且操作系统的一些特权任务可以使用这个模式访问一些受控的资源。系统 (sys)用户 (usr)第23页/共89页第二章 LPC2000系列ARM简介2.1 功能概述2.2 主要特性2.3 引脚配置第24页/共89页2.1 功能概述LPC2000系列微控制器概述 LPC2000系列微控制器基于ARM7TDMI-S CPU内核。支持ARM和Thumb指令集,芯片内集成丰富

16、外设,而且具有非常低的功率消耗。使该系列微控制器特别适用于工业控制、医疗系统、访问控制和POS机等场合。第25页/共89页器件型号引脚数片内RAM片内Flash10位AD通道数CAN控制器备注LPC21146416KB128KB4LPC21246416KB256KB4LPC221014416KB8带外部存储器接口LPC221214416KB128KB8LPC221414416KB256KB8LPC21196416KB128KB42LPC21296416KB256KB42LPC21946416KB256KB44LPC229014416KB82带外部存储器接口LPC229214416KB256KB

17、82LPC229414416KB256KB84LPC2131648KB32KB8LPC21326416KB64KB8带1路DACLPC21346416KB128KB双8路LPC21366416KB256KB双8路LPC21386432KB512KB双8路LPC2000系列器件信息第26页/共89页2.2 主要特性LPC2114/2124 LPC2114/2124 特性:-16/32位ARM7TDMI-S核,超小LQFP64封装;-16 kB片内SRAM;-128/256 kB片内Flash程序存储器,128位宽度接口/加速器可实现高达60 MHz工作频率;-可加密:全球首个实现可加密的ARM微

18、控制器;-通过片内boot装载程序实现在系统编程(ISP)和在应用编程(IAP)。-512字节行编程时间为1ms。单扇区或整片擦除时间为400ms;-Embedded ICE可实现断点和观察点。当使用片内RealMonitor软件对前台-任务进行调试时,中断服务程序可继续运行;-嵌入式跟踪宏单元(ETM)支持对执行代码进行无干扰的高速实时跟踪;第27页/共89页-4路10位A/D转换器,转换时间低至2.44s;-2个32位定时器(带4路捕获和4路比较通道)、PWM单元(6路输出)、实时时钟和看门狗;-多个串行接口,包括2个16C550工业标准UART、高速I2C接口(400 kHz)和2个SP

19、I接口;-通过片内PLL可实现最大为60MHz的 CPU操作频率;-向量中断控制器。可配置优先级和向量地址;-多达46个通用I/O口(可承受5V电压),9个边沿或电平触发的外部中断引脚;-片内晶振频率范围:1025 MHz;-2个低功耗模式:空闲和掉电;-通过外部中断将处理器从掉电模式中唤醒;-双电源-CPU操作电压范围:1.651.95 V(1.8 V 0.15 V);-I/O操作电压范围:3.03.6 V(3.0 V 10%),可承受5V电压。第28页/共89页2.3 引脚配置LPC2000系列芯片外形LPC2210/2212/2214LPC2114/2124第29页/共89页GPIOTX

20、D0PWM1输出P0.02.3 引脚配置引脚功能选择使用示例 LPC2000系列微控制器的引脚一般是多个功能复用,但是同一引脚在同一时刻只能使用其中一个功能,这可以通过设置PINSELx寄存器来选择,详细介绍见“引脚连接模块”小节。通过PINSEL0控制引脚功能第30页/共89页第三章 LPC2000系列ARM硬件结构3.1 硬件结构及功能简介3.2 存储器寻址3.3 系统控制模块3.4 存储器加速模块第31页/共89页3.1 3.1 硬件结构及功能简介第32页/共89页芯片内部框图LPC2000系列微控制器包含四大部分:ARM7TDMI-SCPUAHB To VPB桥EMCVICI2C串行接

21、口SPI串行接口UART0&1CAN看门狗定时器系统控制外部中断TIMER0/1ADC通用I/OPWM0实时时钟SRAMFlashAHB总线ARM7 局部总线系统功能ARM7TDMI-S CPUARM7局部总线及相关部件AHB高性能总线及相关部件VLSI外设总线及相关部件第33页/共89页芯片内部框图ARM7TDMI-SCPUAHB To VPB桥EMCVICI2C串行接口SPI串行接口UART0&1CAN看门狗定时器系统控制外部中断TIMER0/1ADC通用I/OPWM0实时时钟SRAMFlashAHB总线ARM7 局部总线系统功能LPC2000系列微控制器将ARM7TDMI-S配置为小端模

22、式(Little-endian)。ARM7TDMI-SCPUAHB外设分配了2M字节的地址范围,它位于4G字节ARM寻址空间的最顶端。每个AHB外设都分配了16KB的地址空间。EMCVICLPC2000系列微控制器的外设功能(除中断控制器)都连接到VPB总线。AHB到VPB的桥将VPB总线与AHB总线相连。VPB外设也分配了2M字节的地址范围,从3.5GB地址点开始。每个VPB外设都分配了16KB的地址空间。I2C串行接口SPI串行接口UART0&1CAN看门狗定时器系统控制外部中断TIMER0/1ADC通用I/OPWM0实时时钟AHB To VPB桥第34页/共89页芯片内部各单元简介ARM

23、7TDMI-SCPUAHB To VPB桥EMCVICI2C串行接口SPI串行接口UART0&1CAN看门狗定时器系统控制外部中断TIMER0/1ADC通用I/OPWM0实时时钟SRAMFlashAHB总线ARM7 局部总线系统功能SRAMFlash内部存储器包括无等待SRAM和Flash;外部存储器控制器(EMC)支持4个BANK的外部SRAM或Flash,每个BANK最多16MB;系统功能包括维持芯片工作的一些基本功能,如系统时钟、复位等;向量中断控制器(VIC)可以减少中断的响应时间,最多可以管理32各中断请求;I2C串行接口为标准的I2C总线接口,支持最高速度400kb;EMC系统功能

24、VICI2C串行接口第35页/共89页芯片内部各单元简介ARM7TDMI-SCPUAHB To VPB桥EMCVICI2C串行接口SPI串行接口UART0&1CAN看门狗定时器系统控制外部中断TIMER0/1ADC通用I/OPWM0实时时钟SRAMFlashAHB总线ARM7 局部总线系统功能具有两个完全独立的SPI控制器,遵循SPI规范,可配置为SPI主机或从机;具有两个UART接口,均包含16字节的接收/发送FIFO,内置波特率发生器。其中UART1具有调制解调器接口功能;在LPC2119/2129/2290/2292等芯片中包含CAN总线接口;看门狗定时器带有内部分频器,可以方便设置溢出

25、时间,在软件使能看门狗后只有复位可以禁止(具有调试模式);SPI串行接口UART0&1CAN看门狗定时器第36页/共89页芯片内部各单元简介ARM7TDMI-SCPUAHB To VPB桥EMCVICI2C串行接口SPI串行接口UART0&1CAN看门狗定时器系统控制外部中断TIMER0/1ADC通用I/OPWM0实时时钟SRAMFlashAHB总线ARM7 局部总线系统功能系统控制模块包括一些与其它外设无关的功能,如功率控制等;外部中断有4路多引脚输入,可用于CPU掉电唤醒;定时器0/1为两个独立的带可编程32位预分频器的32位定时器/计数器,具有捕获和匹配输出功能;具有4/8路10位ADC

26、,可以设置为多路循环采样模式。10位转换时间最短为2.44us;系统控制外部中断TIMER0/1ADC第37页/共89页芯片内部各单元简介ARM7TDMI-SCPUAHB To VPB桥EMCVICI2C串行接口SPI串行接口UART0&1CAN看门狗定时器系统控制外部中断TIMER0/1ADC通用I/OPWM0实时时钟SRAMFlashAHB总线ARM7 局部总线系统功能不同封装的芯片具有数目不等的IO口,它们可以承受5V电压。每个IO口可以独立设置为输入/输出模式,在作为输出模式时可以分别置位或清零;脉宽调制器可以灵活设置,以适应不同的场合。可以设置为单边沿或双边缘输出方式,可以灵活的设置

27、频率和占空比;实时时钟具有可编程的积存时钟分频器,以适应不同的晶振频率。带日历和时钟功能,提供秒、分、时、日、月、年和星期,同时具有非常低的功耗。通用I/OPWM0实时时钟第38页/共89页3.2 存储器寻址第39页/共89页3.2 存储器寻址地址空间0 xFFFFFFFF0 x00000000内部Flash0 x40000000内部SRAM0 x80000000外部存储器0 x7FFFE000Boot Block片外存储器片内存储器一个具体应用可能存在的物理存储器第40页/共89页256K16K3.2 存储器寻址不同芯片内部存储器分布16K128K16KLPC2210LPC2114/2212

28、LPC2124/2214片内Flash片内RAM 0 x000000000 x0001FFFF0 x0003FFFF0 x400000000 x40001FFF第41页/共89页3.2 存储器寻址片内Flash编程方法:JTAG串口1.通过内置JTAG接口;2.通过在系统编程(ISP),使用UART0通信;3.通过在应用编程(IAP);第42页/共89页3.2 存储器寻址片外Flash编程方法(LPC2200):在CPU上运行一个装载程序(Loader,一般由用户编写),该程序通过串口接收要烧写的数据,然后擦除编程Flash。串口Loder程序外部Flash第43页/共89页3.2 存储器寻址

29、片内SRAM的写操作 SRAM控制器包含一个回写缓冲区,它总是保存着软件发送到SRAM的最后一个字数据。该数据只有在软件请求下一次写操作时才写入SRAM。如果发生芯片复位,实际的SRAM内容将不会反映最近一次的写操作。?回写缓冲区内部SRAM写入地址写入A写入BAA写入AB第44页/共89页3.2 存储器寻址存储器映射基本概念 ARM处理器产生的地址叫虚拟地址,把这个虚拟地址按照某种规则转换到另一个物理地址去的方法称为地址映射。这个物理地址表示了被访问的存储器的位置。它是一个地址范围,该范围内可以写入程序代码。通过地址映射的方法将各存储器分配到特定的地址范围后,这时用户所看见的存储器分布为存储

30、器映射。第45页/共89页3.2 存储器寻址芯片复位后用户看见的地址空间128KB Flash(LPC2114/2212)256KB Flash(LPC2124/2214)16KB SRAM8KB BootBlock2MB VPB 外设2MB AHB 外设0 x000000000 xFFFFFFFF保留给片内存储器使用保留给片内存储器使用保留给外部储器使用0 x400000000 xE00000000 x800000000 xF00000000 x00020000地址空间第46页/共89页3.2 存储器寻址AHB和VPB AHB(先进的高性能总线)和VPB(VLSI外设总线)外设区域都为2M字

31、节,可各分配128个外设。每个外设空间的规格都为16K字节,这样就简化了每个外设的地址译码。注意:AHB和VPB外设区域中不管是字还是半字,都是一次性访问。例如不可能对一个字寄存器的最高字节执行单独的读或写操作第47页/共89页3.2 存储器寻址外设存储器映射VPB 外设AHB 外设保留3.5GB3.5GB+2MB4.0GB-2MB地址空间4.0GB0 xE00000000 xE00000000 xFFE000000 xFFE00000VPB 外设AHB 外设均为12816KB(2MB)范围第48页/共89页3.2 存储器寻址AHB外设映射AHB 外设126地址空间0 xFFE000000 x

32、FFE040000 xFFFF40000 xFFFF8000AHB 外设125AHB 外设0AHB 外设10 xFFFFF0000 xFFFFC000向量中断控制器AHB 外设127第49页/共89页3.2 存储器寻址VPB外设映射VPB 外设3地址空间0 xE00000000 xE00040000 xE00080000 xE000C000VPB 外设2VPB 外设0VPB 外设10 xE01FC000VPB外设127看门狗定时器定时器0系统控制模块定时器1UART 0第50页/共89页3.2 存储器寻址Boot lock的映射地址安排 为了兼容将来的器件,整个Boot Block被映射到片内

33、存储器空间的顶端。所以将来的芯片内置不同的RAM和FALSH都不会影响Boot Block的位置。地址空间FlashSRAMBoot BlockAHB&VPB映射位置固定在内部存储器顶端RAM和Flash 的变化不会影响BootBlock的位置SRAMFlash0 x80000000第51页/共89页3.2 存储器寻址存储器重新映射 存储器重新映射是将复位后用户所见的存储器中部分区域,再次映射到其它的地址上。对于Philips的LPC系列ARM微控制器,存储器重新映射区域一共为64字节,分别为异常向量区(32字节)和紧随其后的32字节。存储器重新映射的方法允许在不同模式下处理中断,重新映射的存

34、储器区域在地址0 x000000000 x0000003F处。第52页/共89页3.2 存储器寻址使用存储器重新映射的原因使Flash存储器中的FIQ处理程序不必考虑因为重新映射所导致的存储器边界问题用来处理代码空间中段边界仲裁的SRAM和Boot Block向量的使用大大减少为超过单字转移指令范围的跳转提供空间来保存常量第53页/共89页3.2 存储器寻址预取指中止和数据中止异常 如果试图访问一个保留地址或未分配区域的地址,ARM处理器将产生预取指中止或数据中止异常。第54页/共89页3.2 存储器寻址预取指中止和数据中止异常这些区域分别为:FlashSRAMBoot BlockVPB地址空

35、间AHB1.特定的ARM器件所没有的存储器映射区域;2.AHB外设空间中未分配的区域;3.VPB外设空间中未分配的区域。第55页/共89页3.2 存储器寻址预取指中止和数据中止异常注意:只有在试图执行从非法地址取指的指令时,ARM才会将预取指中止标志与相关的指令(没有意义的指令)一起保存到流水线并对中止进行处理。当代码在非常靠近存储器边界执行时,防止了由预取指所导致的意外中止。第56页/共89页3.2 存储器寻址预取指中止和数据中止异常举例指令流水线指令C指令B指令A存储器无效区域取指译码执行指令C指令B指令A取指译码执行存储器程序 存储器第N次取指第57页/共89页第N+1次取指3.2 存储

36、器寻址预取指中止和数据中止异常举例指令流水线指令C指令B指令A存储器无效区域取指译码执行指令C指令B指令A无效指令指令C指令B取指译码执行存储器程序 存储器第58页/共89页第N+2次取指3.2 存储器寻址预取指中止和数据中止异常举例指令流水线指令C指令B指令A存储器无效区域取指译码执行指令C指令B指令A无效指令指令C指令B取指译码执行无效指令无效指令指令C存储器程序 存储器第59页/共89页3.2 存储器寻址预取指中止和数据中止异常举例指令流水线指令C指令B指令A存储器无效区域取指译码执行指令C指令B指令A无效指令指令C指令B取指译码执行无效指令无效指令指令C无效指令无效指令无效指令存储器程

37、序 存储器 第N+3次取指,此时流水线的执行级执行了无效指令,发生预取指中止。如果指令C为跳转指令则可以避免预取指中止的发生。第60页/共89页3.3 系统控制模块系统控制模块概述 系统控制模块包括一些系统构件和控制寄存器,它们具有众多与芯片内其它外设无关的功能。系统控制模块包括:系统时钟单元、复位、外部中断输入、存储器映射控制、功率控制和唤醒定时器。第61页/共89页系统时钟系统时钟概述ARM7核桥外设时钟产生FCCLKFPCLKFOSCCPU时钟结构第62页/共89页系统时钟时钟产生单元 时钟产生单元包括晶体振荡器、锁相环振荡器(PLL)和VPB分频器。PLL晶体振荡器VPB分频器FCCL

38、KFPCLKFOSC第63页/共89页系统时钟锁相环(PLL)由晶体振荡器输出的时钟信号,通过PLL升频,可以获得更高的系统时钟(CCLK)。PLL接受的输入时钟频率范围为1025MHz,通过一个电流控制振荡器(CCO)倍增到1060MHz。PLL晶体振荡器VPB分频器FCCLKFPCLKFOSC10MHz25MHz10MHz60MHzPLL第64页/共89页PLL内部结构相位频率检测CCO102P分频M分频0101FOSCFCCOFCLK晶体振荡器输入时钟对输入的两路时钟信号进行相位频率检测,将两者差值以电流形式输出电流控制振荡器,根据输入电流控制振荡频率对输入时钟分频输入时钟 2选1开关第

39、65页/共89页系统时钟VPB分频器 VPB分频器将PLL输出的时钟信号分频后作为芯片外设的时钟。PLL晶体振荡器VPB分频器FCCLKFPCLKFOSCVPB分频器第66页/共89页复位复位的分类外部复位把nRESET引脚拉为低电平,并保持一个最小时间,引发复位看门狗复位通过设置看门狗相关寄存器,当看门狗定时器溢出后,引发复位第67页/共89页复位复位后的系统状态 芯片被复位后,处理器和外设寄存器都恢复为默认状态。程序计数器(PC)值为0,即CPU复位后运行的第一条代码位于0 x00000000处。此时位于该地址的程序并不位于片内Flash,而是来自Boot Block的异常向量表的重新映射

40、。通过异常向量表的复位异常入口,程序跳转至Boot Block中执行Boot程序。第68页/共89页外部中断外部中断 外部中断是通过引脚输入符合要求的信号而触发的中断。LPC2114/2124/2212/2214含有4个外部中断输入(作为可选引脚功能,通过PINSEL0/1寄存器设置相应管脚为外部中断功能)。外部中断输入可用于将处理器从掉电模式唤醒。第69页/共89页管脚连接控制外部中断极性控制外部中断方式控制掉电唤醒控制中断标志CPU其它部件PINSELxEXTPOLAREXTMODEEXTINTEXTWAKE外部中断外部中断内部示意图2.控制某几个引脚作为外部中断输入;管脚连接控制1.可作

41、为外部中断输入的引脚;外部中断极性控制外部中断方式控制掉电唤醒控制中断标志3.控制触发外部中断的信号波形;4.控制外部中断产生后是否唤醒CPU;5.外部中断产生后设置的标志位;(2)(1)(3)(3)(4)(5)第70页/共89页存储器映射控制存储器映射控制的作用 “存储器映射控制”用于控制地址范围为0 x0000 0 x003F存储区域的重新映射。该区域存放着异常向量表。第71页/共89页内核执行的异常向量表地址范围地址转换器物理存储器的地址空间内核与物理存储器的关系存储器映射控制原理第72页/共89页1.内核产生地址2.经过地址转换器3.映射到物理存储器地址存储器映射的流程存储器映射控制原

42、理第73页/共89页功率控制功率控制描述 LPC2114/2124/2210/2212/2214支持两种节电模式:空闲模式和掉电模式。另外还具有外设的功率控制特性,允许独立关闭应用中不需要的外设,这样可以进一步降低功耗。第74页/共89页功率控制功率控制空闲模式 在该模式下,内核停止执行指令,直到发生复位或中断为止,但系统时钟CCLK一直有效。外设功能在空闲模式下继续保持并可产生中断使处理器恢复运行。空闲模式使处理器、存储器系统和相关控制器以及内部总线不再消耗功率。第75页/共89页功率控制功率控制掉电模式 在该模式下,振荡器关闭,这样芯片没有任何内部时钟。处理器状态和寄存器、外设寄存器以及内

43、部SRAM值在掉电模式下被保持。芯片引脚的逻辑电平保持掉电时的状态。复位或特定的不需要时钟仍能工作的中断可终止掉电模式并使芯片恢复正常运行。由于掉电模式使芯片所有的动态操作都挂起,因此芯片的功耗降低到几乎为零。第76页/共89页唤醒定时器唤醒定时器用途 唤醒定时器的用途:当给芯片复位或某个事件将处理器从掉电模式唤醒时,需要唤醒定时器来确保振荡器和芯片所需要的其它模拟电路在处理器开始执行指令之前能够正确工作。唤醒定时器的工作完全由硬件控制,不需要用户干预。第77页/共89页3.4 存储器加速模块(MAM)第78页/共89页3.4 存储器加速模块(MAM)概述 LPC2114/2124/2210/

44、2212/2214微控制器的ARM内核工作在最高频率60MHz时,执行一条指令约为17ns。而Flash存储器的访问周期需要50ns,即最高频率20MHz。所以如果将代码存放在Flash中,将影响ARM内核发挥最大效能。为了能将指令从内部Flash存储器更高效快速地提取到ARM内核,而设计产生了一个存储器加速模块(MAM)。第79页/共89页分支跟踪缓存分支跟踪缓存总线接口Flash存储器组0Flash存储器组1预取指缓存预取指缓存数据缓存区选择ARM局部总线2128位2128位MAM结构使能MAM模块后,ARM内核将通过MAM模块访问Flash存储器。Flash存储器组0Flash存储器组1

45、分支跟踪缓存分支跟踪缓存预取指缓存预取指缓存数据缓存区选择总线接口第80页/共89页MAM结构Flash存储器被分为两组,当CPU执行其中一组Flash内的指令时,另一组进行读取缓存操作。使能MAM模块后,ARM内核将通过MAM模块访问Flash存储器。每个Flash组包含预取指缓存和分支跟踪缓存。分支跟踪缓存分支跟踪缓存总线接口Flash存储器组0Flash存储器组1预取指缓存预取指缓存数据缓存区选择ARM局部总线2128位2128位MAM模块中的数据总线宽度为128位,所以一次读取操作可以读出4条ARM指令或8条Thumb指令。分支跟踪缓存预取指缓存分支跟踪缓存Flash存储器组1预取指缓

46、存分支跟踪缓存预取指缓存分支跟踪缓存预取指缓存Flash存储器组0分支跟踪缓存分支跟踪缓存预取指缓存预取指缓存第81页/共89页分支跟踪缓存分支跟踪缓存MAM结构总线接口Flash存储器组0Flash存储器组1预取指缓存预取指缓存数据缓存区选择ARM局部总线当程序向前跳转时,尝试从预取指缓存区取指。2128位2128位如果程序跳转出缓存的范围,CPU将要停止,等待若干个周期,直到正确的指令从Flash中被读出。当程序向后跳转时,尝试从分支跟踪缓存区取指。预取指缓存区保存有将要执行的指令。而分支跟踪缓存区保存有程序跳转后可能执行到的指令。第82页/共89页分支跟踪缓存分支跟踪缓存MAM结构总线接

47、口Flash存储器组0Flash存储器组1预取指缓存预取指缓存数据缓存区ARM局部总线2128位2128位Flash中除了存储指令之外,还可用来存储不修改或者很少修改的数据,所以在MAM模块中设计有数据缓冲区。数据缓存区可以提高顺序读取数据的操作速度。但是对随机读取操作几乎没有加速效果。数据缓存区Flash编程由另一个独立的模块完成,Flash在进行编程操作时禁止访问。在编程操作结束后,缓存区的数据将自动失效,可以避免读取到无效的数据。选择第83页/共89页3.4 存储器加速模块(MAM)存储器加速模块寄存器描述MAM控制寄存器(MAMCR):MAMCR1:0:用于MAM的模式控制,具体关系如

48、下表。位7654321:0功能模式控制MAMCR1:0描述00禁止MAM功能01部分使能MAM功能10完全使能MAM功能11保留第84页/共89页3.4 存储器加速模块(MAM)存储器加速模块寄存器描述MAM定时寄存器(MAMTIM):MAMTIM2:0:决定使用多少个CCLK周期访问Flash存储器,这样可以调整MAM时序使其匹配处理器操作频率,具体关系如下表。位765432:0功能取指周期控制MATIM2:0描述MATIM2:0描述000保留100取指周期为4个CCLK001取指周期为1个CCLK101取指周期为5个CCLK010取指周期为2个CCLK110取指周期为6个CCLK011取指

49、周期为3个CCLK111取指周期为7个CCLK第85页/共89页3.4 存储器加速模块(MAM)存储器加速模块寄存器描述MAM定时寄存器(MAMTIM):MATIM2:0描述MATIM2:0描述000保留100取指周期为4个CCLK001取指周期为1个CCLK101取指周期为5个CCLK010取指周期为2个CCLK110取指周期为6个CCLK011取指周期为3个CCLK111取指周期为7个CCLK 当访问周期设置为1个CCLk时,实际上关闭了MAM,但是仍可以选择MAM模式对功耗进行优化。注意:不正确的设定会导致器件的错误操作第86页/共89页3.4 存储器加速模块(MAM)MAM使用要点当改

50、变MAM定时值时,必须先将MAMCR设置为0关闭MAM,然后将新值写入MAMTIM。最后将需要的操作模式的对应值(1或2)写入MAMCR,再次打开MAM;对于低于20MHz的系统时钟,MAMTIM设定为001,将Flash访问时间设定为1CCLK;对于20MHz到40MHz之间的系统时钟,建议将Flash访问时间设定为2CCLK;高于40MHz的系统时钟,建议使用3CCLK。第87页/共89页相关启动代码分析.MAMCR=0;#if Fcclk 20000000 MAMTIM=1;#else#if Fcclk 40000000 MAMTIM=2;#else MAMTIM=3;#endif#en

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 应用文书 > PPT文档

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁