SDRAM 阅读笔记

1、所有信号同步,都是参考时钟的上升沿

2、Programmable burst length – 突发长度可编程:1、2、4、8、整页(256)

3、Self refresh modes - 自刷新 :在休眠状态下,自动刷新

4、4096 refresh cycles every 64 ms :刷新周期,每64ms刷新4096行,一行的刷新时间64/4096 = 0.015625ms =15.625us ,这里一 BANK 有4096 行。

5、Programmable CAS latency (2, 3 clocks),可编程的潜伏期时间,意思就是当给SDRAM发一个指令后,会有一个反应的时间,才能做出相应的回应,如下图

 

6、Burst termination by burst stop and precharge command:可通过突发停止命令和预充电命令停止突发读(写)操作,比如整页写256个,但是写到128个时不想在继续写了,可以发送突发停止命令或预充电命令来终止当前的突发操作。

7、Byte controlled by LDQM and UDQM :高、低字节有效控制

8、IC42S16400F are organized as 1,048,576 bits x 16-bit x 4-bank:

>1,048,576 bits :1,048,576个单元,4096 *256 = 1,048,576

>16-bit :每个单元16bit

>4-bank:有4个bank

一个 BANK 1677216 bit: 有4096 行,每行256列,每单元是16bit

9、A0~A11 复用功能:

>在激活命令时: A0~A11 是作为行地址,有4096行,就需要12个地址来表示

>在读写命令时:A0~A7 作为列地址,有256列,需要8个地址来表示;A10决定读写操作后是否要进行预充电,A10 为高电平时,开启预充电

>在模式寄存器时:A0~A11作为模式寄存器的内容, 就是作为OP-CODE的配置值

10、CKE 时钟使能,当CKE为高电平时 ,输入的CLK时钟有效;当CKE为低电平时 ,输入的CLK时钟无效。注意:The next rising edge of the CLK signal will be valid when is CKE HIGH and invalid when LOW. 意思是说,当CKE = 1时,下一个时钟上升沿有效,当CKE = 0时,下一个时钟上升沿无效

 

命令

1、 读命令: READ

>读命令时,先选择BANK

>开始一个burst的读

>地址的低八位(A0~A7)作为列地址

>A10指示读完后是否要进行预充电,A10 = 1,读完后进行预充电;A10 = 0,读完后不进行预充电,保持可以继续访问

>同时指明了DQM和读出来的时序关系。注意当xDQM = 1,对应的DQx数据,在两个时钟之后输出为高阻,比如,LDQM = 1, D0~D7 (低8位)在两个时钟之后将是高阻状态

>需等待CAS latency时间 . 固定2或3 个时钟周期后

 

2、 写命令 WRITE

>写命令时,先选择BANK

>开始一个burst的写

>地址的低八位(A0~A7)作为列地址

>A10指示写完后是否要进行预充电,A10 = 1,写完后进行预充电;A10 = 0,写完后不进行预充电,保持可以继续访问。

>同时指明了DQM和写的时序关系。当xDQM = 0,数据将被写入;当xDQM = 1,数据将被忽略,不会被写入到SDRAM中,注意没有时钟延时,在当拍时钟立刻有效果

 

3、 预充电 PRECHARGE

>可通过A10、BA0和BA1选择全部BANK或某一个BANK

>预充电命令后,必须等待TRP时间,是需要一个TRP时间完成预充电动作

>预示充电后处于idle状态。必须active后,才能读和写

比如:一般操作流程,先激活,送出行地址,然后开始读或写命令,再预充电,之后SDRAM会进入休眠状态,此时再次需读写的话,需先激活,重新走一遍流程。

提示,尽量避免在突发读写时使用预充电命令,否则突发读写到一半时会被中断结束,再次读写会失效,需从新激活在读写,一般在空闲时,发送预充电命令

 

4、 自动预充电 AUTO PRECHARGE

>A10决定

>每个读和写操作独立决定

>注意!!全页模块不支持自动预充电,也就是在 burst模式下不支持自动预充电

 

5、 自动刷新 AUTO REFRESH COMMAND  (正常工作时使用)

>行列地址自动生成,只发送命令既可,而无需再提供地址

>需要TRC时间,此期间不能有其他命令

>64ms必须至少执行4096次

 

6、 自刷新SELF REFRESH  (休眠状态时使用)

>在没有外部时钟时,保持数据,也就是说,在休眠状态时,内部会自动刷新,以保持数据不会被丢失。

 

7、 强迫停止的读或写  BURST TERMINATE

>在固定长度或整页突发读写时,可通过该命令来强制突发读写操作

 

8、 无影响命令  COMMAND INHIBIT

>相当于空操作

 

9、 空操作 NO OPERATION

>空操作

 

10、配置模式寄存器 LOAD MODE REGISTER

>通过A0~A11来配置内容的值

>只能在所有BANK是空闲状态时发出

>需等待TMRD时间

 

11、 激活命令 ACTIVE COMMAND

>ACTIVE有效时,通过BA0、BA1选择BANK 和 A0~A11选择行。

>除非预充电命令,否则一直选译该BANK和行

 >需等待TRCD时间

posted @ 2023-03-26 17:06  MyBooks  阅读(88)  评论(0编辑  收藏  举报