当前位置:首页 >> 信息与通信 >>

第9章


第九章 9.1

DDR 存贮器控制器

绪论 完全可编程的 DDR SDRAM 控制器支持大多数第一代 JEDEC 标准的、可用的 x8 或 x16 DDR 和 DDR2 存贮器,包括非缓存式和寄存式 DIMM,但不支持在同一个系统中混合使用不同的存贮器 类型或非缓存式和寄存式 DIMM。内置的错误检测和校正( ECC)保证可靠的高频操作具有极低的 位差错率。动态电源管理和自动预充电模式简化了存贮器系统的设计。丰富的特有特性,包括 ECC 差错注入,支持快速系统调试。 注意 本章中, “存贮体(bank) ”指由一个片选指定的实际存贮体; “逻辑存贮体(logical bank) ” 指 每个 SDRAM 芯片中四个或八个子存贮体中的一个。一个子存贮体由存贮器访问期间存贮体地址 (MBA)上的两位或三位指定。 图 9-1 是 DDR 存贮器控制器及其相关接口的概要结构图。 9.5 节“功能描述”包括该控制器的 详图。

图 9-1

DDR 存贮器控制器简化结构图

9.2 ? ? ?

特性 DDR 存贮器控制器包括这些与众不同的特性: 支持 DDR 和 DDR2 SDRAM 64/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_INTERVAL[BSTOPRE]让存贮器控制器在每次读或写事 务时,都发出自动预充电命令。通过置位 CSn_CONFIG[AP_n_EN],每个独立片选的自动预充 电模式可以独立启用。 外部信号说明 本节介绍 DDR 存贮器控制器的外部信号, 说明当信号有效或无效时和当信号为输入或输出时的 信号的行为。 9.3 注意 信号名字上的横线指示该信号为低有效,例如/MCAS (列地址选通) 。低有效信号在它们为低 时称为有效,为高时称为无效。不是低有效的信号,例如 MDQ(数据总线) ,在它们为高时称为有 效,为低时称为无效。 9.3.1 信号概述 存贮器控制器信号分为以下几组: ? 存贮器接口信号 ? 时钟信号 ? 调试信号 表 9-1 显示了存贮器控制器外部信号是如何分组的。设备硬件规范有表示引脚号的引线图。它 还列出了所有的电气和机械规范。 表 9-1 DDR 存贮器接口信号汇总表 功能/说明 复位 引脚数 I/O

名字

MDQ[0:63] MDQS[0:8] /MDQS[0:8] MECC[0:7] /MCAS MA[14:0] MBA[2:0] /MCS[0:3] /MWE /MRAS MDM[0:8] MCK[0:5] /MCK[0:5] MCKE[0:1] MODT[0:3] MDVAL MSRCID[0:4] MDIC[0:1]

数据总线 数据选通 数据选通反码 差错校验和纠正 列地址选通 地址总线 逻辑存贮体地址 片选 写允许 行地址选通 数据屏蔽 DRAM 时钟输出 DRAM 时钟输出(补码) DRAM 时钟允许 DRAM(on-die)终止 存贮器调试数据正确 存贮器调试源 ID 驱动器阻抗校准

全0 全0 全1 全0 1 全0 全0 全0 1 1 全0 全0 全0 全0 全0 0 全0 高Z

64 9 9 8 1 15 3 4 1 1 9 6 6 2 4 1 5 2

I/O I/O I/O I/O O O O O O O I/O O O O O O O I/O

表 9-2 给出了存贮器地址信号映射。 表 9-2 存贮器地址信号映射 信号名字(输出) JEDEC DDR DIMM 信号 (输入) MA4 MA3 MA2 MA1 最低位 MA0 A4 A3 A2 A1 A0

M 信号名字(输出) JEDEC DDR DIM DIMM 信号(输入) 最高位 MA14 MA13 MA12 MA11 MA10 MA9 MA8 MA7 MA6 MA5 A14 A13 A12 A11 A10 A9 A8 A7 A6 A5

最高位 最低位

MBA2 MBA1 MBA0

MBA2 MBA1 MBA0

9.3.2 详细信号说明 下面几节介绍 DDR SDRAM 控制器的输入和输出信号、它们不同状态的含义、以及有效和无效 的相对时序信息。 9.3.2.1 存贮器接口信号 表 9-3 说明了 DDR 控制器存贮器接口信号。

表 9-3

存贮器接口信号——详细信号说明 I/O I/O O 说明 数据总线。DDR 存贮器控制器上的输入和输出信号 作为双向数据总线的输出,这些信号按下面介绍的那样工作。 状态含义 时序 有效/无效——表示正被 DDR 存贮器控制器驱动的数 据的值。 有效/无效——与对应的数据选通 (MDQS) 信号重合。 高阻——当前未处理 READ 或 WRITE 命令;存贮器 控制器或 DRAM 当前未驱动数据。 有效 / 无效——表示正被外部 DDR SDRAM 驱动的数 据的状态。 有效 / 无效—— DDR SDRAM 在 READ 事务期间驱动 数据。 高阻——当前未处理 READ 或 WRITE 命令;存贮器 控制器或 DRAM 当前未驱动数据。

信号 MDQ[0:63]

I

作为双向数据总线的输入,这些信号按下面介绍的那样工作。 状态含义 时序

MDQS[0:8] /MDQS[0:8]

I/O O

数据选通。读数据时作为输入,写数据时作为输出。数据选通可以 是单端的(single ended) ,也可以是差分的 作为输出, 数据选通由 DDR 存贮器控制器在写事务期间驱动。 存贮 器控制器总是将这些信号驱动为低电平,除非已经发出了读操作, 且期望的数据选通到达。 这样就避免了在 DRAM 接口无事务时数据 选通为高电平。 状态含义 有效/无效——传输正电平捕获数据时为高,传输负电 平捕获数据时为低。在写数据“眼睛”的中心;与读 数据眼睛重合。将其当作时钟。在信号翻转时数据正 确。关于字节通道的分配见表 9-37。 有效/无效——如果 WRITE 命令在时钟边沿 n 到达, 则 DRAM 的数据选通在时钟边沿 n+1 时在数据眼睛中 心宣告有效。更多信息参见 JEDEC DDR SDRAM 规 范。

时序

I

作为输入,数据选通由外部 DDRSDRAM 在读事务期间驱动。存贮 器控制器使用数据选通来同步数据锁存。 状态含义 有效/无效——接收正电平捕获数据时为高,接收负电 平捕获数据时为低。在写数据“眼睛”的中间;与读 数据“眼睛”重合。将其当作时钟。在信号翻转时数 据有效。关于字节通道的分配见表 9-37。 有效/无效——如果 READ 命令在时钟边沿 n 到达, 且 TIMING_CFG_1[CASLAT] 规定的锁存为 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 的时序相同。 有效 /无效——表示 DDR SDRAM 在读时驱动的 ECC 的状态。 有效/无效——与 MDQ 的时序相同。 高阻——与 MDQ 的时序相同。

I

作为输入,表示 SDRAM 设备在读时驱动的 ECC 的状态。 状态含义 时序

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 的时序相同。

时序 /MCAS O

列地址选通。 低有效 SDRAM 地址复用信号。 /MCAS 对读和写操作, 以及模式寄存器设置、刷新和预充电命令都有效。 状态含义 有效——为读和写操作指示总线上有一个有效 的 SDRAM 列 地址。关于其他 SDRAM 命 令所要求的 /MCAS 状态的更多信息见表 9-45。 无效——不保证列地址有效 有效 / 无效——有效 / 无效的时序由 9.4.1.4 节“ DDR SDRAM 定时配置 0 ( TIMING_CFG_0 ) ” 、 9.4.1.5 节 “ DDR SDRAM 定 时 配 置 1 ( TIMING_CFG_1 ) ” 、 9.4.1.6 节 “ DDR SDRAM 定 时 配 置 2

时序

( TIMING_CFG_2 ) ”和 9.4.1.3 节“ DDR SDRAM 定 时配置 3(TIMING_CFG_3) ”介绍的值控制。 高阻——只要存贮器控制器不是禁用的,就始终驱动 /MCAS。 /MRAS O 行地址选通。低有效 SDRAM 地址复用信号。/MCAS 对激活命令有 效。此外还用于模式寄存器设置和刷新命令。 状态含义 有效——为读和写操作指示总线上有一个有效 的 SDRAM 行 地址。关于其他 SDRAM 命 令所要求的 /MRAS 状态的更多信息见表 9-45。 无效——不保证行地址有效 有效 / 无效——有效 / 无效的时序由 9.4.1.4 节“ DDR SDRAM 定时配置 0 ( TIMING_CFG_0 ) ” 、 9.4.1.5 节 “ DDR SDRAM 定 时 配 置 1 ( TIMING_CFG_1 ) ” 、 9.4.1.6 节 “ DDR SDRAM 定 时 配 置 2 ( TIMING_CFG_2 ) ”和 9.4.1.3 节“ DDR SDRAM 定 时配置 3(TIMING_CFG_3) ”介绍的值控制。 高阻——只要存贮器控制器不是禁用的,就始终驱动 /MCAS。 有效——选择一个物理 SDRAM 存贮体执行 9.4.1.1 节 “片选存贮体范围(CSn_BNDS) ”和 9.4.1.2 节“片选 存贮体配置 (CSn_CONFIG) ” 介绍的存贮器访问操作。 DDR 控制器将某个/MCS[0:3]信号置为有效, 开始一个 存贮器周期。 无效——指示当前周期无 SDRAM 活动。 有效/无效——有效时向 SDRAM 报告有新的事务。事 务必须遵循在 TIMING_CFG_0 - TIMING_CFG_3 中 设置的定时限制。 高阻——只要存贮器控制器不是禁用的, 就始终驱动。

时序

/MCS[0:3]

O

片选。存贮器控制器支持四个片选。 状态含义

时序

/MWE

O

写允许。在向 SDRAM 发出写事务时有效。它还用于模式寄存器设 置命令和预充电命令。 状态含义 有效——指示一个存贮器写操作。关于其他 SDRAM 命令所要求的/MWE 状态的更多信息见表 9-45。 无效——指示一个存贮器读操作。 有效/无效——与/MRAS 和/MCAS 的时序相似。用于 写命令。 高阻——只要存贮器控制器不是禁用的,就始终驱动 /MWE。

时序

MDM[0:8]

O

DDR SDRAM 数据输出屏蔽。 屏蔽写期间传输的不需要的数据字节。 当所有的 I/O 都在多字节突发中进行时,需要使用这些信号,以支 持 SDRAM 上的子突发长度事务(例如单字节写) 。MDM0 对应最 高有效字节(MSB) ,MDM7 对应最低有效字节(LSB) ,MDM8 对 应 ECC 字节。表 9-37 给出了字节通道编码。此外,DDR 控制器还 支持这样一种模式,即可以把 ECC 多路复用到数据屏蔽引脚上。 允

许在内部将 ECC 多路复用到数据屏蔽引脚上使板子的设计在布 线 ECC 信号时更为简单。在该 ECC 复用模式中,MDM[0:7]的时序将 遵 循 ECC[0:7] 的 时 序 。 在 存 贮 器 控 制 器 启 用 之 前 置 位 DDR_SDRAM_CFG_2[24],可以启用该模式。 状态含义 有效——防止写入 DDR SDRAM。如果应该为写屏蔽 对应的字节, 则在将数据写入 DRAM 时, 该信号有效。 注意, MDMn 信号对 DDR 控制器是高有效的。 MDMn 是 DDR 命令编码的一部分。 无 效 — — 允 许 对 应 字 节 从 SDRAM 读 出 或 写 入 SDRAM。 有效/无效——与 MDQx 作为输出时的时序相同。 高阻——只要存贮器控制器不是禁用的, 就始终驱动。 有效 /无效——表示正被 DDR SDRAM 读驱动的 ECC 状态。 有效/无效——与 MDQ 的时序相同。 高阻——与 MDQ 的时序相同。

时序

I

DDR SDRAM 数据屏蔽。 状态含义 时序

MODT[0:3]

O

(on-die)终止。存贮器控制器 ODT 到 DRAM 的输出。MODT[0:3] 表示相关数据、数据屏蔽、ECC 和数据选通的(on-die)终止。 状态含义 时序 有 效 / 无 效 — — 表 示 被 DDR 存 贮 器 控 制 器 驱 动 的 ODT。 有效/无效——按 JEDEC DRAM 规范的(on-die)终止 定时进行驱动。通过 CSn_CONFIG[ODT_RD_CFG]和 CSn_CONFIG[ODT_WR_CFG]字段配置。 高阻——始终驱动。

MDIC[0:1]

I/O

驱动器阻抗校准。 注意, MDIC 信号要求使用精度为 18 欧姆的电阻。 MDIC0 应被拉到 GND ,MDIC1 应被拉到 GVDD。关于这些信号的 更多信息见 5.3.2.8 节“DDR 控制驱动器寄存器” 。 状态含义 时序 这些引脚用于 DDR IO 的自动校准。 在 DDR 控制器正在运行自动驱动器补偿时, 将这些信 号驱动四个 DRAM 周期。

9.3.2.2 时钟接口信号 表 9-4 包括 DDR 控制器时钟信号的详细说明。 表 9-4 时钟信号——详细信号说明 I/O O 状态含义 说明 DRAM 时钟输出及其补偿。见 9.5.4.1 节“时钟分配” 。 有效/无效—— JEDEC DDR SDRAM 规范要求真实时 钟和补偿时钟。在真实时钟和补偿时钟交叉时, SDRAM 看到时钟边沿。 有 效 / 无 效 — — 由 CCSRBAR 偏 移 0x0_2130 处 的

信号 MCK[0:5] /MCK[0:5]

时序

DDR_CLK_CNTL 寄存器控制。 MCKE[0:1] O 时钟允许。用作到 SDRAM 时钟允许的输出信号。MCKE[0:1]可以 无效,以停止 DDR SDRAM 的时钟同步。 状态含义 有效——允许对 SDRAM 时钟同步。 无效——禁止对 SDRAM 时钟同步,SDRAM 应忽略 MCK 或/MCK 上的信号跳变。当 MCKE[0:1]无效时, 不考虑 MCK//MCK。 有效/无效—— DDR_SDRAM_CFG[MEM_EN]置位时 有效。在进入动态电源管理或自刷新时可以无效。在 退出动态电源管理或自刷新时可以重新有效。 高阻——始终驱动。

时序

9.3.2.3 调试信号 调试信号 MSRCID[0:4]和 MDVAL 在正常 DDR 操作时不起作用。在 5.3.2.7 节“调试配置”中 可以找到这些信号的详细说明。

内存映射/寄存器定义 表 9-5 给出了 DDR 存贮器控制器的寄存器内存映射。在该表和寄存器特性及字段说明中,使用 下列访问定义: ? 为确定访问类型,始终忽略保留字段。 ? R/W、R 和 W(读/写、只读和只写)指示寄存器中的所有非保留字段都具有相同的访问类型。 ? w1c 指示寄存器中的所有非保留字段在写入 1 时清除。 ? Mixed(混合)指示一种混合访问类型。 。在这种情况下,应认真阅读寄存器图和字段说 ? 当无任何其他分类适用时使用 Special(特殊) 明表。 9.4 表 9-5 偏移 0x0_2000 0x0_2008 0x0_2010 0x0_2018 0x0_2080 0x0_2084 0x0_2088 0x0_208C 0x0_2100 0x0_2104 0x0_2108 DDR 存贮器控制器内存映射 寄存器 CS0_BNDS-片选 0 存贮器边界 CS1_BNDS-片选 1 存贮器边界 CS2_BNDS-片选 2 存贮器边界 CS3_BNDS-片选 3 存贮器边界 CS0_CONFIG-片选 0 配置 CS1_CONFIG-片选 1 配置 CS2_CONFIG-片选 2 配置 CS3_CONFIG-片选 3 配置 访问 R/W R/W R/W R/W R/W R/W R/W R/W 复位 0x0000_0000 0x0000_0000 0x0000_0000 0x0000_0000 0x0000_0000 0x0000_0000 0x0000_0000 0x0000_0000 0x0000_0000 0x0011_0105 0x0000_0000 节/页 9.4.1.1/9-10 9.4.1.1/9-10 9.4.1.1/9-10 9.4.1.1/9-10 9.4.1.2/9-10 9.4.1.2/9-10 9.4.1.2/9-10 9.4.1.2/9-10 9.4.1.3/9-10 9.4.1.4/9-10 9.4.1.5/9-10

TIMING_CFG_3 - DDR SDRAM 定 时 配 R/W 置3 TIMING_CFG_0 - DDR SDRAM 定 时 配 R/W 置0 TIMING_CFG_1 - DDR SDRAM 定 时 配 R/W 置1

0x0_210C 0x0_2110 0x0_2114 0x0_2118 0x0_211C 0x0_2120 0x0_2124 0x0_2128 0x0_2130 0x0_2140 0x0_2148 0x0_214C 0x0_2BF8 0x0_2BFC 0x0_2E00 0x0_2E04 0x0_2E08 0x0_2E20 0x0_2E24 0x0_2E28 0x0_2E40 0x0_2E44 0x0_2E48 0x0_2E4C 0x0_2E50

TIMING_CFG_2 - DDR SDRAM 定 时 配 R/W 置2 DDR_SDRAM_CFG -DDR SDRAM 控制 R/W 配置 DDR_SDRAM_CFG_2-DDR SDRAM 控 R/W 制配置 2 DDR_SDRAM_MODE -DDR SDRAM 模 R/W 式配置 DDR_SDRAM_MODE_2 - DDR SDRAM R/W 模式配置 2 DDR_SDRAM_MD_CNTL SDRAM 模式控制 DDR_SDRAM_INTERVAL SDRAM 时间间隔配置 - - DDR R/W

0x0000_0000 0x0200_0000 0x0000_0000 0x0200_0000 0x0000_0000 0x0000_0000 0x0000_0000 0x0000_0000 0x0200_0000 - 0x0200_0000 0x0000_0000 0x0002_0200 0x0000_0000 0x0000_0000 0x0000_0000 0x0000_0000 0x0000_0000 0x0000_0000 0x0000_0000 0x0000_0000 0x0000_0000 0x0000_0000 0x0000_0000 0x0000_0000

9.4.1.6/9-10 9.4.1.7/9-10 9.4.1.8/9-10 9.4.1.9/9-10 9.4.1.10/9-10 9.4.1.11/9-10 9.4.1.12/9-10 9.4.1.13/9-10 9.4.1.14/9-10 - 9.4.1.15/9-10 9.4.1.16/9-10 9.4.1.17/9-10 9.4.1.18/9-10 9.4.1.19/9-10 9.4.1.20/9-10 9.4.1.21/9-10 9.4.1.22/9-10 9.4.1.23/9-10 9.4.1.24/9-10 9.4.1.25/9-10 9.4.1.26/9-10 9.4.1.27/9-10 9.4.1.28/9-10 9.4.1.29/9-10

DDR R/W

DDR_DATA_INT - DDR SDRAM 数据初 R/W 始化 DDR_SDRAM_CLK_CNTL SDRAM 时钟控制 保留 - DDR R/W -

DDR_INIT_ADDRESS - DDR ( training ) R/W 初始化地址 DDR_INIT_EXT_ADDRESS (training)初始化扩展地址 DDR_IP_REV1-DDR DDR_IP_REV2-DDR - DDR R/W R R R/W R/W R/W R/W R/W R/W w1c R/W R/W R/W R/W

IP 部件版本 1 IP 部件版本 2

DDR_ERR_INJECT_HI-存贮器数据通路 差错注入屏蔽高端 DDR_ERR_INJECT_LO - 存 贮 器 数 据 通 路差错注入屏蔽低端 ECC_ERR_INJECT - 存 贮 器 数 据 通 路 差 错注入屏蔽 ECC CAPTURE_DATA_HI - 存 贮 器 数 据 通 路 读捕获高端 CAPTURE_DATA_LO -存贮器数据通路 读捕获低端 CAPTURE_ECC-存贮器数据通路读捕获 ECC ERR_DETECT-存贮器错误检测 ERR_DISABLE-存贮器错误禁止 ERR_INT_EN-存贮器错误中断允许 CAPTURE_ATTRIBUTES-存贮器错误属 性捕获 CAPTURE_ADDRESS -存贮器错误地址 捕获

0x0_2E54 0x0_2E58

CAPTURE_EXT_ADDRESS-存贮器错误 扩展地址捕获 ERR_SBE-单位(single-bit)ECC 存贮器 错误管理

R/W R/W

0x0000_0000 0x0000_0000

9.4.1.30/9-10 9.4.1.31/9-10

9.4.1 寄存器说明 本节介绍 DDR 存贮器控制器寄存器。阴影指示保留字段,不应写入。 9.4.1.1 片选存贮器边界(CSn_BNDS Chip Select Memory Bounds) 片选存贮器边界寄存器( CSn_BNDS )如图 9-2 所示,它定义单个片选所对应的存贮器空间的 起始和结束地址。注意,CSn_BNDS 中指定的长度应等于实际 DRAM 的长度。还要注意,EAn 必 须大于或等于 SAn。 如果允许片选交叉,将使用较低交叉片选的所有字段,不使用其他片选边界寄存器。例如,如 果片选 0 和片选 1 交叉,将使用 CS0_BNDS 中的所有字段,不使用 CS1_BNDS 中的所有字段。

图 9-2

片选存贮器边界寄存器(CSn_BNDS)

表 9-6 说明了 CSn_BNDS 寄存器字段。 表 9-6 位 0-3 4-15 16-19 20-31 CSn_BNDS 字段说明 名字 - SAn - EAn 保留 片选(存贮体)n 的起始地址。将该值与 36 位地址的 12 个最 高有效位进行比较。 保留 片选(存贮体)n 的结束地址。将该值与 36 位地址的 12 个最 高有效位进行比较。 说明

9.4.1.2 片选配置(CSn_CONFIG Chip Seclect Configuration) 片选配置(CSn_CONFIG)寄存器如图 9-3 所示,它允许 DDR 片选,并设置用于每个片选的行 和 列 的 位 数 。 这 些 寄 存 器 应 为 每 个 SDRAM 装 入 正 确 的 行 和 列 的 位 数 。 因 为 CSn_CONFIG[ROW_BITS_CS_n,COL_BITS_CS_n]建立地址多路复用,所以用户应非常小心地、 正确地设置这些值。 如果允许片选交叉,那么将使用编号 n 值较低的交叉片选配置寄存器的所有字段,而不使用其 他配置寄存器的字段,但 ODT_RD_CFG 和 ODT_WR_CFG 字段除外。例如,如果片选 0 和片选 1

交 叉 , 将 使 用 CS0_CONFIG 中 的 所 有 字 段 , 但 仅 使 用 CS0_CONFIG 中 的 ODT_RD_CFG 和 ODT_WR_CFG 字段。

图 9-3

片选配置寄存器(CSn_CONFIG)

表 9-7 说明了 CSn_CONFIG 寄存器字段。 表 9-7 位 0 CSn_CONFIG 字段说明 名字 CS_n_EN 说明 片选 n 允许 0 片选 n 不活动 1 片选 n 活动,并呈现 CSn_BNDS 中所设置的状态。 保留 片选 n 自动预充电开启 0 仅 在 全 局 自 动 预 充 电 模 式 开 启 时 (DDR_SDRAM_INTERVAL[BTROBE]=0) ,片选 n 才自 动预充电。 1 片选 n 将始终为读和写事务发出自动预充电。 读配置的 ODT 。注意,若 ODT_RD_CFG 启用,则 CAS 延迟加上附加的延迟必须至少为 3 个周期。应将 ODT 仅 用于 DDR2 存贮器。 000 不为读宣告 ODT 有效 001 仅在读 CSn 期间宣告 ODT 有效 010 仅在读其他片选期间宣告 ODT 有效 011 仅在读其他 DIMM 期间宣告 ODT 有效。 它假定 CS0 和 CS1 在同一个 DIMM 模块上,而 CS2 和 CS3 在各自的 DIMM 模块。 100 对所有读都宣告 ODT 有效 101-111 保留 保留 写配置的 ODT 。注意,若 ODT_WR_CFG 启用,写延迟 加上附加的延迟必须至少为 3 个周期。应将 ODT 仅用于 DDR2 存贮器。 000 不为写宣告 ODT 有效

1-7 8

- AP_n_EN

9-11

ODT_RD_CFG

12 13-15

- ODT_WR_CFG

001 仅在写 CSn 期间宣告 ODT 有效 010 仅在写其他片选期间宣告 ODT 有效 011 仅在写其他 DIMM 期间宣告 ODT 有效。假定 CS0 和 CS1 在同一个 DIMM 模块上,而 CS2 和 CS3 在各自的 DIMM 模块。 100 对所有写都宣告 ODT 有效 101-111 保留 16-17 BA_BITS_CS_n 片选 n 上的 SDRAM 存贮体位数。 这些位与表 9-40、 9-45、 9-41 和 9-47 中的 MBAn 上驱动的子存贮体位相对应。 00 2 位逻辑存贮体位 01 3 位逻辑存贮体位 10-11 保留 保留 片选 n 上的 SDRAM 行位数。详细信息见表 9-40 和 9-41。 000 12 位行位 001 13 位行位 010 14 位行位 011 15 位行位 100 保留 101-111 保留 保留 片选 n 上的 SDRAM 列位数。详细信息见表 9-40 和 9-41。 000 8 位列位 001 9 位列位 010 10 位列位 011 11 位列位 100-111 保留

18-20 21-23

- ROW_BITS_CS_n

24-28 29-31

- COL_BITS_CS_n

9.4.1.3 DDR SDRAM 定时配置寄存器 3(TIMING_CFG_3 DDR SDRAM Timing Configuration 3) DDR SDRAM 定 时 配 置 寄 存 器 3 如 图 9-4 所 示 , 它 设 置 扩 展 的 刷 新 恢 复 时 间 , 与 TIMING_CFG_1[REFREC]一起联合确定总刷新恢复时间。

图 9-4

DDR SDRAM 定时配置寄存器 3(TIMING_CFG_3)

表 9-8 说明了 TIMING_CFG_3 寄存器字段。 表 9-8 TIMING_CFG_3 字段说明 位 名字 说明

0-12 13-15

- EXT_REFREC

保留,应清除。 扩展刷新恢复时间(tREF) 。控制从刷新命令开始到允许激活 命 令 为 止 的 时 钟 周 期 的 数 量 。 该 字 段 与 TIMING_CFG_1[REFREC] 拼接,得到一个 7 位长的总刷新 恢复值。注意,硬件在最终的 7 位刷新恢复值基础上再增加 8 个时钟周期。tREF={EXT_REFREC || REFREC}+8。 000 0 个时钟 001 16 个时钟 010 32 个时钟 011 48 个时钟 100 64 个时钟 101 80 个时钟 110 96 个时钟 111 112 个时钟 保留,应清除。

16-31



9.4.1.4 DDR SDRAM 定时配置寄存器 0(TIMING_CFG_0 DDR SDRAM Timing Configuration 0) DDR SDRAM 定时配置寄存器 0 如图 9-5 所示,它设置各种 SDRAM 控制命令之间的时钟周期 的数量。

图 9-5

DDR SDRAM 定时配置寄存器 0(TIMING_CFG_0)

表 9-9 说明了 TIMING_CFG_0 寄存器字段。 表 9-9 TIMING_CFG_0 字段说明 位 0-1 RWT 名字 说明 读到写的翻转时间( tRTW) 。指定在读到写翻转之间额外增 加多少个周期。如果选择 0 个时钟,则 DDR 控制器将使用 一个基于 CAS 延迟和写延迟的固定数。选择一个非 0 值, 则在该缺省计算值过去之后额外增加一些周期。作为缺省, DDR 控制器按公式 CL -WL+ BL/2+2 确定读到写的翻转 时间。在该公式中,CL 为 CAS 延迟,向上舍入为下一个整 数,WL 是规定的写延迟,BL 为突发长度。 00 0 个时钟 10 2 个时钟 01 1 个时钟 11 3 个时钟 写到读的翻转时间。 指定在写到读翻转之间额外增加多少个 周期。如果选择 0 个时钟,则 DDR 控制器将使用一个基于 读延迟和写延迟的固定数。选择一个非 0 值,则在该缺省计

2-3

WRT

算值过去之后额外增加一些周期。作为缺省, DDR 控制器 按公式 WL-CL+BL/2+1 确定读到写的翻转时间。 在该公 式中,CL 为 CAS 延迟,向下舍入为下一个整数,WL 是规 定的写延迟,BL 为突发长度。 00 0 个时钟 10 2 个时钟 01 1 个时钟 11 3 个时钟 4-5 RRT 读到读的翻转时间。 指定在读到读翻转之间额外增加多少个 周期。缺省时,到不同片选的读命令之间需要 3 个周期。 使 用该字段可以增加额外的周期。注意,如果允许 8 拍突发, 则缺省值为 5 个周期。注意,DDR2 不支持 8 拍突发。 00 0 个时钟 10 2 个时钟 01 1 个时钟 11 3 个时钟 写到写的翻转时间。 指定在写到写翻转之间额外增加多少个 周期。缺省时,到不同片选的写命令之间需要 2 个周期。 使 用该字段可以增加额外的周期。注意,如果允许 8 拍突发, 则缺省值为 4 个周期。注意,DDR2 不支持 8 拍突发。 00 0 个时钟 10 2 个时钟 01 1 个时钟 11 3 个时钟 保留,应清除。 活动下电退出时间(tXARD 和 tXARDS) 。指定在退出有效下电 之后需等待多少个时钟周期才能发出命令。 000 保留 100 4 个时钟 001 1 个时钟 101 5 个时钟 010 2 个时钟 110 6 个时钟 011 3 个时钟 111 7 个时钟 保留,应清除。 预充电下电退出时间(tXP) 。指定在退出预充电下电之后需 等待多少个时钟周期才能发出命令。 000 保留 001 1 个时钟 010 2 个时钟 011 3 个时钟 100 4 个时钟 101 5 个时钟 110 6 个时钟 111 7 个时钟 保留,应清除。 ODT 下电退出时间(tAXPD) 。指定在退出下电之后需经过多 少个时钟周期 ODT 才可以有效。 0000 0 个时钟 1000 8 个时钟 0001 1 个时钟 1001 9 个时钟 0010 2 个时钟 1010 10 个时钟 0011 3 个时钟 1011 11 个时钟 0100 4 个时钟 1100 12 个时钟

6-7

WWT

8 9-11

- ACT_PD_EXIT

12 13-15

- PRE_PD_EXIT

16-19 20-23

- ODT_PD_EXIT

0101 5 个时钟 0110 6 个时钟 0111 7 个时钟 24-27 28-31 - MRS_CYC 保留,应清除。

1101 13 个时钟 1110 14 个时钟 1111 15 个时钟

模式寄存器设置周期时间(tMRD) 。指定在模式寄存器设置 之后需经过多少个时钟周期才能发出其他命令。 0000 保留 1000 8 个时钟 0001 1 个时钟 1001 9 个时钟 0010 2 个时钟 1010 10 个时钟 0011 3 个时钟 1011 11 个时钟 0100 4 个时钟 1100 12 个时钟 0101 5 个时钟 1101 13 个时钟 0110 6 个时钟 1110 14 个时钟 0111 7 个时钟 1111 15 个时钟

9.4.1.5 DDR SDRAM 定时配置寄存器 1(TIMING_CFG_0 DDR SDRAM Timing Configuration 1) DDR SDRAM 定时配置寄存器 1 如图 9-6 所示,它设置各种 SDRAM 控制命令之间的时钟周期 的数量。

图 9-6

DDR SDRAM 定时配置寄存器 1(TIMING_CFG_1)

表 9-10 说明了 TIMING_CFG_1 寄存器字段。 表 9-10 TIMING_CFG_1 字段说明 位 0 1-3 - PRETOACT 名字 保留,应清除。 预充电到激活的时间间隔(tRP) 。确定从预充电命令到允许 激活或刷新命令为止的时钟周期数。 000 保留 001 1 个时钟 010 2 个时钟 011 3 个时钟 100 4 个时钟 101 5 个时钟 110 6 个时钟 111 7 个时钟 激活到预充电的时间间隔 (tRAS) 。 确定从激活命令到允许预 充电命令为止的时钟周期数。 说明

4-7

ACTTOPRE

0000 0001 0010 0011 0100 8 9-11 - ACTTORW

16 个时钟 17 个时钟 18 个时钟 19 个时钟 4 个时钟

0101 5 个时钟 0110 6 个时钟 0111 7 个时钟 … 1111 15 个时钟

保留,应清除。 SDRAM 从激活到读 /写的时间间隔( tRCD) 。控制从激活命 令到允许读或写命令为止的时钟周期数。 000 保留 001 1 个时钟 010 2 个时钟 011 3 个时钟 100 4 个时钟 101 5 个时钟 110 6 个时钟 111 7 个时钟 READ 命令的/MCAS 延迟。从 SDRAM 接到 READ 命令到 第一个输出数据可用之间的时钟周期数。如果在时钟边沿 n 处接到 READ 命令,且延迟为 m 个时钟,则数据名义上在 时钟边沿 n+m 处可用。 该值必须在初始化时设置, 如 9.4.1.8 节“DDR SDRAM 控制配置 2(DDR_SDRAM_CFG_2) ” 所 介绍的。 0000 保留 1000 4.5 个时钟 0001 1 个时钟 1001 5 个时钟 0010 1.5 个时钟 1010 5.5 个时钟 0011 2 个时钟 1011 6 个时钟 0100 2.5 个时钟 1100 6.5 个时钟 0101 3 个时钟 1101 7 个时钟 0110 3.5 个时钟 1110 7.5 个时钟 0111 4 个时钟 1111 8 个时钟 刷新恢复时间(tRFC) 。控制从刷新命令到允许激活命令为止 的时钟周期数。该字段与 TIMING_CFG_3[EXTREFREC]拼 接,得到一个 7 位长的总刷新恢复值。注意,硬件在最终的 7 位刷新恢复值基础上再增加 8 个时钟周期。这样 tRFC 的计 算如下: tRFC={EXT_REFREC || REFREC}+8。 0000 8 个时钟 0011 11 个时钟 0001 9 个时钟 … 0010 10 个时钟 1111 23 个时钟 保留,应清除。 最后一个数据到预充电的最小时间间隔(tWR) 。确定从与写 命令有关的最后一个数据到允许预充电命令为止的时钟周 期数。 000 保留

12-15

CASLAT

16-19

REFREC

20 21-23

- WRREC

001 1 个时钟 010 2 个时钟 011 3 个时钟 100 4 个时钟 101 5 个时钟 110 6 个时钟 111 7 个时钟 24 25-27 - ACTTOACT 保留,应清除。 激活到激活的时间间隔 (tRRD) 。 从一个激活命令到允许同一 个物理存贮体(片选)中的不同逻辑存贮体上的下一个激活 命令的时钟周期数。 000 保留 100 4 个时钟 001 1 个时钟 101 5 个时钟 010 2 个时钟 110 6 个时钟 011 3 个时钟 111 7 个时钟 保留,应清除。 最后的写数据对到读命令发出的时间间隔(tWTR) 。最后的 写数据对与后续的、 对同一个物理存贮体的读命令之间的时 钟周期数。 000 保留 100 4 个时钟 001 1 个时钟 101 5 个时钟 010 2 个时钟 110 6 个时钟 011 3 个时钟 111 7 个时钟

28 29-31

- WRTORD

9.4.1.6 DDR SDRAM 定时配置寄存器 2(TIMING_CFG_0 DDR SDRAM Timing Configuration 2) DDR SDRAM 定时配置寄存器 2 如图 9-7 所示,它设置写数据时钟延迟。

图 9-7

DDR SDRAM 定时配置寄存器 2(TIMING_CFG_2)

表 9-11 说明了 TIMING_CFG_2 寄存器字段。 表 9-11 TIMING_CFG_2 字段说明 位 0 1-3 - ADD_LAT 名字 保留,应清除。 附 加 延 迟 。 必 须 将 附 加 延 迟 的 值 设 置 为 小 于 TIMING_CFG_1[ACTTORW]。 (DDR2 特定) 000 保留 001 1 个时钟 说明

010 2 个时钟 011 3 个时钟 100 4 个时钟 101 5 个时钟 110 保留 111 保留 4-8 CPO1 /MCAS 到前导码出现。 定义从发出读操作到对应的存贮器控 制器 DQS 前导码正确之间的 DRAM 周期数。 在下列译码中, “READ_LAT”等于 CAS 延迟加上附加延迟。 00000 READ_LAT+1 01100 READ_LAT+5/2 00001 保留 01101 READ_LAT+11/4 00010 READ_LAT 01110 READ_LAT+3 00011 READ_LAT+1/4 01111 READ_LAT+13/4 00100 READ_LAT+1/2 10000 READ_LAT+7/2 00101 READ_LAT+3/4 10001 READ_LAT+15/4 00110 READ_LAT+1 10010 READ_LAT+4 00111 READ_LAT+5/4 10011 READ_LAT+17/4 01000 READ_LAT+3/2 10100 READ_LAT+9/2 01001 READ_LAT+7/4 10101 READ_LAT+19/4 01010 READ_LAT+2 10110-11110 保留 01011 READ_LAT+9/4 11111 自动校准(推荐) 保留 写延迟。 注意, DDR2 的总写延迟等于 WR_LAT+ADD_LAT; DDR1 的写延迟为 1。 000 保留 001 1 个时钟 010 2 个时钟 011 3 个时钟 100 4 个时钟 101 5 个时钟 110 6 个时钟 111 7 个时钟 保留 读到预充电的时间 (tRTP) 。 对于具有非 0 ADD_LAT 的 DDR2, 读和预充电之间最少需要 ADD_LAT+tRTP 个周期。对于突发 长度为 4 的 DDR1 ,必须设置为 010;对于突发长度为 8 的 DDR1,必须设置为 100。 000 保留 011 3 个时钟 001 1 个时钟 100 4 个时钟 010 2 个时钟 101-111 保留 写命令到写数据选通定时调整。控制用于写数据和数据选通 的延迟量。详情参见 9.5.7 节“DDR SDRAM 写定时调整” 。 000 0 个设置延迟 100 1 个时钟延迟 001 1/4 个时钟延迟 101 5/4 个时钟延迟

9 10-12

- WR_LAT

13-15 16-18

- RD_TO_PRE

19-21

WR_DATA_DELAY

010 1/2 个时钟延迟 011 3/4 个时钟延迟 22 23-25 - CKE_PLS 保留

110 3/2 个时钟延迟 111 保留

最小 CKE 脉冲宽度(tCKE) 。对 DDR1 可以设置为 001。 000 保留 011 3 个时钟 001 1 个时钟 100 4 个时钟 010 2 个时钟 101-111 保留 四个激活的窗口( tFAW ) 。只适用于具有八个逻辑存贮体 的 DDR2。对 DDR1 必须设置为 0001。 000000 保留 … 000001 1 个周期 010011 19 个周期 000010 2 个周期 010100 20 个周期 000011 3 个周期 010101-111111 保留

26-31

FOUR_ACT

1

对于非 00000 和 11111 的 CPO 译码, “READ_LAT”向上舍入为下一个整数值。

9.4.1.7 DDR SDRAM 控制配置(DDR_SDRAM_CFG DDR SDRAM Control Configuration) DDR SDRAM 控制配置寄存器如图 9-8 所示,它启用接口逻辑并设置某些操作特性,例如自更 新、差错校验和纠正、寄存式 DIMM 和动态电源管理等。

图 9-8

DDR SDRAM 控制配置寄存器(DDR_SDRAM_CFG)

表 9-12 说明了 DDR_SDRAM_CFG 寄存器字段。 表 9-12 位 0 DDR_SDRAM_CFG 字段说明 名字 MEM_EN 说明 DDR SDRAM 接口逻辑启用。 0 禁止 DDR SDRAM 接口逻辑 1 允许 DDR SDRAM 接口逻辑。必须在所有其他存贮 器配置参数都被初始化代码适当配置之后设置。 自更新启用(睡眠期间) 。 0 禁止在睡眠期间 SDRAM 自更新。一旦禁止自更新, 就由系统负责保持睡眠期间 SDRAM 的完整性。 1 允许在睡眠期间 SDRAM 自更新。 ECC 启用。注意,不可纠正的读错误会引起中断。

1

SREN

2

ECC_EN

0 1 3 RD_EN

不报告 ECC 错误,不产生 ECC 中断。 允许 ECC。

寄存式 DIMM 启用。指定系统使用的 DIMM 类型。 0 指示非缓存式 DIMM。 1 指示寄存式 DIMM。 保留 使用的 SDRAM 设备的类型。 缺省值为 010, 指定 DDR1 SDRAM。 000-001 保留 010 DDR1 SDRAM 011 DDR2 SDRAM 100 保留 101 保留 110 保留 111 保留 保留 动态电源管理模式。 0 禁止动态电源管理模式。 1 允许动态电源管理模式。如果当前没有存贮器活动, SDRAM CKE 信号就变为无效。 保留 32 位总线启用。 0 使用 64 位总线。 1 使用 32 位总线。 8 拍突发启用。8 拍突发只能用于 DDR1 SDRAM 类型, 对 DDR2 必须清除。 0 在 DRAM 接口上使用 4 拍突发。 1 在 DRAM 接口上使用 8 拍突发(仅在 32_BE=1 时使 用) 。 非并发自动预充电。 某些较老的 DDR SDRAM 不支持并 发自动预充电。如果使用了一个这样的设备,那么如果 使用自动预充电,则需要置位该位。 0 系统中的 DRAM 支持并发自动预充电。 1 系统中的 DRAM 不支持并发自动预充电。 保留 启用 2T 定时。 0 允许 1T 定时。DRAM 命令/地址在 DRAM 总线上只 保持一个周期。 1 允许 2T 定时。每个 DRAM 事务的 DRAM 命令/地址 在 DRAM 总线上都保持两个周期。 但只为第二个周期保 持片选。 存贮体(片选)交叉控制。仅在你希望使用存贮体交叉 时设置该字段。 ( ‘x’表示不关心位值。所有未列出的字 段值都是保留的。 )

4 5-7

- SDRAM_TYPE

8-9 10

- DYN_PWR

11 12

- 32_BE

13

8_BE

14

NCAP

15 16

- 2T_EN

17-23

BA_INTLV_CTL

0000000 无外部存贮体交叉 1000000 外部存贮体 0 和 1 交叉 0100000 外部存贮体 2 和 3 交叉 1100000 外部存贮体 0 和 1 一起交叉,同时,外部存贮 体 2 和 3 一起交叉 xx00100 外部存贮体 0 到 3 一起交叉 24-25 26 - x32_EN 保留 x32 启用。 0 使用 x8 或 x16 分立 DRAM 芯片。在该模式中,每个 数据字节都有一个专用的对应的数据选通。 1 使用 x32 分立 DRAM 芯片。 在该模式中, 将使用 DQS0 捕获 DQ[0:31],使用 DQS4 捕获 DQ[32:63],使用 DQS8 捕获 ECC[0:7]。 预充电位 8 启用。 0 将使用 MA[10]指示自动预充电, 并预充电所有命令。 1 将使用 MA[8]指示自动预充电,并预充电所有命令。 如果 x32_EN 清除,那么也必须清除 PCHB8。 半强度驱动启用。 0 将 IO 驱动器配置为满强度(仅在禁止自动驱动器补 偿禁止,且在系统配置寄存器中未使用驱动器强度软件 补偿时才适用) 。 1 将 IO 驱动器配置为半强度(仅在禁止自动驱动器补 偿禁止,且在系统配置寄存器中未使用驱动器强度软件 补偿时才适用) 。 保留 DDR 存贮器控制器停止。在该位置位时,存贮器控制器 将不接受任何新的到 DDR SDRAM 的数据读/写事务, 直 到该位再被清除。在旁路初始化并通过软件实施 MODE REGISTER SET 命令时,可以使用该设置。 0 DDR 控制器将接受新事务。 1 DDR 控制器将完成剩余的事务,然后保持停止,直 到软件清除该位。 旁路初始化。 0 DDR 控制器将根据 SDRAM_TYPE 循环执行初始化 例程。 1 旁 路 初 始 化 例 程 。 软 件 负 责 通 过 DDR_SDRAM_MODE2 寄存器初始化存贮器。如果软件 正在初始化存贮器,那么可以置位 MEM_HALT 位,防 止 DDR 控制器在初始化序列期间发出事务。

27

PCHB8

28

HSE

29 30

- MEM_HALT

31

BI

9.4.1.8 DDR SDRAM 控制配置 2(DDR_SDRAM_CFG_2 DDR SDRAM Control Configuration 2) DDR SDRAM 控制配置寄存器 2 如图 9-9 所示,它为 DDR 控制器提供更多的控制配置。

图 9-9

DDR SDRAM 控制配置寄存器 2(DDR_SDRAM_CFG_2)

表 9-13 说明了 DDR_SDRAM_CFG_2 寄存器字段。 表 9-13 位 0 DDR_SDRAM_CFG_2 字段说明 名字 FRC_SR 说明 强制自更新。 0 DDR 控制器在正常模式运行 1 DDR 控制器进入自更新模式。 自更新中断允许。如果 DDR_SR_REQ ( IRQ1 )有效, 则可以将 DDR 控制器置为自更新模式。 DDR 控制器将 其作为“应急(panic)中断” ,并尽快进入自更新模式。 如 果 使 用 应 急 中 断 , 那 么 还 必 须 置 位 DDE_SDRAM_CFG[SREN]。 0 如果应急中断有效,DDR 控制器不进入自更新模式。 1 如果应急中断有效,DDR 控制器就进入自更新模式。 DLL 复位禁止。在退出自更新模式时,DDR 控制器将典 型地向 DRAM 发出 DLL 复位。但在初始化期间置位该 位可以禁止该功能。 0 在退出自更新模式时,DDR 控制器将向 DRAM 发出 DLL 复位。 1 在退出自更新模式时,DDR 控制器不向 DRAM 发出 DLL 复位。 保留 DQS 配置 00 只使用真 DQS 信号。 01 使用差分 DQS 信号支持 DDR2 10 保留 11 保留 保留 ODT 配置。该字段定义如何将 ODT 驱动给片上 IO。参 见 5.3.2.8 节“DDR 控制驱动器寄存器( DDRCDR) ” , 它定义了将要使用的终止值。 (DDR2 特定,对 DDR1 必 须清除) 00 不向内部 IO 宣告 ODT 有效 01 仅在写 DRAM 期间向内部 IO 宣告 ODT 有效

1

SR_IE

2

DLL_RST_DIS

3 4-5

- DQS_CFG

6-8 9-10

- ODT_CFG

10 仅在读 DRAM 期间向内部 IO 宣告 ODT 有效 11 始终向内部 IO 宣告 ODT 有效 11-13 14-15 16-19 - - NUM_PR 保留 保留 posted 更新的数量。确定一次可以发出多少个 posted 更 新,若有的话。注意,如果使用 posted 更新,就必须设 定该字段和 DDR_SDRAM_INTERVAL[REFINT] ,不能 违反最大 tRAS 规范。例如,某些 DDR1 SDRAM 不能使 用 3 个以上的 posted 更新,因为所需要的更新时间间隔 可能超过 tRAS 的最大限制。 0000 保留 0001 一次发出 1 个更新。 0010 一次发出 2 个更新。 0011 一次发出 3 个更新。 … 1000 一次发出 8 个更新。 1001-1111 保留 保留 DRAM 数据初始化。该位由软件置位,由硬件清除。如 果软件在存贮器控制器启用前置位该位,控制器在启用 后将自动初始化 DRAM。一旦初始化完成,硬件就自动 清除该位。 0 未进行数据初始化,且未安排数据初始化。 1 一旦启用,存贮器控制器就初始化存贮器。在初始化 完成之前, 该位一直保持有效。 将使用 DDR_DATA_INIT 寄存器中的值初始化存贮器。 保留

20-26 27

- D_INIT

28-31



9.4.1.9 DDR SDRAM 模式配置(DDR_SDRAM_MODE DDR SDRAM Mode Configuration ) DDR SDRAM 模式配置寄存器如图 9-10 所示,它设置装入到 DDR 模式寄存器的值。

图 9-10

DDR SDRAM 模式配置寄存器(DDR_SDRAM_MODE)

表 9-14 说明了 DDR_SDRAM_MODE 寄存器字段。 表 9-14 位 0-15 DDR_SDRAM_MODE 字段说明 名字 ESDMODE 说明 扩展的 SDRAM 模式。 指定装入到 DDR SDRAM 扩展模

式 寄存器的初始值。合法的值的范围和含义由 DDR SDRAM 厂商规定。 当将该值驱动到地址总线上时(在 DDR SDRAM 初始化 序列期间) ,MA[0]表示 ESDMODE 的最低有效位,与图 9-10 所示的大端格式中的 ESDMODE[15]相对应。必须 将 SDRAM 扩 展 模 式 寄 存 器 值 的 最 高 有 效 位 存 储 在 ESDMODE[0]。 16-31 SDMODE SDRAM 模式。指定装入到 DDR SDRAM 模式寄存器的 初始值。合法的值的范围和含义由 DDR SDRAM 厂商规 定。 当将该值驱动到地址总线上时(在 DDR SDRAM 初始化 期间) ,MA[0]表示 SDMODE 的最低有效位,与图 9-10 所 示 的 大 端 格 式 中 的 SDMODE[15] 相 对 应 。 必 须 将 SDRAM 模 式 寄 存 器 值 的 最 高 有 效 位 存 储 在 SDMODE[0]。由于存贮器控制器根据初始化序列的状态 强制将 SDMODE[7]置为某个值, (用于复位 SDRAM 的 DLL ) 存 贮 器 控 制 器 忽 略 该 字 段 的 对 应 位 。 注 意 , SDMODE[7]映射到 MA[8]。

DDR SDRAM 模 式 2 配 置 ( DDR_SDRAM_MODE_2 DDR SDRAM Mode 2 Configuration ) DDR SDRAM 模式 2 配置寄存器如图 9-11 所示,它设置装入到 DDR 扩展模式 2 和 3 寄存器的 值(用于 DDR2) 。 9.4.1.10

图 9-11 DDR SDRAM 模式 2 配置寄存器(DDR_SDRAM_MODE_2) 表 9-15 说明了 DDR_SDRAM_MODE_2 寄存器字段。 表 9-15 位 0-15 DDR_SDRAM_MODE_2 字段说明 名字 ESDMODE2 说明 扩展的 SDRAM 模式 2。指定装入到 DDR SDRAM 扩展 模式 2 寄存器的初始值。合法的值的范围和含义由 DDR SDRAM 厂商规定。 当将该值驱动到地址总线上时(在 DDR SDRAM 初始化 序列期间) ,MA[0]表示 ESDMODE2 的最低有效位,与 图 9-11 所示的大端格式中的 ESDMODE2[15]相对应。 必 须将 SDRAM 扩展模式 2 寄存器值的最高有效位存储在 ESDMODE2[0]。

16-31

ESDMODE3

扩展的 SDRAM 模式 3。指定装入到 DDR SDRAM 扩展 模式 3 寄存器的初始值。合法的值的范围和含义由 DDR SDRAM 厂商规定。 当将该值驱动到地址总线上时(在 DDR SDRAM 初始化 序列期间) ,MA[0]表示 ESDMODE3 的最低有效位,与 图 9-11 所示的大端格式中的 ESDMODE3[15]相对应。 必 须将 SDRAM 扩展模式 3 寄存器值的最高有效位存储在 ESDMODE3[0]。

DDR SDRAM 模式控制寄存器( DDR_SDRAM_MD_CNTL DDR SDRAM Mode Control Register) DDR SDRAM 模式控制寄存器如图 9-12 所示,它允许软件向 DRAM 强制模式/扩展模式寄存器 设置命令。 9.4.1.11

图 9-12

DDR SDRAM 模式控制寄存器(DDR_SDRAM_MD_CNTL)

表 9-16 说明了 DDR_SDRAM_MD_CNTL 寄存器字段。 表 9-16 位 0 DDR_SDRAM_MD_CNTL 字段说明 名字 MD_EN 说明 模 式 允 许 。 指 示 作 为 MODE REGISTER SET 、 EXTENDED MODE REGISTER SET、 MODE REGISTER SET 2 或 MODE REGISTER SET 3 命令的有效数据已经 准备好写入 DRAM。 0 指 示 没 有 要 发 出 的 MODE REGISTER SET 、 EXTENDED MODE REGISTER SET、 MODE REGISTER SET 2 或 MODE REGISTER SET 3 命令。 1 指示该寄存器包括的、作为 MODE REGISTER SET、 EXTENDED MODE REGISTER SET、 MODE REGISTER SET 2 或 MODE REGISTER SET 3 命令的有效数据已经 准备好发出。 保留 片选选择。 指定由于软件强制 DDR_SDRAM_MD_CNTL 寄存器中的命令而被驱动为活动的片选。 00 片选 0 活动 01 片选 1 活动 10 片选 2 活动 11 片选 3 活动

1 2-3

- CS_SEL

4 5-7

- MD_SEL

保留 模式寄存器选择。 指定将被提交到 DDR 控制器的存贮器 存贮体地址引脚(MBAn)上的值。 00 MR 01 EMR 10 EMR2 11 EMR3 设置刷新。强制向 DDR_SDRAM_MD_CNTL[CS_SEL] 指定的片选发出刷新命令。该位由软件置位,一旦发出 了命令,就由硬件清除。 0 指示没有要发出的刷新命令。 1 指示刷新命令准备好发出。 注意,MD_EN、SET_REF 和 SET_PRE 是互斥的,不能 同时置位。 设 置 预 充 电 所 有 。 强 制 向 DDR_SDRAM_MD_CNTL[CS_SEL] 指定的片选发出预 充电所有命令。该位由软件置位,一旦发出了命令,就 由硬件清除。 0 指示没有要发出的预充电所有命令。 1 指示预充电所有命令准备好发出。 注意,MD_EN、SET_REF 和 SET_PRE 是互斥的,不能 同时置位。 时 钟 允 许 控 制 。 允 许 软 件 全 面 清 除 或 设 置 所 有 发给 DRAM 的 CKE 信号。一旦软件将该值强制驱动到 CKE 上,就继续强制该值,直到软件清除 CKE_CNTL 位。 在 强制时,DDR 控制器继续将 CKE 信号驱动为与软件强 制值相同的值,直到其他事件引起 CKE 信号改变为止 (即自刷新进入/退出、下电进入/退出) 。 00 软件未强制 CKE 信号。 01 软件将 CKE 信号强制为低值。 10 软件将 CKE 信号强制为高值。 11 保留

8

SET_REF

9

SET_PRE

10-11

CKE_CNTL

12-15 16-31

- MD_VALUE

保留 模 式 寄 存 器 值 。 指 定 在 MODE REGISTER SET 和 EXTENDED MODE REGISTER SET 命令期间将被提交 到 DDR 控制器存贮器地址引脚上的值。

DDR SDRAM 时 间 间 隔 配 置 ( DDR_SDRAM_INTERVAL DDR SDRAM Interval Configuration) DDR SDRAM 时间间隔配置寄存器如图 9-13 所示,它设置发给 DDR SDRAM 的存贮体刷新命 令之间的 DRAM 时钟周期数。此外,它还提供访问页面后,该页面保持的 DRAM 周期数。 9.4.1.12

图 9-13

DDR SDRAM 时间间隔配置寄存器(DDR_SDRAM_INTERVAL)

表 9-17 说明了 DDR_SDRAM_INTERVAL 寄存器字段。 表 9-17 位 0-15 DDR_SDRAM_INTERVAL 字段说明 名字 REFINT 说明 刷新时间间隔。表示刷新周期之间的存贮器总线时钟周 期数。根据 DDR_SDRAM_CFG_2[NUM_PR],每个刷新 周期刷新每一个 DDR SDRAM 物理存贮体的某些行。 REFINT 的值与所使用的特定的 SDRAM 和接口时钟频 率有关。将 REFINT 设为全 0 时,不发出刷新命令。 保留 预充电时间间隔。设置 DDR SDRAM 访问后的页面保持 持续时间。如果 BSTROBE 为 0,DDR 存贮器控制器就 使用自动预充电读和写命令,而不在页面模式运行。将 其称为全局自动预充电模式。

16-17 18-31

- BSTOPRE

9.4.1.13 DDR SDRAM 数据初始化(DDR_SDRAM_INIT DDR SDRAM Data Initialization) DDR SDRAM 数据初始化寄存器如图 9-14 所示。如果 DDR_SDRAM_CFG[D_INIT]置位,它提 供用于初始化存贮器的值。

图 9-14

DDR SDRAM 数据初始化配置寄存器(DDR_SDRAM_INIT)

表 9-18 说明了 DDR_SDRAM_INIT 的字段。 表 9-18 位 0-31 DDR_SDRAM_INIT 字段说明 名字 INIT_VALUE 说明 初始化值。如果 DDR_SDRAM_CFG[D_INIT] 置位,则 表示用于初始化 DRAM 的值。

9.4.1.14 DDR SDRAM 时钟控制(DDR_SDRAM_CLK_CNTL DDR SDRAM Clock Control) DDR SDRAM 时钟控制配置寄存器如图 9-15 所示。它提供一个源同步选项,以及一个 1/8 周期

时钟调整量。

图 9-15

DDR SDRAM 时钟控制配置寄存器(DDR_SDRAM_CLK_CNTL)

表 9-19 说明了 DDR_SDRAM_CLK_CNTL 的字段。 表 9-19 位 0-4 5-8 - CLK_ADJUST DDR_SDRAM_CLK_CNTL 字段说明 名字 保留 时钟调整。 0000 与地址/命令对齐发出时钟 0001 在地址/命令之后的 1/8 个外加周期发出时钟 0010 在地址/命令之后的 1/4 个外加周期发出时钟 0011 在地址/命令之后的 3/8 个外加周期发出时钟 0100 在地址/命令之后的 1/2 个外加周期发出时钟 0101 在地址/命令之后的 5/8 个外加周期发出时钟 0110 在地址/命令之后的 3/4 个外加周期发出时钟 0111 在地址/命令之后的 7/8 个外加周期发出时钟 1000 在地址/命令之后的 1 个外加周期发出时钟 1001-1111 保留 保留 说明

9-31



9.4.1.15 DDR 初始化地址(DDR_INIT_ADDR DDR Initialization Address) DDR SDRAM 初始化地址寄存器如图 9-16 所示。它提供 POR 之后用于数据偏离调整的数据选 通地址和用于前导码校准的自动 CAS 地址。 注意 在偏离调整之后,该地址将包括坏的 ECC 数据。在 POR 时这并不重要,因为如果 ECC 启用 (由软件或通过使用 DDR_SDRAM_CFG_2[D_INIT]) ,所有的存贮器随后都应被初始化。 如果在 DRAM 进入自更新模式后发出了 /HRESET,但存贮器还未被初始化,如果后面还要访 问该地址,则应使用一个 8 字节或 32 字节事务写入该地址,以避免可能的 ECC 错误。

图 9-16

DDR 初始化地址配置寄存器(DDR_INIT_ADDR)

表 9-20 说明了 DDR_INIT_ADDR 的字段。 表 9-20 位 0-31 DDR_ INIT_ADDR 字段说明 名字 INIT_ADDR 说明 初始化地址, 表示在 POR 时用于数据偏离调整的数据选 通地址和用于前导码校准的自动 CAS 地址。 在初始化序 列期间写入该地址。

9.4.1.16 DDR 初始化扩展地址(DDR_INIT_EXT_ADDR DDR Initialization Extended Address) DDR SDRAM 初始化扩展地址寄存器如图 9-17 所示。它提供 POR 之后用于数据偏离调整的数 据选通扩展地址和用于前导码校准的自动 CAS 扩展地址???。

图 9-17

DDR 初始化扩展地址配置寄存器(DDR_INIT_EXT_ADDR)

表 9-21 说明了 DDR_INIT_EXT_ADDR 的字段。 表 9-21 位 0 UIA DDR_ INIT_EXT_ADDR 字段说明 名字 说明 使用初始化地址。 0 (training)序列使用由该控制器计算的缺省地址。 它 将是第一个被允许片选中的第一个正确地址。 1 使 用 DDR_INIT_ADDR 和 DDR_INIT_EXT_ADDR 规定的初始化地址 1-27 28-31 - INIT_EXT_ADDR 保留,应清除。 初始化扩展地址, 表示在 POR 时用于数据偏离调整的数 据选通扩展地址和用于前导码校准的自动 CAS 扩展地 址。在初始化序列期间写入该扩展地址。

9.4.1.17 DDR IP 部件修订版本 1(DDR_IP_REV1 DDR IP Block Revision 1) DDR IP 部件修订版本 1 寄存器如图 9-18 所示。它提供关于 IP 部件 ID 的只读字段,以及重大 和较小修订信息。

图 9-18

DDR IP 部件修订版本 1(DDR_IP_REV1)

表 9-22 说明了 DDR_IP_REV1 的字段。 表 9-22 位 0-15 16-23 24-31 IP_ID IP_MJ IP_MN DDR_IP_REV1 字段说明 名字 说明 IP 部件 ID。对于 DDR 控制器,该值为 0x0002。 重大修订。当前设置为 0x02。 较小修订。当前设置为 0x00。

9.4.1.18 DDR IP 部件修订版本 2(DDR_IP_REV2 DDR IP Block Revision 2) DDR IP 部件修订版本 2 寄存器如图 9-19 所示。它提供关于 IP 部件集成和配置选项的的只读字 段。

图 9-19

DDR IP 部件修订版本 2(DDR_IP_REV2)

表 9-23 说明了 DDR_IP_REV2 的字段。 表 9-23 位 0-7 8-15 16-23 24-31 - IP_INT - IP_CFG DDR_IP_REV2 字段说明 名字 保留 IP 部件集成选项 保留 IP 部件配置选项 说明

9.4.1.19

存贮器数据通路错误注入屏蔽高端( DATA_ERR_INJECT_HI Injection Mask High) 存贮器数据通路错误注入屏蔽高端寄存器如图 9-20 所示。

Memory Data Path Error

图 9-20

存贮器数据通路错误注入屏蔽高端寄存器(DATA_ERR_INJECT_HI)

表 9-24 说明了 DATA_ERR_INJECT_HI 的字段。 表 9-24 位 0-31 DATA_ERR_INJECT_HI 字段说明 名字 EIMH 说明 错误注入屏蔽高端数据通路。用于通过强制数据通路的 高字出现错误来测试 ECC。置位该位引起对应的数据通 路位在存贮器总线写时反转。

9.4.1.20

存贮器数据通路错误注入屏蔽低端( DATA_ERR_INJECT_LO Injection Mask Low) 存贮器数据通路错误注入屏蔽低端寄存器如图 9-21 所示。

Memory Data Path Error

图 9-21

存贮器数据通路错误注入屏蔽低端寄存器(DATA_ERR_INJECT_LO)

表 9-25 说明了 DATA_ERR_INJECT_LO 的字段。 表 9-25 位 0-31 DATA_ERR_INJECT_LO 字段说明 名字 EIML 说明 错误注入屏蔽低端数据通路。用于通过强制数据通路的 低字出现错误来测试 ECC。置位该位引起对应的数据通 路位在存贮器总线写时反转。

存贮器数据通路错误注入屏蔽 ECC (ECC_ERR_INJECT Memory Data Path Error Injection Mask ECC) 存贮器数据通路错误注入屏蔽 ECC 寄存器如图 9-22 所示。它设置 ECC 屏蔽,允许将错误写入 ECC 存贮器,并允许 ECC 字节镜像最高有效数据字节。 9.4.1.21

图 9-22

存贮器数据通路错误注入屏蔽 ECC 寄存器(ECC _ERR_INJECT)

表 9-26 说明了 ECC _ERR_INJECT 的字段。 表 9-26 位 0-21 22 - EMB ECC _ERR_INJECT 字段说明 名字 保留 ECC 镜像字节 0 禁止镜像字节功能。 1 将最高有效数据通路字节镜像到 ECC 字节。 错误注入允许 0 禁止错误注入 1 允许错误注入。 用于数据屏蔽位、 ECC 屏蔽位和 ECC 镜像位。 ECC 错误注入屏蔽。 置位一个屏蔽位引起对应的 ECC 位 在存贮器总线写时反转。 说明

23

EIEN

24-31

EEIM

9.4.1.22

存 贮 器 数 据 通 路 读 捕 获 高 端 ( CAPTURE_DATA_HI Memory Data Path Read Capture High) 存贮器数据通路读捕获高端寄存器如图 9-23 所示,它存储错误捕获期间读数据通路的高字。

图 9-23

存贮器数据通路读捕获高端寄存器(CAPTURE_DATA_HI)

表 9-27 说明了 CAPTURE_DATA_HI 的字段。 表 9-27 位 0-31 CAPTURE_DATA_HI 字段说明 名字 ECHD 说明 错误捕获高数据通路。在检测到错误时,捕获数据通路 的高字。

9.4.1.23

存 贮 器 数 据 通 路 读 捕 获 低 端 ( CAPTURE_DATA_LO Low)

Memory Data Path Read Capture

存贮器数据通路读捕获低端寄存器如图 9-24 所示,它存储错误捕获期间读数据通路的低字。

图 9-24

存贮器数据通路读捕获低端寄存器(CAPTURE_DATA_ LO)

表 9-28 说明了 CAPTURE_DATA_ LO 的字段。 表 9-28 位 0-31 CAPTURE_DATA_ LO 字段说明 名字 ECLD 说明 错误捕获低数据通路。在检测到错误时,捕获数据通路 的低字。

9.4.1.24 存贮器数据通路读捕获 ECC(CAPTURE_ECC Memory Data Path Read Capture ECC) 存贮器数据通路读捕获 ECC 寄存器如图 9-25 所示,它存储检测到错误时出现在数据总线上 的 ECC 错误特征位。

图 9-25

存贮器数据通路读捕获 ECC 寄存器(CAPTURE_ECC)

表 9-29 说明了 CAPTURE_ECC 的字段。 表 9-29 位 0-23 24-31 CAPTURE_ECC 字段说明 名字 - ECE 说明 保留 错误捕获 ECC。只要检测到错误,就捕获数据通路上的 ECC 位。

9.4.1.25 存贮器错误检测(ERR_DETECT Memory Error Detect) 存贮器错误检测寄存器如图 9-26 所示,它存储多个存贮器错误、单位和多位 ECC 错误和存贮 器选择错误的检测位。它是一个读/写寄存器。将 1 写入某一位可以清除该位。通过检查该寄存器的 内 容 , 系 统 软 件 可 以 确 定 存 贮 器 错 误 的 类 型 。 如 果 用 ERR_DISABLE 禁 止 错 误 , 则 无 法 在 ERR_DETECT 中检测或捕获相应的错误。

图 9-26

存贮器错误检测寄存器(ERR_DETECT)

表 9-30 说明了 ERR_DETECT 的字段。 表 9-30 位 0 MME ERR_DETECT 字段说明 名字 说明 多个存贮器错误。软件写入 1 清除该位。 0 未检测到相同类型的多个存贮器错误。 1 检测到相同类型的多个存贮器错误。 保留 自动校准错误。软件写入 1 清除该位。 0 未检测到自动校准错误。 1 检测到自动校准错误。 保留 多位错误。软件写入 1 清除该位。 0 未检测到多位错误。 1 检测到多位错误。 单位 ECC 错误。软件写入 1 清除该位。 0 检测到的单位 ECC 错误数还未达到 ERR_SBE[SBET] 设置的阈值。 1 检测到的单位 ECC 错误数达到了 ERR_SBE[SBET] 设置的阈值。 保留 存贮器选择错误。软件写入 1 清除该位。 0 未检测到存贮器选择错误。 1 检测到存贮器选择错误。

1-23 24

- ACE

25-27 28

- MBE

29

SBE

30 31

- MSE

9.4.1.26 存贮器错误禁止(ERR_DISABLE Memory Error Disable) 存贮器错误禁止寄存器如图 9-27 所示,它允许有选择地禁止 DDR 控制器的错误检测电路。不 会检测或报告被禁止的错误。

图 9-27

存贮器错误禁止寄存器(ERR_DISABLE)

表 9-31 说明了 ERR_DISABLE 的字段。 表 9-31 位 0-23 24 - ACED ERR_DISABLE 字段说明 名字 保留 自动校准错误禁止 0 允许自动校准错误。 1 禁止自动校准错误。 保留 多位错误禁止 0 如果 DDR_SDRAM_CFG[ECC_EN] 置位,则检测多 位错误。 如果 ERR_INT_EN[MBEEN]置位, 则报告错误。 更多信息参见 9.5.12 节“错误管理” 。 1 不检测或报告多位错误。 29 SBED 单位 ECC 错误禁止 0 允许单位 ECC 错误。 1 禁止单位 ECC 错误。 保留 存贮器选择错误禁止 0 允许存贮器选择错误。 1 禁止存贮器选择错误。 说明

25-27 28

- MBED

30 31

- MSED

9.4.1.27 存贮器错误中断允许(ERR_INT_EN Memory Error Interrupt Enable) 存贮器错误中断允许寄存器如图 9-28 所示,它允许 ECC 中断或存贮器选择错误中断。当允许 的中断情况出现时,内部/int 信号向可编程中断控制器宣告有效。

图 9-28

存贮器错误中断允许寄存器(ERR_INT_EN)

表 9-32 说明了 ERR_INT_EN 的字段。 表 9-32 位 0-23 24 - ACEE ERR_INT_EN 字段说明 名字 保留 自动校准错误中断允许 0 自动校准错误不会产生中断。 1 自动校准产生中断错误。 保留 多位错误中断允许。 更多信息参见 9.5.12 节 “错误管理” 。 说明

25-27 28

- MBEE

0 1 29 SBEE

多位错误不会产生中断。 多位错误产生中断。

单位 ECC 错误禁中断允许止 0 单位 ECC 错误不会产生中断。 1 单位 ECC 错误产生中断。 保留 存贮器选择错误中断允许 0 存贮器选择错误不引起中断。 1 存贮器选择错误产生中断。

30 31

- MSEE

9.4.1.28 存贮器错误属性捕获(CAPTURE_ATTRIBUTES Memory Error Attributes Capture) 存贮器错误属性捕获寄存器如图 9-29 所示,它设置错误属性,包括类型、大小、源和其他等。

图 9-29

存贮器错误属性捕获寄存器(CAPTURE_ATTRIBUTES)

表 9-33 说明了 CAPTURE_ATTRIBUTES 的字段。 表 9-33 位 0 1-3 4 5-7 8-10 11-15 - BNUM - TSIZ - TSRC CAPTURE_ATTRIBUTES 字段说明 名字 保留 数据拍号。捕获检测到错误的双字的号码。只与 ECC 错 误有关。 保留 错误事务的大小。按双字捕获事务大小。 保留 错误的事务源 00000 e300 核数据事务 00001 保留 00010 e300 核指令事务 00011 保留 00100 TSEC1 00100 TSEC2 00100 USB MPH 00100 USB DR 00100 加密核 保留 错误的事务类型 00 保留 01001 I2C(引导序列发生器) 01010 JTAG 01011 保留 01100 保留 01101 PCI1 01110 PCI2 01111 DMA 10000-11111 保留 说明

16-17 18-19

- TTYP

01 写 10 读 11 读-修改-写 20-30 31 - VLD 保留 有效。一旦在错误捕获寄存器中捕获到有效信息,就立 即置位。

9.4.1.29 存贮器错误地址捕获(CAPTURE_ADDRESS Memory Error Address Capture) 存贮器错误地址捕获寄存器如图 9-30 所示,它保存检测到 DDR ECC 错误时的事务的最低 32 个有效位。

图 9-30

存贮器错误地址捕获寄存器(CAPTURE_ADDRESS)

表 9-34 说明了 CAPTURE_ADDRESS 的字段。 表 9-34 位 0-31 CAPTURE_ADDRESS 字段说明 名字 CADDR 说明 捕获的地址。 捕获检测到错误时的事务的最低 32 个有效 位。

9.4.1.30

存贮器错误扩展地址捕获( CAPTURE_EXT_ADDRESS Memory Error Extended Address Capture) 存贮器错误扩展地址捕获寄存器如图 9-31 所示,它保存检测到错误时的最高 4 个有效位。

图 9-31

存贮器错误扩展地址捕获寄存器(CAPTURE_EXT_ADDRESS)

表 9-35 说明了 CAPTURE_EXT_ADDRESS 的字段。 表 9-35 位 0-27 28-31 - CEADDR CAPTURE_EXT_ADDRESS 字段说明 名字 保留 捕获的扩展地址。捕获检测到错误时的事务地址的最高 说明

4 个有效位。

9.4.1.31 单位 ECC 存贮器错误管理(ERR_SBE Single-bit ECC Memory Error Management) 单位 ECC 存贮器错误管理寄存器如图 9-32 所示,它存储报告单位错误的阈值和从最后一次错 误报告以来的单位错误数。当计数字段达到阈值时,它就卷回到复位值( 0) 。如果需要,软件必须 在处理完错误后清除计数值。

图 9-32

单位 ECC 存贮器错误管理寄存器(ERR_SBE)

表 9-36 说明了 ERR_SBE 的字段。 表 9-36 位 0-7 8-15 16-23 24-31 - SBET - SBEC ERR_SBE 字段说明 名字 保留 单位错误阈值。设定报告错误之前必须检测的单位错误 的数量。 保留 单位错误计数器。指示从最后一次错误报告以来所检测 和纠正的单位错误的数量。如果允许单位错误报告,当 该值等于 SBET 时,就报告错误并产生中断。当达到阈 值时,SBEC 被自动清除。 说明

功能说明 DDR SDRAM 控制器控制处理器和 I/O 与系统存贮器的交互。 它提供对符合 JEDEC 标准的 DDR 和 DDR2 SDRAM 的支持。 存贮器系统允许将各种存贮设备映射到任意一个片选, 支持寄存式 DIMM 和非缓存式 DIMM。但寄存式 DIMM 不能与非缓存式 DIMM 混用。 图 9-33 是 DDR 存贮器控制器的顶层结构图。它接收来内部主控设备发来的请求,解码地址, 产生物理存贮体、逻辑存贮体、行和列的地址。将事务与行打开表中的值进行比较,以确定该地址 是否映射到了一个打开的页面。如果事务没有映射到一个打开的页面,则发出一个活动命令。 9.5

图 9-33

DDR 存贮器控制器结构图

存贮器接口支持多达四个 64/72 位宽或 32/40 位宽存贮器的物理存贮体,支持最多 2G 字节的存 贮体容量(最大 4G 字节的物理存贮器总容量) ,提供最多 4G 字节的 DDR 主存。 可编程参数允许多种不同的存贮器结构和定时。 为 DDR SDRAM 数据总线提供了可选的差错校 验和纠正(ECC)保护。使用 ECC,DDR 存贮器控制器检测并纠正 64 位或 32 位数据总线内的所有 单位错误,检测 64 位或 32 位数据总线内的所有双位错误,并检测四位字节中的所有错误。控制器 允 许 同 时 打 开 多 达 32 个 页 面 。 页 面 保 持 打 开 的 时 间 ( 按 时 钟 周 期 ) 可 以 用 DDR_SDRAM_INTERVAL[BSTRORE]设定。 对存贮器的读写访问是面向突发的,访问从某个选定的单元开始,按规定的顺序连续访问规定 数目的更高单元(4 或 8 个) 。对关闭页面的访问以收到 ACTIVE 命令开始,紧跟 READ 或 WRITE 命令。 (访问打开页面不需要 ACTIVE 命令) 。与收到的激活命令一致的地址位指定要访问的逻辑存 贮体和行,与 READ 或 WRITE 命令一致的地址位指定突发访问的逻辑存贮体和起始列。 数据接口是源同步的,它意味着不论是什么源, (数据)都提供一个同步信号同步数据接收。 这 些双向数据选通(MDQS[0:8]) 在读期间是到控制器的输入,在写期间是输出。 DDR SDRAM 规范 要求,数据选通信号在写期间位于数据占用的中心,在读期间由控制器控制偏离数据占用的中心。 控制器为读和写实现了该时延。 当允许 ECC 时,对读通路增加了一个时钟周期,以校验和纠正单位错误。对写通路,ECC 的生 成不增加周期。 地址和命令接口也是源同步的,虽然为调整时钟对齐提供了 1/8 周期调整量。 图 9-34 显示了具有四个逻辑存贮体的 DDR SDRAM 配置的例子。

图 9-34

典型的双数据速率 SDRAM 的内部组织

图 9-35 显示了某些典型信号的连接。

图 9-35

典型的 DDR SDRAM 接口信号

图 9-36 显示了一个 DDR SDRAM 配置的例子,它具有四个物理存贮体,每个存贮体由九个 8M ×8 DDR 模块组成,总共 256M 字节系统内存。其中一个模块用于存贮器 ECC 校验功能。某些地址 和控制线可能需要缓存。对 MPC8349E 设备的 AC 定时规范的分析、所期望的存贮器运行频率、电 容性负载和电路板布线负载可以帮助系统设计者决定信号缓存需求。MPC8349E DDR 存贮器控制器 驱动 16 个地址引脚,但在该例中,DDR SDRAM 设备只使用了 12 位。

1.除了/MCS[0:3]、MCK[0:5]、MDM[0:5]和数据总线信号之外,所有信号都是共连接的(并行) 。 2.每个/MCS[0:3]信号都对应存贮器的一个独立的物理存贮体。 3.如果使用较大的存贮器阵列,则可能需要缓存。 4.可能在所有存贮器设备之间分配 MCK[0:5]。图中未给出补充总线

图 9-36

带有 ECC 的 256M 字节 DDR SDRAM 配置举例

9.5.12 节“错误管理”解释了 DDR 存贮器控制器如何处理错误。 9.5.1 DDR SDRAM 接口操作 DDR 存贮器控制器支持不同的 DDR SDRAM 配置。在同一个系统中可以使用不同容量 的 SDRAM 。16 个复用的地址信号和 3 个逻辑存贮体选择信号支持的设备密度从 64M 位到 4G 位。4

个片选 (/CS) 信号支持最多 2 个 DIMM 存贮器。 可以从标准的内存模块或直连的存贮设备建立 DDR SDRAM 物理存贮体。到每个物理存贮体的数据通路为 64 或 32 位宽,使用 ECC 时为 72 位或 40 位 宽。MPC8349E DDR 存贮器控制器支持的物理存贮体容量从 16M 字节到 4G 字节。可以使用 x8、 x16 或 x32 存贮设备构建物理存贮体。所支持的存贮器技术为 64M 位、128 M 位、256 M 位、512 M 位、1G 位、2 G 位和 4 G 位。9 个数据限定符(DQM)信号为存贮器访问提供字节选择。 注意 一个 8 位 DDR SDRAM 设备有 1 个 DQM 信号和 8 个数据信号( DQ[0:7]) 。一个 16 位 DDR SDRAM 设备有 2 个 DQM 信号,分别与特定的 16 个数据信号(DQ[0:7]和 DQ[8:15])的一半相关。 当 ECC 允许时,所有的存贮器访问都按双字边界执行(即同时置位所有的 DQM 信号) 。但当 ECC 禁止时,存贮器系统使用 DQM 信号进行字节通道选择。 表 9-37 说明了当使用 x8 或 x16 设备的 DDR SDRAM 时,DDR 存贮器控制器数据字节通道 0- 7、MDM[0:7]、MDQS[0:7]和 MDQS[0:63]之间的关系。 表 9-37 字节通道与数据的关系 数据总线屏蔽 MDM[0] MDM[1] MDM[2] MDM[3] MDM[4] MDM[5] MDM[6] MDM[7] 数据总线选通 MDQS[0] MDQS[1] MDQS[2] MDQS[3] MDQS[4] MDQS[5] MDQS[6] MDQS[7] 数据总线 64 位模式 MDQ[0:7] MDQ[8:15] MDQ[16:23] MDQ[24:31] MDQ[32:39] MDQ[40:47] MDQ[48:55] MDQ[56:63]

数据字节通道 0(最高有效位) 1 2 3 4 5 6 7(最低有效位)

9.5.1.1 支持的 DDR SDRAM 结构 虽然 DDR 存贮器控制器将行和列地址位复用到 16 个存贮器地址信号和 3 个逻辑存贮体选择信 号上,但可以使用不需要 31 个地址位的存贮设备实现每个物理存贮体。可以单独配置每个物理存贮 体,提供 12 到 16 个行地址位、加上 2 或 3 个逻辑存贮体选择位和 8-11 个列地址位。 表 9-38 说明了 DDR 存贮器控制器支持的 DDR SDRAM 设备的配置。 注意 DDR SDRAM 被限制为最多 30 个地址位。 表 9-38 支持的 DDR1 SDRAM 设备的配置 设备配置 8M 位×8 4M 位×8 16M 位×8 8M 位×8 32M 位×8 行×列×子存贮 体位 12×9×2 12×8×2 12×10×2 12×9×2 13×10×2 64 位存贮体容 量 64M 字节 32M 字节 128M 字节 64M 字节 256M 字节 4 存贮体存贮器 256M 字节 128M 字节 512M 字节 256M 字节 1G 字节

SDRAM 设备 64M 位 64M 位 128M 位 128M 位 256M 位

256M 位 512M 位 512M 位 1G 位 1G 位 2G 位 2G 位

16M 位×8 64M 位×8 32M 位×8 128M 位×8 64M 位×8 256M 位×8 128M 位×8

13×9×2 13×11×2 13×10×2 14×11×2 14×10×2 15×11×2 15×10×2

128M 字节 512M 字节 256M 字节 1G 字节 512M 字节 2G 字节 1G 字节

512M 字节 2G 字节 1G 字节 4G 字节 2G 字节 4G 字节(两个存贮体) 4G 字节

表 9-39

支持的 DDR2 SDRAM 设备的配置 设备配置 32M 位×8 16M 位×16 64M 位×8 32M 位×16 128M 位×8 64M 位×16 256M 位×8 128M 位×16 256M 位×16 行×列×子存贮 体位 13×10×2 13×9×2 14×10×2 13×10×2 14×10×3 13×10×3 15×10×3 14×10×3 15×10×3 64 位 存 贮 体 容 量 256M 字节 128M 字节 512M 字节 256M 字节 1G 字节 512M 字节 2G 字节 1G 字节 2G 字节 4 存贮体存贮器 1G 字节 512M 字节 2G 字节 1G 字节 4G 字节 2G 字节 4G 字节(两个存贮体) 4G 字节 4G 字节(两个存贮体)

SDRAM 设备 256M 位 256M 位 512M 位 512M 位 1G 位 1G 位 2G 位 2G 位 4G 位

如果向 DDR 存贮器控制器发出了事务请求, 但地址不在使能片选所规定的地址范围之内, 则标 记存贮器选择错误。错误的详细描述在 9.5.12 节“错误管理”中。 通过在上电复位时使用存贮器轮询算法,或查询存贮器模块的 JEDEC 连续呈现检测能力,系 统固件使用存贮器边界寄存器来配置 DDR 存贮器控制器,来映射存贮器中的每个存贮体的容量。 存 贮器控制器使用其存贮体映射, 根据提供的存贮体起始和结束地址, 为存贮器访问宣告合适的/MCSn 信号有效。不要求将存贮器存贮体映射到一个连续的地址空间。

9.5.2 DDR SDRAM 地址复用 表 9-40 和表 9-41 给出了每个 DDR SDRAM 配置的地址位编码。在存贮器控制器信号 MA[14:0] 上呈现的地址将 MA[14]用作最高有效位, MA[0]用作最低有效位。 此外, 将 MA[10]用作 DDR1/DDR2 模式中读和写的自动预充电位,所以列地址一定不能使用 MA[10]。

表 9-40

交叉禁止的 64 位数据总线的 DDR1 地址复用

表 9-41

交叉禁止的 64 位数据总线的 DDR2 地址复用

支持存贮器控制器的片选交叉,且可在 DDR_SDRAM_CFG[BA_INTLV_CTL] 中设定。支持片 选 0 和 1 之间或片选 2 和 3 之间的交叉。此外,还允许所有四个片选之间的交叉。当允许交叉时, 之间交叉的片选必须使用相同容量的存贮器。如果两个片选交叉,则地址解码中需额外的一位为交 叉确定要访问的片选。如果四个片选都交叉,则地址解码中需额外的两位。 表 9-42 展示了两个片选交叉时地址解码的例子, 表 9-43 展示了四个片选交叉时地址解码的例子。 表 9-42 两个存贮体之间交叉的 64 位数据总线的地址复用

表 9-43

四个存贮体之间交叉的 64 位数据总线的地址复用

9.5.3 JEDEC 标准的 DDR SDRAM 接口命令 下面介绍控制器运行在 DDR 或 DDR2 模式时使用的命令和时序。 所有对 DDR SDRAM 的读或写访问都由使用 JEDEC 标准 DDR SDRAM 接口命令的 DDR 存贮 器控制器执行。SDRAM 在存贮器时钟的上升沿采集命令和地址输入;使用 DQS 的上升沿和下降沿 采集数据。从 DDR SDRAM 读出的数据也是在 DQS 的上升沿和下降沿采集的。 下列 DDR SDRAM 接口命令(汇总在表 9-45 中)由 DDR 控制器提供。这些命令的所有动作都 是从 SDRAM 设备的角度介绍的。 ? 行激活——锁存行地址并启动存贮器读取那个行。行数据锁存在 SDRAM 传感放大器中,在下 一次行激活发生之前,必须由预充电命令恢复。 ? 预充电——将数据从传感放大器恢复到合适的行。还初始化传感放大器,为读取存贮器阵列的 另一行做准备, (执行另一个激活命令) 。如果行地址在下一次打开页面模式访问时发生了变化, 在读和写之后就必须进行预充电。 ? 读——锁存列地址并将数据从传感放大器传输到由列地址确定的输出缓冲器。在每个随后的时 钟边沿,不需要另外的读命令驱动后续的数据。传输的数据量由突发长度确定,突发长度的缺 省值为 4。 ? 写——锁存列地址并将数据从数据引脚传输到所选的、由列地址确定的传感放大器。在每个随 后的时钟边沿,不需要另外的写命令将后续的数据从数据引脚传输到传感放大器。传输的数据 量由数据屏蔽和突发长度确定,DDR 存贮器控制器将突发长度设为 4。 ? 刷新(类似/MCAS 然后/MRAS)——读取所有逻辑存贮体(JEDEC SDRAM)中由刷新行地址 计数器确定的行。该刷新行地址计数器是 SDRAM 内部的。读取完毕后,自动将行重新写入存 贮器阵列。在进行刷新之前,所有的逻辑存贮体必须处于预充电状态。存贮器控制器还支持事 后刷新(posted refreshes)。此时,一次可以运行多个刷新,且可以扩展刷新时间间隔。 ? 模式寄存器设置(用于配置)——允许设置 DDR SDRAM 选项。这些选项包括:/MCAS 延迟、 附加延迟(对 DDR2) 、写恢复(对 DDR2) 、突发类型和突发长度。 /MCAS 延迟可以选择由首 选 SDRAM 提供(某些 SDRAM 提供/MCAS 延迟{1,2,3},某些提供/MCAS 延迟{1,2,3, 4}等) 。突发类型始终为顺序的。虽然某些 SDRAM 提供 1、2、4、8 和页面大小的突发长度,

?

但该存贮器控制器支持的突发长度为 4。突发长度 8 仅支持 DDR1 存贮器。模式寄存器设置命 令由 DDR 存贮器控制器在系统初始化期间执行,由软件在 DDR_SDRAM_MODE[SDMODE] 中设置诸如模式寄存器数据、/MCAS 延迟、突发长度和突发类型等参数,并由 DDR 存贮器控 制器在 DDR_SDRAM_MODE[MEM_EN] 置位后,将这些参数传输给 SDRAM 阵列。如果置位 DDR_SDRAM_MODE[BI] 旁 路 自 动 初 始 化 , 那 么 可 以 通 过 软 件 利 用 DDR_SDRAM_MODE_MD_CNTL 寄存器配置 MODE 寄存器。 自刷新(用于长时间待命)——在设备处于长时间待命时使用。自动产生刷新周期以保持所有 存贮器存贮体中的数据更新。在执行该命令之前,DDR 控制器将使所有的逻辑存贮体进入预充 电状态。 DDR SDRAM 命令表 先前 CKE H H 当前 CKE H H MCS MRAS MCAS MWE MBA MA10 MA

表 9-45 操作

激活 预充电选 择逻辑存 贮体 预充电所 有逻辑存 贮体 读 带自动预 充电的读 写 带自动预 充电的写 模式寄存 器设置 自动刷新 自刷新

L L

L L

H H

H L

逻辑存贮 体选择 逻辑存贮 体选择 X

行 L

行 X

H

H

L

L

H

L

H

X

H H H H H H H

H H H H H H L

L L L L L L L

H H H H L L L

L L L L L L L

H H L L L H H

逻辑存贮 体选择 逻辑存贮 体选择 逻辑存贮 体选择 逻辑存贮 体选择 操作码 X X

L H L H 操作码 X X

列 列 列 列 操作码 和模式 X X

9.5.4 DDR SDRAM 接口定时 DDR 存贮器控制器支持到 SDRAM 的四拍突发。对于单拍读, DDR 存贮器控制器执行一个四 (或八)拍突发读,但忽略最后三(或七)拍。使用数据屏蔽 MDM[0:8]屏蔽四(或八)拍突发的 最后三(或七)拍来执行单拍写。如果 ECC 禁止,则通过适当地激活数据屏蔽来执行不足双字的写。 注意 如果第二个读或写正等待处理,不足四拍的读也不会提早终止,即使某些数据是不相关的。

为了在更宽的运行频率范围内适应可用的存贮器技术, DDR 存贮器控制器允许设置表 9-47 中 定义的时间间隔,间隔尺寸为一个存贮器时钟周期。但 CASLAT 除外,可以按 1/2 时钟间隔尺寸设 定 CASLAT。 表 9-46 DDR SDRAM 接口定时时间间隔 定义 在一个物理存贮体内, 从一个存贮体激活命令到另一个存贮体激活 命令之间的时钟周期数。 该时间间隔在 SDRAM 的 AC 规范中列为 tRRD。 从一个激活命令到允许预充电命令之间的时钟周期数。 该时间间隔 在 SDRAM 的 AC 规范中列为 tRAS。 从一个激活命令到允许读或写命令之间的时钟周期数。 该时间间隔 在 SDRAM 的 AC 规范中列为 tRCD。 一次访问后维持页面打开的时钟周期数。在每次访问页面时(包括 页命中) ,将 BSTOPRE 重新装入页面打开时间计数器。当计数器 过期时,用 SDRAM 预充电存贮体命令尽快关闭页面。 与附加延迟一起使用, 以获得 READ 延迟。 从 SDRAM 收到 READ 命令到第一块输出数据可用之间的时钟周期数。如果在时钟边沿 n 处收到 READ 命令,读延迟为 m 个时钟,则数据名义上在时钟边 沿 n+m 处可用。 从预充电命令到允许激活或刷新命令之间的时钟周期数。 该时间间 隔在 SDRAM 的 AC 规范中列为 tRP。 刷新时间间隔。表示刷新周期之间的存贮器总线时钟周期数。根据 DDR_SDRAM_CFG_2[NUM_PR],在每个刷新周期刷新每个 DDR SDRAM 物理存贮体的某些行。 REFINT 的值与所使用的特定的 SDRAM 和作为 tRP 的接口频率有关。 从刷新命令到允许激活命令之间的时钟周期数。可以参考 SDRAM 的 AC 规范计算该值。 AC 规范用纳秒( ns)表示从刷新到激活的 最大时间间隔。 为写命令与写数据选通之间的定时提供了不同选项。 它允许在晚于 指定的时间发送写数据, 以满足收到写命令和收到与写命令相关的 数据选通之间的 SDRAM 定时要求。 规范规定, 从收到写命令开始, 不可以早于一个周期的 75%或晚于一个周期的 125%接收数据选 通。它是实现特定的,在 TIMING_CFG_2 中为 DDR 存贮器定义。 从写的最后一拍到允许预充电命令之间的时钟周期数。 该时间间隔 称为写恢复时间,在 SDRAM 的 AC 规范中列为 tWR。 最后的写对到读命令。 控制从最后的写数据对到对同一存贮体的后 续读命令之间的时钟周期数,记为 tWTR。

定时时间间隔 ACTTOACT

ACTTOPRE ACTTORW BSTOPRE

CASLAT

PRETOACT REFINT

REFREC

WR_DATA_DELAY

WRREC WRTORD

以上参数的值(按完整时钟周期)必须在系统启动时由引导代码设置(在 TIMING_CFG_0 、 TIMING_CFG_1、 TIMING_CFG_1 和 TIMING_CFG_3 寄存器中, 说明见 9.4.1.4 节 “DDR SDRAM 定 时配置寄存器 0 (TIMING_CFG_0) ” 、 9.4.1.5 节 “DDR SDRAM 定时配置寄存器 1 (TIMING_CFG_1) ” 、 9.4.1.6 节“DDR SDRAM 定时配置寄存器 2(TIMING_CFG_2) ”和 9.4.1.3 节“DDR SDRAM 定时 配置寄存器 3(TIMING_CFG_3) ” ) ,并且必须保存在 DDR 存贮器控制器的配置寄存器空间。

下面的图显示了各种不同访问类型的 SDRAM 定时。 系统软件负责 (在复位时) 优化配置 SDRAM 定时参数。 可编程定时参数适用于读和写的定时配置。 必须在访问 SDRAM 之前完成配置处理和 DDR SDRAM 初始化。 图 9-37 到图 9-39 显示了各种不同访问类型的 SDRAM 定时。图 9-37 是关于单拍读操作的,图 9-38 是关于单拍写操作的,图 9-39 是关于突发写操作的。注意,所有信号跳变都出现在存贮器总线 时钟的上升沿,单拍读操作与突发读相同。这些图假定 CLK_ADJUST 被设置为 1/2 DRAM 周期, 附加延迟使用 0 个 DRAM 周期,写延迟为 1 个 DRAM 周期(对 DDR1) 。

图 9-37

DDR SDRAM 突发读时序——ACTTORW=3,/MCAS 等待时间=2

图 9-38

DDR SDRAM 单拍(双字)写时序——ACTTORW=3

图 9-39

DDR SDRAM 四拍突发写时序——ACTTORW=4

9.5.4.1 时钟分配 ? 如果带有多个设备, 必须使用 JEDEC-JESD82 标准的零延迟 PLL 时钟缓存。 这些缓存是为 DDR 应用设计的。 ? 一个 72 位×64 M 字节的 DDR 存贮体具有 9 字节宽的 DDR 芯片,因此在一个具有两个存贮体 的系统中会有 18 个 DDR 芯片。在这种情况下,MCK//MCK 信号对应该驱动恰好三个设备。 ? DDR 时钟信号的 PCB 线路应短一些,所有线路都应在同一层,且长度和负载应相等。 ? DDR SDRAM 厂商提供关于 PC 布局和端接问题的详细信息。

图 9-40

x8 DDR SDRAM 的 DDR SDRAM 时钟分配举例

9.5.5 DDR SDRAM 模式设置命令时序 DDR 存贮器控制器将模式设置命令传输给 SDRAM 阵列,它使用 TIMING_CFG_0[MRS_CYC] 的设置确定模式寄存器设置(Mode Register Set)周期时间。 图 9-41 显示了模式设置命令的时序。 第一次传输的是 ESDMODE 码, 第二次传输的是 SDMODE 码。模式寄存器设置周期时间设置为 2 个 DRAM 周期。

图 9-41

模式设置命令的时序

9.5.6 DDR SDRAM 寄存式 DIMM 模式 为减少负载,在使用 DDR SDRAM 控制信号访问阵列之前,寄存式 DIMM 在内部锁存 DDR SDRAM 控制信号。设置 DDR_SDRAM_CFG[RD_EN],通过将数据和数据屏蔽写(在 SDRAM 总线 上)延迟一个额外的 SDRAM 时钟周期,在 DIMM 的控制总线上实现对该延迟的补偿。 图 9-42 给出了寄存式 DDR1 SDRAM DIMM 的单拍写时序。

图 9-42

寄存式 DDR1 SDRAM DIMM 的单拍(书为突发)写时序

9.5.7 DDR SDRAM 写时序调整 DDR 存 贮 器 控 制 器 为 数 据 和 DQS 提 供 了 写 时 序 调 整 参 数 — — 写 数 据 延 迟 (TIMING_CFG_2[WR_DATA_DELAY]) ,提高了系统设计的灵活性。DDR SDRAM 规范要求,从 SDRAM 捕获命令/地址的时钟边沿开始, DQS 的接收不能早于一个 SDRAM 时钟周期的 75%, 也不 能晚于一个 SDRAM 时钟周期的 125%。可以使用 WR_DATA_DELAY 参数满足各种系统配置—— 从 具 有 一 个 DIMM 的 系 统 到 完 整 装 备 了 两 个 DIMM 的 系 统 — — 的 时 序 要 求 。 TIMING_CFG_2[WR_DATA_DELAY]指定从发出命令后的一个 SDRAM 时钟周期出现第一个时钟边 沿开始,要延迟多长时间才发出 DQS 和数据。延迟增量大小为 1/4 个 SDRAM 时钟周期,从缺省值 0 开始。 图 9-43 显示了 WR_DATA_DELAY 参数的使用。

图 9-43

写等待时间=1 的写时序调整举例

9.5.8 DDR SDRAM 刷新 DDR 存 贮 器 控 制 器 支 持 自 动 刷 新 和 自 刷 新 。 自 动 刷 新 在 正 常 操 作 期 间 使 用 , 由 DDR_SDRAM_INTERVAL[REFINT]控制;自刷新仅在将 DDR 存贮器控制器设置为进入睡眠电源管 理状态时使用。REFINT 值表示刷新周期之间的存贮器总线时钟周期数,在达到 REFINT 值后,必须 允许可能的、未完成的事务完成,再向存贮器发送刷新请求。如果在达到刷新时间间隔时正在进行 存贮器事务(处理) ,则刷新周期等待事务完成。在最坏情况下,刷新周期必须等待最长设定访问所 要求的总线时钟周期数。为保证由存贮器事务造成的等待时间不违反设备的刷新周期,建议设定的 REFINT 值小于 SDRAM 所要求的值。 当需要一个刷新周期时,DDR 存贮器控制器进行下列工作:

1. 2. 3.

完成所有当前存贮器请求。 向每个具有打开页面的 DDR SDRAM 存贮体 (由行打开表指示) 发出 PRECHARGE-ALL 命令, 关闭所有的打开页面。 向每个 DDR SDRAM 存贮体(由其片选标识)发出一个或多个自动刷新命令,刷新所选物理存 贮体中的每个逻辑存贮体中的一行。

自动刷新命令在四个可能的存贮体之间交错进行,以减少系统的瞬时电源需求。当存贮器装备 了全部两个 DIMM 时,在连续的几个周期上将发出三组刷新命令。为方便起见,也分三组交叉使用 初始的 PRECHARGE-ALL 命令。特别注意,当进入自更新模式时,向所有物理存贮体只同时发出 一条刷新命令。对于该整个刷新序列,通常情况下安装的存贮体不会超过四个,因此不会出现周期 优化。 在刷新序列完成后, 就在一个由 TIMING_CFG_1[REFREC]和 TIMING_CFG_3[EXT_REFREC] 指定的不活动时间之后发出任意一个挂起的存贮器请求。此外,支持事后刷新,允许设置更大的刷 新时间间隔值。 9.5.8.1 DDR SDRAM 刷新时序 DDR SDRAM 的刷新定时由可编程定时参数 TIMING_CFG_1[REFREC]控制,该参数规定从刷 新命令到允许逻辑存贮体激活命令之间的存贮器总线时钟周期数。DDR 存贮器控制器实现了存贮体 刷新交错,如图 9-44 所示(在本例中,TIMING_CFG_1[REFREC]=10) 。

图 9-44

DDR SDRAM 存贮体交错的自动刷新时序

在复位时,系统软件负责 TIMING_CFG_1[REFREC] 和 TIMING_CFG_3[EXT_REFREC] 的优化 配置。必须在试图访问 DDR SDRAM 之前完成配置。 9.5.8.2 DDR SDRAM 刷新和节电模式 在全开启模式,DDR 存贮器控制器向 SDRAM 提供正常的自动更新。在睡眠模式,可以将 DDR 存贮器控制器配置为使用自刷新 SDRAM 或不支持刷新。使用 SREN 存贮器控制参数启动自刷新支 持。 表 9-47 总结了每种节电模式中的可用刷新类型。 表 9-47 节电模式 DDR SDRAM 节电模式刷新配置 刷新类型 SREN

睡眠

自 无

1 -

注意,在无刷新支持时,在进入节电模式之前,系统软件必须保存 DDR SDRAM 数据(例如将 数据复制到磁盘) 。 在无系统存贮器活动时, 动态节电模式使用 CKE DDR SDRAM 引脚动态下电。 若同时满足下列 两个条件,CKE 引脚变为无效: ? 未安排存贮器刷新 ? 未安排存贮器访问 在安排了新的访问或刷新时或禁止动态电源模式时, CKE 重新有效。动态电源模式模式用 DDR_SDRAM_PWR_M[DYN_PWR_MGMT]控制。 动态电源模式提供存贮器系统功耗的严密控制,它使用 CKE 对功率和性能进行折衷。当新安排 的存贮器访问造成访问给 DDR SDRAM 上电导致访问延迟, 这个延迟与是否使用活动或预充电下电, 以及 TIMING_CFG_0[ACT_PD_EXIT] 和 TIMING_CFG_0[PRE_PD_EXIT]的设置有关。一个周期的 访问延迟情况如图 9-45 所示。

图 9-45

DDR SDRAM 下电模式

9.5.8.2.1 睡眠模式中的自更新 自更新 SDRAM 的进入和退出时序如图 9-46 和图 9-47 所示。

图 9-46

DDR SDRAM 自更新进入时序

图 9-47

DDR SDRAM 自更新退出时序

9.5.9 DDR 数据节拍定序 到或自存贮器的传输始终按四拍或八拍(当使用 64 位总线时,四拍= 32 个字节)突发执行。 对于非四拍或八拍的传输长度,还按四拍或八拍突发执行数据传输。如果启用 ECC,且访问不是双 字对齐的或长度不是双字的倍数,则为到 SDRAM 的写操作执行一个完整的读-修改-写。如果禁 用 ECC,或访问是双字对齐的且其长度是双字的倍数,则可以使用数据屏蔽(MSM[0:8])避免将不 需要的数据写入 SDRAM 。 DDR 存贮器控制器还使用数据屏蔽防止将所有不需要的全双字写 入 SDRAM。例如,如果一个写事务希望一个双字的长度(8 个字节) ,那么就不将第 2、3 和 4 拍的数 据写入 DRAM。 对于每个可能传输长度的数据队列和每个队列可能的起始双字偏移量,表 9-48 列出了到和自 DDR SDRAM 的数据节拍序列。所有带下划线的双字偏移量才对事务有效。 表 9-48 1 个双字 存贮器控制器——数据节拍定序 起始双字偏移量 0 1 2 3 0 1 2 0 1 0 到/自 DRAM 的双字序列 1 和队列 0–1–2–3 1–2–3–0 2–3–0–1 3–0–1–2 0–1–2–3 1–2–3–0 2–3–0–1 0–1–2–3 1–2–3–0 0–1–2–3

传输长度

2 个双字

3 个双字 4 个双字

1 2 3
1

1–2–3–0 2–3–0–1 3–0–1–2

所有带下划线的双字偏移量才对事务有效。

9.5.10 页面模式和逻辑存贮体保持 DDR 存贮器控制器支持打开/关闭页面模式, 在该模式中, 所使用的每个逻辑存贮体都有一个可 允许打开页面。在 DDR SDRAM 的关闭页面模式中, DDR 存贮器控制器使用 SDRAM 自动预充电 特性,它允许控制器指示在 READ 或 WRITE 访问之后,必须由 DDR SDRAM 自动关闭页面。它是 通过利用访问的 COMMAND 阶段的 MA[10]地址启用自动预充电来完成的。 自动预充电是非持久的, 即必须为每一个单独的 READ 或 WRITE 命令启用或禁用。但可以分别为每个片选启用或禁用它。 当 DDR 存贮器控制器运行在打开页面模式时, 它不发出预充电命令, 以保持当前活动的 SDRAM 页面。页面一直保持打开,直到出现下列情况: ? 刷新间隔时间到。 ? 超过用户可编程的 DDR_SDRAM_INTERVAL[BSTOPRE]值。 ? 与另一个必须发出的事务产生逻辑存贮体行冲突。 页面模式可以极大地减少页面命中时的访问等待时间。根据存贮器系统设计和时序参数,使用 页面模式,可以为命中活动页面的后续突发访问节省 2~3 个时钟周期。使用更多的存贮体,特别是 在使用多种不同通道的系统中使用更多的存贮体,还可以获得更好的性能。清 除 DDR_SDRAM_INTERVAL[BSTOPRE]或置位 CSn_CONFIG[AP_n_EN]可以禁用页面模式。 9.5.11 差错检测和纠正(ECC) DDR 存贮器控制器支持核主设备与系统存贮器之间的数据通路的差错检测和纠正( ECC) 。存 贮器检测所有的双位错、检测半字节内的所有的多位错、并纠正所有的单位错。也可以检测其他错 误,但不保证能纠正或检测出来。当错误报告允许时,始终报告多位错。当出现单位错时,单位错 计数器加 1,并将它的值与单位错触发器寄存器相比较。如果两个值相等,则报告错误。可以规定 单位错寄存器的值,以纠正和忽略那些还不严重的存贮器错误,但灾难性存贮器故障将产生中断。 对于不足 64 位长的写,DDR 存贮器控制器执行一个对写地址的系统存贮器双字读(用于差错 校验) ,并将写数据与从存贮器读取的数据合并,然后为合并的双字产生新的 ECC 代码,然后将数 据和 ECC 写入存贮器。如果在读时检测到多位错,事务完成读-修改-写,不让 DDR 存贮器控制 器挂起,但在写时屏蔽被破坏的数据,这样 SDRAM 中的原有内容就保持不变。可以在校验所有数 据之前发出写命令。不希望将带有好 ECC 代码的数据写回,因为这样会将以后读命令的坏数据屏蔽 掉。相反,在生成新的 ECC 之后,通过切换 ECC[0:1]强制 2 位 ECC 错误。 ECC 代码的特征编码如表 9-49 和表 9-50 所示。

表 9-49

DDR SDRAM ECC 特征编码

表 9-50

DDR SDRAM ECC 特征编码(校验位)

9.5.12 错误管理 DDR 存贮器控制器检测四种不同类型的错误: (training) 、单位、多位和存贮器选择错误。下列 讨论假定启用所有相关的差错检测、纠正和报告功能,这些功能在 9.4.1.27 节“存贮器错误中断允 许(ERR_INT_EN) ” 、9.4.1.26 节“存贮器错误禁止(ERR_DISABLE) ”和 9.4.1.25 节“存贮器错误 检测(ERR_DETECT) ”中介绍。 对单位错误进行计数并根据 ERR_SBE 值报告。当检测到一个单位错误时, DDR 存贮器控制器 进行下列工作: ? 纠正数据 ? 将单位错误计数器 ERR_SBE[SBEC]加 1 ? 如果计数器值 ERR_SBE[SBEC]等于规定的阈值 ERR_SBE[SBET],则产生紧急中断 ? 正常完成事务 如果读操作检测到多位错误, DDR 存贮器控制器登记错误并产生中断(如果允许,如 9.4.1.26 节“存贮器错误禁止(ERR_DISABLE)所介绍) 。DDR 存贮器控制器检测的另一个错误时存贮器选 择错误。该错误让 DDR 存贮器控制器登记错误并产生紧急中断(如果允许,如 9.4.1.25 节“存贮器 错误检测(ERR_DETECT)所介绍) 。如果来自存贮器请求的地址未落在任何使能的、规定的片选 地址范围之内,就会检测到该类错误。对于所有的存贮器选择错误,在第一个读返回数据选通之后, DDR 存贮器控制器不会将任何事务发送到引脚上。如果 DDR 存贮器控制器当前未使用采样点,那 么就用第一个允许的片选向 DDR SDRAM 发出一个虚构的事务,在这种情况下,引脚上的源端口被 强制为 0x1F,表明事务不是真实的。表 9-51 给出了错误及其说明。存贮器控制器检测的最后一种错 误时自动校准错误。如果存贮器控制器在 training 序列期间检测到一个错误,就设置该错误。 表 9-51 分类 通知 访问错误 存贮器控制器错误 错误 单位 ECC 阈值 多位 ECC 错误 说明 ECC 错误的数量已经达到 ERR_SBE 规定的阈值。 在读或读-修改-写操作 期间检测到一个多位 ECC 错误。 读或写地址未落在任何存 动作 如果允许, 通 过中断报告 错误 检测寄存器 错误控制寄存 器仅登记读对 写,不是全部 类型

存贮器选择错误

贮器存贮体的地址范围内。

初始化/应用信息 系统软件必须配置 DDR 存贮器控制器, 在系统启动时使用轮询算法, 正确地映射存贮器中每个 存贮体的大小。然后 DDR 存贮器控制器使用其存贮体映射,根据所提供的存贮器的深度,为存贮器 访问宣告合适的/MCS[0:3]有效。系统软件还必须在系统启动时配置 DDR 存贮器控制器,适当地复 用每个存贮体的行和列地址位。参见 9.4.1.2 节“片选配置(CSn_CONFIG ) ”中的行地址配置。按 这些配置位实现地址复用。 在系统复位时,初始化软件(引导代码)必须在存贮器接口配置寄存器中(MICR)配置可编程 参数。关于配置寄存器的更详细说明参见 9.4.1 节“寄存器说明” 。这些参数如表 9-52 所示。 9.6 表 9-52 存贮器接口配置寄存器初始化参数 名字 CSn_BNDS CSn_CONFIG 说明 片选存贮器范围 片选配置 SAn EAn CS_n_EN BA_BITS_CS_n AP_n_EN ROW_BITS_CS_n ODT_n_EN COL_BITS_CS_n ODT_WR_CFG EXT_REFREC 参数 节/页 9.4.1.1/9-10 9.4.1.2/9-10

TIMING_CFG_3

TIMING_CFG_1 中字段的扩展定 时参数 定时配置

9.4.1.3

TIMING_CFG_0

RWT WRT RRT WWT

ACT_PD_EXIT PRE_PD_EXIT ODT_PD_EXIT MRS_CYC

9.4.1.5

TIMING_CFG_2

定时配置

ADD_LAT WR_DATA_DEPAY CPO CKE_PLS WR_LAT FOUR_ACT RD_TO_PRE SREN NCAP ECC_EN 2T_EN RD_EN BA_INTLV_CTL SDRAM_TYPE x32_EN DYN_PWR HSE 32_BE BI 8_BE SR_IE DLL_RST_DIS NUM_PR D_INIT

9.4.1.6

DDR_SDRAM_CFG

控制配置

9.4.1.7

DDR_SDRAM_CFG_2

控制配置

9.4.1.8

DQS_CFG ODT_CFG DDR_SDRAM_MODE DDR_SDRAM_MODE_2 DDR_SDRAM_INTERVAL DDR_DATA_INIT DDR_SDRAM_CLK_CNTL DDT_INIT_ADDR DDT_INIT_EXT_ADDR 模式配置 模式配置 时间间隔配置 数据初始化配置 寄存器 时钟调整 初始化地址 扩展的初始化地 址 ESDMODE SDMODE ESDMODE2 ESDMODE3 REFINT BSTOPRE INIT_VALUE CLK_ADJUST INIT_ADDR INIT_EXT_ADDR 9.4.1.9 9.4.1.10 9.4.1.12 9.4.1.13 9.4.1.14 9.4.1.15 9.4.1.16

9.6.1 存贮器类型之间的编程差别 根据所使用的存贮器类型,某些字段的设定必须不同。表 9-43 给出了不同存贮器类型某些字段 的差别。注意:该表并未列出必须设定的所有字段。 表 9-43 存贮器类型之间的编程差别 说明 片选 n 自 动预充电 允许 片选 ODT 读配置 DDR1 DDR2 DDR1 DDR2 差别 可以用于将片选 n 设置为预充电模式。 可以用于将片选 n 设置为预充电模式。 应始终置为 000 如果需要可以启用,宣告 ODT 有效。可以根 据系统布局进行不同地设置。但只有一个片选 的系统在向存贮器发出读命令时,典型地不使 用 ODT。 应始终置为 000 如果需要可以启用,宣告 ODT 有效。可以根 据系统布局进行不同地设置。但为要写入的片 选典型地设置为有效(将值设为 001) 。 应始终置为 0000 应按所使用存贮器的 DDR2 规范设置。 它适用 的 JEDEC 参数为 tAXPD。 应按所使用存贮器的规范设置(tRP) 。 应按所使用存贮器的规范设置(tRP) 。 应按所使用存贮器的规范设置(tRAS) 应按所使用存贮器的规范设置(tRAS) 应按所使用存贮器的规范设置(tRCD) 应按所使用存贮器的规范设置(tRCD) 9.4.1.5 9.4.1.5 9.4.1.5 9.4.1.4 9.4.1.2 9.4.1.2 节/页 9.4.1.2/9-11

参数 AP_n_EN

ODT_RD_CFG

ODT_WR_CFG

片选 ODT 写配置

DDR1 DDR2

ODT_PD_EXIT

ODT 下 电 退出 预充电到 激活定时 激活到预 充电定时 激活到读 / 写定时

DDR1 DDR2 DDR1 DDR2 DDR1 DDR2 DDR1 DDR2

PRETOACT ACTTOPRE ACTTORW

CASLAT REFREC

CAS 等 待 时间 刷新恢复

DDR1 DDR2 DDR1 DDR2

应设置为期望的 CAS 等待时间 应设置为期望的 CAS 等待时间 应按所使用存贮器的规范设置(tRFC) ,同时设 置扩展刷新恢复。 应按所使用存贮器的规范设置(tRFC) ,同时设 置扩展刷新恢复。 应按所使用存贮器的规范设置(tWR) 应按所使用存贮器的规范设置(tWR) 应按所使用存贮器的规范设置(tRPD) 应按所使用存贮器的规范设置(tRPD) 应按所使用存贮器的规范设置(tWRD) 应按所使用存贮器的规范设置(tWRD) 应设置为 000 应设置为期望的附加等待时间。必须将它的值 设置为小于 TIMING_CFG_1[ACTTORW] 应设置为 001 应设置为 CAS 等待时间-1 个周期。例如, 如 果 CAS 等待时间为 5 个周期,则该字段应设 置为 100(4 个周期) 如果突发长度为 4,应设置为 010。如果突发 长度为 8,应设置为 100。 应按所使用存贮器的规范设置(tRTP) 。若附加 等待时间(AL)为非零,则读和预充电之间的 最小时间为 AL+tRTP 个周期。 可以设置为 001 应按所使用存贮器的规范设置(tCKE) 应设置为 0001 应按所使用存贮器的规范设置(tFAW ) 。仅适用 于 8 个逻辑存贮体。 如果使用寄存式 DIMM,则该字段应设置为 1 如果使用寄存式 DIMM,则该字段应设置为 1 如果使用 32 位总线,且期望 8 拍突发,则该 字段应设置为 1 应设置为 0 在重载系统中,可以设置为 1,以地址/命令带 宽为代价,在接口上获得额外的定时时间。 在重载系统中,可以设置为 1,以地址/命令带 宽为代价,在接口上获得额外的定时时间。 典型地应设置为 0,除非期望在退出自更新时 旁路 DLL。 典型地应设置为 0,除非期望在退出自更新时 旁路 DLL。

9.4.1.5 9.4.1.5

WRREC ACTTOACT WRTORD ADD_LAT

写恢复 激活 A 到 激活 B 写到读定 时 附加等待 时间 写等待时 间

DDR1 DDR2 DDR1 DDR2 DDR1 DDR2 DDR1 DDR2 DDR1 DDR2

9.4.1.5 9.4.1.5 9.4.1.5 9.4.1.6

WR_LAT

9.4.1.6

RD_TO_PRE

读到预充 电定时

DDR1 DDR2

9.4.1.6

CKE_PLS FOUR_ACT

最小 CKE 脉冲宽度 四个激活 窗口 Registered DIMM 允 许 8 拍突发 允许 2T 定时允 许

DDR1 DDR2 DDR1 DDR2 DDR1 DDR2 DDR1 DDR2

9.4.1.6 9.4.1.6

RD_EN

9.4.1.7

8_BE

9.4.1.7

2T_EN

DDR1 DDR2

9.4.1.7

DLL_RST_DIS

DLL 复 位 禁止

DDR1 DDR2

9.4.1.8

DQS_CGF ODT_CFG

DQS 配置 ODT 配置

DDR1 DDR2 DDR1 DDR2

应设置为 00 可以设置为 00 或 01, 根据是否使用差分选通。 应设置为 00 可以根据系统布局设置 IO 终止。典型地,如 果允许 ODT,则仅在读 DRAM 期间设置内部 IO 终止。 应设置为 00 应设置为 00 应设置为 0 应设置为 0 可以设置为任何值,与应用有关。将该字段设 置为全 0 可以启用预充电。 可以设置为任何值,与应用有关。将该字段设 置为全 0 可以启用预充电。

9.4.1.8 9.4.1.8

LVWx_CFG DM_CFG BSTOPRE

可变写配 置 数据屏蔽 配置 突发到预 充电时间 间隔

DDR1 DDR2 DDR1 DDR2 DDR1 DDR2

9.4.1.8 9.4.1.8 9.4.1.12

9.6.2 DDR SDRAM 初始化序列 完成了所有参数的配置以后,系统软件必须置位 DDR_SDRAM_CFG[MEM_EN]启用存贮器接 口。注意,必须在 DRAM 时钟稳定(DDR_SDRAM_CLK_CNTL[CLK_ADJIST]置位,且片选允许) 之后的 200?s 以后才可以置位 MEM_EN,所以如果软件正在启用存贮器控制器,初始化代码中的延 迟循环是很有必要的。如果 DDR_SDRAM_CFG[BI]未置位,存贮器控制器将对存贮器执行遵循存贮 器规范的自动初始化序列。 如果使用旁路初始化模式, 那么软件可以通过 DDR_SDRAM_MD_CNTL 寄存器初始化存贮器。 9.6.3 使用强制自刷新模式实现电池后备的 RAM 系统 本节介绍该设备提供的支持电池后备主存的有关选项。 9.6.3.1 基于硬件的自刷新方案 可以通过 IRQ1/DDR_SR_REQ 信号将外部电压检测设备连接到 MPC8349E 上。 当识别出电压下 降时,DDR 控制器可以检测出该信号有效。然后 DDR 控制器立即响应,向主存发出自更新命令, 告诉它进入自更新模式。 DDR 控制器对 DDR_SR_REQ 有效的响应由 DDR_SDRAM_CFG_2[SR_IE]控制。关于该位更进 一步的信息参见 9.4.1.8 节“DDR SDRAM 控制寄存器 2” 。注意,如果将 IRQ1/DDR_SR_REQ 定义 为作为 DDR_SR_REQ 使用, 就不能将该引脚再作为 IRQ1 使用, 因此在中断控制器中必须禁用 IRQ1 中断源。8.5.11 节“系统外部中断屏蔽寄存器(SEMSR) ”包括完成该任务的寄存器的说明。 9.6.3.2 基于软件的自刷新方案 DDR 控制器还有一个软件可编程位 DDR_SDRAM_CFG_2[FRC_SR], 它立即将主存置为自刷新 模式。关于该寄存器的说明见 9.4.1.8 节“DDR SDRAM 控制配置 2(DDR_SDRAM_CFG_2) ” 。 希望由外部电压检测设备触发的紧急中断例程有时间置位该位。 9.6.3.3 在电池后备操作期间旁路重新初始化 DDR 控制器提供初始化旁路特性( DDR_SDRAM_CFG[BI]) ,系统设计人员可以使用它防止主 存在系统异常关闭之后再上电时重新初始化。有关该位的信息见 9.4.1.7 节“DDR SDRAM 控制配置

(DDR_SDRAM_CFG) ” ,有关避免该模式中可能的 ECC 错误的讨论见 9.4.1.15 节“DDR 初始化地 址(DDR_INIT_ADDR) ” 。 注意,当使用该模式时,在 MCKE[0:1]有效以后,DDR 控制器将自动等待 200 个 DRAM 周期, 然后再发出命令。


相关文章:
第9章 作业答案(最新修改)
第9 章 电磁场 9-6 如图 9-40 所示,一截面积 S ? 6cm2 的密绕线圈,共有 50 匝, 置于 B ? 0.25T 的均匀磁场中, B 的方向与线 圈的轴线平行。如...
第9章 统计热力学初步习题答案
第9章 统计热力学初步 9.2 某平动能级的 nx ? n y ? nz ? 45,试求该能级的统计权重。 2 2 2 ? ? 解:根据计算可知, n x 、 n y 和 n z 只有...
现代电工学 第9章习题答案
现代电工学 第9章习题答案 现代电工学 顾伟驷现代电工学 顾伟驷隐藏>> 第九章答案: 第九章答案: 9.1 (a) I B = 15 = 75uA, 200 I C = β I B = ...
电路分析基础(第四版) 答案 第九章答案
电路分析基础(第四版) 答案 第九章答案_工学_高等教育_教育专区。李瀚荪 课后...电路分析基础第四章答案 7页 免费 电路分析基础试题参考答... 5页 免费 电路...
第9章 赫克托尔
第9章 赫克托尔_文学_高等教育_教育专区。父性—历史、心理与文化的视野第九章 赫克托尔 在构成史诗般的英雄世界的所有人格当中,只有一个纯粹的英雄,永远的英雄—...
南京大学物理化学(第五版教材)复习题及解答 第九章
南​京​大​学​物​理​化​学​(​第​五​版​教​材​)​复​习​题​及​解​答​ ​第​九​章 暂无评价...
第9章 多边形练习题
第9章 多边形练习题_数学_初中教育_教育专区。m AB = 3.80 厘米 第九章《多边形》复习题 [一] 认识三角形 1、图中共有( )个三角形。 A:5 B:6 C:7 ...
第9章习题
第​9​章​习​题第9 章习题 9.1 已知布儒斯特角 ? B = arctg ...9.6 许多光学仪器是利用了普通玻璃的完全内反射临界角总是小于 450 这一特点...
教育心理学第9章练习题及答案
教育心理学第9章练习题及答案_从业资格考试_资格考试/认证_教育专区 暂无评价|0人阅读|0次下载|举报文档 教育心理学第9章练习题及答案_从业资格考试_资格考试/...
八年级物理下册《第九章_压强》知识点总结
在三峡大坝旁修建大型船闸 9.下列设备没有利用连通器原理的是( ) A.茶壶 B....八年级物理_第八章压强单... 3页 1下载券 八年级物理_第八章压强单......
更多相关标签: