存储器和IO空间.

上传人:我** 文档编号:117886721 上传时间:2019-12-11 格式:PPTX 页数:18 大小:600.52KB
返回 下载 相关 举报
存储器和IO空间._第1页
第1页 / 共18页
存储器和IO空间._第2页
第2页 / 共18页
存储器和IO空间._第3页
第3页 / 共18页
存储器和IO空间._第4页
第4页 / 共18页
存储器和IO空间._第5页
第5页 / 共18页
点击查看更多>>
资源描述

《存储器和IO空间.》由会员分享,可在线阅读,更多相关《存储器和IO空间.(18页珍藏版)》请在金锄头文库上搜索。

1、第5章 存储器和I/O空间 TMSLF240 xDSP具有16位地址线,可访问分别访问这三个 独立的地址空间,每个空间的容量均为64K字: (1)程序存储器空间64K字; (2)数据存储器空间64K字; (3)I/O空间64K字。 以“LF”为前缀的DSP芯片具有Flash存储器,而以“LC”为 前缀的芯片,片内有CMOS工艺的ROM存储器。 5.1 片内存储器 5.1.1 双访问RAM (DARAM) 双访问RAM在一个机器周期内可被访问2次:在一个机器周期的主 相写数据到DARAM;而在该周期的从相从DARAM读出数据,从 而大大提高了运行速度。 544字双访问RAM分为三块:B0、B1和

2、B2,该存储器空间主要用 来保存数据,但是B0块也可以用来保存程序。 B0:数据空间,0200h02FFh,256字; B1:数据空间,0300h03FFh,256字; B2:数据空间,0060h007Fh,32字; B0块配置成数据存储器空间还是程序存储器空间,要由ST1.CNF 位来决定,CNF=0数据;CNF=1程序。 (当CNF=1,程序空间FF00hFFFFh) 5.1.2 单访问RAM (SARAM) 片内有2K字的单访问RAM(SARAM),映射在数据空间,0800h 0FFFh。 SARAM在一个机器周期内只能被访问1次。例如,如果一条指令 要将累加器的值保存,且装载一个新值到

3、累加器,在SARAM 中,完成这个任务需要两个时钟周期,而在DARAM中只需要 一个时钟周期。 利用软件可将SARAM配置成外部存储器或内部SARAM。 SCSR2.DON-PON:SARAM的程序/数据空间选择 00-地址空间不被映射,该空间被分配到外部存储器 0l-SARAM 被映射到片内程序空间(8000h87FFh); 10-SARAM 被映射到片内数据空间(0800h0FFFh) 11-SARAM 被映射到片内程序空间,又被映射到片内数据空间 5.1.3 Flash程序存储器 片内的Flash存储器映射到程序存储器空间。MP/MC* 引脚决定是访问片内的程序存储器(Flash)还是

4、访问片外的程序存储器。 1. Flash程序存储器 使用电擦除的方式多次使用,以便进行程序的修改和 开发。Flash模块特点: 运行在3.3V电压模式。 对Flash编程时需要在VCCP上有5V电压供电。 Flash有多个向量,用来保护它,防止被擦除。 Flash的编程是由CPU来实现的。 2.Flash控制方式寄存器(FCMR) Flash模块有4个寄存器。控制在Flash中的操作。在任意给定的时间内,用 户可以访问Flash模块中的存储器阵列,也可以访问控制寄存器,但 不能同时访问。 Flash模块有一个Flash控制方式寄存器来选择两种访问模式。该寄存器映 射在内部I/O空间的FF0Fh

5、。该寄存器的功能如下: 使用OUT指令,可以将Flash模块置于寄存器访问模式,被使用的数据操作 数是无意义的。例如: OUT dummy, 0FF0Fh ;选择寄存器访问方式 使用IN指令,可将Flash模块置于存储器阵列访问模式,被使用的数据操作 数是无意义的。例如: IN dummy, 0FF0Fh;选择存储器阵列访问方式 5.2 程序存储器 程序存储器空间寻址范围为64K字, 控制信号PS*,包括了片内Flash 和DARAM。 图5.1所示为LF2407A的程序存储器空 间的映射。 图5.1 程序存储器映射 程序存储器的两个决定因素: (1) MP/MC*引脚状态; (2) ST1.

6、12,CNF位; 5.3 数据存储器 数据空间64K字,控制信号DS*, 32K字是内部空间(0000h- 7FFFh),包括了DARAM和片 内外设的映射寄存器。另外 32K字空间(8000h-FFFFh) 为外部。 1.数据空间映射 内部:DARAM(BO、B1、B2); SARAM; 寄存器等; 外部:用户自己外扩存储器。 图5.2 数据存储器映射 2.数据存储器页面 数据空间分页管理,整个64K字空间分为512页,每页128个字。 页地址: 9位,DP(位于ST0中); 页内地址:7位的偏移量; 两种寻址方式:直接寻址和间接寻址。 直接寻址时,在当前页对128字的数据块进行寻址。用户必

7、须事 先指定数据页,并在访问数据存储器的指令中指定偏移量, 偏移量为7位。 编程时要注意,访问下面的数据存储器的地址空间是非法的, 并会对NMI置位。除了以下地址,任何对外设寄存器映射中的 保留地址的访问也是非法的。 0080h-00FFh701Fh-71FFh (CAN内部的) 0500h-07FFh7230h-73FFh (部分在CAN内部) 1000h-700Fh7440h-74FFh 7030h-703Fh7540h-75FFh 7060h-706Fh7600h-77EFh 77F4h-7FFFh7080h-708Fh 5.4 I/O空间 I/O空间的寻址为64K字,控制信 号IS*,

8、图5.3 为LF2407A的I/O 空间映射。 图5.3 I/O空间地址映射 I/O空间的访问: (1)汇编:IN,OUT IN DAT, 8000h; OUT DAT, 8000h; (2)C语言: ioport unsigned int port8000; port8000=0 x80; a=port8000; 5.5 外部存储器接口信号说明 LF240 x DSP的外部存储器接口信号如下: nA0A15:16-bit地址线; nD0D15:16-bit数据线; nDS*、PS*、IS*:外部数据空间、程序空间、I/O空间选通线; nR/W*、W/R*:读/写信号、写/读信号,表明数据传输

9、方向; nRD*、WE*:读使能、写使能,读写周期有效; nSTRB*:外部选通信号; nREADY:等待信号,低电平使DSP等待; nMP/MC*:微处理器/微控制器方式选择; nENA-144:1=使能外部存储器接口信号,0=无外部存储器; nVIS-OE*:可视输出使能,在可视输出方式下,外部数据总线驱动 为输出时,为低电平。 图5.4 外部存储器读时序 电子工程师必备知 识之三:时序图 注意: (1)相关的信号; (2)信号变化顺序; (3)时间冗余量; 5.6 等待状态发生器 当访问速度较慢的外部存储器或外设时,CPU需要产生等待状 态。等待状态是以机器周期为单位。 外部等待:REA

10、DY信号,硬件等待; 内部等待:等待状态发生器WSGR,软件等待; 通过添加等待状态,可以为CPU访问外部存储器或外设延长时间 ,可使快速的CPU访问慢速的外部存储器或外设。 5.6.1 用READY信号产生等待状态信号 若CPU所访问的外设没有准备好,则外设应保持READY引脚为低 ,此时LF240 x等待一个CLKOUT周期,并再次检查READY脚。 图5.5 加入1个等待周期的读时序 READY引脚可用来产生任意数目的等待状态。 注意:当LF240 x全速运行时,它不能对第一个周期作出快速响应 来产生一个基于READY的等待状态。为立即得到等待状态, 应先使用片内等待状态发生器,然后用R

11、EADY信号产生其余 的等待状态。 5.6.2 用等待状态发生器产生等待状态 等待状态发生器可以通过编程为指定的片外空间(数据、程序或 I/O)产生等待状态,而与READY信号的状态无关。 等待状态发生器(WSGR,I/O空间地址为FFFFh)。 位10-9:BVIS,总线可视模式,提供了一种跟踪内部总线活动的方式。 00-总线可视模式关; 01-总线可视模式开; 10-数据的地址总线输出到外部地址总线 数据的数据总线输出到外部数据总线 11-程序的地址总线输出到外部地址总线 程序的数据总线输出到外部数据总线 位8-0:ISWS、DSWS、PSWS,等待状态位,复位时为111; 000-0个等待周期; 001-1个等待周期; 111-7个等待周期; 图5.6 加入1个软件等待和1个外部等待周期的读时序 综合利用REDAY和WSGR,可产生需要的等待。 5.7 外部存储器接口扩展实例 为LF2407外扩256K字的数据存储空间。 存储器选择CY7C1041V,256K*16bit,3.3V,CMOS工艺的RAM。 LF2407CY7C1041 A0- DS* D0-D15 STRB* RD* WE* READY A0- CE* D0-D15 OE* WE* vcc A15 A15-A17 D0-D2 DPCLK A15A14 A14A17 I/Os 结束

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

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

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