存储器和IO空间.ppt

上传人:小飞机 文档编号:6135827 上传时间:2023-09-27 格式:PPT 页数:33 大小:826.50KB
返回 下载 相关 举报
存储器和IO空间.ppt_第1页
第1页 / 共33页
存储器和IO空间.ppt_第2页
第2页 / 共33页
存储器和IO空间.ppt_第3页
第3页 / 共33页
存储器和IO空间.ppt_第4页
第4页 / 共33页
存储器和IO空间.ppt_第5页
第5页 / 共33页
点击查看更多>>
资源描述

《存储器和IO空间.ppt》由会员分享,可在线阅读,更多相关《存储器和IO空间.ppt(33页珍藏版)》请在三一办公上搜索。

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

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

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

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

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

6、读取指令。,10,0:微控制器方式。此时访问的是片内程序存储器(片内Flash)0000h-7FFFh空间。1:微处理器方式。此时访问的是片外程序存储器的0000h-7FFFh空间。,寻址范围高达64K字:,5.3 数据存储器,无论MP/MC*引脚为何值,LF240 xDSP都是从程序存储器 空间的0000h单元开始执行程序。,11,前32K字(0000h-7FFFh)是内部数据存储器空间,包括了DARAM和片内外设的映射寄存器。后32K字(8000h-FFFFh)空间的存储器为外部数据 存储器。,片内有3个DARAM块:B0、B1和B2块。B0块:即可为数据存储器,也可配置为程序存储器。B1

7、、B2块:只能配置为数据存储器。图5-2为数据存储器空间的映射。,1.数据存储器映射,12,13,两种寻址方式:直接寻址和间接寻址。直接寻址时,128字为一页的数据块来对数据存储器进 行寻址。图5-3显示了这些块是如何被寻址的。全部64K的数据存储器分为512个数据页,其标号从0 511。当前页由状态寄存器ST0中的9位数据页指针(DP)值来确定。因此,当使用直接寻址指令时,用户必须事先指定数 据页,并在访问数据存储器的指令中指定偏移量,偏移量为7位。,14,15,编程时要注意,访问下面的数据存储器的地址空间是 非法的,并会对NMI置位。除了以下地址,任何对 设寄存器映射中的保留地址的访问也是

8、非法的。0080h-00FFh 701Fh-71FFh(CAN内部的)0500h-07FFh 7230h-73FFh(部分在CAN内部)1000h-700Fh 7440h-74FFh 7030h-703Fh 7540h-75FFh 7060h-706Fh 7600h-77EFh 77F4h-7FFFh 7080h-708Fh,16,3.第0页数据地址映射,数据存储器中包括存储器映射寄存器,它们位于数据存储器的第0页(地址0000h-007Fh),表5-1对第0页数据地址映射进行详细说明。应用中必须注意以下几点:(1)以零等待状态访问两个映射寄存器:中断屏蔽寄存器(IMR)和中断标志寄存器(IF

9、R)(2)测试/仿真保留区被测试和仿真系统用于特定信息发送。因此不能对测试/仿真地址进行操作。,17,地址 名称 说明0000h-0003h 保留0004h IMR 中断屏蔽寄存器0005h 保留0006h IFR 中断标志寄存器0023h-0027h 保留002Bh-002Fh 保留用作测试和仿真0060h-007Fh B2 双访问RAM的B2块,表5-1 第0页数据地址映射,18,CNF位决定B0块的配置,CNF位是状态寄存器ST1的第12位。CNF0,B0块被映射为数据存储器空间。复位时,CNF0CNF1,B0块被映射到程序存储器空间。,5.4 I/O空间,4.配置数据存储器,I/O空间

10、的寻址可达64K字,图5-4 为LF2407A的I/O空间映射。,19,20,所有64K的I/O空间均可以用IN和OUT指令来访问。当执 行IN或OUT指令时,信号IS*变为有效,可作为外部 I/O设备的片选信号。访问外部I/O端口与访问程序存储器、数据存储器复用 相同的的地址总线和数据总线。,I/O空间访问的控制信号为IS*。,数据总线的宽度为16位,若使用8位的外设,即可使用 高8位数据总线,也可使用低8位数据总线,以适应 特定应用的需要。,21,当访问片内的I/O空间时,信号IS*和STRB*变成无效,外部地址和数据总线仅仅当访问外部I/O地址时有 效。,下面是使用汇编语言的直接访问I/

11、O空间的实际子。IN DAT2,0AFEEh;从端口地址为AFEEh的外设;读数据,并存入DAT2寄器 OUT DAT2,0CFEFh;输出数据存储器DAT2的内容;到端口地址为CFEFh的外设,22,下面是访问等待状态发生器的寄存器的实例:IN DAT2,0FFFFh;从等待状态发生器读取 数据到DAT2寄存器 OUT DAT2,0FFFFh;将DAT2寄存器的数据写入 等待状态发生器,使用等待状态发生器,5.5 外部存储器接口选通信号说明,LF240 x DSP可以访问如表5-2所列出的外部存储器和 I/O空间。当DSP外扩存储器和I/O时,需要将选通 信号与外部存储器和I/O的使能引脚相

12、连。,23,表5-2 外部存储器空间访问及片选信号,外部存储空间 空间大小(字)选通信号程序空间 64K PS*数据空间 64K DS*I/O空间 64K IS*LF240 x DSP的外部存储器和I/O空间接口信号的功能 描述如表5-3(P60)所示。,24,5.6 等待状态发生器,5.6.1 用READY信号产生等待状态信号,当访问速度较慢的外部存储器或外设时,CPU需要产生 等待状态。等待状态是以机器周期为单位,CPU通过 READY引脚可产生任意数目的等待状态(延长访问时 间),可使快速的CPU访问慢速的外部存储器或外 设。,若CPU所访问的外设没有准备好,则外设应保持READY 引脚

13、为低,此时LF240 x等待一个CLKOUT周期,并再 次检查READY脚。若READY信号没有被使用,LF240 x 将在外部访问时把READY信号拉高。READY引脚可,25,用来产生任意数目的等待状态。但是,当LF240 x全速运行时,它不能对第一个周期作出 快速响应来产生一个基于READY的等待状态。为立即 得到等待状态,应先使用片内等待状态发生器,然 后用READY信号产生其余的等待状态。,5.6.2 用等待状态发生器产生等待状态,等待状态发生器可编程为指定的片外空间(数据、程序 或I/O)产生第一个等待状态,而与READY信号的状 态无关。为了控制等待状态发生器,就必须对映射 到I

14、/O空间的等待状态控制寄存器(WSGR,地址为 FFFFh)访问。,26,等待状态控制寄存器的格式如下:位15-11:保留,读出的值永远为0位10-9:BVIS,总线可视模式。提供了一种跟踪内部 总线活动的方式。当运行片内的程序或数据存储器 时,位10-9允许各种总线的可视模式。00-总线可视模式关(降低功耗和噪声);01-总线可视模式开(降低功耗和噪声);10-数据到地址总线输出到外部地址总线 数据到数据总线输出到外部数据总线,27,11-程序到地址总线输出到外部地址总线 程序到数据总线输出到外部数据总线位8-6:ISWS,I/O空间等待状态位。这三位决定了片 外I/O空间等待状态(0-7)

15、的数目。复位时,这三 位置为111,为片外I/O空间的读写设定了7个等待 状态。位5-3:DSWS,数据空间等待状态位。这三位决定了片 外数据空间等待状态(0-7)的数目。复位时,这三 位置为111,为片外数据空间的读写设定了7个等待 状态。,28,位2-0:PSWS,程序空间等待状态位。这三位决定了 片外程序空间等待状态(0-7)的数目。复位 时,这三位置为111,为片外程序空间的读写设 定了7个等待状态。,总之,不管READY信号的状态如何,等待状态发生器 都将向给定的空间(数据、程序或I/O)插入0-7个等待状态,等待状态的数目由软件来确定。然后READY信号可以变为低电平,产生附加的等

16、 待状态。,29,如果m是一个特定的读写操作的所要求的时钟周期(CLKOUT)的数目,w是附加的等待状态数目,那么操作将会花费(mw)个周期。复位时,WSGR各位均置1,且默认每个外部空间(数据、程序或I/O)均产生7个等待状态。,5.7 外部存储器接口,LF240 x/240 xA程序存储器有64K 空间的寻址空间,当LF240 x/240 xA访问片内程序存储器块时,外部存储器访问信号 PS*和STRB*无效。仅当LF240 x/240 xA访,30,问映射到外部存储器地址范围的位置时,外部数据和 地址总线才有效。表5-4(P62)列出了外部存储器接 口中的控制信号。图5-5 为一个外部程

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

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号