1
1
mirror of https://github.com/foxsen/archbase.git synced 2026-04-02 10:20:39 +08:00

"CAS_n为高电平" -> "CAS_n为低电平"

This commit is contained in:
Zhang Fuxin
2021-10-30 20:35:13 +08:00
parent f1a316393c
commit 5f219931c3

View File

@@ -233,7 +233,7 @@ knitr::include_graphics("images/chapter6/ddr3_read.png")
knitr::include_graphics("images/chapter6/ddr3_write.png")
```
DDR3 SDRAM写操作的协议如图\@ref(fig:ddr3-write)所示。当RAS_n为高电平CAS_n为电平WE_n为低电平时表示一个写操作。读写操作命令的区别是WE_n信号的电平不同读操作时该信号为高写操作时该信号为低。写操作使用额外的数据掩码Data MaskDM信号来标识数据是否有效。当DM为高时对应时钟沿的数据并不写入SDRAM当DM为低时对应时钟沿的数据才写入SDRAM。DM信号与DQ信号同步。在写操作时DQS信号和DQ信号是由内存控制器驱动的。同样在DQS的起始、DQ传输数据之前DQS信号也存在一个写前导Write Preamble。DDR3 SDRAM的写前导为一个周期的时钟信号DDR2 SDRAM的写前导为半个时钟周期的低电平信号。
DDR3 SDRAM写操作的协议如图\@ref(fig:ddr3-write)所示。当RAS_n为高电平CAS_n为电平WE_n为低电平时表示一个写操作。读写操作命令的区别是WE_n信号的电平不同读操作时该信号为高写操作时该信号为低。写操作使用额外的数据掩码Data MaskDM信号来标识数据是否有效。当DM为高时对应时钟沿的数据并不写入SDRAM当DM为低时对应时钟沿的数据才写入SDRAM。DM信号与DQ信号同步。在写操作时DQS信号和DQ信号是由内存控制器驱动的。同样在DQS的起始、DQ传输数据之前DQS信号也存在一个写前导Write Preamble。DDR3 SDRAM的写前导为一个周期的时钟信号DDR2 SDRAM的写前导为半个时钟周期的低电平信号。
前面讲过SDRAM的基本操作包括激活Activate、读写Read/Write和预充电Precharge。当SDRAM接收到一个操作后它需要在固定的时钟周期之后开始进行相应的动作并且这些动作是需要经过一定的时间才能完成的。因此对DRAM不同操作命令之间是有时间限制的。例如对于DDR3-1600内存来说当软件访问的两个地址正好位于内存的同一个Bank的不同行时内存控制器需要首先针对第一个访问地址发出激活操作经过13.75ns的时间才可以发出读写操作。如果第一个访问是读操作则需要经过至少7.5ns此外还需满足tRASmin的要求这里进行简化说明的时间才可以发送预充电操作。预充电操作发送后需要经过13.75ns的时间才可以针对第二个访问的行地址发送新的激活操作然后经过13.75ns的时间发送读写操作。因此对SDRAM的同一个Bank的不同行进行读写存在较大的访问延迟。为了掩盖访问延迟SDRAM允许针对不同Bank的操作并发执行。上述访问过程如图\@ref(fig:sdram-timing)所示。