http://www.eda365.com/thread-92692-1-1.html
最近做项目遇到一个问题,还请各位大侠赐教。DDR2用的是NT5TU32M16DG,ARM用的是ST的STA2165。
ARM与DDR2之间的数据线顺序,一开始画原理图时按照对应关系来接的,DDR2的DQ0接至ARM的DQ0,以此类推,DDR2的DQ15接至ARM的DQ15,也按照这个连接关系布PCB,板子出来后调软件发现DDR2这块怎么也调不通。
后来检查原理图,发现推荐的原理图DDR2和ARM的数据线顺序并不是一一对应的,而是ARM的DQ[0:7]对应到DDR2的DQ[8:15],ARM的DQ【8:15】对应到DDR2的DQ[0:7],而且两个字节内的线序也是打乱的。
跟ST原厂的沟通了,说我们之前的接法是错误的,必须按照他们推荐的顺序接,
在网上查了,有人说为了便于PCB走线,数据总线可以乱序相接,但为什么我按照DDR2的pin脚定义顺序接就不行呢?哪位大侠能帮忙解释一下原因,先谢谢啦!
回复1:字节内是可以任意打乱的,这是因为字节是最小存储单元,D0~D7(或D8~D15)8根线按什么顺序存入,那么当按相同的顺序取出时,取出的字节当然和你存进去的字节一样的。( h3 f) V! p; f D6 Q. K2 i! t
% |" n) o/ u$ `# Z; N( S4 q7 O, ZD0~D7和D8~D15两组对调,也许人家原厂的程序是必须这样的呢。既然原厂说是对的就是对的。
回复1:DQ【0:7】组内数据线可以随便调整,因为DDR是以字节为单位的。但是DQS0 DM0是DQ【0:7】的使能、锁存时钟信号,必须是同一组
回复1:
你的问题跟线序没有关系,而是DDR[0:7] DQS0 DM0不在同一组。这个是没法解决的。改版吧
本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请
点击举报。