问:如何操作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的范围以内)。
精益生产与人工智能:共创智能制造新篇章!
Acrel-1000变电站综合自动化监控系统的应用
美团20.65亿全资收购光年之外 国内AIGC领域最大一笔收购
小波在扩频通信中的应用
关于FPGA的FMC接口的详细介绍
如何操作SDRAM的自刷新命令而不影响正常读写操作?
魅族Pro7失利,魅族MX7大爆料:全面屏+骁龙660,只要1999起?必须买
物联网的世界范围有多大
打通互联互通的最后一公里 Matter加速智能家居创新
锂电池怎么组装_锂电池饿死了怎么激活
白光LED是如何逐步市场细化的?应用前景如何?
纯甲类功放音质排名_推荐几款真正甲类功放
Oracle数据库中的内存计算那点事
什么是变电所的桥形接线
我国电子特气的国产化布局如何?
什么是秘密密钥密码技术
统信UOS服务器操作系统V20欧拉版正式对外发布
滤波器的种类及应用
带宽和DI-8B/DI-5B系列信号调理模块
经常打电话用什么蓝牙耳机?通话降噪效果好的蓝牙耳机推荐