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.

请教6678的SRIO 多对1遇到超时的问题??

您好:

我们在实验时,放了两片c6678 DSP,还有FPGA及PPC,数据链路是通过两片DSP同时给FPGA及PPC发送数据,发送模式为NWrite_R。传输速率设置为3.125G,实际使用的带宽为100MB/s,四个设备都通过1848交互芯片相连,目前遇到如下问题:

1)数据发送过程中,其中一片DSP1出现超时问题,对应的返回完成状态码(Complete Code)为0x1,对照手册说是发送超时。然后,我又查看错误寄存器ERR_DET,出现问题时该寄存器的第24位被置位,即出现回应包超时问题。

2)SRIO处于超时状态后,再继续发几次,将无法继续发送。最终一个状态是DSP一直等待返回状态码。我又查了该DSP端口的SP0_ACKID_STAT,发现它的输出Ackid一直在更新,而输入Ackid一直未更新。

出现问题时,另一个DSP2可以正常与FPGA和PPC进行发送数据,所以我觉得问题可能出在DSP1与交互芯片之间是否出现异常导致。而我从SP0_ACKID_STAT上看觉得是DSP1与交互芯片的Ackid不匹配,使得DSP1与交互芯片无法传输数据。我的主要疑问如下:

1)什么情况下才会导致程序一直在等待返回完成状态码(CC位),而不能通过超时退出。

2)什么情况才会导致DSP与交互芯片的Ackid不匹配,因为这个应该是属于物理层上的内容,我觉得很难出现这个问题;

3)我查了相关文档,可以重新通过Match Ackid,达到重新匹配Ackid,该方法是否可行;

我的问题有点多,恳请Ti老师能帮忙解答一下,不胜感激