请教:DDR控制器 数据位宽 16位和32位的区别

wohuazhen 2009-05-20 12:13:51
请问MCU的DDR控制器数据位宽(Dn,pad)16位和32位的区别?
在其它条件相同的情况下,每个时钟读取的数据,32位是16位的2倍吗?
如果忽略控制时序时间,
16位的是不是一个时钟可以读或写16/8*2Byte?
32位的则为32/8*2Byte?
还是不论16位或32位都是8/8*2Byte?
...全文
2672 5 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
wohuazhen 2009-05-22
  • 打赏
  • 举报
回复 1
[Quote=引用 4 楼 cbsqty 的回复:]
MCU和DDR连接的数据线的位宽,决定了一个时钟周期能读取多少数据,比如16位宽,DDR则可一次读取16*2bit数据。
只要有读命令或写命令,每个数据线上都有数据传输,这是DDR的传输机制。
但是至于你读出的是一个byte还是2个byte应该和你存取时的地址有关,如果你发送的地址是指向8位的空间,那么假如是16位的位宽,那高8位就为0或F,低8位才是你有用的数据。

我前面说的DDR颗粒的事情是因为,单颗的颗粒最多只有16位数据线,…
[/Quote]
了解了。
这么说,在频率一样的情况下,32位的DDR控制器单位时间能够读取的最大数据量是16位的DDR控制器能够读取的最大数据量的2倍了。不考虑控制命令等消耗的时间。
那么Burst的类型有2、4、8,这里指的单位是什么呢?如果是16位的DDR控制器的话,是不是16bit;32位控制器就是32bit为一个单位呢?
wohuazhen 2009-05-21
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 cbsqty 的回复:]
在MCU端是这样的: 16位则可一秒钟读取2byte
32位的则加倍

在DDR端则要看你选择的颗粒规格,如果你的单颗颗粒的位宽可以和MCU一致的话,使用单颗则会省空间。
[/Quote]

cbsqty,你说的是你自己的理解吧?!
你研究过 DDR的databook吗?我看不太明白。
----------------------------------
DDR的意思是一个时钟可读或写两次数据
但是我不知道每次数据是固定8位,还是根据MCU的DDR控制器的位数决定
同样的读flash时,也有这个问题,是一个时钟读1个byte还是读控制器的位宽的数据,
疑惑的原因在,控制器、flash芯片都有byte控制线。如果没有控制线,就一个读或写控制器数据位宽。
cbsqty 2009-05-21
  • 打赏
  • 举报
回复
MCU和DDR连接的数据线的位宽,决定了一个时钟周期能读取多少数据,比如16位宽,DDR则可一次读取16*2bit数据。
只要有读命令或写命令,每个数据线上都有数据传输,这是DDR的传输机制。
但是至于你读出的是一个byte还是2个byte应该和你存取时的地址有关,如果你发送的地址是指向8位的空间,那么假如是16位的位宽,那高8位就为0或F,低8位才是你有用的数据。

我前面说的DDR颗粒的事情是因为,单颗的颗粒最多只有16位数据线,而一般的CPU有64条数据线,这样至少需要4颗颗粒才能存取数据。和你问的这个问题,应该关系不大了。
cbsqty 2009-05-20
  • 打赏
  • 举报
回复
在MCU端是这样的: 16位则可一秒钟读取2byte
32位的则加倍

在DDR端则要看你选择的颗粒规格,如果你的单颗颗粒的位宽可以和MCU一致的话,使用单颗则会省空间。
guetcw 2009-05-20
  • 打赏
  • 举报
回复
16位=16bit=2byte
32位=32bit=4byte
要说它们的区别就相当于 一条两车道的高速公路跟一条四车道的高速公路的区别

6,163

社区成员

发帖
与我相关
我的任务
社区描述
硬件/嵌入开发 硬件设计
社区管理员
  • 硬件设计社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧