问:如何操作SDRAM的自刷新命令而不影响正常读写操作?
众所周知,SDRAM从开始工作伊始,一直伴随着64ms刷新一遍的最基本规定(假设该SDRAM有4096行,那么必须大约15us的时间就要发出一次自刷新命令),这是为了保持SDRAM内数据能够在上电以后一直保持的原因,具体原因就不多解释了,我们还是以实际操作为主。
正常情况下,我们要不断地对SDRAM进行读或者写操作,这样才能实现fpga和SDRAM之间的数据交流传递。假如我们在进行写操作时,15us的时间计时已经到了,发出了自刷新使能信号,这时候难道我们要打断写操作吗?显然这是不文明的野蛮的,理想的操作就是等待本次的写操作完成,SDRAM的内部状态机进入到了休闲状态,这时候才正式发出自刷新命令。
可能大家会认为这样实际经过的时间是超过15us的,假如4096次每次都是超过15us的话,那么总时间岂不是超过64ms了,现在想起来感觉当初自己的问题真傻。因为实际上每发出一次刷新命令的周期是64ms/4096=15.625us,当初设置15us为周期就已经考虑到了这个余量,而一个写周期(假如突发长度=4)本身的时间远远小于0.625us,所以这样设计是合理的。
但是,如果突发写长度是全页的话,要考虑SDRAM的工作频率、突发长度重新计算这个写周期时间,那么设置15us的计时时间是有问题的,应该调的更小一点。
总结:自刷新要保证64ms内一遍,合理设置自刷新周期计时器,考虑读写一个周期所花的时间,使得在发出自刷新信号的时候,等待本次正在进行的读写周期完成后,再写入自刷新命令。
以上内容是我如何对自刷新操作和读写操作进行合理安排的一种解决方案,后来细想其实可以更加的合理,微调后的方案::15us的定时计数器不断地进行,没计到15us发出刷新请求信号,同时计数器重新计数(上个方案是等到正式发出刷新命令以后才开始重新计数),本次微调的技巧应该更加理想些(因为读写周期即使是全页的,也就是10us以内完全在15us的范围以内)。
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。
举报投诉
相关推荐
。 设置完模式寄存器后就进入正常操作模式。 实际上具体的操作要跟选用的处理器的SDRAM控制模块相结合来设置。对于这些初始化命令比较直观的理
发表于 10-24 10:38
对于SDRAM刷新操作, 手册是写64ms/8192行, 是要求每 64ms/8192 内产生一个刷新请求吗, 这样效率会不会有点低啊?还是在64ms内只产生一次
发表于 12-16 19:00
大家好,我使用的DSP是tms320c6701,在操作时,配置emif中的SDRAM控制器后,在SDRAM不翻页的情况下,读写操作没有问题,
发表于 05-16 08:06
的数据就出来了。大家也不要忘了,在给相关命令的时候,千万不要忘记其他信号线上的信号。SDRAM的自动刷新操作Kevin已经在前面多次提到了SDRAM
发表于 01-16 18:06
进行读写控制操作。自刷新控制时间是7.5μs,设置了自动预充电。当前情况:写入情况: 读出情况: 问题:1、这款片外SDRAM芯片手册里
发表于 04-24 10:38
时间向SDRAM发预充电(precharge)命令,以关闭已经激活的页。等待tRP时间后开始下一次的读写。读操作支持突发模式,突发长度为1、2、4、8可选。
发表于 06-27 04:15
Memory)因其容量大、读写速度快、支持突发式读写及相对低廉的价格而得到了广泛的应用。SDRAM的控制比较复杂,其接口电路设计是关键。本文首先介绍
发表于 12-03 15:20
和BANK地址,然后在给“READ”指令,经过设定好的潜伏期之后,咱们的数据就出来了。大家也不要忘了,在给相关命令的时候,千万不要忘记其他信号线上的信号。SDRAM的自动刷新操作Kev
发表于 01-14 06:35
和BANK地址,然后在给“READ”指令,经过设定好的潜伏期之后,咱们的数据就出来了。大家也不要忘了,在给相关命令的时候,千万不要忘记其他信号线上的信号。SDRAM的自动刷新操作Kev
发表于 01-24 06:35
对Bank进行预充电,在此期间所有的Bank处于空闲状态。预充电之后会有至少两个自刷新,完成自刷新便可以对SDRAM进行模式寄存器配置。图1
发表于 01-04 19:20
突发完成之后才能进行刷新操作;那么一次读突发为7拍,写突发为6拍,时间是60ns或者70ns (SDRAM工作时钟是100MHz,1拍是10ns),同时考虑到读写
发表于 04-15 14:43
。 SDRAM支持的操作命令有初始化配置、预充电、行激活、读操作、写操作、自动刷新、
发表于 10-09 15:22
•4944次阅读
众所周知,SDRAM从开始工作伊始,一直伴随着64ms刷新一遍的最基本规定(假设该SDRAM有4096行,那么必须大约15us的时间就要发出一次自刷
发表于 12-12 14:04
•5338次阅读
。 SDRAM支持的操作命令有初始化配置、预充电、行激活、读操作、写操作、自动刷新、
发表于 07-15 15:35
•3982次阅读
评论