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传输延时过长

各位专家好!

我在自己的板子上已经调通了DSP-DSP的SRIO,但是在使用时发现,使用DirectIO模式传输,偶尔会出现传输时延过长的现象。

我使用的芯片是6678,程序是根据例子程序,结合自己板子的情况改的。无论我传输块大小如何,无论传输双方的地址是位于什么存储,都会出现这个问题。

我所谓的延时,是调用Keystone_SRIO_LSU_transfer 和 Keystone_SRIO_wait_LSU_completion两个函数的时间,使用TSCL寄存器测的。例如,我需要传输块长度为200KB的数据,正常情况下,测试时间为200000~300000 cycles之间,但是偶尔会出现9-11为十进制数的情况,例如4000000000 cycles,由于出现此种现象,导致了我程序的时序出了问题。但是根据Keystone_SRIO_wait_LSU_completion的返回值观察到,传输是正确无误的。

根据我的理解,Keystone_SRIO_LSU_transfer 只是在配置LSU寄存器,不需要很长时间,而Keystone_SRIO_wait_LSU_completion则是通过context bit来标识传输结束,如果不能得到context bit,则程序会一直循环。

现在我不怀疑是软件的配置有问题,怀疑是否我制板除了问题,我做出的两块板,有一块是正常的,另外一块出现了我所描述的现象,而DSP本身的工作貌似没有出现问题,只是接口出问题,想请教各位专家,能否在硬件方面给予我一些建议,让我有一些调试方向?

感谢您的关注!

  • 我也出现了这个问题。

    偶尔总会出现一次发送时延特别大的情况

    不知道大家怎么解决的

  • 用示波器看看眼图,很可能是信号质量不好导致重传次数太多。

    你也可以降低重传次数来验证下。

  • 您好!

    我也怀疑过这个问题,但是实际情况是传输延时大出现的频率特别小,但是一旦出现,延时就大的不能接受,直接影响我的时序。

    而且传输完成标致也没出现过除0之外的情况

    如果是信号质量不好,那应该也不会出现绝大部分传输正确时延较小而偶尔出现延时巨大无比的情况吧?

    不知道我理解的对不对。

    谢谢。

  • 您好!感谢您的回答!

    请问重传机制是SRIO的底层硬件行为,还是需要软件控制?

    如果是硬件行为,那么我应该如何配置重传次数?可能是我看文档不够仔细,没能够看到相关的内容,麻烦您告诉我在文档的哪部分有相关的内容。

  • 您好!

    我在查看了一篇Xilinx有关SRIO的文档以后,有了一个新的想法。

    文档里面是这么描述的:

    We will want to be transmitting and receiving at the same level as the equipment to which we are
    interfacing. We will also need to determine how we are going to be coupled. If both SERDES are similar
    or have a common termination voltage, we may be able to DC couple. This eliminates the AC coupling
    capacitor and some problems that they can bring.

    也就是说,如果两端的SERDES类似,或者端电压相同,就可以直接用DC耦合,不用加电容。

    请问可以将两个DSP的SRIO口直接相连,使用直流耦合么?

  • 我也遇到这个问题了,请问你是怎么解决的?
  • 你好请问你解决这个问题了么