chapter_4_lpc2000系列arm硬件结构剖析

上传人:今*** 文档编号:106790168 上传时间:2019-10-16 格式:PPT 页数:470 大小:6.61MB
返回 下载 相关 举报
chapter_4_lpc2000系列arm硬件结构剖析_第1页
第1页 / 共470页
chapter_4_lpc2000系列arm硬件结构剖析_第2页
第2页 / 共470页
chapter_4_lpc2000系列arm硬件结构剖析_第3页
第3页 / 共470页
chapter_4_lpc2000系列arm硬件结构剖析_第4页
第4页 / 共470页
chapter_4_lpc2000系列arm硬件结构剖析_第5页
第5页 / 共470页
点击查看更多>>
资源描述

《chapter_4_lpc2000系列arm硬件结构剖析》由会员分享,可在线阅读,更多相关《chapter_4_lpc2000系列arm硬件结构剖析(470页珍藏版)》请在金锄头文库上搜索。

1、第4章 LPC2000系列ARM 硬件结构,第4章 目录,1.简介 2.引脚配置 3.存储器寻址 4.系统控制模块 5.存储器加速模块 6.外部存储器控制器 7.引脚连接模块 8. 向量中断控制器 9.GPIO,10.UART0 11.UART1 12.I2C接口 13.SPI接口 14.定时器0/1 15.脉宽调制器(PWM) 16.A/D转换器 17.实时时钟 18.看门狗,第4章 目录,1.简介 2.引脚配置 3.存储器寻址 4.系统控制模块 5.存储器加速模块 6.外部存储器控制器 7.引脚连接模块 8. 向量中断控制器 9.GPIO,10.UART0 11.UART1 12.I2C接

2、口 13.SPI接口 14.定时器0/1 15.脉宽调制器(PWM) 16.A/D转换器 17.实时时钟 18.看门狗,4.1 简介,LPC2000系列微控制器概述,LPC2000系列微控制器基于ARM7TDMI-S CPU内核。支持ARM和Thumb指令集,芯片内集成丰富外设,而且具有非常低的功率消耗。使该系列微控制器特别适用于工业控制、医疗系统、访问控制和POS机等场合。,LPC2000系列器件信息,芯片内部框图,LPC2000系列微控制器包含四大部分:,ARM7TDMI-S CPU,ARM7局部总线及相关部件,AHB高性能总线及相关部件,VLSI外设总线及相关部件,芯片内部框图,LPC2

3、000系列微控制器将ARM7TDMI-S配置为小端模式(Little-endian)。,ARM7TDMI-S CPU,AHB外设分配了2M字节的地址范围,它位于4G字节ARM寻址空间的最顶端。每个AHB外设都分配了16KB的地址空间。,LPC2000系列微控制器的外设功能(除中断控制器)都连接到VPB总线。AHB到VPB的桥将VPB总线与AHB总线相连。VPB外设也分配了2M字节的地址范围,从3.5GB地址点开始。每个VPB外设都分配了16KB的地址空间。,AHB To VPB 桥,芯片内部各单元简介,内部存储器包括无等待SRAM和Flash;,外部存储器控制器(EMC)支持4个BANK的外部

4、SRAM或Flash,每个BANK最多16MB;,系统功能包括维持芯片工作的一些基本功能,如系统时钟、复位等;,向量中断控制器(VIC)可以减少中断的响应时间,最多可以管理32个中断请求;,I2C串行接口为标准的I2C总线接口,支持最高速度400kb;,EMC,系统功能,VIC,I2C串行接口,芯片内部各单元简介,具有两个完全独立的SPI控制器,遵循SPI规范,可配置为SPI主机或从机;,具有两个UART接口,均包含16字节的接收/发送FIFO,内置波特率发生器。其中UART1具有调制解调器接口功能;,在LPC2119/2129/2290/2292等芯片中包含CAN总线接口;,看门狗定时器带有

5、内部分频器,可以方便设置溢出时间,在软件使能看门狗后只有复位可以禁止(具有调试模式);,SPI串行接口,UART0 & 1,CAN,看门狗定时器,芯片内部各单元简介,系统控制模块包括一些与其它外设无关的功能,如功率控制等;,外部中断有4路多引脚输入,可用于CPU掉电唤醒;,定时器0/1为两个独立的带可编程32位预分频器的32位定时器/计数器,具有捕获和匹配输出功能;,具有4/8路10位ADC,可以设置为多路循环采样模式。10位转换时间最短为2.44us;,系统控制,外部中断,TIMER0/1,ADC,芯片内部各单元简介,不同封装的芯片具有数目不等的IO口,它们可以承受5V电压。每个IO口可以独

6、立设置为输入/输出模式,在作为输出模式时可以分别置位或清零;,脉宽调制器可以灵活设置,以适应不同的场合。可以设置为单边沿或双边缘输出方式,可以灵活的设置频率和占空比;,实时时钟具有可编程的基准时钟分频器,以适应不同的晶振频率。带日历和时钟功能,提供秒、分、时、日、月、年和星期,同时具有非常的功耗。,通用I/O,PWM0,实时时钟,第4章 目录,1.简介 2.引脚配置 3.存储器寻址 4.系统控制模块 5.存储器加速模块 6.外部存储器控制器 7.引脚连接模块 8. 向量中断控制器 9.GPIO,10.UART0 11.UART1 12.I2C接口 13.SPI接口 14.定时器0/1 15.脉

7、宽调制器(PWM) 16.A/D转换器 17.实时时钟 18.看门狗,4.2 引脚配置,LPC2000系列芯片外形,LPC2210/2212/2214,LPC2114/2124,4.2 引脚配置,引脚功能选择使用示例,LPC2000系列微控制器的引脚一般是多个功能复用,但是同一引脚在同一时刻只能使用其中一个功能,这可以通过设置PINSELx寄存器来选择,详细介绍见“引脚连接模块”小节。,通过PINSEL0控制引脚功能,第4章 目录,1.简介 2.引脚配置 3.存储器寻址 4.系统控制模块 5.存储器加速模块 6.外部存储器控制器 7.引脚连接模块 8. 向量中断控制器 9.GPIO,10.UA

8、RT0 11.UART1 12.I2C接口 13.SPI接口 14.定时器0/1 15.脉宽调制器(PWM) 16.A/D转换器 17.实时时钟 18.看门狗,小节目录,存储器分布 各存储器操作方法 存储器映射 预取指中止和数据中止 异常向量表,小节目录,存储器分布 各存储器操作方法 存储器映射 预取指中止和数据中止 异常向量表,4.3 存储器寻址,地址空间,0xFFFFFFFF,0x00000000,0x40000000,内部SRAM,0x80000000,外部存储器,0x7FFFE000,Boot Block,片外存储器,片内存储器,一个具体应用可能存在的物理存储器,4.3 存储器寻址,不

9、同芯片内部存储器分布,LPC2210,LPC2114/2212,LPC2124/2214,0x00000000,0x0001FFFF,0x0003FFFF,0x40000000,0x40001FFF,小节目录,存储器分布 各存储器操作方法 存储器映射 预取指中止和数据中止 异常向量表,4.3 存储器寻址,片内Flash编程方法:,JTAG,串口,1. 通过内置JTAG接口;,2. 通过在系统编程(ISP),使用UART0通信;,3. 通过在应用编程(IAP);,4.3 存储器寻址,片外Flash编程方法(LPC2200):,在CPU上运行一个装载程序(Loader,一般由用户编写),该程序通过

10、串口接收要烧写的数据,然后擦除编程Flash。,串口,Loder 程序,外部 Flash,4.3 存储器寻址,片内SRAM的写操作,SRAM控制器包含一个回写缓冲区,它总是保存着软件发送到SRAM的最后一个字数据。该数据只有在软件请求下一次写操作时才写入SRAM。如果发生芯片复位,实际的SRAM内容将不会反映最近一次的写操作。,?,?,回写缓冲区,内部SRAM,写入地址,写入A,写入B,A,A,写入A,B,小节目录,存储器分布 各存储器操作方法 存储器映射 预取指中止和数据中止 异常向量表,4.3存储器寻址,存储器映射基本概念,ARM处理器产生的地址叫虚拟地址,把这个虚拟地址按照某种规则转换到

11、另一个物理地址去的方法称为地址映射。这个物理地址表示了被访问的存储器的位置。它是一个地址范围,该范围内可以写入程序代码。 通过地址映射的方法将各存储器分配到特定的地址范围后,这时用户所看见的存储器分布为存储器映射。,4.3存储器寻址,芯片复位后用户看见的地址空间,128KB Flash(LPC2114/2212),256KB Flash(LPC2124/2214),16KB SRAM,8KB BootBlock,2MB VPB 外设,2MB AHB 外设,0x00000000,0xFFFFFFFF,保留给片内存储器使用,保留给片内存储器使用,保留给外部储器使用,0x40000000,0xE00

12、00000,0x80000000,0xF0000000,0x00020000,地址空间,4.3存储器寻址,AHB和VPB,AHB(先进的高性能总线)和VPB(VLSI外设总线)外设区域都为2M字节,可各分配128个外设。每个外设空间的规格都为16K字节,这样就简化了每个外设的地址译码。,注意:AHB和VPB外设区域中不管是字还是半字,都是一次性访问。例如不可能对一个字寄存器的最高字节执行单独的读或写操作,4.3存储器寻址,外设存储器映射,均为12816KB(2MB)范围,4.3存储器寻址,AHB外设映射,4.3存储器寻址,VPB外设映射,4.3存储器寻址,Boot Block的映射地址安排,为

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

14、映射的存储器区域在地址0x000000000x0000003F处。存储器重新映射的控制见“存储器映射控制”小节。,4.3存储器寻址,使用存储器重新映射的原因 使Flash存储器中的FIQ处理程序不必考虑因为重新映射所导致的存储器边界问题 用来处理代码空间中段边界仲裁的SRAM和Boot Block向量的使用大大减少 为超过单字转移指令范围的跳转提供空间来保存常量,存储器分布 各存储器操作方法 存储器映射 预取指中止和数据中止 异常向量表,小节目录,4.3存储器寻址,预取指中止和数据中止异常,如果试图访问一个保留地址或未分配区域的地址,ARM处理器将产生预取指中止或数据中止异常。,4.3存储器寻

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

16、 存储器,第N+2次取指,4.3存储器寻址,预取指中止和数据中止异常举例,指令流水线,存储器,程序 存储器,4.3存储器寻址,预取指中止和数据中止异常举例,指令流水线,存储器,程序 存储器,第N+3次取指,此时流水线的执行级执行了无效指令,发生预取指中止。如果指令C为跳转指令则可以避免预取指中止的发生。,存储器分布 各存储器操作方法 存储器映射 预取指中止和数据中止 异常向量表,小节目录,4.3存储器寻址,异常向量表,对于每一个异常事件,都有一个与之相对应的处理程序,它们是关联在一起的,并以一张一维表的格式存储在存储器的固定单元中。这张指定了各异常中断及其处理程序的对应关系的表,称为异常向量表。,4.3存储器寻址,异常向量表,各异常向量的固定位置,该位置被Boot装载程序用作有效用户程序的检测标志。通过定义此保留值,使向量表所有数据32位累加和为0,芯片复位后才能脱机运行用户程序。,4.3存储器寻址,位于启动代码中的异常向量表,什么是启动代码? 一般在32位ARM应用系统中,大多

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 高等教育 > 大学课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号