搜索
bottom↓
回复: 18

关于FPGA对SDRAM的按列读写问题

[复制链接]

出0入0汤圆

发表于 2013-12-14 18:48:20 | 显示全部楼层 |阅读模式
大家好,我现在用一片FPGA来驱动SDRAM,按照ALTERA官方提供的SDR SDRAM驱动,已经能够实现对SDRAM的读写,特别是page模式。
我现在能够实现按页读写,从sdram datasheet 知道,按页读写是基于行来实现的,如下所示:
        第1列 第2列  第3列  第4列  第5列……第512列
第0行:1      2         3        4        5    ……  512
第1行:1      2         3        4        5    ……  512
第2行:1      2         3        4        5    ……  512
...
第N行

按照行写数据完成后,那么按照行读出来的数据也是从1累加到512,那么如何按照列来读取?
即要求读出来的数据是1,1,1……, 2,2,2……,3,3,3……,……,512,512,512

如果使用burst模式,重复的输入地址,然后根据相应的地址算法,也可以满足按列读取的要求,只是每读一次burst数据它中间经过了CAS+RAS个CLK的延时,难以达到我的要求。
我需要设置完page模式后,一个CLK就来一个数据。
网上有一篇文章《基于FPGA 的实时SAR 成像系统转置存储的实现.pdf》,里面也有讲到按行写按列读,但具体操作步骤只讲了几句,不是很清楚方法。
不知道有谁遇到过类似问题?

阿莫论坛20周年了!感谢大家的支持与爱护!!

月入3000的是反美的。收入3万是亲美的。收入30万是移民美国的。收入300万是取得绿卡后回国,教唆那些3000来反美的!

出0入442汤圆

发表于 2013-12-14 18:50:36 | 显示全部楼层
LZ建议你换SRAM吧.SDRAM不是干那活的.

出0入0汤圆

 楼主| 发表于 2013-12-14 18:56:20 | 显示全部楼层
wye11083 发表于 2013-12-14 18:50
LZ建议你换SRAM吧.SDRAM不是干那活的.

SRAM价格贵啊,另外容量也达不到要求,我需要至少1.5MB的容量。
PSRAM可以达到容量要求,但价格居于SDRAM和SRAM之间,也相当的贵,目前要做的东西要用于消费电子类。
耗不起,如果是工控类,就没那么多烦恼了,几乎是不计成本的。

出0入442汤圆

发表于 2013-12-14 23:22:17 | 显示全部楼层
ximuyi 发表于 2013-12-14 18:56
SRAM价格贵啊,另外容量也达不到要求,我需要至少1.5MB的容量。
PSRAM可以达到容量要求,但价格居于SDRAM ...

那你就SRAM+SDRAM吧。之所以没人鸟你,就是因为你在做梦。
你用SRAM缓冲M行,再通过Burst写入到SDRAM中,然后使用Page读SDRAM。
你要是缓冲视频的话,8行足矣。4行缓冲满,开始往SDRAM里存,一个像素至少也得2字节吧,所以SDRAM用4个BANK交织,并设置BL=4或BL=8一般可以达到最大效率(写BA=0时,充电BA=3,以此类推)。

出0入0汤圆

 楼主| 发表于 2013-12-14 23:37:09 | 显示全部楼层
wye11083 发表于 2013-12-14 23:22
那你就SRAM+SDRAM吧。之所以没人鸟你,就是因为你在做梦。
你用SRAM缓冲M行,再通过Burst写入到SDRAM中, ...

做缓冲我用个FIFO或内部构造的RAM也已经能够实现,就没必要把SRAM挂上当缓冲了,cyclone系列FPGA的M4K足够用了。
设置BL=4或8也能实现我的要求,只是操控更麻烦效率也不高,另外我也想探讨更快更简便的方法
网上有文章说能实现,所以就抱着试试的态度了,很多好的设计不也是从做梦开始么,呵呵
另外,没人鸟我是不是因为周末大家都忙着约会了 ,出去逛逛至少不会变呆
待会看恒大球赛

出0入0汤圆

发表于 2014-2-5 22:33:48 | 显示全部楼层
LZ是要想把图像 转置吗,如果是,我有一个思路 ,在图像存储的时候进行操作

出0入0汤圆

 楼主| 发表于 2014-2-7 11:29:00 | 显示全部楼层
Fourier00 发表于 2014-2-5 22:33
LZ是要想把图像 转置吗,如果是,我有一个思路 ,在图像存储的时候进行操作 ...

哦?说说看看

出0入0汤圆

发表于 2014-3-3 17:46:56 | 显示全部楼层
SDR SDRAM代码官方的,怎么在官网上没有呢

出0入0汤圆

 楼主| 发表于 2014-3-6 09:20:23 | 显示全部楼层
zhangyunbo 发表于 2014-3-3 17:46
SDR SDRAM代码官方的,怎么在官网上没有呢

http://download.csdn.net/detail/wenhuawu/2411965
试试这个

出0入0汤圆

发表于 2014-3-6 13:29:13 | 显示全部楼层
mark~~~~~~~~~~~~~~~~~~~~~~~~

出0入0汤圆

发表于 2014-4-4 14:16:17 | 显示全部楼层
楼主,关于突发page读写中自刷新问题,不知道楼主是怎么解决的。手头SDRAM一页是1024。用100MHz来读的话,需要耗时10.24us才能读完一行。但是datasheet中要求64ms对所有行进行一次刷新,我一共有8192行,也就是每隔7.8125us就需要发出一次自刷新中断。不知道楼主是怎么解决的还是我对自刷新的理解有问题。请大神指点~

出0入0汤圆

 楼主| 发表于 2014-4-17 17:45:18 | 显示全部楼层
步凡王子 发表于 2014-4-4 14:16
楼主,关于突发page读写中自刷新问题,不知道楼主是怎么解决的。手头SDRAM一页是1024。用100MHz来读的话, ...

不好意思之前没得上论坛,是这样的,我用的是DDR SDRAM控制器,所以自刷新只需要让它自动算好时间再刷新就好了,不需要人工参与、

出0入0汤圆

发表于 2014-6-2 20:52:46 | 显示全部楼层
ximuyi 发表于 2014-4-17 17:45
不好意思之前没得上论坛,是这样的,我用的是DDR SDRAM控制器,所以自刷新只需要让它自动算好时间再刷新 ...

想请教一下,你的SDRAM时钟与控制器时钟的相差是多少?

出0入0汤圆

 楼主| 发表于 2014-6-3 21:11:32 | 显示全部楼层
xyzabc 发表于 2014-6-2 20:52
想请教一下,你的SDRAM时钟与控制器时钟的相差是多少?

50M,100M,160M都试过,都可以

出0入0汤圆

发表于 2014-6-3 21:22:42 | 显示全部楼层
ximuyi 发表于 2014-6-3 21:11
50M,100M,160M都试过,都可以

不好意思,我是想问FPGA的时钟和给SDRAM的时钟之间的相位差是多少

出0入0汤圆

 楼主| 发表于 2014-6-4 12:00:06 | 显示全部楼层
xyzabc 发表于 2014-6-3 21:22
不好意思,我是想问FPGA的时钟和给SDRAM的时钟之间的相位差是多少

用的是同一个CLK,相位差为0

出0入0汤圆

发表于 2014-8-22 10:19:00 | 显示全部楼层
wye11083 发表于 2013-12-14 23:22
那你就SRAM+SDRAM吧。之所以没人鸟你,就是因为你在做梦。
你用SRAM缓冲M行,再通过Burst写入到SDRAM中, ...

bank交织写入,显示的时候顺序读出么?

出0入0汤圆

发表于 2017-5-23 16:48:42 | 显示全部楼层
楼主,厉害哦

出0入8汤圆

发表于 2017-5-24 09:19:45 | 显示全部楼层
xyzabc 发表于 2014-6-2 20:52
想请教一下,你的SDRAM时钟与控制器时钟的相差是多少?

63 du


~~~~
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。【本论坛不允许直接上传手机拍摄图片,浪费大家下载带宽和论坛服务器空间,请压缩后(图片小于1兆)才上传。压缩方法可以在微信里面发给自己(不要勾选“原图),然后下载,就能得到压缩后的图片】。另外,手机版只能上传图片,要上传附件需要切换到电脑版(不需要使用电脑,手机上切换到电脑版就行,页面底部)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|Archiver|amobbs.com 阿莫电子技术论坛 ( 粤ICP备2022115958号, 版权所有:东莞阿莫电子贸易商行 创办于2004年 (公安交互式论坛备案:44190002001997 ) )

GMT+8, 2024-4-27 11:02

© Since 2004 www.amobbs.com, 原www.ourdev.cn, 原www.ouravr.com

快速回复 返回顶部 返回列表