This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

TMS320C6678: 6678与DDR3的数据通信

Part Number: TMS320C6678


   现在使用场合是6678+4DDR3,一个DDR3对应16DQ数据,4DDR3组成64bitDQ数据,四个DDR3共用DSP的时钟,因为DDR3的数据信号采样是对应DQS(也对应DSP控制器的输出时钟CLK)的上升沿和下降沿,一个时钟周期采样两次数据,假如把6678DDR3的接口配置成64bit位宽,6678DDR3/写数据的时候,在DSP输出时钟的一个上升沿周期内,DSP是不是就要在DDR3那边读/64bit的数据,一个下降沿周期内,DSP也要从DDR3那边读/64bit的数据,是这样吗?请论坛里面的大神指点一下,不胜感激。

  • 一般情况下应该是这样的,你的意思是需要读取小于64bit的数据吗?

  • 不是,我就是要读/写64bit的数据,但是因为64bit的数据是分成8组的,每组由相应的DQS来控制,因为在布线的时候无需这64bit的数据等长,只需要每8个bit数据与相应的DQS等长即可,会不会存在这样的情况:在采数的时候,DSP在某一个时钟CLKn的上升沿收到了DDR3的发过来的一些数据(比如说收到了48bit的数据),在这个CLKn的下降沿到来时候,DSP只能接收剩下的16bit数据?

  • 因为在布线的时候无需这64bit的数据等长,只需要每8个bit数据与相应的DQS等长即可,会不会存在这样的情况:在采数的时候,DSP在某一个时钟CLKn的上升沿收到了DDR3的发过来的一些数据(比如说收到了48bit的数据),在这个CLKn的下降沿到来时候,DSP只能接收剩下的16bit数据?

    不会的。DDR PHY在初始化已经将各个字节走线上时延计算出来(DDR leveling)并配置到PHY的寄存器。再说DDR控制器哪有那么智能把一个访问任意分成不同的访问再凑成一个数,这么操作的依据条件是什么。不要想多了。

  • 好的,谢谢大神。