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 和 PCIe 端口链路不稳定

Guru**** 2562120 points


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

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/623045/ccs-tms320c6678-srio-and-pcie-port-link-unstable-after-initialize

器件型号:TMS320C6678

工具/软件:Code Composer Studio

您好、TI 工程师

     我们在应用中使用 C6678的 SRIO 和 PCIe。有时、这些端口的链路在通电后似乎无法成功建立。 链接如下所示:

     配置如下所示:

    SRIO:每 通道4个5.0G 波特

     每通道 PCIe 2x 5.0G 波特率

     

    错误 描述:

    1.对于 SRIO、无法构建 C6678-A/B 和 Virtex-7之间的链路、寄存器0x0290b158保留在0x00000001中;

     对于 PCIe、无法构建 C6678 A 和 B 之间的链路。 这样的寄存器:

     我们检查 regs cmd_status (0x21800004)和  Debug 0寄存器(0x21801728) ,如下所示:

寄存器描述 C6678-A/B 的值(右侧) C6678-A 的值(错误) C6678-B 的值(错误)
命令状态寄存器位3:1 (LOAD_WR_EN IB_XLT_EN OB_XLT_EN) 0x7 0x0 0x4.
调试0寄存器 位4:0  LTSSM_STATE 0x11 0x00 不稳定,不断变化

    更多说明:

    当这种情况发生时、我只需要重新初始化它、链接将在大多数时间内建立。但我们仍然想知道这是如何发生的、如果我们的代码中有任何不正确的操作。已附加用于初始化端口的代码。您可以检查它。 非常感谢 much.e2e.ti.com/.../pcie-code.txt

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    我已将您的疑问转发给软件专家。 他们的反馈应发布在此处。

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

    在您的寄存器转储中:

    我们检查 regs cmd_status (0x21800004)和 Debug 0寄存器(0x21801728),如下所示:
    命令状态寄存器位3:1 (LOAD_WR_EN IB_XLT_EN OB_XLT_EN)0x70x00x4
    调试0寄存器位4:0 LTSSM_STATE0x11

    这意味着 PCIe 链路出现了、工作正常。 这是工作案例还是故障案例? 什么是故障情况 PCIe 寄存器转储?

    此致、Eric
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    你(们)好 Eric
    ,表显示不是很清楚?在错误的时间 μ s 寄存器中、如下所示:
    对于6678-A cmd 和状态寄存器以及 ltssm_state 均为0。 对于 C6678-B、cmd 且状态为0x4,ltssm_state 不稳定
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好!

    在不稳定的情况下、C6678-A/B 链路训练被禁用(CMD 和状态寄存器位0、LTSSM_EN 位)。 您能检查原因吗? 在您的软件中、您是否禁用了此功能?

    c6678 A 和 B 是如何连接的? 这是您自己的电路板还是 TI EVM? 您运行的是2.5Gbps 还是5.0Gbps? A 和 B 是否使用相同的 PCIe 参考时钟?

    此致、Eric
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好、lding、
    我已经检查了软件、根本没有禁用它、顺便说一下、在数百次测试中、错误只发生了1次。 它不能被软件禁用、因为软件每次都执行相同的操作。
    C6678 A 和 B 在 PCIe 和 SRIO 上运行5.0G。它们使用相同的 PCIe 参考时钟、其频率为100m Hz。 SRIO 参考时钟也是如此、即156.25MHz。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好!

    这是一个稳定性问题。 如果以2.5Gbps 而不是5.0Gbps 的速率运行 PCIe 链路故障率、会降低吗? 您有这样的统计数据吗?

    在 PCIe 用户指南中、通道0的偏移量为0x390。 位字段 RX_EQ 和 RX_CDR、您能否尝试启用 RX_EQ 并使用不同的 RX_CDR 来查看其是否有用?

    这是您自己的电路板还是 TI EVM? 您是否进行了任何 PCIe 信号测量以确保其外观良好?

    此致、Eric
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好、lding、
    这是我们的电路板、我们自己进行设计。
    我要试一下。 您能给我们一些关于 RX_CDR 值的指导吗?为什么该值最好?谢谢。
    此致
    越高
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好!

    您可以尝试设置为1、2或3的 RX_CDR。

    此致、Eric