第九章 DDR存贮器控制器9.1 绪论完全可编程的 DDR SDRAM控制器支持大多数第一代 JEDEC标准的、可用的 x8或x16 DDR 和DDR2存贮器,包括非缓存式和寄存式 DIMM,但不支持在同一个系统中混合使用不同的存贮器类型或非缓存式和寄存式 DIMM内置的错误检测和校正(ECC)保证可靠的高频操作具有极低的位差错率动态电源管理和自动预充电模式简化了存贮器系统的设计丰富的特有特性,包括 ECC差错注入,支持快速系统调试本章中,"存贮体(bank)”指由一个片选指定的实际存贮体; "逻辑存贮体(logical bank)”指每个SDRAM 芯片中四个或八个子存贮体中的一个一个子存贮体由存贮器访问期间存贮体地址(MBA )上的两位或三位指定图9-1是DDR存贮器控制器及其相关接口的概要结构图 9.5节“功能描述”包括该控制器的详图来自主设备 的请求 来自主设备 的地址地址 译玛行打开表地址控制DDF? SDRAM存贮器阵列MA[14:0]MBA[2:0]CSBSDRAM桎制EN延迟髓DDR SDF5AM 存贮器管理MWEMCKE[Q:1IMDiqOd]数据眼重符MDQS[u.!?]来自SDRAM 的数据*来自主设备 的数据控制V数据信号MDQ[(j:63JMECCIQ:7]时钟 控制时钾MGK[0:5]MCK[0:5]图9-1 DDR存贮器控制器简化结构图9.2 特性DDR存贮器控制器包括这些与众不同的特性:支持 DDR 和 DDR2 SDRAM64/72位SDRAM数据总线。
支持 DDR和DDR2的32/40位SDRAM数据总线满足所有SDRAM定时参数的可编程设置支持下列SDRAM配置:四个物理存贮体(片选),每个存贮体独立寻址带有x8/x16/x32数据端口的64M位到4G位设备(无直接 x4支持) 非缓存式和寄存式 DIMM芯片选择交叉支持支持数据屏蔽信号和子双字(sub-double-word )写的读—修改—写注意,仅在 ECC启用时,读一修改一写才是必要的支持两位差错检测和一位差错恢复 ECC (8位校验字校验64位数据)四表项输入请求队列打开页面管理(每个逻辑存贮体都有专门的表项)自动DRAM初始化序列或软件控制的初始化序列自动DRAM数据初始化支持最多八个(posted)更新两倍SDRAM时钟的存贮器控制器时钟频率,支持睡眠电源管理支持差错注入9.2.1 操作模式DDR存贮器控制器支持下列模式:动态电源管理模式DDR存贮器控制器在SDRAM没有挂起的数据事务时,通过使SDRAM CKE 信号无效,可以减少功耗自动预充电模式清除 DDR_SDRAM_INTERV AL[BSTOPRE]让存贮器控制器在每次读或写事 务时,都发出自动预充电命令通过置位 CSn_CONFIG[AP_n_EN],每个独立片选的自动预充 电模式可以独立启用。
9.3 外部信号说明本节介绍DDR存贮器控制器的外部信号,说明当信号有效或无效时和当信号为输入或输出时的 信号的行为信号名字上的横线指示该信号为低有效,例如 /MCAS (列地址选通)低有效信号在它们为低时称为有效,为高时称为无效不是低有效的信号,例如 MDQ (数据总线),在它们为高时称为有效,为低时称为无效9.3.1 信号概述存贮器控制器信号分为以下几组:存贮器接口信号时钟信号调试信号表9-1显示了存贮器控制器外部信号是如何分组的设备硬件规范有表示引脚号的引线图它 还列出了所有的电气和机械规范表9-1 DDR存贮器接口信号汇总表名字功能/说明复位 引脚数I/OMDQ[0:63]数据总线全064I/OMDQS[0:8]数据选通全09I/O/MDQS[0:8]数据选通反码全19I/OMECC[0:7]差错校验和纠正全08I/O/MCAS列地址选通11OMA[14:0]地址总线全015OMBA[2:0]逻辑存贮体地址全03O/MCS[0:3]片选全04O/MWE写允许11O/MRAS行地址选通11OMDM[0:8]数据屏敝全09I/OMCK[0:5]DRAM时钟输出全06O/MCK[0:5]DRAM时钟输出(补码)全06OMCKE[0:1]DRAM时钟允许全02OMODT[0:3]DRAM (on-die)终止全04OMDVAL存贮器调试数据正确01OMSRCID[0:4]存贮器调试源ID全05OMDIC[0:1]驱动器阻抗校准高Z2I/O表9-2给出了存贮器地址信号映射。
表9-2存贮器地址信号映射信号名字(输出)JEDEC DDR DIMM信号(输入)信号名字(输出)JEDEC DDR DIMM 信号(输入)最高位MA14A14最低位MA4A4MA13A13MA3A3MA12A12MA2A2MA11A11MA1A1MA10A10MA0A0MA9A9MA8A8MA7A7最高位最低位MBA2MBA2MA6A6MBA1MBA1MA5A5MBA0MBA0932 详细信号说明下面几节介绍DDR SDRAM控制器的输入和输出信号、它们不同状态的含义、以及有效和无效 的相对时序信息9.3.2.1存贮器接口信号表9-3说明了 DDR控制器存贮器接口信号表9-3存贮器接口信号一一详细信号说明信号I/O说明MDQ[0:63]I/O数据总线DDR存贮器控制器上的输入和输出信号O作为双向数据总线的输出,这些信号按下面介绍的那样工作状态含义有效/无效一一表示正被 DDR存贮器控制器驱动的数 据的值时序有效/无效 与对应的数据选通 (MDQS)信号重合 高阻一一当前未处理 READ或WRITE命令;存贮器 控制器或DRAM当前未驱动数据I作为双向数据总线的输入,这些信号按下面介绍的那样工作。
状态含义有效/无效——表示正被外部 DDR SDRAM驱动的数据的状态时序有效/无效—— DDR SDRAM 在 READ 事务期间驱动 数据高阻一一当前未处理 READ或WRITE命令;存贮器 控制器或DRAM当前未驱动数据MDQS[0:8] /MDQS[0:8]I/O数据选通读数据时作为输入,写数据时作为输出数据选通可以 是单端的(single ended),也可以是差分的O作为输出,数据选通由DDR存贮器控制器在写事务期间驱动 存贮器控制器总是将这些信号驱动为低电平,除非已经发出了读操作, 且期望的数据选通到达这样就避免了在 DRAM接口无事务时数据 选通为高电平状态含义有效/无效 传输正电平捕获数据时为咼,传输负电平捕获数据时为低在写数据“眼睛”的中心;与读 数据眼睛重合将其当作时钟在信号翻转时数据正 确关于字节通道的分配见表 9-37时序有效/无效——如果 WRITE命令在时钟边沿 n到达, 则DRAM的数据选通在时钟边沿 n+1时在数据眼睛中 心宣告有效更多信息参见 JEDEC DDR SDRAM规范I作为输入,数据选通由外部 DDRSDRAM在读事务期间驱动存贮器控制器使用数据选通来同步数据锁存。
状态含义有效/无效 接收正电平捕获数据时为咼,接收负电平捕获数据时为低在写数据“眼睛”的中间;与读 数据“眼睛”重合将其当作时钟在信号翻转时数 据有效关于字节通道的分配见表 9-37时序有效/无效——如果 READ命令在时钟边沿 n到达,且 TIMING_CFG_1[CASLA T]规定的锁存为 m 个时钟, 则DRAM的数据选通在时钟边沿 n+m时与数据重合更多信息参见 JEDEC DDR SDRAM 规范MECC[0:7]I/O差错校验和纠正编码DDR控制器双向ECC总线的输入和输出信 号MECC[0:5]在正常和调试模式中都起作用O作为正常模式输出,ECC信号表示DDR控制器在写时驱动的 ECC 的状态作为调试模式输出, MECC[0:5]提供源ID和数据有效的信息状态含义有效/无效一一表示DDR控制器在写时驱动的 ECC的 状态时序有效/无效一一与 MDQ的时序相同 高阻一一与 MDQ的时序相同I作为输入,表示SDRAM设备在读时驱动的 ECC的状态状态含义有效/无效——表示 DDR SDRAM在读时驱动的 ECC 的状态时序有效/无效一一与 MDQ的时序相同 高阻一一与 MDQ的时序相同。
MA[14:0]O地址总线存贮器控制器到 DRAM的地址输出MA[14:0]携带对应 行和列地址位的 DDR存贮器接口的15个地址位MA0是存贮器控 制器地址输出的最低位状态含义有效/无效一一表示 DDR存贮器控制器驱动的地址 包括不冋部分的地址,与存贮器大小和存贮器控制器 发出的DRAM命令有关关于这些信号映射的完整介 绍见表9-40时序有效/无效一一在存贮器控制器启用时,就始终驱动地 址在向 DRAM驱动事务时(/MCS有效)有效 高阻一一在存贮器控制器禁用时MBA[2:0]O逻辑存贮体地址驱动 SDRAM逻辑(或内部)存贮体地址引脚的 输出每个SDRAM支持四个或八个可寻址的逻辑子存贮体存贮 器控制器的输出存贮体地址的位 0必须与SDRAM的输入存贮体地址的位0相连MBA0 ,二个存贮体地址信号的最低有效位,在模 式寄存器设置命令期间有效,以指定扩展模式寄存器状态含义有效/无效一一在存贮器访问的行地址阶段,选择要激 活的DDR SDRAM逻辑(或内部)存贮体;在存贮器 访问的列地址阶段,选择用于读或写操作的 SDRAM内部存贮体表9-40介绍了所有情况下的这些信号的 映射时序有效/无效 与MAn的时序相冋。
高阻一一与 MAn的时序相同/MCASO列地址选通低有效SDRAM地址复用信号/MCAS对读和写操作, 以及模式寄存器设置、刷新和预充电命令都有效状态含义有效 为读和与操作指示总线上有一个有效的SDRAM列地址关于其他 SDRAM命令所要求的/MCAS状态的更多信息见表 9-45无效一一不保证列地址有效时序有效/无效一一有效/无效的时序由 9.4.1.4节“ DDRSDRAM 定时配置 0 (TIMING_CFG_0 ) ”、9.4.1.5 节 “ DDR SDRAM 定时配置 1 (TIMING_CFG_1 ) ”、941.6 节 “ DDR SDRAM 定时配置 2(TIMING_CFG_2 )” 和 941.3 节“ DDR SDRAM 定 时配置3 (TIMING_CFG_3 )”介绍的值控制。