现在的位置: 首页 > 综合 > 正文

SDRAM页操作模式(ZT)

2013年10月06日 ⁄ 综合 ⁄ 共 848字 ⁄ 字号 评论关闭

      

2012-05-29 16:27:33|  分类: SDRAM |  标签:sdram  |字号 订阅

 之前折腾了好久没搞定SDRAM的页模式下进行读写,当时利用在FPGA内部设计一个数据产生模块,用于产生0-255的数据分别写入SDRAM的一个页(正好256字节)内。但是读出来的串口上传数据却相当怪异。当时就放下了,搞不定硬撑着也不是办法。

                          

        启示:在页操作模式下,需进行换页操作。当连续读写数据时,每隔256个单元(单元的长度-即一个单元包含多少个字节?),就要做一次突发停止。---zhengjw

         前天又在看不同厂家的类似型号SDRAMdatasheet,结果不经意看到一句话,说是SDRAM在页操作模式下必须使用突发停止命令停止其操作。否则,根据后来推断,我觉得在页操作模式下,如果不发出突发停止命令,那么地址会不停的从0-255翻转,而我们的本意是在第一次0-255地址递增期间会分别送0-255的数据到数据总线上,但是如果不发突发停止命令,那么在下一次命令到来之前,地址总线会重新不停的在0-255之前变化,而最后写入SDRAM的数据则取决于你最后一个0-255地址变化周期内的数据。可想而知,如果我不发停止命令,而假设其操作完成回到IDEL状态,那么最后写入的数据肯定就是一串FF或者00,再或者是最后一个写入的一个数据(如果在写入后数据总线不释放的话)。实践证明,结果正式如此。


         呵呵,问题找到了,那么解决问题就是小case了。这回要发挥页模式的灵活性和高效性,那么就要做成一个由外部输入数据控制其一次性操作的字节数,也就是说,外部在读写数据前事先控制一个寄存器,往寄存器写入需要操作的字节数,而进入读写操作后,SDRAM控制器根据外部给出的字节数在适当的时候发出突发停止命令,这样做到了SDRAM的读写操作的字节可以在1-256范围内灵活调整,增强了通用性。


         呵呵,问题终归是要解决的!

抱歉!评论已关闭.