指令介绍:
|
指令命 | cs | ras
| cas | we
|
MODESET | 0 | 0 | 0 | 0 |
REFRESH | 0 | 0 | 0 | 1 |
PRECHARGE | 0 | 0 | 1 | 0 |
ACTIVE | 0 | 0 | 1 | 1 |
WRITE | 0 | 1 | 0 | 0 |
READ | 0 | 1 | 0 | 1 |
NOP | 0 | 1 | 1
| 1
|
sdram的初始化流程:
1、上电延迟200us。
2、对所有bank进行预充电
3、进行2个自刷新命令(一个REFRESH 后加7个NOP)
4、进行模式寄存器Moderegster工作模式的配置(MODESET 后加7个NOP)
5、进入初始化等待状态并给出初始化结束信号。(init_end)
sdram工作状态机:
1、空闲状态机(进入条件:init_end初始化结束信号有效)
2、行激活状态(进入条件:rd或wr读写信号有效)
3、读状态(进入条件:rd信号有效)
4、写状态(进入条件:wr信号有效)
5、预充电状态(一次突发读写完后自动进入)
sdram自刷新机制:
依靠定时计数器计数,产生一个周期性的刷新信号ref_req,同时刷新命令结束后(一个refresh命令后家9个Nop)产生一个刷新结束的应答信号ref_ack,该信号也是定时计数器清零的信号。并按照相关sdram的参数进行设定定时时间。
sdram结构图如下所示: