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.

[参考译文] TLK10031:关于链路培训

Guru**** 2455560 points
Other Parts Discussed in Thread: TLK10031, TLK10034, TLK10232

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

https://e2e.ti.com/support/interface-group/interface/f/interface-forum/607388/tlk10031-about-link-training

器件型号:TLK10031
主题中讨论的其他器件: TLK10034TLK10232

您好、Luis - San、

 

我们想了解链路培训。

如果执行链路协商、EQ 等寄存器是否自动设置为最合适的值?

我知道 TLK10031即使执行了链路训练、也不会设置寄存器。

我的理解是否正确?

 

此致、

Kanemaru

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

    TLK10xxx 器件中有一种机制来读取链路训练扫描的结果。 这可以用作快速链路裕度测量、因为它指示接收器是否在大量发送器前标和后标去加重级别组合中检测到错误。

    在链路训练期间、接收器将指示发送器迭代不同的设置组合。 在每种设置下、发送器都会发送测试数据包、接收器会检测是否存在错误。 一旦测试了一个点、接收器就会要求发送器继续执行下一个设置。 这里的设置是3抽头 FIR 去加重滤波器的前体抽头和后体抽头(这是一个标准的发送器实现、我发送给您的演示中显示了一个示例)。

    以下是读取这些测试结果的过程:

    1.将1'B1写入0x01.9001位12。 这会设置一个指向链接训练结果的指针、该指针对应于最小后标去加重级别。 这种方式会初始化读出过程。

    读取寄存器0x01.9022。 其中包含最小后标去加重级别的所有前标去加重级别的 BER 数据。 前8位将始终为高电平、但最低8位表示在该点测试期间存在(1)或不存在(0)错误。

    3.如果再次读取寄存器0x01.9022、将在下一个可用的后标级别获得所有不同前标级别的结果。 每次读取都会使后标电平递增、因此您需要反复读取该寄存器(16次)并记录这些值、以便能够查看每个不同组合的结果。 我可以帮助解释这些结果,但基本上,我们所寻找的是,有多少点的值为“0”而不是“1”–许多没有错误的点表示链路的运行裕度良好。

    这就是 TLK10232所需的一切。 对于 TLK10034、您应该首先写入一些寄存器:

    •寄存器0x01.9001
    o位9可用于选择链路训练算法。 这会影响器件在链路训练过程中测试多个设置后选择的设置。 默认值为0、但可以尝试使用值1。 在我们的实验中进行测试时、该次级算法可提供更好的总体结果、这是 TLK10232中的默认设置
    o位0可用于决定在链路训练期间测试了多少种不同的设置。 默认值为0、这意味着它只会尝试不同的设置、直到找到良好的设置(从而快速执行)。 将此值更改为1可使算法尝试所有不同的可用设置、然后计算哪一个是最佳设置。 这是有效读取链路训练结果所必需的。
    •寄存器0x01.9005
    o整个寄存器(位15:0)存储用于在链路训练期间测量每个设置组合的 BER 的训练数据包数量。 默认值为0x0200、但更改为0x1C00等更高的值可以获得更好的结果。 每点测试的数据包越多,识别不良设置的可能性就越高。 代价是执行时间、但对于0x1C00、该过程仍应在 IEEE 802.3标准规定的500ms 内完成。 (0x1C00是 TLK10232的默认设置。)

    以上两个寄存器最好先尝试、因为它们对性能的影响最大。 要尝试的其他位包括:

    •位0x01.9001.7:4可用于为每个不同的设置组合启用不同的初始状态。 将这些设置为1000将在开始时切换 ENTRACK、设置0100将重复自动置零校准过程、设置0010将切换接收器使能、设置0011将重置决策反馈均衡器的抽头。 您可以尝试不同的组合、如1100、0111等
    •位0x01.9006.15:0可用于延长设置发生更改后但在测试设置组合是否存在位错误之前允许的稳定时间。


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

    您好、Luis - San、

     

    我知道这三个系数(预加重、主光标和后加重)是由链路训练调整的。

    但是、HS 的其他寄存器未进行优化、因此我们应通过 MDC 和 MDIO 设置这些寄存器。

    我的理解是否正确?

     

    我还有一个问题。

    如果您对 LS (XAUI)的寄存器设置有任何建议、您能告诉我们吗?

     

    此致、

    Kanemaru

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

    RX SERDES 设置必须仍然需要某种类型的调整。 在这种情况下、您必须花时间调整这些设置、直到(大部分)没有错误。
    HS_SERDES_CONTRAL_1/2/3 (不是4、因为这是预加重、仅适用于铜链路、不适用于光纤)

    首先关注:
    HS_ENTRACK
    HS_EQPRE
    HS_PEAK 禁用
    HS_H1CDRMODE

    否则、对于 LS 侧、默认值通常起作用、如果不起作用、我们应在执行测试(通过链路和通道状态)后采用另一种配置。

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

    您好、Luis - San、

    感谢您的快速回复。

    我知道。 非常感谢。

    此致、

    Kanemaru