第10章_局部总线控制器 (mpc83xx的中文手册 )下册
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
局部总线控制器(LBC)允许实现具有特定定时要求的存贮器系统。
·SDRAM器提供了到使用存贮体交叉和连续页面模式的SDRAM接口,通过一条复用的地址/数据总线实现高性能。
生成总线时钟的内部DLL保证电路板设计时数据上升沿性能的改善。
·GPCM为较为简单、性能较低的存贮器和内存映射设备提供接口。
由于不支持突发,所以它具有较低的性能。
所以,GPCM控制的存贮体主要用于引导装入和访问低性能的内存映射的外设。
·UPM支持刷新定时器,外部总线的地址复用和产生可编程的行地址和列地址选通控制信号,允许到DRAM的、突发SRAM和几乎其他所有类型外设的最小粘合接口。
UPM可以用来产生灵活的、用户定义的控制存贮设备的控制信号的定时模式。
这些模式定义了读、写、突发读或突发写期间的外部控制信号的行为。
还可以使用刷新定时器周期地启动用户定义的刷新模式。
图10-20. LBC中的存贮控制器的基本操作
可以把每个存贮体(片选)通过其基址寄存器中的机器选择位(BR n[MSEL])分配给这三种机器的任何一个,如图10-20所示。
如果存贮体匹配,对应的机器(GPCM、SDRAM 或UPM)就掌管控制访问的外部信号,并一直保持控制直到操作结束。
10.4.1 基本系统结构
下面几个小节介绍LBC的基本系统结构。
10.4.1.1 地址和地址空间检查
将已定义的基址写入BR n寄存器,将对应的地址掩码写入OR n寄存器。
每当请求访问局部总线时,将内部事务的地址与每一个存贮体进行比较。
该地址由OR n[BA]和OR n[AM]屏蔽,通过将该地址的19个最高有效位与每个存贮体的基址进行比较来译码地址。
如果与一个存贮控制器存贮体匹配,那么就使用由该存贮体的BR n和OR n所定义的属性控制存贮器的访问;如果与多个存贮体匹配,那么编号最小的存贮体处理存贮器访问(也就是说,存贮体0的优先级高于存贮体1)。
10.4.1.2 外部地址锁存允许信号(LALE)
局部总线使用一条复用的地址/数据总线,所以LBC必须辨别在同一条总线(LAD[0:31])上出现的地址阶段和数据阶段。
当LALE信号有效时,表示为地址阶段,此时LBC在LAD[0:31] 信号上驱动存贮器的地址。
外部地址锁存器使用这一信号捕获地址并将其提供给存贮器或外设的地址信号。
当LALE无效时,LAD[0:31]作为访问的(双向)数据总线。
所有的地址阶段都使LALE有效,信号时长可编程,介于1到4个总线时钟周期之间。
LALE有效的频率在三种存贮控制器之间会有所变化。
对于PGCM,将每一次LCSn有效认为是一次独立的访问,相应地,在每一次这样的访问之前LALE有效。
比如,为了满足32字节cache行的传输,驱动8位端口的GPCM会让LALE和LCSn有效32次。
SDRAM 控制器使LALE有效只是为了启动给定起始地址的一次突发传输,因此,对于SDRAM来说,通过32位端口传输32字节的cache行可能只需要让LALE有效一次。
对于UPM,LALE 有效的次数依赖于UPM RAM是何如编程的。
典型地,UPM单次访问使LALE有效一次,但是可以根据情况对UPM编程,多次使LALE有效,还能修改LA[27:31]的值而与LALE 无关。
一般地,当使用GPCM和SDRAM控制器时,如果使用足够宽的锁存器在LALE有效阶段捕获全部地址,就不必使用LA[27:31]。
如果LBC正生成它自己的突发地址序列,UPM可能使用LA[27:31]。
为了说明LBC如何处理大事务,图10-21给出了GPCM在执行从地址0x5420开始的32字节写操作时的LBC信号。
注意,在32次LALE有效的每一次有效期间,LA[27:32]精确地镜像LAD[27:32],但在数据阶段,只有LAD[0:7]和LDP0由有效数据和奇偶校验位驱动。
注意:所有地址和信号的值均用16进制表示。
D(Bk)表示32字节数据的第k个字节,P(Bk)表示第k
个数据字节的校验位。
图10-21. 将32个字节写入地址0x5420进行8位GPCM举例
10.4.1.3 数据传输确认(TA)
LBC内的三种存贮控制器产生内部传输确认信号TA(transfer acknowledge),允许采样(读)或修改(写)时LAD[0:31]上的数据。
数据采样/数据修改总是发生在总线周期结束的时候,此时LBC使TA内部有效。
在LBC调试模式下,也可以从外部在信号LDV AL上观察到TA。
GPCM和SDRAM控制器根据选项和模式寄存器中的定时参数自动的生成TA,UPM只有在UPM模式下置位了UTA RAM字比特位的情况下才产生TA。
图10-22给出了LALE、TA(内部)和LCSn。
注意,TA和LALE不可能同时有效,在LALE有效期间,LCSn (或其它任何控制信号)保持无效或冻结。
图10-22. 使用LALE、TA和LCSn的基本LBC总线周期
10.4.1.4 数据缓冲控制(LBCTL)
存贮控制器为局部总线提供了数据缓冲控制信号LBCTL,这一信号在访问受GPCM或UPM控制的存贮体时被激活,置位OR n[BCTLD]可以禁止LBCTL。
访问SDRAM机控制的存贮体不激活LBCTL控制。
在GPCM模式下,LBCTL可以进一步由LBCR[BCTLC]配置,充当外部LWE或外部LOE信号。
如果把LBCTL配置为数据缓冲控制信号(LBCR[BCTLC]=00),在存贮控制器操作的第一个周期的总线时钟的上升沿让该信号有效(高电平),与LALE一致。
如果访问是写,LBCTL在整个写期间保持高电平。
但如果访问是读操作,LALE无效性和LBCTL变为无效(低电平),这样存贮器设备才能驱动总线。
如果当前挂起了连续读操作,则在下一次事务开始之前让LBCTL有效一个总线时钟周期(也就是说,LALE之前一个总线时钟周期),允许总线在驱动下一个地址之前使用整个总线时钟周期进行翻转。
如果使用外部总线收发器,则应使用LBCTL高电平表示写方向。
注意,LBCTL缺省(复位或总线空闲时)也是高电平。
10.4.1.5 奇偶生成和校验(LDP)
通过改变BR n[DECC]可以为任何一个存贮体配置奇偶校验。
使用LDP[0:3]按字节生成
和校验奇偶位,当BR n[DECC] = 01时(正常奇偶校验)是为存贮体,当BR n[DECC] = 10时是为读-修改-写(RMW)奇偶校验。
在LDP[0:3]上产生的字节通道奇偶校验位与BR n[DECC]的设置无关。
注意,RMW奇偶校验只能用于32位端口大小的存贮体。
LBCR[EPAR]确定奇偶校验的全局类型(奇校验或者偶校验)。
10.4.1.6 总线监控器
总线监控器用来保证每一个总线周期在一个合理的用户定义时间内终止。
当一个事务开始时,总线监控器从超时值(LBCR[BMT])开始倒计数,直到总线上的数据节拍被确认。
然后,它重新装载超时值,重新倒计数,直到数据占用完成,如果没有尚未完成的事务,就进入空闲。
置位LTEDR[BMD]禁止监控器错误检查(即总线监控器超时不置位LTESR[BM]),但总线监控器仍然是工作的,并且能产生UPM异常(参见10.4.1.4节“异常请求”的解释)或者终止GPCM访问。
保证LBCR[BMT]的值不被设置得过低是很重要的,否则,将会在正常操作中出现虚假的总线超时,尤其是对SDRAM,会导致数据传输不完整。
相应地,除了复位值0x00(与2048个总线周期的最大超时值一致),在任何条件下,LBCR[BMT]的设置都不得低于0x05(或者40个总线周期的超时)。
10.4.2 通用片选机(GPCM)
GPCM允许到SRAM、EPROM、FEPROM、ROM器件和外部外设的最小粘合逻辑和灵活的接口。
GPCM包含两个基本的配置寄存器组——BR n和OR n。
图10-23给出了GPCM模式下8位端口大小的SRAM器件和LBC之间的简单连接。
写入存贮器的每个字节都可以使用字节写允许信号(LWE)。
同样,所提供的输出允许信号(LOE)使外部粘合逻辑最小。
系统复位时,系统完全配置之前,全局(启动)片选可用,它提供引导ROM片选信号0
LCS。
图10-23. 局部总线与GPCM设备的接口
图10-24显示了由地址线和CE之间所要求的建立时间所定义的LCS。
用户可以配置OR n[ACS]使LCS满足这一要求。
图10-24. GPCM基本读时序
(XACS=0,ACS=1x,TRLX=0,CLKDIV=4,8)
10.4.2.1 定时配置
如果BR n[MSEL]选择GPCM,则从OR n取得存贮器时钟周期属性,这些属性包括CSNT、ACS、XACS、SCY、TRLX、EHTR和SETA字段。
表10-23给出了LCRR[CLKDIV]=4或8时写访问的信号行为和系统响应。
表10-24给出了LCRR[CLKDIV]=4或8时读访问的信号行为和系统响应。
表10-25和表10-26分别显示了LCRR[CLKDIV]=2时写和读信号的行为。
表10-23. GPCM写控制信号的时序(LCRR[CLKDIV]=4或8)选项寄存器属性信号行为(总线时钟周期)
TRLX XACS ACS CSNT LCSn有效
地址
地址改变
LCSn无效
LWE无效,地
址/数据无效
总周期1
0 0 00 0 0 0 0 3+SCY 0 0 10 0 1/4 0 0 3+SCY 0 0 11 0 1/2 0 0 3+SCY 0 1 00 0 0 0 0 3+SCY 0 1 10 0 1 0 0 3+SCY 0 1 11 0 2 0 0 4+SCY 0 0 00 1 0 0 -1/4 3+SCY 0 0 10 1 1/4 -1/4 -1/4 3+SCY 0 0 11 1 1/2 -1/4 -1/4 3+SCY 0 1 00 1 0 0 -1/4 3+SCY 0 1 10 1 1 -1/4 -1/4 3+SCY 0 1 11 1 2 -1/4 -1/4 4+SCY
1 LALE仅有效一个周期时的总周期(OR n[EAD]=0,OR n[EAD]=1,LCRR[EADC]=01)。
LALE有效超过一个时钟周期时将相应地增加总周期数。
表10-24. GPCM读控制信号的时序(LCRR[CLKDIV]=4或8)
1 LALE仅有效一个周期时的总周期(OR n[EAD]=0,OR n[EAD]=1,LCRR[EADC]=01)。
LALE有效超过一个时钟周期时将相应地增加总周期数。
表10-25. GPCM写控制信号的时序(LCRR[CLKDIV]=2)
1 LALE仅有效一个周期时的总周期(OR n[EAD]=0,OR n[EAD]=1,LCRR[EADC]=01)。
LALE有效超过一个时钟周期时将相应地增加总周期数。
表10-26. GPCM读控制信号的时序(LCRR[CLKDIV]=2)
1 LALE仅有效一个周期时的总周期(OR n[EAD]=0,OR n[EAD]=1,LCRR[EADC]=01)。
LALE有效超过一个时钟周期时将相应地增加总周期数。
10.4.2.2 片选有效定时
选择与GPCM一起工作的存贮体支持一个选项:以多种定时驱动LCSn信号(与外部地址/数据总线有关)。
可以以下述任何一种方式驱动LCSn:
·与锁存的存贮器地址同时。
(这指的是外部锁存的地址,而不是LAD[0:3]上的地址定时。
也就是说,在LALE期间,片选不会有效。
)
·滞后四分之一时钟周期的(LCRR[CLKDIV]=4,8)
·滞后二分之一时钟周期的(LCRR[CLKDIV]=2,4或8)
·滞后一个时钟周期(LCRR[CLKDIV]=4,OR n[XACS]=1)
·滞后两个时钟周期(LCRR[CLKDIV]=2,4,8,OR n[XACS]=1)
·滞后三个时钟周期(LCRR[CLKDIV]=2,4,8,OR n[XACS]=1且OR n[TRLX]=1)
图10-24是LCRR[CLKDIV]=4或8时的两个片选有效的时序,如果LCRR[CLKDIV]=2,OR n[ACS]=10或11的LCSn有效相同。
10.4.2.2.1 可编程等待状态配置
GPCM支持内部生成传输确认,通过设定OR n[SCY]和OR n[TRLX],允许为一次访问增加0-30个等待状态。
OR n[SETA]=0时,可以内部生成传输确认。
如果LGTA在等待状态计数器过期之前的两个或多个总线时钟周期时外部有效(为了同步延迟),那么,当前的存贮器时钟周期由LGTA终止;否则,由等待状态计数器过期终止。
不论OR n[SETA]被如何设置,等待状态以同样的方式延长LOE和LWEn的有效时长。
当TRLX=1时,由存贮控制器
插入的等待状态的数目从OR n[SCY]翻番为2×OR n[SCY],允许最多30个等待状态。
10.4.2.2.2 片选和写允许无效时序
图10-23中给出了局部总线和静态存贮器件之间的基本连接。
在这个例子中,LCSn直接与存贮器件的CE连接。
LWE[0:3]分别与存贮器件的WE[3:0]信号连接,每一个LWE[0:3]信号对应一个不同的数据字节。
图10-25. GPCM基本写时序
(XACS=0,ACS=00,CSNT=1,SCY=1,TRLX=0,CLKDIV=4,8)
如图10-25所示,LCSn的时序与锁存地址的时序相同。
事务选通由LOE或LWEn提供,这依赖于事务的方向——读或者写(图中为写的情况)。
OR n[CSNT]控制写周期中合适的通道(strobe)有效的时序。
当OR n[CSNT]有效时,如果LCRR[CLKDIV]=4或8,比正常情况早四分之一个时钟周期置选通(strobe)无效。
例如,当ACS=00、CSNT=1时,LWEn提前四分之一个时钟周期无效,如图10-25所示。
如果LCRR[CLKDIV]=2时,LWEn要么与LCSn一起无效,要么提前一个周期无效。
10.4.2.2.3 松弛定时
OR n[TRLX]是为那些要求更多的信号间松弛定时的存贮系统提供的。
设置TRLX=1将产生如下的定时效果:
·在地址和控制信号间加入一个额外的总线周期。
·将SCY确定的等待状态数目加倍,最多达30个等待状态。
·读访问扩展保持时间(EHTR)被进一步扩展。
·LCSn信号在写期间提前一个周期无效(如果AC S≠00)。
·LWE[0:3]信号在写期间提前一个周期无效。
图10-26. GPCM松弛定时读
(XACS=0,ACS=1x,SCY=1,CSNT=0,TRLX=1,CLKDIV=4,8)
图10-27. GPCM松弛定时连续写
(XACS=0,ACS=1x,SCY=0,CSNT=0,TRLX=1,CLKDIV=4,8)
图10-26和图10-27显示了松弛定时的读事务和写事务。
在这些例子中,CLKDIV=2的效果只是把LCSn的有效从ACS=10的情况延迟到ACS=11的情况。
图10-27所示的例子还显示了一对连续发出的写操作在LAD[0:3]上的地址和数据复用。
当在写访问中置位TRLX和CSNT时,LWE[0:3] 选通信号比正常情况提前一个周期变为无效,如图10-28和10-29所示。
如果ACS≠00,LCSn也会提前一个周期无效。
图10-28. GPCM松弛定时写
(XACS=0,ACS=10,SCY=0,CSNT=1,TRLX=1,CLKDIV=4,8)
图10-29. GPCM松弛定时写
(XACS=0,ACS=00,SCY=1,CSNT=1,TRLX=1,CLKDIV=4,8)
10.4.2.2.4 输出允许(/LOE)时序
LOE的时序只受TRLX的影响,它总是在总线时钟的上升沿有效或无效。
LOE要么在LCSn有效后的总线时钟的上升沿有效,要么与LCSn保持一致(如果XACS=1且ACS=10或者ACS=11)。
相应地,TRLX=1可以延迟LOE的有效(与LCSn的有效一起)。
LOE的
无效与LCSn的无效一致,在时钟的上升沿无效。
10.4.2.2.5 读访问扩展保持时间
那些在读访问时需要很长时间禁止数据总线驱动器的低速存贮器件应选择OR n[TRLX,EHTR]的组合。
读访问之后对低速存贮体的所有访问在已有的总线周转周期基础上再被延迟表10-6所规定的时钟周期数。
最后一个总线周转周期由LBC自动为读访问插入,不管OR n[EHTR]如何设置。
图10-30. 后跟读的GPCM读(TRLX=0,EHTR=0,最快定时)图10-31 后跟写的GPCM读(TRLX=0,EHTR=1,一个周期的读扩展保持时间)
10.4.2.3 外部访问终止(LGTA)
GPCM使用异步的LGTA输入信号支持外部访问终止,LGTA输入信号由局部总线内部采样并同步。
如果在LCSn有效期间,采样的LGTA信号有效,则将转换内部生成的传输确认,终止当前的GPCM访问(与OR n[SETA]设置无关)。
LGTA应该有效至少一个总线周期才能起作用。
注意,由于LGTA是同步的,LGTA有效后的两个周期后总线才被终止,所以在读周期中,只要LOE有效,设备就必须继续驱动数据。
用户通过设置OR n[SETA]来选择是内部产生传输确认还是外部(LGTA)产生传输确认,LGTA有效始终终止一次访问,即使OR n[SETA]=0(内部产生传输确认),但是如果OR n[SETA]=1,这是终止访问的唯一方法。
LGTA的时序如图10-32所示。
图10-32. GPCM访问的外部终止
10.4.2.4 引导片选操作
引导片选操作允许在系统初始化前为引导ROM进行地址解码。
0
LCS是引导片选输出,在系统复位后它的操作和其他外部片选输出不一样。
当在系统复位后开始访问存贮器时,为每一个本地总线访问宣告0
LCS有效,直到BR0或OR0被重新配置。
引导片选还提供了一个可编程的端口大小,在复位时配置。
引导片选不提供写保护,在OR0被第一次写入之前,0
LCS就以这种方法操作,当把首选地址范围装入BR0之后,可以将它用作其他任何片选寄存器。
在第一次写OR0之后,只能通过硬件复位重启引导片选。
表10-27说明了存贮控制器中的引导存贮体的初始值。
寄存器字段设定
BR0 BA
XBA
PS
DECC 0000_0000_0000_0000_0
00
来自RCWH[RPMLOC]
00
10.4.3 SDRAM机
LBC为局部总线提供了SDRAM机。
该机为Intel PC133和符合JEDEC的SDRAM器件提供控制功能和信号。
每一存贮体都可以控制局部总线上的一个SDRAM器件。
10.4.3.1 所支持的SDRAM配置
存贮控制器支持任意SDRAM配置,但受到这样的限制:连接到总线上的所有SDRAM 器件都应该具有相同的端口大小和定时参数(在LSDMR中定义)。
图10-33给出了仅用12条地址线LBC和32位SDRAM器件之间的一个连接示例。
注意,SDRAM的地址信号A[2:0]与LA[27:29]直接相连,地址信号A10与LBC专用的LSDA10信号相连,而其余地址位(除了A10)均锁存自LAD[20:26]。
图10-33. 使用12条地址线连接32位SDRAM
10.4.3.2 SDRAM上电初始化
系统复位后,初始化软件必须配置存贮控制器存贮体寄存器(OR n,BR n和LSDMR)中的可编程参数。
在配置了所有存贮器参数之后,系统软件应该为每一个SDRAM器件执行下列初始化步骤:
·发出1个PRECHARGE-ALL-BANK命令;
·发出8个AUTO-REFRESH命令;
·发出1个MODE-SET命令初始化模式寄存器。
执行这些初始化命令,需要设置LSDMR[OP],并以能够命中相关存贮体的写操作访问SDRAM。
因为任何更新LSDMR的结果必须在写SDRAM之前有效,所以写LSDMR之后必须立即读LSDMR,且必须在第一次写SDRAM之前完成。
而且,第一次写SDRAM之后立即读SDRAM,且必须在其它更新LSDMR之前完成。
这样,在更新LSDMR和写SDRAM 之间必须要有正确的顺序。
如果正由e300进行初始化,那么上述介绍的协议只有在将SDRAM映射为高速缓存禁止且被保护的时候才得到保证,就像包含LSDMR的CCSR存贮器区域一样。
如果初始化来自外部主机,如上所述,主机必须保证LSDMR和SDRAM的读操作必须在后续写操作之前完成。
需要注意的是,软件应当保证只有在这一过程结束后才能操作存贮器。
注意
一般地(不只是在上电复位期间),为正确操作,应遵守LSDMR/SDRAM访问顺序协议。
10.4.3.3 Intel PC133和JEDEC标准的SDRAM接口命令
SDRAM机使用Intel PC133和JEDEC标准的SDRAM接口命令访问SDRAM。
SDRAM 器件在总线时钟的上升沿采样命令和数据输入,在总线时钟上升沿采样SDRAM器件的输出数据。
下列SDRAM接口命令可以通过将LSDMR[OP]设置为非零数值来提供(LSDMR[OP]=000设置正常的读/写操作):
表10-28. SDRAM接口命令
10.4.3.4 页面命中检测
SDRAM机支持页面模式操作。
每当SDRAM器件上的一页被激活,SDRAM机就将其地址存贮到寄存器。
每当请求一个总线周期访问时,就将使用用户写入OR n寄存器的页面信息和存贮体大小将页地址位与页寄存器相比较。
如果匹配且存贮体匹配,就将这个总线周期定义为页面命中。
除非OR n[PMSEL]=1,否则在总线变得空闲时,打开的页面将被SDRAM 机自动关闭。
10.4.3.5 页面管理
对于单个SDRAM器件,LBC可以管理最多四个打开的页面(每个SDRAM存贮体一页)。
页面打开后,如果发生下列某一事件则关闭该页面:
·下一次访问的页面在另一个SDRAM器件中。
这种情况下,用PRECHARGE-ALL-BANKS命令关闭当前器件的所有打开页面。
·下一次访问的页面在已经有另一页面被打开的SDRAM存贮体中。
这种情况下,用PRECHARGE-SINGLE-BANK命令关闭旧页面。
·当前SDRAM器件请求刷新。
这种情况下,用PRECHARGE-ALL-BANKS命令关闭当前器件的所有打开页面。
·总线变为空闲且OR n[PMSEL]=0。
这种情况下,用PRECHARGE-ALL-BANKS命令关闭当前器件的所有打开页面。
10.4.3.6 SDRAM地址复用
将较低地址总线位通过存贮控制器复用行/列和内部存贮体选择线与存贮器件的地址端口相连。
存贮体选择线的位置根据LSDMR[BSMA]设置。
图10-34显示了支持基于页面交错的SDRAM控制器如何在激活时将行地址转换成较低的输出地址信号,如何将体选位转换成LSDMR[BSMA]指定的地址信号。
逻辑行地址的最低位(图10-34中的An)与所连接的LAD的最低位(32位端口对应29位,16位端口对应30位,8位端口对应31位)对齐。
图10-34. SDRAM地址复用
注意,在正常读写操作期间,包含行和列的全32位地址是在LAD[0:31]上产生的,但是,地址/数据复用表明该地址必须由LALE控制的外部锁存器锁存。
所有SDRAM地址信号需要与被锁存的地址位以及LBC的突发地址位(LA[27:31])相连,A10除外,因为它单独与LSDA10连接。
LSDA10由那些要求以A10为地址的SDRAM命令所对应的适当的行地址位驱动。
10.4.3.7 SDRAM器件特色参数
软件负责为器件相关参数设置正确的值,这些参数可以从器件数据表中提取出来。
值保存在OR n和LSDMR寄存器中。
这些参数包括:
·预充电到激活的时间间隔(LSDMR[PRETOACT])
·激活到读/写的时间间隔(LSDMR[ACTTORW])
·CAS等待时间,列地址到首次数据输出(LSDMR[CL],LCRR[ECL])
·写恢复,末次数据输入到预充电(LSDMR[WRC])
·刷新恢复时间间隔(LSDMR[RFRC])
·当前控制线上的外部缓存(LSDMR[BUFCMD],LCRR[BUFCMDC])
另外,LBC硬件保证10个总线周期的激活到预充电的缺省时间间隔。
下面几节介绍在LSDMR中设置的SDRAM参数。
10.4.3.7.1 预充电到激活的时间间隔
预充电—激活时间间隔参数由LSDMR[PRETOACT]控制,定义了对同一SDRAM存贮体执行PRECHARGE命令后执行ACTIA VE或REFRESH命令的最早时间要求。
图10-35. PRETOACT=2(2个时钟周期)
10.4.3.7.2 激活到读/写的时间间隔
激活—读/写时间间隔参数受LSDMR[ACTTORW]控制,定义了对同一SDRAM存贮体执行ACTIV ATE命令后执行RAED或WRITE命令的最早时间要求。
图10-36. ACTTORW=2(2个时钟周期)
10.4.3.7.3 列地址到首次数据输出——CAS等待时间
该参数在等待时间为1、2或3时受控于LSDMR[CL],在等待时间大于3时受控于CLRR[ECL],定义了列地址被SDRAM采样后首次读取数据的时间要求。
图10-37. CL=2(2个时钟周期)
10.4.3.7.4 末次数据输入到预充电——写恢复
该参数由LSDMR[WRC]控制,定义了向SDRAM最后一次写入数据之后执行PRECHARGE命令的最早时间要求。
图10-38. WRC=2(2个时钟周期)
10.4.3.7.5 刷新恢复时间间隔(RFRC)
该参数受LSDMR[RFRC]控制,定义了对同一SDRAM器件执行REFRESH命令后执行ACTIVA TE或REFRESH命令的最早时间要求。
图10-39. RFRC=4(6个时钟周期)
10.4.3.7.6 外部地址和命令缓存器(BUFCMD)
如果命令选通(strobe)(/LSDRAS,/LSDCAS,/LSDWE和LSDA10)的附加缓存延迟严重影响到器件的建立时间,那么应该置位LSDMR[BUFCMD]。
置位这一位,会使存贮器控制器为每个SDRAM命令向SDRAM控制信号(/LSDRAS,/LSDCAS,/LSDWE和LSDA10)的有效增加LCRR[BUFCMDC]个附加的总线周期。
图10-40. BUFCMD=1,LCRR[BUFCMDC]=2 10.4.3.8 SDRAM接口时序
下面是SDRAM不同访问类型的时序图。
图10-41. SDRAM单拍写,页面关闭,CL=3
图10-42. SDRAM单拍读,页面命中,CL=3
图10-43. SDRAM两拍读,页面关闭,CL=3
图10-44. SDRAM四拍突发读,页面未命中,CL=3
图10-45. SDRAM单拍写,页面命中
图10-46. SDRAM三拍写,页面关闭
图10-47. SDRAM流水方式的读-读,页面命中,Cl=3
图10-48. SDRAM流水方式的写-写,页面命中
图10-49. SDRAM流水方式的写-读,页面命中
10.4.3.9 SDRAM读/写操作
SDRAM接口支持1-8拍、事务大小在1-32个字节的读写事务。
为每个事务执行一
个全突发,突发长度依赖于端口的大小。
8位或32位的端口最大突发拍数为8,而16位端口的最大突发拍数为4,由LSDMR[BL]设置。
对于要求小于全突发长度的读操作而言,突发中无关的数据都被忽略,通过LSDDQM[0:3]有效来限制。
对于要求小于全突发长度的写操作而言,驱动相关的LSDDQM比特位,使之在突发不相关的周期内保持高电平(无效),从而保护那些非目标地址。
但是,这并不影响系统的性能,因为如果挂起了一个新事务,SDRAM控制器会立即开始执行它,有效地提前终止突发。
10.4.3.10 SDRAM MODE-SET命令时序
通过发出MODE-SET命令将LBC传输模式寄存器数据(CAS等待时间和突发长度)保存在SDRAM器件的LSDMR寄存器中,如图10-50所示。
这个例子中,锁存的地址携带命令的模式位。
图10-50. SDRAM MODE-SET命令
10.4.3.11 SDRAM刷新
存贮控制器根据LSRT(并由MRTPR[PTP]预分频)中的时间间隔设置,为每一个所连接的SDRAM器件提供AUTO-REFRESH命令。
该间隔表示两次刷新之间的时间长度。
LSRT 和MRTPR的值取决于所用的特定的SDRAM器件以及LBC的系统时钟的频率。
这个值应该允许存贮器访问和刷新周期之间的潜在冲突。
刷新间隔时间必须大于访问时间,以保证读写操作可以成功完成。
刷新请求优先级分为两级——低和高。
低优先级请求在刷新定时器过期时便会产生,只有在存贮控制器已经处理完所有其它请求时才允许该请求;如果不允许该请求(存贮控制器忙)且刷新定时器已过期多于两次以上时,那么,该请求便变为高优先级,在存贮控制器完成当前操作时得到服务。
10.4.3.11.1 SDRAM刷新时序
SDRAM存贮控制器为自动刷新功能实现了存贮体的组交错,减少存贮器刷新操作的瞬时电流。
在刷新请求得到允许之后,存贮控制器就向每一个与刷新定时器相关的器件发出AUTO-REFRESH命令。
将刷新命令发给SDRAM器件后,存贮控制器等待在SDRAM机模式寄存器(LSDMR[RFCR])中设定的总线时钟周期数,然后向同一器件发出后续ACTIVA TE。
为了避免违反器件的时序限制,用户应该保证由LSRT和MRTPR定义的刷新
请求时间间隔大于由LSDMR[RFCR]定义的刷新恢复时间间隔。
图10-51. SDRAM存贮体交错自动刷新时序
10.4.4 用户可编程机(UPM)
UPM是连接宽范围存贮器件的可伸缩接口。
每一个UPM的核心是一个内部RAM阵列,这个阵列确定给定时钟周期在外部存贮器控制信号(LCSn,LBS[0:3]和LGPL[0:5])上驱动的逻辑值。
RAM阵列中的每一个字提供的比特位允许以最多字节选和片选线上的四分之一外部总线时钟周期的精度控制存贮器的访问。
图10-52给出了每一个UPM的基本操作。
图10-52. UPM功能模块图
下列事件初始化UPM周期:
·任一内部设备请求外部访问映射到由UPM服务的片选的地址空间
·UPM刷新定时器过期并且请求一个事务,如DRAM刷新
·正常UPM周期中发生的总线监控器超时错误使UPM转向执行一个异常序列
每一个RAM阵列都包含64个32位字。
信号时序发生器从RAM阵列中装入RAM字,驱动通用信号线:字节选和片选。
如果UPM在W AEN置位时读取RAM字,那么外部LUPW AIT信号将被存贮器控制器采样并同步,当前请求被冻结。
10.4.4.1 UPM请求
RAM阵列中的一个特殊的模式单元与每一个可能的UPM请求相联系。
内部设备的存贮器访问的请求初始化下列模式之一(MnMR[OP]=00):
·单拍读模式(RSS)
·突发周期读模式(RBS)
·单拍写模式(WSS)
·突发周期写模式(WBS)
UPM刷新定时器请求模式启动刷新定时器模式(RTS)。
另一个正在运行的UPM模式出现的异常(由总线监控器超时错误引起)启动异常状态模式(EXS)。
图10-53和表10-29按周期类型给出了UPM RAM中这些模式的起始地址。
但RUN命令可以启动以64个UPM RAM字中任意一个为起始地址的模式。
图10-53. RAM阵列索引
表10-29. UPM例程起始地址
UPM例程例程起始地址
单拍读模式(RSS)0x00
突发读模式(RBS)0x08
单拍写模式(WSS)0x18
突发写模式(WBS)0x20
刷新定时器模式(RTS)0x30。