注意在一般的操作中(读和写),全部的32比特地址包括行地址和列地址都产生在了LAD[0:31],但是地址/数据信号是复用的,这表明地址必须被外部信号LALE锁存。所有的SDRAM设备地址信号需要连接到锁存的地址位和突发地址为LA[27:31].这其中除了A10,这是专门用于连接LSDA10。
12.4.4 用户可编程机制(UPMs)
UPM是用于连接宽范围Memory设备的接口。UPM的核心是一个内部RAM阵列,他用于指定驱动在外部存储器控制信号(LCSn,LBS[0:3],LGPL[0:5])上的逻辑值。在RAM阵列中的每个字以1/4外部总线时钟的节拍控制着存储器访问进程。如果LGPL4,LGTA,LUPWAIT,LPBSE信号被用着输入和输出信号,一个弱上拉是必须的。
以下事件初始化一个UPM周期:
1 . 任何一个内部着被要求访问一个映射到UPM的片选空间的进程
2. UPM刷新定时器完成并要求一次新的传输,比如DRAM刷新
3. 在UPM周期内总线监视超时错误
RAM阵列包含64个32比特数据,信号时序生成器加载RAM字以驱动通用信号线,字节选择信号,片选信号灯。如果UPM从RAM中读到WAEN字,外部LUPWAIT信号被抽样并且被存储器控制器同步同时目前的要求被冻结。
12.4.4.1 UPM 请求
一个存放到RAM中的专门方式与每个可能的UPM请求相关。一个内部设备对于存储器访问的要求初始化下列方式中的一个:
. 单读方式(RSS)
. 突发周期读(RBS)
. 单写方式(WSS)
. 突发周期写(WBS)
.UPM刷新定时器请求方式初始化一个刷新定时器方式(RTS)
.当另一个UPM范例正在运行而要初始化一个例外的条件范例的时候例外就会出现(EXS)
12.4.4 用户可编程机
UPM 是简易接口,用于连接宽范围内的存储器类型。UPM的中心是一个内部的RAM阵列,它驱动外部存储器控制器信号(LCSn,LBSn[0:3],LGPL[0:5])在时钟周期下的逻辑值。
下列事件初始化UPM周期:· 任一内部设备请求外部访问映射到由UPM服务的片选的地址空间
· UPM刷新定时器过期并且请求一个事务,如DRAM刷新
· 正常UPM周期中发生的总线监控器超时错误使UPM转向执行一个异常序列
每一个RAM阵列都包含64个32位字。信号时序发生器从RAM阵列中装入RAM字,驱动通用信号线:字节选和片选。如果UPM在WAEN置位时读取RAM字,那么外部LUPWAIT信号将被存贮器控制器采样并同步,当前请求被冻结。
-----------------------------------------------------------------------
一个UPM包含有64 word的RAM,每个WORD为32bit,,每个LCLK为一个WORD指定的行为输出。而每个word可以指定控制信号(LCSn,LBSn,LGPL)四个状态的变化。这样的话,RAM可以最多使用64个LCLK的时序来完成一次数据的传输。
未完待续。。。。
12.5 初始化应用信息
12.5.1 与外围设备接口
12.5.1.1 复用的地址数据线和非复用地址信号线
为了节省局部总线上的信号线数量,地址线,数据线在32比特总线上复用。一个外部锁存需要用于分离和重建原始地址。LALE用于提供正确的时序控制标准的逻辑锁存。LAD信号能够被直接连接到存储器/外围的数据信号。局部总线的传输开始于一个地址相位,LBC驱动LAD进行地址传输,并拉高LALE信号。该信号能够用于锁存地址信号,接下来LBC过渡到数据相位阶段。
LBC支持端口宽度为8,16,32比特。对于小于32比特的设备,传输必须被拆散。出于这个原因,LA[30:31]被驱动为非复用信号。对于8比特设备,LA[31:30]被利用;对于16比特宽度设备LA[30]被利用起来。32比特的设备则不用这两个信号。
另外,LBC支持突发传输。在自然32字节突发传输中,LA【27:29】是突发传输地址。为了最简地址相位的数量,在突发传输中无论设备什么时候要求使用最低5位地址线时候,这些信号被独立的驱动并且应该被利用起来。其他的地址A[0:26]应该通过锁存而重构得到:
对于SRAM,SDRAM而言为获得较高的总线速率,给出存储器/外围设备的层次连接关系图:
复用的地址数据线总线同时驱动了快速SDRAM,同步SRAM数据信号线、地址锁存器件加上用于慢速存储器的缓冲器的地址信号线。其他存储器或者外围都隐藏在缓冲器和锁存器的后边。系统设计者需要仔细考量整个设计的负载情况以取保IO时序能够满足。
12.5.1.3 超高速总线的外围层次
为在局部总线上获得尽可能高的总线速度,建议进一步减少直接连接到总线上的设备的数量。这种情况下往往只有一个同步SRAM或者SDRAM连接到一个BANK上同时不使用独立的锁存器或者总线收发器,取而代之的是同时具备缓冲和锁存能力总线分离器(demultiplexer)。
例如TI公司的74ALVCH32973ZKER就是16位的总线分离器(demultiplexer):
12.5.1.3 GPCM时序
在这样一种情况下,系统包含的存储层次包好了高速的同步存储器(SDRAM,同步SRAM)以及低速的异步存储器(FLASH EPROM和外围),GPCM控制的存储器应该用缓冲器加以隔离以减少总线上的容性负载。但这些缓冲器必须对时序的影响应该加以考量。
为了计算慢速外围/存储器地址建立时序,有几个参数必须要加以考虑:地址锁存的传输延时,缓冲器的延时以及外围的地址建立时间。一般情况下2个传输延时大约为3~6ns,所以对于一个133Mhz总线频率来说,LCS#应该在3个总线周期以后到达。
对于数据时序,只需考虑缓冲延时加上实际数据建立时间即可。
12.5.2
总线周转时间(bus turnaround)因为局部总线中使用了复用的地址、数据线,那么在总线周转过程中必须对一些特殊情况加以考虑,以下是几种必须考虑的情况:
1. 读周期后的地址相位
2.地址相位后的读数据相位
3.对校验的保护存储空间的读-调整-写周期
4.带额外地址周期的UPM周期
在下面的情况中总线不需要改变方向,所以不需要特别的给以留意:
1.在第一个节拍后的连续突发操作
2.地址相位后的写数据相位
3.写之后的地址相位
12.5.2.1 Address phase after previous read
一个读周期中,存储器/外围驱动总线并且总线收发器驱动LAD。在数据被采样以后,外围设备的输出驱动器必须被禁止。这可能要花点时间,对于慢速设备而言GPCM的EHTR属性或者UPCM的可编程性都应该保证这些设备都已经停止驱动总线,在LBC存储控制器结束总线周期的时候。
这种情况下,在前一个周期结束以后,LBCTL变高并且改变总线收发器的方向。LBC插入一个总线周转周期以避免竞争。这时候外围设备已经将其数据信号至于高阻状态从而避免竞争的出现。
12.5.2.2 地址相位后的读数据相位
在地址相位期间,LAD驱动地址线并且LBCTL为高,在同一方向驱动总线收发器。在地址相位结束以后,LBCTL变低并且改变总线收发器的方向。在Tdis(LB)时间后LBC将LAD信号置为高阻。在Ten(LB)以后LBCTL有它新的状态,因为这是个异步输入,收发器在Ten时间后开始驱动这些信号。系统设计者必须保证:Ten(LB)+Ten(transceiver)>Tdis(LB)以避免总线冲突。
12.5.3 接口不同宽度的端口设备
LBC支持8位,16位,32位数据端口。但是总线要求数据传输端口的宽度必须是一定的。一个32位的端口必须接在D[0:31]上,一个16位宽度的端口必须接在D[0:15]上,而一个8比特的端口必须接在D[0:7]上。局部总线总是尝试在所有的总线周期传输最大数量的数据。
12.5.4 与SDRAM接口
12.5.4.1 局部总线接口到SDRAM的能力
多个LCSn信号意味着可以同时支持多个SDRAM设备。这意味着如果LCS0保留用于GPCM连接FLASH存储器的话,LCS1~7都可以用于SDRAM的连接。如果多个片选信号配置用于SDRAM的连接的话,那么每个SDRAM都必须拥有相同的端口宽度以及时序参数,这就意味着所有的选项寄存器ORn都必须完全一样。所有的SDRAM都共享SDRAM模式寄存器LSDMR,以及LSRT和MPTPR。
刷新周期=LSRTxMPTPR[PTP]/system Frequency
12.5.4.2 SDRAM支持最大数量
数据端口宽度是可编程的,但是一下的理智使用了局部总线的所有32比特总线宽度。32比特宽度要去4个SDRAM设备(每个8比特宽度)并行连接到LBC。如果128Mbit设备利用的,1个片选提供128Mb/设备X4=64MB.如果4个片选编程用于SDRAM接口,这就有256MB。如果256Mb的SDRAM用于接口,那么总共有512MB的存储空间。相应的接口4片512Mb的SDRAM,那么有1GB的存储空间。
12.5.4.3 SDRAM机制的限制
12.5.4.3.1 bank选择复用的情况下最大行数目的分析
LSDMR[BSMA]用于复用BANK选择地址。BSMA域和相应的地址复用关系如下:
000 LA12-LA13
001 LA13-LA14
.....
111 LA19-LA20
注意LA12是LAD12的锁存值。
BANK选择的最高地址信号可以和LA[12:13]复用,这限制了行地址信号为LA[14:31].对于一个32位的端口(最大的局部总线的宽度),LA[30:31]未连接,最大的行宽度是【14:29】。局部总线SDRAM支持15个行,这对所有的设备都满足了。
12.5.4.3.2 bank选择信号
基于页插入方式允许bank信号和高阶的地址线复用以为将来的升级预留足够的空间。举例,用户可以将LA[14:15]与bank选择信号复用,而降LA16留给地址信号以获得更大的存储空间。系统设计者可以设计一个板卡,它既可以满足目前SDRAM设备又可以与将来的新的设备兼容,而不用重新设计板卡。
12.5.4.3.3 128MB SDRAM接口
那么SDRAM的组织关系是这样的:
. 32比特端口以:4x8x32Mbit组成
.每个设备拥有4个BANK,13行,10列地址线。
那么逻辑地址应该是:
在地址相位,SDRAM地址端口应该是出现这样的信号:
即在LA[17:29]出现的是逻辑地址中的行地址信号A[5:17],LA[15:16]出现的是bank选择信号,也就是逻辑地址中的A[18:19].
在读/写命令中端口地址配置是这样的:
LA[20:29]代表的是逻辑地址中的列地址线A[20:29],LA[15:16]仍然是bank选择信号。
以下为配置寄存器列表:
12.5.4.3.5 512MB SDRAM接口
该例子使用MT48LC644A2FB实现512MB的存储空间扩展。
. 32比特端口8X4X64Mbx2片选信号
. 每个设备4个BANK,13根行地址线,11根列地址线。
逻辑地址分配如下:
ROWS=100,13地址线
在地址相位空间,SDRAM地址端口设置如下:
因为内部bank选择线设置的为与LA[15:16]复用,LSDRM[BSMA]设置为011.
在读写命令下的地址端口设置为:
图12-41显示的是寄存器的配置。PSRT,MPTPR为显示,但是应该根据期间的刷新要求进行设定:
为了在总线上获得超高速速度,容性负载必须加以考虑:
为了实现一个 2同步存储bank,1个地址锁存,1个复用地址数据总线缓冲负载的系统,一般情况下,4个6.5pF的容性负载可以满足。对于一个一般的负载30pf可以使用。
建立时间保持时间计算:
地址线TOF(飞行时间):板级延时
数据线TOF(飞行时间):板级延时
时钟偏移(飞行时间):LBC端时钟和存储器设备端时钟的偏移。局部总线PLL反馈机制必须用于控制这个偏移去控制时序裕度:
1.地址建立时间裕度=周期时间-局部总线地址CTQ-SDRAM地址输入建立时间TOF+时钟偏移
2.地址保持时间裕度=局部总线地址输出保持时间+地址TOF-SDRAM地址输入保持时间-时钟偏移
3.SDRAM数据输入建立时间裕度=时钟周期-局部总线数据CTQ-SDRAM数据输入建立时间-数据TOF+时钟偏移
4.SDRAM数据输入保持时间裕度=局部总线数据输出保持时间+数据TOF-SDRAM数据输入保持时间-时钟偏移
5.SDRAM数据输出建立时间裕度=周期时间-SDRAM数据CTQ-局部总线数据输入建立时间-数据TOF-时钟偏移
6.SDRAM数据输出保持时间裕度=SDRAM数据输出保持时间+数据TOF-局部总线数据输入保持时间+时钟偏移
为了提高时序的裕度,PLL用于产生一个外部的时钟,他用于减小局部时钟和存储器之间的时间偏差。
12.5.4.4 SDRAM 校验支持
与老式DRAM技术不同,SDRAM设备典型的以X4,X8,X16,X32组织的。没有一种主流的设备支持校验操作。为了在局部总线上实现错误保护,一个额外的SDRAM利用上了。
三、 DDR/DDR2接口
3.1 与DIMM的接口
DIMM(Dual Inline Memory Module,双列直插内存模块)与SIMM相当类似,不同的只是DIMM的金手指两端不像SIMM那样是互通的,它们各自独立传输信号,因此可以满足更多数据信号的传送需要。同样采用DIMM,SDRAM 的接口与DDR内存的接口也略有不同,SDRAM DIMM为168Pin DIMM结构,金手指每面为84Pin,金手指上有两个卡口,用来避免插入插槽时,错误将内存反向插入而导致烧毁;DDR DIMM则采用184Pin DIMM结构,金手指每面有92Pin,金手指上只有一个卡口。卡口数量的不同,是二者最为明显的区别。DDR2 DIMM为240pin DIMM结构,金手指每面有120Pin,与DDR DIMM一样金手指上也只有一个卡口,但是卡口的位置与DDR DIMM稍微有一些不同,因此DDR内存是插不进DDR2 DIMM的,同理DDR2内存也是插不进DDR DIMM的,因此在一些同时具有DDR DIMM和DDR2 DIMM的主板上,不会出现将内存插错插槽的问题。
不同针脚DIMM接口对比
为了满足笔记本电脑对内存尺寸的要求,SO-DIMM(Small Outline DIMM Module)也开发了出来,它的尺寸比标准的DIMM要小很多,而且引脚数也不相同。同样SO-DIMM也根据SDRAM和DDR内存规格不同而不同,SDRAM的SO-DIMM只有144pin引脚,而DDR的SO-DIMM拥有200pin引脚。此外笔记本内存还有MicroDIMM和Mini Registered DIMM两种接口。MicroDIMM接口的DDR为172pin,DDR2为214pin;Mini Registered DIMM接口为244pin,主要用于DDR2内存。
144pin SO-DIMM笔记本内存
200pin SO-DIMM笔记本内存
172pin SO-DIMM笔记本内存
3.2 DIMM 原理图 (三星DDR2内存条)
3.2.1 240pin DIMM Edge connector
3.2.2 240芯 DIMM接口定义
FrontPinSymbolPinSymbolPinSymbolPinSymbol1VREF31DQ1961A491VSS2VSS32VSS62VDDQ92DQS5#3DQ033DQ2463A293DQS54DQ134DQ2564VDD94VSS5VSS35VSS65VSS95DQ426DQS0#36DQS3#66VSS96DQ437DQS037DQS367VDD97VSS8VSS38VSS68PAR_IN98DQ489DQ239DQ2669VDD99DQ4910DQ340DQ2770A10/AP100VSS11VSS41VSS71BA0101SA212DQ842CB072VDDQ102NC13DQ943CB173WE#103VSS14VSS44VSS74CAS#104DQS6#15DQS1#45DQS8#75VDDQ105DQS616DQS146DQS876S1#106VSS17VSS47VSS770DT1107DQ5018RESET#48CB278VDDQ108DQ5119NC49CB379VSS109VSS20VSS50VSS80DQ32110DQ5621DQ1051VDDQ81DQ33111DQ5722DQ1152CKE082VSS112VSS23VSS53VDD83DQS4#113DQS7#24DQ1654NC/BA284DQS4114DQS725DQ1755ERR_OU85VSS115VSS26VSS56VDDQ86DQ34116DQ5827DQS2#57A1187DQ35117DQ5928DQS258A788VSS118VSS29VSS59VDD89DQ40119SDA30DQ1860A590DQ41120SCL
BackPinSymbolPinSymbolPinSymbolPinSymbol121VSS151VSS181VDDQ211DM5/DQS14122DQ4152DQ28182A3212NC/DQS14#123DQ5153DQ29183A1213VSS124VSS154VSS184VDD214DQ46125DM0/DQS9155DM3/DQS12185CK0215DQ47126NC/DQS9#156NC/DQS12#186CK0#216VSS127VSS157VSS187VDD217DQ52128DQ6158DQ30188A0218DQ53129DQ7159DQ31189VDD219VSS130VSS160VSS190BA1220RFU131DQ12161CB4191VDDQ221RFU132DQ13162CB5192RAS#222VSS133VSS163VSS193S0#223DM6/DQS15134DM1/DQS10164DM8/DQS17194VDDQ224NC/DQS15#135NC/DQS10#165NC/DQS17#195ODT0225VSS136VSS166VSS196NC/A13226DQ54137RFU167CB6197VDD227DQ55138RFU168CB7198VSS228VSS139VSS169VSS199DQ36229DQ60140DQ14170VDDQ200DQ37230DQ61141DQ15171CKE1201VSS231VSS142VSS172VDD202DM4/DQS13232DM7/DQS16143DQ20173NC203NC/DQS13#233NC/DQS16#144DQ21174NC204VSS234VSS145VSS175VDDQ205DQ38235DQ62146DM2/DQS11176A12206DQ39236DQ63147NC/DQS11#177A9207VSS237VSS148VSS178VDD208DQ44238VDDSPD149DQ22179A8209DQ45239SA0150DQ23180A6210VSS240SA1 注:Pin196 为空(512MB),为A13 (1GB,2GB);Pin54 为NC(512MB),为BA2(1GB,2GB).
3.2.3 DDR2 Memory
3.3 MPC8641D与DDR2的接口
MCSn,MODT,MCKE是配对出现的;MCLKn之间是等价的,但是一个时钟最多可以同时驱动3个设备。时钟线应该尽量的短,且在同一PCB层上,注意端接匹配问题。