SDRAM突发读写注意

在设计SDRAM控制器时,遇到突发读写数据错位问题,表现为数据有规律地错位。通过分析发现,问题出在地址映射上,突发长度为4时,行地址满后未正确切换列地址,导致数据覆盖。利用工具验证了这一推断,结论是突发读写时逻辑控制的地址低位应映射到SDRAM的列地址。
摘要由CSDN通过智能技术生成

序言

最近的项目需要在设计一个SDRAM控制器,用于存储一段采样数据,然后等待上位机下发指令,把数据上报。采用连续突发读写模式BL为4,时钟50MHz。

SDRAM器件型号为MT48LC16M16A2。(4M*16*4banks),从上面的信息我们可以了解到,该SDRAM的数据总线为16bit,行地址有13根(8K),列地址为9根,有4个BANK。

 

问题现象

         项目中的SDRAM控制模块,是由原来写好的SDRAM模块移植过来的,原来的代码中读写突发长度都为1的。经过修改后就移植到新的项目当中。一开始当一次采样的数据量比较少的时候,读写正常,但是一旦一次采样数据量大的时候,发现数据有错位。而且有一定的规律,这样可以排除掉是由于时序问题或者管脚设置、或者初始化等原因,初步可以断定时逻辑设计出问题了。

 

图1   写入的测试数据

往sdram写入从16’h1---16’h6B35递增数据。

图2   Sdram读出的数据1

 

图3   Sdram读

  • 3
    点赞
  • 20
    收藏
    觉得还不错? 一键收藏
  • 6
    评论
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值