编辑: jingluoshutong | 2016-05-20 |
3 根控制线向SDRAM 发送控制信号.SDRAM 的主要工作过程包括上电初始化、正常读写操作、换行和自动刷新操作.(1) 上电初始化SDRAM 芯片上电之后需要等待200 μ s 的稳定时间,然后进行初始化操作.初 始化主要包括预充电、自动刷新和模式寄存器设置等操作.(2) 正常读写操作读写操作包括了突发读写和非突发读写两种工作模式,在读写操作中行列选通分时进行,时间间隔为tRCD. ( 3) 换行和自动刷新操作在SDRAM 中进行换行操作包括发送预充电命令关闭当前行和发送激活命令打开新的工作行两个步骤.SDRAM 的存储原理是用电容里的电荷量来表示数据,因此需要不断地刷新来保持电容里的电荷.刷新周期为64 ms, 每次只刷新一行.进 行刷新操作之前要先关闭当前工作行,然后发送刷新命令.2.2 SDRAM 控制器功能模块划分基于SDRAM 的工作原理,在控制器的设计过程中采用了自顶向下的模块化设计方法.整 个控制器包括了顶层控制和底层控制两大部分.图
1 是SDRAM 控制器的底层模块划分,包括初始化模块、地址命令数据缓存控制模块、控制信号选择模块、读写数据控制模块和主控制模块5个模块,主控制模块是整个控制器的核心.下面介绍各个模块的功能.(1) 初始化模块初始化模块的主要功能是上电等待200μ s 的稳定时间之后进行预充电、自刷新、模式寄存器设置等操作并发出相应的控制命令.(2) 地址命令数据缓存控制模块SDRAM 在工作过程中因为要进行刷新、寻址等操作,不可能总处于数据传输状态,从而使得它的带宽不能达到百分之百的利用率[4] .地址命令数据缓存控制模块的作用就是配合主控制模块工作,当主控制模块进行刷新、寻址等操作时对顶层控制模块送来的命令、地 址 、数 据在fifo 中暂存.此 外,SDRAM 上电自校验的功能也是在该模块中完成.(3) 控制信号选择模块初始化模块和主控制模块在工作时都会发出控制信号和地址.控 制信号选择模块在初始化完成前选择初始化模块发送的控制信号和地址,初始完成之后选择主控制模块的控制信号和地址.(4) 读写数据控制模块读写数据控制模块配合SDRAM 的双向数据总线工作,通过控制双向buffer 中三态门的导通来控制数据流方向.(5) 主控制模块主控制模块是整个控制器的核心,由一个包含13 个状态的状态机来完成对SDRAM 的控制,这样可以简化顶层控制模块的复杂度.图1SDRAM 控制器底层总体结构Fig.1 Bottom overall structure of SDRAM controller
3 控制状态机设计3.1 顶层控制状态机设计控制器顶层控制模块与底层控制模块之间包括读写命令(0为写,1为读)、地址和数据3个主要接口.这 样设计的优点是顶层控制模块只需控制SDRAM 读写和相应的地址和数据,无需管理刷新、预充电等操作,可以简化顶层控制的复杂度,这样根据具体应用需求只需改........