嵌入式控制系统课件-第4章LPC2000系列ARM硬件结构(5~9)

上传人:宝路 文档编号:47502512 上传时间:2018-07-02 格式:PPT 页数:79 大小:1.36MB
返回 下载 相关 举报
嵌入式控制系统课件-第4章LPC2000系列ARM硬件结构(5~9)_第1页
第1页 / 共79页
嵌入式控制系统课件-第4章LPC2000系列ARM硬件结构(5~9)_第2页
第2页 / 共79页
嵌入式控制系统课件-第4章LPC2000系列ARM硬件结构(5~9)_第3页
第3页 / 共79页
嵌入式控制系统课件-第4章LPC2000系列ARM硬件结构(5~9)_第4页
第4页 / 共79页
嵌入式控制系统课件-第4章LPC2000系列ARM硬件结构(5~9)_第5页
第5页 / 共79页
点击查看更多>>
资源描述

《嵌入式控制系统课件-第4章LPC2000系列ARM硬件结构(5~9)》由会员分享,可在线阅读,更多相关《嵌入式控制系统课件-第4章LPC2000系列ARM硬件结构(5~9)(79页珍藏版)》请在金锄头文库上搜索。

1、LPC2000系列ARM硬件结构 1.LPC2000系列简介 2.引脚描述 3.存储器寻址 4.系统控制模块 5.存储器加速模块 ( MAM) 6.外部存储器控制器( EMC) 7.引脚连接模块 8.GPIO 9.向量中断控制器 10.外部中断输入 11.定时器0和定时器1 12.SPI接口 13.I2C接口 14.UART(0、1) 15.A/D转换器 16.看门狗 17.脉宽调制器(PWM) 18.实时时钟4.5 存储器加速模块(MAM) 概述LPC2000微控制器扩展了器件内部Flash总线宽 度为128位,用于提高处理器的指令执行速度。这个 接口通过存储器加速模块(MAM)来控制。 M

2、AM内部结构LPC2200系列芯片把Flash存储器被分成两组, 它们轮番工作,及时的为CPU提供需要的指令和数 据,以防止CPU取指暂停。每组Flash存储器都有自 己的预取指缓冲区、分支跟踪缓冲区和数据缓冲区 。 分支跟踪缓存分支跟踪缓存总 线 接 口Flash 存储器组0Flash 存储器组1预取指缓存预取指缓存数据缓存区 选择ARM7局部总线2128位2128位存储器地址存储器数据/指令Flash组2Flash组1CPU 执行指令取指阶段 等待指令提供指令1提供指令3.取指阶段提供指令4取指阶段等待3等待取指阶段 提供指令2取指阶段等待124 关闭MAM指令执行情况从Flash组1中读

3、取指令,CPU处于等待状态。1CPU从1组指令缓存区中获取指令并执行。2从Flash组2中读取指令,CPU处于等待状态。3CPU从2组指令缓存区中获取指令并执行。4所有存储器操作请求都会直接对Flash操作,由 此产生了CPU停止,等待若干周期的情况。Flash组2Flash组1CPU 执行指令 开启MAM指令执行情况.1413提供指令13 14 15 16取指阶段1211109 取指阶段 提供指令910 11 128765 取指阶段提供指令56784321提供指令12345678取指阶段取指阶段等待指令.两组指令缓存区中不存在指令,启动Flash存储器 指令读取周期,CPU停止,等待若干周期

4、。1CPU执行Flash组1指令缓存区中的指令。2CPU执行Flash组2指令缓存区中的指令,同时从 Flash组1中读取指令。3只要指令存在两个组的指令缓存区中,CPU的 指令执行是连续的,由此大大提高了指令执行效率 。4.5 存储器加速模块(MAM) 程序顺序执行每个128位值包括了4个32位ARM指令或8个16 位Thumb指令。在连续执行代码时,通常一个Flash组包含当前 正在取指的指令和包含该指令的整个Flash行,而另 一个Flash组则包含或正在预取指下一个连续的代码 行。 4.5 存储器加速模块(MAM) 程序出现分支在预取指缓存区中保存着将要执行的指令,在 分支跟踪缓存区中

5、保存着程序跳转后可执行到的指 令。CPU取跳转 之后的指令跳转方 向从Flash读取指令将指令行放入 分支跟踪缓存区 和预取指缓存区指令在预 取指缓存 区指令在分 支 跟踪缓存 区读取指令读取指令向后向前否否是是4.5 存储器加速模块(MAM) 程序获取数据当CPU在从Flash中获取数据时,如果这些数据 没有出现在MAM的数据缓冲区中,那么MAM会执 行一次Flash读操作,并把一个128位的数据行存入 数据缓冲区,这样就加快了按顺序访问数据的速度 。数据访问使用一个单行的缓冲区,和访问代码时 提供两个缓冲区不同,因为数据访问不需要预取指 功能。 4.5 存储器加速模块(MAM) MAM与F

6、lash编程Flash编程功能不受存储器加速器模块的控制, 而是作为一个独立的功能进行处理。Flash存储器的 布线使其每个扇区同时存在于两个组当中,这样扇 区擦除操作可同时对两个组执行。 4.5 存储器加速模块(MAM) MAM的操作模式LPC2000系列芯片允许用户设置MAM的加速级 别,使芯片适用于某些对功耗和可预测性有要求的 场合。MAM定义了三种操作模式:加速级别级别顺顺序执执行程序分支数据功耗可预测预测 性 关闭闭不预取代码不缓冲代码不缓冲数据低高部分使能预取代码缓冲代码缓冲但时序固定中中 完全使能预取代码缓冲代码缓冲数据高低4.5 存储器加速模块(MAM) MAM的配置在复位后,

7、MAM默认为禁止状态。软件可以随 时将存储器访问加速打开或关闭。通常我们都会把 加速设置为完全使能,这可使程序以最高速度运行 。而运行某些要求更精确定时的代码时,我们可以 关闭或部分使能MAM,以较慢但可预测的速度运行 代码。 4.5 存储器加速模块(MAM) 寄存器描述控制寄存器 MAMCR7 : 21 : 0模式控制控制寄存器 MAMTIM7 : 32 : 0取指周期控制MAM控制寄存器(MAMCR):MAMCR1:0:用于MAM的模式控制,具体关系如下表。MAMCR1:0描述 00禁止MAM功能 01部分使能MAM功能 10完全使能MAM功能 11保留MAM定时寄存器(MAMTIM):M

8、AMTIM2:0:决定使用多少个CCLK周期访问Flash存储器,这 样可以调整MAM时序使其匹配处理器操作频率,具体关系如下表 。MAMTIM2:0描述MAMTIM2:0描述 000保留100取指周期为4个CCLK 001取指周期为1个 CCLK101取指周期为5个CCLK010取指周期为2个 CCLK110取指周期为6个CCLK011取指周期为3个 CCLK111取指周期为7个CCLK当访问周期设置为1个CCLk时,实际上关闭了MAM,但是仍可 以选择MAM模式对功耗进行优化。注意:不正确的设定会导致器件的错误操作4.5 存储器加速模块(MAM) MAM使用注意事项MAM定时问题:在改变M

9、AM定时值时必须先关闭MAM。其设 置的定时值和系统时钟有如下关系,目的是为了确 保Flash的访问周期不会小于50ns ,否则会导致操作 错误。 系统时钟统时钟 (CCLK)MAM定时值时值 20MHz1 20MHz 40MHz2 40MHz 60MHz3Flash编程问题:在编程和擦除操作过程中不允许访问Flash存储 器。为了防止从Flash存储器中读取无效的数据,在 Flash编程或擦除操作开始后MAM将不缓冲任何数 据。所以在Flash操作结束后,任何对Flash地址的读 操作都将启动新的取指操作。 4.5 存储器加速模块(MAM) MAM应用示例void MAMSet(uint32

10、 Fcclk) MAMCR = 0; If(Fcclk 200000000) MAMTIM = 1;elseif(Fcclk 40000000) MAMTIM = 2;elseMAMTIM = 3; MAMCR = 2; MAM部件Flash访问时 钟的配置:关闭MAM部件;1启动MAM部件。3根据系统时钟配置取 指周期;21.LPC2000系列简介 2.引脚描述 3.存储器寻址 4.系统控制模块 5.存储器加速模块 ( MAM) 6.外部存储器控制器( EMC) 7.引脚连接模块 8. GPIOLPC2000系列ARM硬件结构9. 向量中断控制器 10.外部中断输入 11.定时器0和定时器1

11、 12. SPI接口 13. I2C接口14. UART(0、1) 15. A/D转换器 16. 看门狗 17. 脉宽调制器(PWM) 18. 实时时钟4.6 外部存储器控制器(EMC ) 概述外部存储器控制器是AMBA AHB总线上的一个 从模块,它为AMBA AHB系统总线和外部(片外) 存储器器件提供了一个接口。该模块可同时支持多达4个单独配置的存储器组 ,每个存储器组都支持SRAM、ROM、Flash EPROM、Burst ROM存储器或一些外部I/O器件。存储器或 外部I/O口器件存储器或 外部I/O口器件存储器或 外部I/O口器件存储器或 外部I/O口器件ARM7TDMI -S内

12、核EMC 模块Bank0 Bank1 Bank2 Bank3AMBA AHB总线 CS0/1/2/34.6 外部存储器控制器(EMC ) 特性支持静态存储器映射器件;4个存储器组(Bank0 Bank3)可单独配置,每个存 储器组可访问16M字节空间;总线空闲周期可编程;可对静态RAM器件的读写等待时间进行编程;可编程外部数据总线宽度8位、16位和32位。4.6 外部存储器控制器(EMC ) 引脚描述引脚名称类类型引脚描述复用引脚D31:0输入/输 出外部存储器数据线P2.0P2.31A23:0输出外部存储器地址线P3.0P3.23 OE输出读使能信号,低有效P1.1 WE输出写使能信号,低有

13、效P3.27 CS3:0输出片选信号,低有效P1.0、P3.24P3.26 BLS3:0输出字节定位选择 信号,低有 效P3.28P3.31注:每个这些引脚是与P1、P2和P3口GPIO功能 复用,所以在使用外部总线前首先要正确配置 PINSEL2寄存器 。4.6 外部存储器控制器(EMC ) 寄存器描述外部存储器控制器包含4个配置寄存器。每个配置 寄存器控制一个外部存储器接口的总线空闲时间、读 访问长度、写访问长度、存储器组是否写保护、存储 器组的总线宽度的设置等。ARM7TDMI -S内核EMC 模块Bank0 Bank1 Bank2 Bank3AMBA AHB配置寄存器BCFG1BCFG

14、0BCFG2BCFG34.6 外部存储器控制器(EMC ) 寄存器描述配置寄存器 BCFG033 : 0IDCY31 : 30AT49 : 5WST110RBLE15 : 11WST223 :1624BUSERR25WPERR26WP27BM29 : 28MWIDCYWST1IDCY:总线空闲时间控制位。该位控制着一个存储器内部 的读写访问之间,以及访问一个存储器组和访问另一个存储器 组之间EMC需要给定的“空闲”CCLK周期最小数目,以避免器 件间的总线竞争。计算公式为:空闲CCLK周期数 IDCY +1;存储器组配置寄存器03(BCFG03):WST1:读写访问长度控制位。该位控制读访问的

15、长度,以 调节对外部存储器的读访问时间。读访问的长度以CCLK周期来 计量。 计算公式为:读操作周期长度 WST1 + 3;XCLK CS OE WE/BLS Addr Data有效地址变化数据有效数据WST1=01个等待周期外部存储器读访问波形(WST1=0):读操作,共需3个周期增加1个 等待周期外部存储器读访问波形(WST1=1):WST1=1,2个等待周期有效地址变化数据有效数据读操作,共需4个周期4.6 外部存储器控制器(EMC ) 寄存器描述配置寄存器 BCFG033 : 0IDCY31 : 30AT49 : 5WST110RBLE15 : 11WST223 :1624BUSERR25WPERR26WP27BM29 : 28MWRBLE存储器组配置寄存器03(BCFG03):RBLE:字节定位使能位。在LPC2200微处理器中,EMC提 供了一组字节定位选择信号(BLS0BLS3)实现对16位或32位外部 存储器组的字节操作。设定RBLE可实现:写访问时,RBLE位决定WE信号是否有效(低电平有效);读访问时,RBLE位决定BLSn信号是否有效(低电平有效)。4.6 外部存储器控制器(EMC ) 寄存器描述配置寄存器 BCFG033 : 0IDCY31 : 30AT49 : 5WST110RBLE15 : 11WST223 :1624BUSERR25WPERR26WP

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

最新文档


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

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