geff 发表于 2012-9-4 11:20:05

SDRAM突发模式读写是地址线进位问题,小困惑

SDRAM突发模式读写,可以更高效的利用SDRAM,但我发现突发模式也增加了一些不便
SDRAM有两种突发模式Sequential Mode和Interleave Mode,归结起来就根据突发长度,低几位bit的变化方式不同
但这两种方式都不会对高位产生进位
比如:
下面都以Burst Length = 4为准

Sequential Mode下
是首地址逐次加一,(n+1)的方式自动寻找下一个地址位,但是地址线A1不对A2产生进位
比如,2-〉3-〉0-〉1

Interleave Mode
是相对位置比特位取反,A1A0->A1(~A0)->(~A1)A0->(~A1)(~A0)

问题来了,在突发模式下,其实都是以地址0为起始,按照突发长度步进写入的。
这样就和我们一般像法的概念不统一,我们希望以任意起始位置开始,顺序写入数据。
比如起始地址为3,我们写完3,想继续写4,5,6
可是在S Mode下,是3,0,1,2
在I Mode下是3,2,1,0

请问这种情况如何破,有什么简单的方法可以实现突发模式下,任意起始地址顺序读写呢?
集思广益

NJ8888 发表于 2012-9-4 11:28:03

本帖最后由 NJ8888 于 2012-9-4 11:29 编辑

换突发地址呀,没法不换写456,结束本次突发进行下次突发.这是SDRAM随机访问弱点,慢呀

liurangzhou 发表于 2012-9-4 11:30:01

没有办法

kebaojun305 发表于 2012-9-4 11:32:16

本帖最后由 kebaojun305 于 2012-9-4 11:45 编辑

用整页突发读写不过 我只是使用了 8M的SDRAM。 就是使用整页突发读写可以写任意地址(页以内的地址)。

geff 发表于 2012-9-4 13:53:42

kebaojun305 发表于 2012-9-4 11:32 static/image/common/back.gif
用整页突发读写不过 我只是使用了 8M的SDRAM。 就是使用整页突发读写可以写任意地址(页以内的地址)。 ...

整页写的话必须写一整页
我的意思是反而增加了数据量

kebaojun305 发表于 2012-9-4 14:58:43

本帖最后由 kebaojun305 于 2012-9-4 15:36 编辑

geff 发表于 2012-9-4 13:53 static/image/common/back.gif
整页写的话必须写一整页
我的意思是反而增加了数据量

我现在做的就没有写一整页啊 使用突发停止命令   不过效率低点。最少1个字节(这个1字节是对外部说的内部实际上最少3个字节读写)最大一页 256字节。

sky5566 发表于 2012-9-4 17:02:44

一般 4 或 8都使用遮罩DQM

beirvin 发表于 2013-3-23 15:52:28

楼主你的突发读写好歹也有数据出来,但是我的突发模式下读出来的数据都是一样的,很是郁闷啊!能把你的SDRAM突发读写的源码传上来么?

geff 发表于 2013-3-26 22:57:08

beirvin 发表于 2013-3-23 15:52 static/image/common/back.gif
楼主你的突发读写好歹也有数据出来,但是我的突发模式下读出来的数据都是一样的,很是郁闷啊!能把你的SDRA ...

你说的读的数据都一样。
你给说说你的具体情况才能帮你分析。

beirvin 发表于 2013-3-30 17:29:15

geff 发表于 2013-3-26 22:57 static/image/common/back.gif
你说的读的数据都一样。
你给说说你的具体情况才能帮你分析。

您终于回贴了……我发过求助帖了,下面这个链接就是我的求助帖,里面有队我的问题的描述!
关于SDRAM突发读写的问题

wangyeqing333 发表于 2013-7-15 10:22:36

我最近也在搞sdram驱动,按照楼主的说法,如果突发长度=8,从地址(0,0)开始写入,那么这八个单元被写入的地址各是什么呢
页: [1]
查看完整版本: SDRAM突发模式读写是地址线进位问题,小困惑