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.

[参考译文] DS280DF810:PRBS-31测试错误

Guru**** 2513185 points
Other Parts Discussed in Thread: DS280DF810

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

https://e2e.ti.com/support/interface-group/interface/f/interface-forum/1339223/ds280df810-prbs-31-testing-error

器件型号:DS280DF810

您好!

根据如上所示的数据路径、我在单个 QSFP 端口上运行无帧的103.125Gb/s (100 GE) PRBS、然后它可以在 QSFP 1或 QSFP2中工作、但当我尝试在两个 QSFP 上 同时运行 PRBS 时、 我在 端口1通道2中收到 BIP-8错误。

为了纠正错误、我尝试了 相应重定时器的多种可能的 TX FIR、CTLE 和 DFE 设置、但无法重新存储错误。

请推荐!!

同时附加重定时器的配置文件。

e2e.ti.com/.../2Port100GE-TX-settings.cfge2e.ti.com/.../2Port100GE-RX-settings.cfge2e.ti.com/.../1Port100GE-TX-settings.cfge2e.ti.com/.../1Port100GE-RX-settings.cfg

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

    您好!

    您是否尝试过使用重定时器上的 PRBS 校验器来确定入口或出口信号链上是否出现错误?

    谢谢。

    德鲁

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

    尊敬的 Drew:

    是的,我们确实试图检查 PRBS 上的重定时器,大多数错误发生在入口路径,即 ASICS 到重定时器.

    请求您尽快解决此问题。

    谢谢。

    阿曼

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

    您好、Aman:

    是否估算了从 ASIC 到重定时器的插入损耗?  看起来重定时器已选择 CTLE 指数0、这会应用大约8-9dB 的升压。  需要确认我们没有欠均衡信号。

    与仅启用一个端口相比、启用两个端口后、您是否看到重定时器眼图张开度有任何变化?  在您共享的寄存器转储中、眼图张开度看起来非常好。  根据经验、我们通常观察到 HEO/VEO 的良好性能至少为0.4UI/200mV。  令人惊讶的是、您观察到当前眼图张开度出现了错误。

    是否尝试过调整 ASIC TX FIR 设置?

    我想知道启用 ASIC 上的第二个端口是否有可能会以某种方式增加系统中的抖动。  如果是这种情况、增加 CDR 带宽会有所帮助。  您能否尝试一些不同的 CDR 带宽设置、看看这是否会影响 BER?  可通过 SigCon Architect 的 Low-Level 页面进行设置。

    编程指南的第7.31节提供了有关调整 CDR 带宽的信息。

    谢谢。

    德鲁

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

    尊敬的 Drew:

    我们估计重定时器与 ASIC 之间的损耗最大为10dB。

    是、启用所有8个通道与4个通道相比、眼图张开度会发生变化

    是的、我已尝试设置 ASIC TX FIR、设置 ASIC TX FIR 后、我们能够达到当前状态。

    我尝试了改变 CDR 带宽来提高 BER、但仍然存在错误。

    还有什么其他需要注意的事情吗?

    这是一个请求、您将能够在远程会话中调试问题。

    谢谢。

    阿曼  

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

    您好、Aman:

    我们可以开会讨论如何调试这个问题。  我将与为您提供支持的现场应用工程师协调时间。

    启用所有8个通道后、眼图张开度的变化有多大?

    是否可以将芯片温度与4通道/8通道进行比较?  我很好奇温度和性能之间是否存在任何相关性。  您可以使用以下应用手册第2节中的过程进行此操作。

    https://www.ti.com/lit/an/snla386/snla386.pdf

    谢谢。

    德鲁

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

    尊敬的 Drew:

    观察到 HEO 发生了显著变化、即高达0.75UI 的值。

    请与现场应用工程师协调进行调试会话、这将非常有用。

    同时、我将测量和比较芯片温度。

    谢谢。

    阿曼

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

    您好、Aman:

    0.75 UI 变化看起来非常大。  我们通常看不到0.75 UI 的 HEO 值、因此我有点疑惑、您是如何看到如此大的变化的。  该 HEO 是否由 DS280DF810测量?

    谢谢。

    德鲁

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

    尊敬的 Drew:

    这是一个拼写错误 HEO 变化值为0.075UI。  

    我尝试读取某个特定通道的温度值、该通道的 值为 ReG_0x0D = 0x80且 ReG_0x0E = 0x93

    说明了使用公式 Tj = 314.08 C 计算此值、我猜这并不是正确的值。

    编程指南 SNLU182中保留了读取通道温度过程中使用的大多数寄存器位。 您是否有关于此的详细寄存器描述?

    还有。 调试会话中的任何更新、这会阻止我们的生产、因此请尝试尽快解决该问题。

    谢谢!

    阿曼

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

    您好、Aman:

    我相信 Selva 已经为我们设置了调试会话、期待尽快与您交谈。

    感谢您澄清 HEO 中的差异。

    奇怪的是、您观察到这么高的 Tj。  标记为保留的所有寄存器都保留在内部、因此我无法分享有关这方面的其他详细信息。  不过一般而言、 读取结温的每个步骤的描述都是对每个寄存器写入的准确描述。  话虽如此、我在过去尝试过此过程并观察到合理的 Tj 值。

    谢谢。

    德鲁

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

    尊敬的 Drew:

    我们将于3月28日举行远程会议。 我希望您清楚了解这个问题、并在内部进行了讨论。 如果您有一些有用的见解、请告诉我。 此外,还有一些开放点,请评论:

    • 说明在写入全局寄存器的突出显示寄存器值0xFF 自动更新后执行温度读取操作
    • 禁用其他4个通道后、误差显著改善、  

    此致、

    阿曼

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

    您好、Aman:

    感谢您参加会议并分享会议的亮点。  我们在过去几天的假期里不在办公室、非常感谢您的耐心等待。  我们将在内部讨论这一点。

    谢谢。

    德鲁

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

    尊敬的 Drew:

    请同时回答以下问题、

    • 在 SNLA_386文档的 附件中有一些拼写错误、应该是 DSAR[7:0]= Reg_0x0D[7:0]请确认。
    • 对于第3节 TLR 过程、我们要设置 LPF 设置。 我们是否需要复位 Reg_0x1F[3]=0  
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好、Aman:

    • 是的、这是正确的、 DSAR[7:0]= Reg_0x0D[7:0]。
    • 关于 Reg_0x1F、 我看到我们在其内部寄存器映射中对该寄存器进行了不同的描述、该寄存器不使用0x9D。  我已经联系了一位同事、看看他们是否知道冲突的历史。  但是、根据我们的内部寄存器映射、它看起来可以将0x1F 保留为默认值。

    谢谢。

    德鲁

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

    尊敬的 Drew:

    等待您的响应。

    谢谢。

    阿曼

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

    您好、Aman:

    很抱歉耽误你的时间。

     是否可以一次跨两个端口启用4个通道、而不是一次启用一个端口的4个通道?  例如、一个端口的两个通道、另一个端口的两个通道。  在这种情况下、与启用一个或两个通道相比、错误率如何?  这将帮助我们更好地了解问题是否与热性能相关。

    关于其他 CDR 带宽设置、查看器件寄存器、似乎可以实现更高的带宽设置。  您可以尝试编程指南中包含的值之外的值、以查看这是否会改善观察到的误差数量。

    谢谢。

    德鲁

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

    尊敬的米勒:

    无法通过分析仪关闭4个通道中的2个。  

    另外、对于基于什么基础更改 CDR 带宽、我应该将设置更改为更高的环路带宽。 有一些参考或示例值。

    此致、

    阿曼

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

    您好、Aman:

    Drew 目前不在办公室。 我希望他能在下周跟进。

    关于更高的 CDR 带宽设置、我相信 Drew 意味着编程指南的表7-45未显示所有可能的设置。 根据0x1C 和0x9E 寄存器字段、可以对许多更高的带宽设置进行编程。

    我创建了该表、其中显示了高达31的电荷泵设置的寄存器值。 我认为、对于其他 CDR 带宽测试、这可能是一个良好的起点。 电荷泵设置可按照相同的寄存器值模式配置为大于31。

    此致!

    卢卡斯

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

    您好、Lucas:  

    我也尝试了其他 LPF 设置、但无法解决错误。

    已经过去一个月了、请帮助我们解决这个问题。

    此致、

    阿曼

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

    您好、Aman:

    器件有几个内部偏置电流。  您能否尝试进行调整、看看它们是否会影响您的绩效?  增大这些磁场的值会增大偏置电流。  我想知道更高的偏置电流是否会提高性能。

    CH_REG_0x98[5:4]

    CH_REG_0x98[1:0]

    CH_REG_0x1A[7:6]

    谢谢。

    德鲁

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

    您好、Miller:

    建议的寄存器在"DS2x0DFx10_SNLU182_SNLUC"中保留 Programmers_Guide、请建议密度值。

    以下 寄存器的当前值是  

    CH_REG_0x98=0x0

    CH_REG_0x1A=0x58

    此致、

    阿曼

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

    尊敬的米勒:

    此外、如果有任何其他更新的编程指南、请与我们分享。

    此致、

    阿曼

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

    您好、Aman:

    这些是内部寄存器、因此应将它们标记为保留。  编程指南的最新版本为修订版 H、可在 DS280DF810 mysecure 页面上找到。

    请尝试以下设置、看看它们是否会影响您的性能:

    CH_REG_0x98[5:4]= 2b01、2b10、2b11

    CH_REG_0x98[1]:0]= 2b01、2b10、2b11

    CH_REG_0x1A[7:6]= 2b10、2b11

    谢谢。

    德鲁

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

    尊敬的米勒:

    我们已经看到在增加 CDR 带宽后有所改善、这是否意味着 VCO 噪声是观察到的 BER。

    我在 mySecure 页面上找不到修订版 H 编程指南、如果可能、请分享该指南、它会很有帮助。

    此致

    阿曼

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

    您好、Aman:

    我已授予您对 DS280DF810 mysecure 的访问权限。  如果您在访问时遇到任何问题、敬请告知。

    正如我们已经看到的、CDR 带宽增加后有所改善、这意味着跟踪输入信号需要更高的带宽。  这似乎表明输入抖动是 BER 的促成因素。

    通过调整我建议的偏置电流、您看到了性能变化吗?

    谢谢。

    德鲁

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

    尊敬的米勒:

    感谢您访问编程指南。

    在调整偏置电流后、我没有看到性能有任何提高。

    据我所知、输入抖动是通过降低 PLL 带宽来滤除的、而 VCO 抖动则是通过增加 PLL 的 BW 来降低。  但这用于减少时钟器件中的时钟抖动、这在这里是否同样适用?

    此致

    阿曼

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

    您好、Aman:

    我认为这些概念在这里也是正确的。  但是、我认为还有一点需要考虑、输入抖动滤波对 CDR 系统的影响。  虽然低带宽可通过滤除输入抖动来改进到输出信号的抖动传输、这也意味着不会密切跟踪输入信号。  因此、我认为 CDR 采样器对输入数据进行采样时与理想采样时间之间的差值可能更大。

    因此、我认为要明确结论增加环路带宽来改善 BER 的确切机制会更具挑战性。

    DS280DF810的每个通道都具有独立的 VCO、因此奇怪的是、 除非存在温度、电源电压纹波等常见因素、否则启用4通道与8通道会对性能产生影响。

    其他客户则使用了 DS280DF810、无需调整环路带宽。

    如果我回忆的没错、我认为您主要看到了 ASIC --> DS280DF810连接的错误。  如果正确、是否可以通过任何方法分别启用/禁用 ASIC 上的通道?  尽管这对于分析仪测量效果不好、但您可以在重定时器上测量 BER。  了解在仅启用1个端口(4个通道)的情况下、在两个端口上启用4个通道的情况下是否也可以看到更好的性能很有价值。

    谢谢。
    德鲁

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

    尊敬的米勒:  

    我将尝试禁用 ASIC 上的通道。

    此外、我还测量了通过 TI LDO TPS7A7产生的重定时器电源纹波、远低于限制。

    此外、 正如前面所讨论的、我无法正确测量通道温度。 为此,我正在共享 Retimer 版本 ID 请检查 weteher 它是否受支持。

    器件1  

    0xEF (TI 器件 ID 四倍计数)= 0x0c  

    0xFE (TI 供应商 ID)= 0x03

    0xF0 (TI 版本 ID)= 0x30  

    0xF1 (TI 器件 ID)= 0x13

    0xF3 (TI 通道/共享版本 ID) = 0x00

    器件2

    0xEF (TI 器件 ID 四倍计数)= 0x0c  

    0xFE (TI  供应商 ID)= 0x03

    0xF0 (TI 版本 ID)= 0x30  

    0xF1 (TI 器件 ID)= 0x13

    0xF3 (TI 通道/共享版本 ID) = 0x00

     

    此致、

    阿曼

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

    您好、Aman:

    Drew 今天不在办公室、下周可与您联系。

    我预计根据您提供的重定时器 ID 进行的温度回读不会出现问题。

    此致!

    卢卡斯

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

    您好、Aman:

    是的、此器件版本支持温度读数。

    下面是我用于根据 结温读回应用手册成功从 DS280DF810读回温度的函数

    请注意、读、修改、写函数使用 i2c_RMW (寄存器、值、掩码)格式。  应用手册建议延迟为200us、但如果遇到问题、我建议将时间增加到大约10ms、以查看这是否会改变您的结果。

    def get_temp(u2a:USB2ANY_HSSC, adc_sample_time:float=200e-6):
        """
        Provide USB2ANY object
        Provide adc sample time [seconds] - recommended value 200us
        """
        u2a.i2c_rmw(0xFF, 0x10, 0xFF)   # Sel quad0 shared registers
        u2a.i2c_rmw(0x04, 0x40, 0x40)   # Reset quad0 shared registers
        u2a.i2c_rmw(0xFF, 0x20, 0xFF)   # Sel quad1 shared registers
        u2a.i2c_rmw(0x04, 0x40, 0x40)   # Reset quad1 shared registers
        u2a.i2c_rmw(0xFF, 0x10, 0xFF)   # Sel quad0 shared registers
        u2a.i2c_rmw(0x0F, 0x00, 0xFF)   # Enable temperature detection quad0
        u2a.i2c_rmw(0xFF, 0x20, 0xFF)   # Select quad1 shared registers
        u2a.i2c_rmw(0x0F, 0x00, 0xFF)   # Enable temperature detection quad1
        u2a.i2c_rmw(0xFF, 0x01, 0xFF)   # Disable broadcast write, select single channel r/w by 0xFC
        u2a.i2c_rmw(0xFC, 0x04, 0x0F)   # Select single ch (ch2)
        u2a.i2c_rmw(0x19, 0x01, 0xC1)   # Enable ch temp detection
        u2a.i2c_rmw(0x18, 0x01, 0x03)   # Enable ch temp detection
        u2a.i2c_rmw(0xFF, 0x10, 0xFF)   # Sel quad0 shared registers
        u2a.i2c_rmw(0x0C, 0x00, 0x38)   # Select ADC input
        u2a.i2c_rmw(0x0C, 0x02, 0x03)   # EN ADC
        u2a.i2c_rmw(0x0C, 0x04, 0x04)   # rst ADC
        u2a.i2c_rmw(0x0C, 0x00, 0x04)   # clr rst
    
        time.sleep(adc_sample_time)     # Precision is probably not good enough
    
        temp0 = u2a.i2c_read(0x0D)      # Read temp[7:0]
        temp1 = u2a.i2c_read(0x0E)      # Read temp [9:8]
    
        u2a.i2c_rmw(0xFF, 0x10, 0xFF)   # Sel quad0
        u2a.i2c_rmw(0x04, 0x40, 0x40)   # rst quad0
        u2a.i2c_rmw(0xFF, 0x20, 0xFF)   # sel quad1
        u2a.i2c_rmw(0x04, 0x40, 0x40)   # rst quad1
        u2a.i2c_rmw(0xFF, 0x01, 0xFF)   # En single ch r/w
        u2a.i2c_rmw(0xFC, 0x04, 0x0F)   # Sel ch2   
        u2a.i2c_rmw(0x19, 0x00, 0xC1)   # disable ch temp detection
        u2a.i2c_rmw(0x18, 0x00, 0x03)   # disable ch temp detection
    
        temp_dec = (temp1 & 0x03)*256 + temp0
        temp = 0.73*temp_dec - 340
    
        return temp

    谢谢。

    德鲁