微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 嵌入式设计讨论 > DSP学习交流 > 关于SDRAM--MT48lc4m32b2 和dsp6701的配置的一些个人心得。

关于SDRAM--MT48lc4m32b2 和dsp6701的配置的一些个人心得。

时间:10-02 整理:3721RD 点击:
       这两天一直在弄一个板子,板子上dsp和sdram以及flash  sbsram 都是通过fpga连接到一起的。换句话说 也就是dsp 和 sdram 都挂在fpga上。
       软件环境:ccs5.2    dsp:6701   sdram:MT-MT48lc4m32b2  
      1. 首先通过fpga将dsp和 sdram互联,其他都看着管脚联就可以。注意一下 地址线。SDRAM  RAS行地址 12根线 A11:A0 分别连接到dsp的{EA13,SDA10,EA11:EA2}.  SDRAM   CAS 共有八根地址线A7:A0,连接到DSP的EA9:EA2.
      2.连线后,配置dsp寄存器。相关寄存器有四个。下面就是大概的描述下 具体 寄存器哪个bit代表什么意思  看datasheet就可以。
       a.全局寄存器   地址是0x01800000   要将SDCEN 使能为1   其他的使能 自己看自己的需要就可。 最后为0xF9;
       b.CE0 空间寄存器  地址是0x01800008  因为我用的ce0空间 因此只需配置这个空间。其他的选择默认值就行。将mtype  也就是6:4位 设置成011  代表的SDRAM32  最后为0xFFFF3F33。这个值应该都是这样的。
       c. SDTCEL 此寄存器 设置一些SDRAM 一些参数 。sdwid 设置成1      RFEN 设置成1   INIT 设置成1  TRCD  TRP   TRC 是根据计算得来的。这颗sdram  这三个参数为  18ns  18ns   60ns   如果SDRAM f为144MHZ/2 那周期就是13.8ns     那么 TRCD>(18/13.8-1)  所以 TRCD  取1即可   同理 TRP取1 TRCD取4.
最后此寄存器的值为0x07114000.
       d.SDTIM 这个就是设置刷新peirod的。通用的方法就是(64ms/4096)/13.8   最后取值约为1125  也就是ox465  我最后配置成了0x00465465

自我感觉配置的没有什么问题,可是当在dsp中运行读写sdram的程序的时候。出现如下描述的错误。
程序是将0 2 4....写到sdram中  也就是dsp的ce0空间  对应的起始地址是0x0040 0000。程序执行后 通过查看memory browser 发现 已经将数据写到了相应的地址中。
但是当读取 相应地址的值得时候 却读到ffffffff  .比如  0x0040 0004写上去的应该是2  可读到的确是ffffffff。
请问  应该是哪里的问题呢?

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top