TI中文支持网
TI专业的中文技术问题搜集分享网站

C6670配置为以太网启动后DSP之间以太网通信异常

硬件配置PACLKSEL置为1,输入的参考时钟为100MHz,以太网时钟为156.25MHz

问题1:将C6670配置为以太网启动,并且成功加载app load,但DSP之间以太网通信不通。当通过JTag加载则以太网通信正常。

问题2:在bootmode中配置了bootmode[12:10] ,但bootmode[2:0]选择的不是core clk,是否需要在代码中再次对PASS PLL进行配置

问题3:是否PASS PLL只能配置1次

问题4:硬件将PACLKSEL置为1,是否bootmode[2:0]必须选择PA clk。

配置参数大概如下:

bootmode[12:10] = 011(系统时钟100Mhz)

bootmode[9:8] = 00 (Serds时钟156.25MHz)

bootmode[7:6] = 10

bootmode[5:3] = 000

同时发现:

当bootmode[2:0] = 010(PA driver from core clk)的时候,通过Jtag连接查看到PASS PLL 的PLLD和PLLM分别为0,20,与bootmode[12:10] = 011配置参数表一致

当bootmode[2:0] = 011(PA driver from PA clk)的时候,通过Jtag连接查看到PASS PLL 的PLLD和PLLM分别为24,335,与bootmode[12:10] = 011配置参数表不一致。

 

Marvin Liang:

问题1&2. 在硬件已经设置PACLKSEL为1且CORECLKP输入为100MHz的情况下,请确认PASSCLKP管脚上输入的时钟是多少? 如果是100MHz, 则bootmode[2:0] = 010,bootmode[12:10] = 011; 不知道你的DSP之间以太网通信不正常指的是不同的芯片之间还是核之间?而且如果通过JTAG加载完全一样的程序能正常,是否是boot image未正常启动或者JTAG方式下已经用gel做了初始化?

问题3,可以再次配置,注意用户手册里的流程

问题4,bootmode[2:0] = 010或者011,如果PASSCLKP输入和CORECLKP同频则选择010,如果PASSCLKP输入和SRIOSGMIICLKP同频则选择011.

armywoods liu:

回复 Marvin Liang:

问题1&2. 我们的设计PASSCLK也是100MHz,按你说的,bootmode[2:0] = 010即设置为PA driver from core clk,而不是选择from PA clk,即便硬件已经设置了PACLKSEL为1?

以太网通信不正常是指DSP之间的,Jtag加载完成一样的程序能正常,PA PLL的配置在gel做了。

之前是把板子改为以太网启动,同时再通过JTag去加载load,发现以太网驱动初始化没问题,但DSP之间无法通信;

现在把load通过以太网加载进去后,来连JTag进去查看,发现这种情况下以太网PA初始化无法完成,在加载PA固件后重新enable PA的时候一直在wait for mail box slot 1 to became zero;

 启动模式为no boot模式,使用JTag加载load则以太网通信完全正常。

 

问题3,有个疑问,我从这个论坛置顶的贴中找到相关的sdk代码,发现里面PA PLL的配置低3、4、5这几步与PLL文档中PASS PLL初始化部分不一致,代码是按照5、3、4来实现了,请问到底按照哪个更准确?

 

问题4,是否JTag加载必须启动模式是no boot模式?

armywoods liu:

回复 armywoods liu:

问题1&2有一些更新,bootmode[2:0] = 010,且MAIN pll和PASS PLL都不在代码中进行配置,则不会出现在加载PA固件后重新enable PA的时候一直在wait for mail box slot 1 to became zero的问题,但是完成以太网初始化后,DSP依然发不出以太网包,(监听与之相连的switch端口)

如果bootmode[2:0] = 011,且PASS PLL都不在代码中进行配置也不会出现一直wait的情形,但是完成以太网初始化后,DSP依然发不出以太网包,(监听与之相连的switch端口)

 

TI的各位专家们,能帮忙看看这个是啥问题吗,比较急

Marvin Liang:

回复 armywoods liu:

PA PLL初始化按照文档的顺序来做。

JTAG加载时,理论上对初始的boot mode没有要求,而TI一般要求为no boot模式,主要是TI提供的gel是按照初始配置来做的,如果芯片已经被boot loader初始化过,可能gel未必能正常再次初始化芯片

A. 所有的前提是,你是否已经有一个程序包含了所有的芯片初始化代码,在no boot模式下,通过JTAG加载(注意不要用gel!),它是可以按你的预期跑正常的?如果没有,请先调试并得到一个这样的程序再考虑boot的问题。

B. 你的以太网boot流程确实已经跑完了么?有没有检查boot complete寄存器?

armywoods liu:

回复 Marvin Liang:

查看boot complete寄存器,发现值为1,所有的core都完成加载是不是要是0xF?

我加载完成后,通过Jtag连接后加载符号表,查看到每个core都完成了我们自定义的初始化流程。

armywoods liu:

回复 armywoods liu:

另外,只要配置了以太网加载,然后在代码中再次对main PLL或者是PASS PLL进行配置,PA初始化就无法完成,一直在前面说的wait 状态

如果不在代码中对PLL进行再次配置,则以太网初始化可以完成,但以太网包发送不出去

赞(0)
未经允许不得转载:TI中文支持网 » C6670配置为以太网启动后DSP之间以太网通信异常
分享到: 更多 (0)