存储器和io空间

上传人:ldj****22 文档编号:49251345 上传时间:2018-07-26 格式:PPT 页数:33 大小:1.01MB
返回 下载 相关 举报
存储器和io空间_第1页
第1页 / 共33页
存储器和io空间_第2页
第2页 / 共33页
存储器和io空间_第3页
第3页 / 共33页
存储器和io空间_第4页
第4页 / 共33页
存储器和io空间_第5页
第5页 / 共33页
点击查看更多>>
资源描述

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

1、第5章 存储器和I/O空间TMSLF240x DSP具有16位地址线,可访问分别访问这三个独立的地址空间,每个空间的容量均为64K字:(1)程序存储器空间64K字;(2)数据存储器空间64K字;(3)I/O空间64K字。注意:LF240x DSP的所有片内外设的寄存器均映射在数据存储器空间。 “LF” -片内有Flash存储器; “LC” -片内有CMOS工艺的程序存储器,LF2407/ LF2407A片内:2K字的单访问RAM(SARAM)544字的双访问RAM-DARAM(B0块-256字;B1块-256字 ;B2块-32字) 5.1 片内存储器5.1.1 双访问RAM (DARAM)一个

2、机器周期内可被访问2次:主相写数据到DARAM; 而从相从DARAM读出数据。从而大大提高运行速度 。544字DARAM分为三块:B0、B1和B2该存储器空间主要用来保存数据,但是B0块也可以用来保存程序。B0块配置成数据存储器空间还是程序存储器空间,要由状态寄存器ST1的CNF位来决定:(1)CNF=1,B0映射到程序存储器空间;(2)CNF=0,B0映射到数据存储器空间。5.1.2 单访问RAM (SARAM)片内有2K字的单访问RAM(SARAM),在一个机器周期内只能被访问1次。例如,如果要将累加器的值保存,且装载一个新值 到累加器,在SARAM中,完成这个任务需要两个时 钟周期,而在

3、DARAM中只需要一个时钟周期。利用软件可将SARAM配置成外部存储器或内部SARAM 。5.1.3 Flash程序存储器片内的Flash存储器映射到程序存储器空间。MP/MC*引脚决定是访问片内的程序存储器(Flash)还是访问片外的程序存储器。 1. Flash程序存储器使用电擦除的方式,进行程序的修改和开发。Flash模块特点:运行在3.3V电压模式。对Flash编程时需要在VCCP上有5V(5)电压供电。Flash有多个向量,用来保护它,防止被擦除。Flash的编程是由CPU来实现的。2.Flash控制方式寄存器(FCMR)Flash模块有4个寄存器。控制对Flash的操作。在任意时刻

4、,用户可以访问Flash模块中的存储器阵列,也可以访问控制寄存器,但不能同时访问。模块有一个Flash控制方式寄存器来选择两种访问模式。该寄存器映射在内部I/O空间的FF0Fh,这是一个不能读的特殊功能寄存器,它可在Flash的存储器阵列方式下使能Flash,用来对Flash阵列编程。该寄存器的功能如下:使用OUT指令,可以将Flash模块置于寄存器访问模式,被使用的数据操作数是无意义的。例如:OUT dummy, 0FF0Fh ;选择寄存器访问方式使用IN指令,可将Flash模块置于存储器阵列访问模式,被使用的数据操作数是无意义的。例如:IN dummy, 0FF0Fh;选择存储器阵列访问方

5、式5.2 程序存储器程序存储器空间寻址范围为64K,包括了片内DARAM和片内Flash。图5-1所示为LF2407A的程序存储器空间的映射。 有两个因素决定程序存储器的配置:(1)CNF位。CNF位是状态寄存器ST1的第12位,决定DARAM中的B0块配置在数据存储器空间,还是配置在程序存储器空间。0:256字的B0块被映射到数据存储器空间。1:256字的B0块被映射到程序存储器空间。复位时,CNF0, B0块被映射到数据存储器空间。(2)MP/MC*引脚。该引脚决定是从片内Flash读取指令。还是从外部程序存储器读取指令。 0:微控制器方式。此时访问的是片内程序存储器(片内Flash)00

6、00h- 7FFFh空间。1:微处理器方式。此时访问的是片外程序存储器的0000h-7FFFh空间。无论MP/MC*引脚为何值,LF240xDSP都是从程序存储器空间的0000h单元开始执行程序。5.3 数据存储器寻址范围高达64K字:前32K字(0000h-7FFFh)是内部数据存储器空间,包括了DARAM和片内外设的映射寄存器。后32K字(8000h-FFFFh)空间的存储器为外部数据存储器。 1.数据存储器映射片内有3个DARAM块:B0、B1和B2块。B0块:即可为数据存储器,也可配置为程序存储器。B1、B2块:只能配置为数据存储器。图5-2为数据存储器空间的映射。两种寻址方式:直接寻

7、址和间接寻址。直接寻址时,128字为一页的数据块来对数据存储器进行寻址。图5-3显示了这些块是如何被寻址的。全部64K的数据存储器分为512个数据页,其标号从0511。当前页由状态寄存器ST0中的9位数据页指针(DP)值来确定。因此,当使用直接寻址指令时,用户必须事先指定数据页,并在访问数据存储器的指令中指定偏移量,偏移量为7位。 编程时要注意,访问下面的数据存储器的地址空间 是非法的,并会对NMI置位。除了以下地址,任何 对外设寄存器映射中的保留地址的访问也是非法 的。0080h-00FFh701Fh-71FFh (CAN内部的)0500h-07FFh7230h-73FFh (部分在CAN内

8、部 )1000h-700Fh7440h-74FFh7030h-703Fh7540h-75FFh7060h-706Fh7600h-77EFh77F4h-7FFFh7080h-708Fh 3.第0页数据地址映射数据存储器中包括存储器映射寄存器,它们位于数据存储器的第0页(地址0000h-007Fh),表5-1对第0页数据地址映射进行详细说明。应用中必须注意以下几点:(1)以零等待状态访问两个映射寄存器:中断屏蔽寄存器(IMR)和中断标志寄存器(IFR)(2)测试/仿真保留区被测试和仿真系统用于特定信息发送。因此不能对测试/仿真地址进行操作。表5-1 第0页数据地址映射地址 名称说明0000h-00

9、03h保留0004hIMR中断屏蔽寄存器0005h保留0006hIFR中断标志寄存器 0023h-0027h保留002Bh-002Fh保留用作测试和仿真 0060h-007FhB2双访问RAM的B2块4.配置数据存储器CNF位决定B0块的配置, CNF位是状态寄存器ST1的 第12位。CNF0,B0块被映射为数据存储器空间。复位时 , CNF0 CNF1,B0块被映射到程序存储器空间。5.4 I/O空间I/O空间的寻址可达64K字,图5-4 为LF2407A的I/O 空间映射。I/O空间访问的控制信号为IS*。所有64K的I/O空间均可以用IN和OUT指令来访问。当执行IN或OUT指令时,信号

10、IS*变为有效,可作为外部I/O设备的片选信号。访问外部I/O端口与访问程序存储器、数据存储器复用相同的的地址总线和数据总线。数据总线的宽度为16位,若使用8位的外设,即可使用高8位数据总线,也可使用低8位数据总线,以适应特定应用的需要。 当访问片内的I/O空间时,信号IS*和STRB*变成无效,外部地址和数据总线仅仅当访问外部I/O地址时有效。下面是使用汇编语言的直接访问I/O空间的实际例子。INDAT2,0AFEEh;从端口地址为AFEEh的外设;读数据,并存入DAT2寄存器OUTDAT2,0CFEFh;输出数据存储器DAT2的内容;到端口地址为CFEFh的外设 下面是访问等待状态发生器的

11、寄存器的实例:INDAT2,0FFFFh;从等待状态发生器读取数据到DAT2寄存器OUTDAT2,0FFFFh;将DAT2寄存器的数据写入等待状态发生器,使用等待状态发生器5.5 外部存储器接口选通信号说明LF240x DSP可以访问如表5-2所列出的外部存储器和I/O空间。当DSP外扩存储器和I/O时,需要将选通信号与外部存储器和I/O的使能引脚相连。表5-2 外部存储器空间访问及片选信号外部存储空间空间大小(字) 选通信号程序空间 64KPS*数据空间 64KDS*I/O空间 64KIS*LF240x DSP的外部存储器和I/O空间接口信号的功能描述如表5-3(P60)所示。5.6 等待状

12、态发生器当访问速度较慢的外部存储器或外设时,CPU需要产生等待状态。等待状态是以机器周期为单位,CPU通过READY引脚可产生任意数目的等待状态(延长访问时间),可使快速的CPU访问慢速的外部存储器或外设。5.6.1 用READY信号产生等待状态信号若CPU所访问的外设没有准备好,则外设应保持READY引脚为低,此时LF240x等待一个CLKOUT周期,并再次检查READY脚。若READY信号没有被使用,LF240x将在外部访问时把READY信号拉高。 READY引脚可用来产生任意数目的等待状态。但是,当LF240x全速运行时,它不能对第一个周期作 出快速响应来产生一个基于READY的等待状态

13、。为立 即得到等待状态,应先使用片内等待状态发生器, 然后用READY信号产生其余的等待状态。5.6.2 用等待状态发生器产生等待状态等待状态发生器可编程为指定的片外空间(数据、程 序或I/O)产生第一个等待状态,而与READY信号的 状态无关。为了控制等待状态发生器,就必须对映 射到I/O空间的等待状态控制寄存器(WSGR,地址为 FFFFh)访问。等待状态控制寄存器的格式如下:位15-11:保留,读出的值永远为0位10-9:BVIS,总线可视模式。提供了一种跟踪内 部总线活动的方式。当运行片内的程序或数据存 储器时,位10-9允许各种总线的可视模式。00-总线可视模式关(降低功耗和噪声);

14、01-总线可视模式开(降低功耗和噪声);10-数据到地址总线输出到外部地址总线数据到数据总线输出到外部数据总线11-程序到地址总线输出到外部地址总线程序到数据总线输出到外部数据总线位8-6:ISWS,I/O空间等待状态位。这三位决定了片 外I/O空间等待状态(0-7)的数目。复位时,这三 位置为111,为片外I/O空间的读写设定了7个等待 状态。 位5-3:DSWS,数据空间等待状态位。这三位决定了 片外数据空间等待状态(0-7)的数目。复位时, 这三位置为111,为片外数据空间的读写设定了7个 等待状态。位2-0:PSWS,程序空间等待状态位。这三位决定了片外程序空间等待状态(0-7)的数目

15、。复位时,这三位置为111,为片外程序空间的读写设定了7个等待状态。总之,不管READY信号的状态如何,等待状态发生器都将向给定的空间(数据、程序或I/O)插入0-7个等待状态,等待状态的数目由软件来确定。然后READY信号可以变为低电平,产生附加的等待状态。如果m是一个特定的读写操作的所要求的时钟周期(CLKOUT)的数目,w是附加的等待状态数目,那么操作将会花费(mw)个周期。复位时,WSGR各位均置1,且默认每个外部空间(数据、程序或I/O)均产生7个等待状态。5.7 外部存储器接口LF240x/240xA程序存储器有64K 空间的寻址空间,当LF240x/240xA访问片内程序存储器块

16、时,外部 存储器访问信号PS*和STRB*无效。仅当LF240x/240xA访问映射到外部存储器地址范围的位置时,外部数据和地址总线才有效。表5-4(P62)列出了外部存储器接口中的控制信号。图5-5 为一个外部程序存储器接口的实例。图中LF240x/240xA连接两个16k8 位SRAM。两个8位宽的存储器级连来实现所需的16位字宽,虽然图5-5中显示的是SRAM,但是该接口同样适用于 EPROM,只需将写有效(WE*)信号去掉。图5-5所示的接口是一个零等待状态读/写周期的,即存储器的访问时间是与DSP相匹配的,是经过专门挑选的。如用慢速存储器,则片内等待状态发生器将向访问周期插入一个等待状态,若需要不止一个等待状态,则需要用READY信号。 程序存储器空间选择PS*信号可以直接连接到外部存储器芯片的片选引脚CE*,以便对外部程序存储器访问时选择程序存储器。若多片存储器与程序空间接口,那么由PS*和适当的地址位来组成译码电路来进行存储器块的片选。

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

当前位置:首页 > 行业资料 > 其它行业文档

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