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:29 编辑
换突发地址呀,没法不换写456,结束本次突发进行下次突发.这是SDRAM随机访问弱点,慢呀 没有办法 本帖最后由 kebaojun305 于 2012-9-4 11:45 编辑
用整页突发读写不过 我只是使用了 8M的SDRAM。 就是使用整页突发读写可以写任意地址(页以内的地址)。 kebaojun305 发表于 2012-9-4 11:32 static/image/common/back.gif
用整页突发读写不过 我只是使用了 8M的SDRAM。 就是使用整页突发读写可以写任意地址(页以内的地址)。 ...
整页写的话必须写一整页
我的意思是反而增加了数据量 本帖最后由 kebaojun305 于 2012-9-4 15:36 编辑
geff 发表于 2012-9-4 13:53 static/image/common/back.gif
整页写的话必须写一整页
我的意思是反而增加了数据量
我现在做的就没有写一整页啊 使用突发停止命令 不过效率低点。最少1个字节(这个1字节是对外部说的内部实际上最少3个字节读写)最大一页 256字节。 一般 4 或 8都使用遮罩DQM 楼主你的突发读写好歹也有数据出来,但是我的突发模式下读出来的数据都是一样的,很是郁闷啊!能把你的SDRAM突发读写的源码传上来么? beirvin 发表于 2013-3-23 15:52 static/image/common/back.gif
楼主你的突发读写好歹也有数据出来,但是我的突发模式下读出来的数据都是一样的,很是郁闷啊!能把你的SDRA ...
你说的读的数据都一样。
你给说说你的具体情况才能帮你分析。 geff 发表于 2013-3-26 22:57 static/image/common/back.gif
你说的读的数据都一样。
你给说说你的具体情况才能帮你分析。
您终于回贴了……我发过求助帖了,下面这个链接就是我的求助帖,里面有队我的问题的描述!
关于SDRAM突发读写的问题
我最近也在搞sdram驱动,按照楼主的说法,如果突发长度=8,从地址(0,0)开始写入,那么这八个单元被写入的地址各是什么呢
页:
[1]