特权同学

SDRAM页操作模式

0
阅读(3262)

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

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

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

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