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.

[参考译文] DS250DF230EVM:如何清除 PRBS 校验器错误计数

Guru**** 2390755 points
Other Parts Discussed in Thread: DS250DF230EVM, DS250DF230

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

https://e2e.ti.com/support/interface-group/interface/f/interface-forum/1035907/ds250df230evm-how-to-clear-prbs-checker-error-count

器件型号:DS250DF230EVM
主题中讨论的其他器件: DS250DF230

我们使用 DS250DF230EVM 测试 PRBS 校验器。 但我们无法 按照"DS2x0DF810、DS250DFx10、DS250DF230编程人员指南"清除 PRBS 校验器错误计数。 我们可以重新启用 PRBS ERR 计数器、但无法清除 PRBS ERR 计数器。 附件 是我们的代码。 (我们已正确设置通道)

谢谢  

插孔

  • 设置 PRBS 校验器启用

        regData =新的 SetRegisterData (0x0d、0x80、0x00);

        registerData.Add (regData);

        regData =新的 SetRegisterData (0x79、0x40、0x40);

        registerData.Add (regData);

        regData =新的 SetRegisterData (0x30、0x08、0x00);

        registerData.Add (regData);

        regData =新 SetRegisterData (0x30、0x08、0x08);

        registerData.Add (regData);

        regData =新的 SetRegisterData (0x30、0x10、0x10);

        registerData.Add (regData);

        regData =新的 SetRegisterData (0x30、0x10、0x00);

        registerData.Add (regData);

        regData =新的 SetRegisterData (0x82、0x40、0x40);

        registerData.Add (regData);

        regData =新的 SetRegisterData (0x82、0x40、0x00);

        registerData.Add (regData);

 

读取 PRBS ERR 计数器

      registerChannelRecord = new SetWriteReadRegisterData (writeCommand、0x82、0x80、0x80);

      registdatas.Add (registerChannelRecord);

      registerChannelRecord = new SetWriteReadRegisterData (readCommand、0x83、0xff、0xff);

      registdatas.Add (registerChannelRecord);

      registerChannelRecord = new SetWriteReadRegisterData (readCommand、0x84、0xff、0xff);

      registdatas.Add (registerChannelRecord);

      registerChannelRecord = new SetWriteReadRegisterData (writeCommand、0x82、0x80、0x00);

      registdatas.Add (registerChannelRecord);

 

清除 PRBS ERR 计数器

      registerChannelRecord = new SetWriteReadRegisterData (writeCommand、0x82、0x40、0x40);

      registdatas.Add (registerChannelRecord);

      registerChannelRecord = new SetWriteReadRegisterData (writeCommand、0x82、0x40、0x00);

      registdatas.Add (registerChannelRecord);

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

    相关:  registerChannelRecord = new SetWriteReadRegisterData (writeCommand、0x82、0x40、0x00

    您能否确认写入值为0x00、写入掩码为0x40?

    根据编程指南、该例程有效、TI 已对其进行了广泛验证。

    一些调试问题。

    • 校验器是否锁定为通过重定时器通道寄存器0x01观察到的正确 PRBS 模式?
    • 通道寄存器0x27、0x28和0x78的 PRBS 校验器重定时器通道上观察到哪些值?

    表54. 寄存器写入以清除 PRBS 校验器错误计数

     

    步骤

    共享/通道寄存器集

     

    操作

     

    寄存器地址[十六进制]

     

    寄存器值[十六进制]

     

    写入掩码[十六进制]

     

    注释

    1

    通道

    写入

    82.

    40

    40

    复位 PRBS 计数器

    2.

    通道

    写入

    82.

    00

    40

    取消复位 PRBS 计数器

    谢谢、

    Rodrigo Natal

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

    罗德里戈、您好!

    提出问题后:

    寄存器值
    0x01 0xd2
    0x27 0x11
    0x28 0x6c
    0x78 0x30

    我可以 确认写入值为0x00、写入掩码为0x40。


    公共空 ClearPRBSCheckerErrorCount (int address、int die、int channel、byte commandNumber)

    SetRegisterData regData;
    列表 registerData =新列表 ();
    regData =新的 SetRegisterData (0x82、0x40、0x40);
    registerData.Add (regData);
    regData =新的 SetRegisterData (0x82、0x40、0x00);
    registerData.Add (regData);
    USBOption.SetMaskRgisterValues ((字节)地址、(字节)芯片、(字节)(通道)、commandNumber、registerData);

    公共 SetRegisterData (字节地址、字节掩码、字节数据、字符串备注=空)

    此.Address=地址;
    此.Mask=mask;
    此.Data=data;
    此备注=备注;

    谢谢你

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

    尊敬的 Jack:

    01 = 0xD2表示检测到 PRBS 模式、该模式为 PRBS9。 这是正确的吗?

    重定时器显示检测到信号且 CDR 锁定、并且报告的重定时器眼图张开度值良好、因此我希望重定时器 PRBS 校验器具有零 BER。

    问题:您能否提供完整的重定时器通道寄存器转储(即读取系统中观察到的重定时器寄存器值)、以便我可以看到您实际应用的所有设置?

    谢谢、

    罗德里戈  

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

    罗德里戈、您好!

    PRBS9正确。 通常情况下、BRE 为0、当我关闭信号源时、最大的 BRE 为2047。 现在我想清除它、但 BRE 保持2047。 当我重新初始化它时、BRE 为0;

    请向我提供您的电子邮件地址吗?

    谢谢

    插孔

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

    您好!

    请尝试以下操作、查看其是否解决了问题。

    • 确保在读取后取消冻结 PRBS 错误计数器
    • 如果遇到计数= 2047的错误情况、您可能需要"重新加载 PRBS 校验器模式匹配"。 请参阅下面的重定时器寄存器例程

     

    表。 寄存器写入以重新加载 PRBS 校验器模式匹配

     

     

    步骤

    共享/通道寄存器集

     

    操作

     

    寄存器地址[十六进制]

     

    寄存器值[十六进制]

     

    写入掩码[十六进制]

     

    注释

    1

    通道

    写入

    30

    00

    08

    设置 PRBS_en_DIG_clk=0以禁用数字时钟

    2.

    通道

    写入

    30

    08

    08

    设置 PRBS_en_DIG_clk=1以启用数字时钟

    3.

    通道

    写入

    30

    10.

    10.

    强制重新加载 PRBS 校验器种子

    4.

    通道

    写入

    30

    00

    10.

    撤消 PRBS 的强制重新加载

    校验器种子

    5.

    通道

    写入

    82.

    40

    40

    复位 PRBS 计数器

    6.

    通道

    写入

    82.

    00

    40

    取消复位 PRBS 计数器

    7.

    通道

    主机 IRQ

    01

    读取 PRBS 状态:
    REG_0x01[6]:PRBS 模式
    极性检测
    1'b0:未检测到极性
    反相
    1'b1:检测到极性
    反相
    REG_0x01[4]:PRBS 序列
    检测到
    1'b1:检测到模式
    1'b0:未检测到模式
    REG_0x01[3:1]:PRBS 检测
    结果
    3'b000:PRBS7
    3'b001:PRBS9
    3'b010:PRBS11
    3'b011:PRBS15
    3'B100:PRBS23
    3'B101:PRBS31
    3'B110:PRBS58
    3'B111:PRBS63

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

    是的、我知道。 但为什么2047不能简单地使用 Clear BRE 呢? 重新加载图形需要更多时间。 另一个问题是 、如何长时间累积 PRBS 而不会尽可能少地丢失 PRBS ERR 计数?

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

    只要 PRBS 模式不变、您就应该能够无限期运行重定时器 PRBS 校验器。

    谢谢、

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

    我的意思是、在我读取 BRC 之前、它已经达到2047、这意味着计数值的一部分已经丢失。 如何确保 BRC 在到达2047之前被读取?

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

    根据编程指南、清除 PRBS 校验器序列应清除错误。 如果再次出现最大错误、请执行 PRBS 校验器丢失锁定/同步、则唯一的其他选项是执行"reload PRBS 校验器匹配"序列。

    Rodrigo Natal

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

    您是否对 BRC 的阅读时间有任何建议?

    插孔

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

    PRBS 测试持续时间取决于您要验证的 BER 级别。 例如、假设 BER 目标为1E-12、数据速率为25.78125Gbps。

    • 要达到该目标、每个1E+12位传输需要观察到的误差不超过单个
    • 1E+12位的单次迭代大约需要39秒、即1E12位/(25.78125Gb/s)
    • 为了获得统计可信度、您希望运行3次或更多1E+12或3E+12位的迭代。 PRBS 校验器的测试持续时间为~3*39秒或大约2分钟   

    谢谢、

    Rodrigo Natal