sdram学习笔记
sdram学习笔记
1 SDRAM 命令
命令列表
命令 | CS | RAS | CAS | WE |
---|---|---|---|---|
NOT | 0 | H | H | H |
ACTIVE | L | L | H | H |
READ | H | H | L | H |
WRITE | L | H | L | L |
PRECHARGE | L | L | H | L |
AUTO REFRESH | L | L | H | L |
LOAD MODE REGISTER | L | L | L | L |
1.1 ACTIVE(行**)
active命令 用于打开一行。在读写一个Bank中的某个单元之前,需先发送ACTIVE命令,接着发送(READ/WRITE)命令,Active命令和(READ/WRITE)命令之间需要有一个时间间隔,这个间隔叫RCD.如下图所示。
1.2 READ(读)
如果是需要读SDRAM,在Active间隔tRCD之后,需要发一个READ命令。发出READ命令时,列地址同时给出,A10决定在读结束后是否进行PRECHARGE。在发出READ命令之后,存储单元会发出数据,但是数据从存储到IO总线需要一定的时间间隔,即CL(CAS Latency),一般CL=2或3.数据从时钟沿到IO之间,还有一个时间延长tAC。关于CL和tAC,具体如下波形:
CAS Latency的设置
1.3 WRITE(写)
与READ命令类似,只是WRITE是往SDRAM里写数据,由于写操作没有CAS Latency,所以第一个数据和WRITE命令可以同时发出。
1.4 PRECHARGE(预充电)
预充电用于关闭打开的行。当行被打开(ACTIVE)之后,将一直处于打开状态直到收到PRECHARGE。
1.4 AUTO REFRESH(自动刷新)
自动刷新命令用于防止SDRAM里面的数据因电容放电而丢失。每个存储单元一般64ms 内需要进行一次AUTO REFRESH.
AUTO REFRESH命令每次刷新一行。对于一个行地址为A0到A11的SDRAM芯片来说,刷新命令的间隔为
64ms / (1<<12) = 15.625us.
1.5 LOAD MODE REGISTER
设置SDRAM模式寄存器。