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.

[参考译文] CCS/TMS320C6678:初始化后、SRIO 第一个数据包需要太多时间才能发送

Guru**** 2589265 points


请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/639353/ccs-tms320c6678-srio-first-packet-after-initilize-take-too-much-time-to-sent

器件型号:TMS320C6678

工具/软件:Code Composer Studio

;TI 工程师好

     在我们的应用中、2个 C6678通过 SRIO (4x 3.125G)相互连接。 初始化之后、DSP A 将向 DSP B 发送一个数据包(1024字节)。完成此操作需要20微秒。 但有时,大约在10次测试中进行一次。 第一个数据包需要更多的时间-完成时间将近500毫秒。  

     我们通过检查 LSU_stat reg 来计算时间。

     之后、我们发现、如果我们在构建 SRIO 端口链接后添加以下代码、则不会出现问题:

     GP_srioRegs->RIO_PLM[i]。RIO_PLM_SP_Long_CS_TX1 = 0x2003F044;

     寄存器如下图所示。写入该寄存器后、似乎会发送控制符号。

     请告诉我这是如何工作的? 为什么有时发送第一个数据包需要这么长的时间?为什么这种操作可以解决这个问题? 您能否在原则上提供一些解释?非常感谢、

      

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好!

    我将对此进行研究。 我将使用我的发现更新该主题。

    此致、
    Yordan
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好!

    也许您的应用需要将控制符号嵌入到数据包中。 请参阅 RapidIO 规范(www.rapidio.org/.../RapidIO-Specification-4.0.pdf):)
    "在链路上使用控制符号嵌入的方式和程度会影响链路和系统性能。 例如、嵌入多播事件控制符号可最大限度地减少其通过开关处理元件的传播延迟和延迟变化、这对于某些多播事件应用而言是非常理想的选择。 嵌入数据包确认控制符号可减少在发送端口中释放数据包缓冲器的延迟、从而在某些情况下提高数据包吞吐量并减少数据包传播延迟、这是可取的。 另一方面、嵌入所有数据包确认控制符号、而不是将尽可能多的符号与数据包定界符控制符号相结合、会降低可用于数据包传输的链路带宽、这可能是不可取的。"

    查看物理层规范、了解使用控制符号的所有情况。

    此致、
    Yordan