在线咨询
eetop公众号 创芯大讲堂 创芯人才网
切换到宽版

EETOP 创芯网论坛 (原名:电子顶级开发网)

手机号码,快捷登录

手机号码,快捷登录

找回密码

  登录   注册  

快捷导航
搜帖子
查看: 3939|回复: 11

[原创] sdram问题讨论

[复制链接]
发表于 2014-8-7 09:14:00 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?注册

x
在做SDRAM的时候遇到一些问题,请大家不吝赐教

多谢

问题如下:
根据SDRAM的协议,60ms就要进行一次的刷新,有4096行时,15us左右发送一次一行auto_refresh请求,
但是假如此时auto_refresh命令来后,sdram正在进行读写操作,那么该怎么办?是auto_refresh请求命令延时,还是
此时停止读写,等auto_refresh后再重新发送读写命令。
当正在读写数据时,此时来了刷新命令,这个时候是停止读写去进行刷新命令,还是等读写完数据后再进行刷洗命令;
我看到很多状态机好像是读写完成后在进行刷新命令的,这样的话要刷新的这行数据会不会得不到及时刷新而丢失,还是对这此行进行操作就本身进行了充电保证了数据不会丢失?  求指点下 谢谢
发表于 2014-8-7 09:24:56 | 显示全部楼层
1.在85°以下,SDRAM要每64ms把整个阵列都刷新一次
2.SDRAM每次只能刷新一个row,如果阵列中8192个row,那每隔64ms/8192=7.8us就需要刷新一行
3.如果到达了刷新时间,会打断当前正在进行的读写操作。这是sdram controller应该考虑的事情。
当刷新结束之后,还要继续读写。
发表于 2014-8-7 10:05:15 | 显示全部楼层
SDRAM每隔64ms刷新一次,是逐行刷新的,一次一行,每隔64ms/行数就需刷新一行。到达刷新时间需停止正在进行的任何操作,进行刷新。刷新完毕后继续进行相应读写操作。
发表于 2014-8-7 11:37:29 | 显示全部楼层
留一定的余量,做好仲裁机制
 楼主| 发表于 2014-8-7 13:48:01 | 显示全部楼层
回复 2# haitaox


    我看了很多sdram控制器写法都是一旦读写时,刷新命令来了也不能打断读写,而是执行读写完后才进行刷新
不太明白为什么是这样设计,难道别人设计错了??
发表于 2014-8-7 17:53:15 | 显示全部楼层
同问,不太懂
发表于 2014-8-7 18:34:39 | 显示全部楼层
回复 5# ye_hong_lei


    你看的你DDR controller的设计?还是IP封装好的,你调用IP的代码?
 楼主| 发表于 2014-8-8 12:17:49 | 显示全部楼层
回复 7# haitaox

自己设计的,没有调用IP的代码
发表于 2014-8-8 22:34:46 | 显示全部楼层
回复 8# ye_hong_lei


    刷新的事情是IP做的,用户不必关心
发表于 2014-8-9 18:29:14 | 显示全部楼层
sdram的刷新可以推后不?如果不行,就要提前处理,在刷新时间快到,如果你这次的发起的操作会超过刷新时间,是否可以直接先刷新,避免被打断,又要重新打开。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

站长推荐 上一条 /2 下一条


小黑屋| 手机版| 关于我们| 联系我们| 在线咨询| 隐私声明| EETOP 创芯网
( 京ICP备:10050787号 京公网安备:11010502037710 )

GMT+8, 2024-12-23 08:24 , Processed in 0.025951 second(s), 9 queries , Gzip On, Redis On.

eetop公众号 创芯大讲堂 创芯人才网
快速回复 返回顶部 返回列表