SDRAM模块的使用
模块功能:
实现SDRAM存储128M字节的数据,并且其它模块每来一个使能信号,可以从SDRAM中读出1024个字节的数据,通过Signal Tap 观察读出的数据是否等于写入的数据。
SDRAM介绍以及引脚时序图
本人在第一次使用SDRAM存储器时,觉得下面这一篇博客整理的很详细,反复阅读了几遍,在这里引用一下:
链接: SDRAM详细介绍.博客对SDRAM的概念以及内部结构、怎么写入、读取介绍的及其详细。具体的SDRAM初始化操作这里不做过多介绍,个人认为没有特殊需要,可以直接拿现成的IP来用。下面以正点原子的为例官方例程.,总结一下我使用该模块时候遇到的坑,浪费了自己很多时间,不过人就是在寻找错误中成长的。
操作SDRAM遇到的问题
1、由于阅读手册不清晰,导致对模式寄存器理解不深入,SDRAM写入和读取都是以一个突发长度为单位的。只要指定起始地址与突发长度,内存就会依次自动的对后面相应数量的存储单元进行读写操作,而不再需要控制器连续的提供列地址。(这里不要有这一种想法,先设置SDRAM的行地址再设置SDRAM的列地址将它们作为SDRAM写或者读的起始地址。这种想法如果按照正点原子的教程那是错误的。你可以仔细看一下顶层文件,最大最小地址长度设置为24