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.

[参考译文] DAC38RF82:SerDes测试模式- PRBS31

Guru**** 2601915 points


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

https://e2e.ti.com/support/data-converters-group/data-converters/f/data-converters-forum/660334/dac38rf82-serdes-test-modes---prbs31

部件号:DAC38RF82
在“线程:LMK0.4828万”中讨论的其它部件

尊敬的一位:

我们正在尝试验证FPGA和DAC之间8通道SerDes信道的完整性。

PRBS31模式在所有8个通道上连续发送到DAC。

我在报警引脚上得到一个恒定的零,即使是在改变发送到PRBS7或PRBS23的模式时。

我在这里错过了什么?

是否应向DAC提供任何额外的时钟以使测试正常运行?

是否缺少DAC寄存器初始化?

信道速率(每个)是从FPGA发送的11.25Gbps (32位,PRBS31原始数据)。 FPGA SerDes获得562.5MHz参考时钟,该时钟与提供给DACCLKSE的9GHz时钟相关(使用LMK0.4828万)。

以下DAC寄存器是:

CLK_OUT = 0x0802

CLK_PLL_CFG = 0x2200

sleep_config = 0x0020

vendor_VER = 0x8009

reset_config = 0x7803

SRD_CLK_CFG = 0x1802

SRD_PLL_CFG = 0x8028

SRD_CFG2 = 0x0909 (默认)

此外,以下与测试模式相关的寄存器为:

DTest = 0x300 (DTest=0011,DTest_lan=000)

SRD_CFG1 = 0x4088 (TESTPATT=100,其他位处于默认状态)

谢谢!

吉尔

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

    我们正在研究这一问题。

    此致,

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

    Jim,

    更新:

    我已编程/更新了其他寄存器:

    JESD_LN_EN = 0xFF03;为两 个多DUC都执行了该操作。

    SRD_PLL_CFG = 0x8051;根据最新数据表(0x28)中的MPY=5,添加了Correct=1和MPY的正确值。

    当我测量自由运行的SERDES通道0-3 PLL时钟/80 (DTest=0001)时,我得到~70MHz,这导致VCO的频率为~5.6GHz。 可能是VCO的最大值。 仍超出范围(最大3125MHz)。

    因此,我根据 旧的MPY表(2017年2月数据表)更新了SRDS_PLL_CFG = 0x8029 for MPY=5,并获得了正确的35MHz,即VCO=2812.5MHz,这是我应该得到的。

    然后,我找到了文档“DAC38RF8x测试模式”,并且根据表1编程:

    SRD_CFG = 0x0109;更新的align=00

    JESD_MATCH = 0x1CC0;为   两个多数字统一通信更新了JESD_COMMALIGN_ENA=0。

    最后一切都很好(几乎)。

    对于通道0,2,5和7,我看到TESTPATT=100的持续低电平,对于其它TESTPATT=011的持续低电平和负脉冲的高电平。 正确!

    对于通道1,3,4和6,我看到TESTPATT=100持续高,对于其他TESTPATT=011,为负脉冲高。 几乎正确?!?!  什么是常量高?

    摘要问题:

    1,1,3,4,6号车道的此常量高是多少?

    2.使用旧数据表中的MPY表。
    使用 新数据表(2017年8月)中的SERDES_REFCLK_DIV描述,该数据表指出" SerDes REFCLK的除数减1 "(旧数据表缺少"减1 ")。

    以上两个字段均证明正确。

    因此:

    我们应该使用哪种数据表?

    与我的芯片的版本有何关系?

    谢谢你

    吉尔

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

    e2e.ti.com/.../TSW14J56revD-SERDES-Test-Options.docxGil

    我从软件开发团队那里收到了这份文档,但还没有机会尝试。 请随意尝试一下,因为我在不久的将来也会这样做,让我来了解一下如何解决问题。

    此致,

    Jim

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

    我能够在FPGA中生成PRBS31。 这里没有问题。
    我看不到此文档是如何回答我上面的第二篇文章的。

    请告诉我,您是否可以澄清我写的内容,主要是在我的第二篇帖子(这是对第一篇帖子的更新)中。

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

    更新:

    连接到DAC对N/P (P至N,N至P)的FPGA SerDes对P/N在报警引脚上产生Low (低)状态,而连接P/N至P/N的对则产生High (高)状态。
    因此,更改DAC通道(SRDS_POL)的极性以匹配FPGA P/N会导致所有通道的警报上出现高电平,而更改极性(如P/N连接到DAC上的N/P)会导致所有通道的警报上出现低电平。
    这是正确的(因为PRBS31在FPGA中生成并在DAC中检查),除了:
    如果ALM_OUT POL=1,当FPGA P/N连接到DAC P/N时,为什么会得到恒定的高电平? 这不应该是低吗?

    此外,我还需要第二篇文章中第二个总结问题的答案(数据表用法)。

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

    吉尔

    我正在等待一位工程师的回复,他过去曾使用此零件进行过PRBS测试。 我希望在星期一为您提供一些信息。 您的SerDes路线是否有问题?

    此致,

    Jim  

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

    您好,Jim:

    我写了一个非常详细的问题说明。

    现在,DAC中的PRBS31检查器对FPGA发送的模式做出正确响应(您可以看到上面事件的发展):

    现在的未决问题是:

    1.使用ALM_OUT POL=1,当所有检查都正常(无错误)时,我们应获得恒定的低电压。 我们得到了一个恒定的高。

    当FPGA的P/N正确连接到DAC通道(P-P,N-N)时,会发生这种情况。

    当我们反转极性,从而FPGA P/N连接到N/P (P-N,N-P)时,我们得到一个恒定的Low (低)。

    为什么?

    2.我们正在使用旧数据表中的MPY表(表4 SerDes PLL模式选择,2017年2月版本)。

    此外,我们正在使用 新数据表(2017年8月)中的SERDES_REFCLK_DIV描述,该描述指出" SerDes REFCLK的除数减1 "(旧数据表缺少"减1 ")。

    以上两个字段均证明正确。

    那么:我们应该使用哪个数据表?

    与我的芯片的版本有何关系?

    谢谢

    吉尔

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

    当更改PRBS31发生器以生成非反向PRBS31信号(尽管ITU O. 150表示PRBS31的反向位流)以及P-P和N-N连接时,其行为与预期一致(无错误时为低),但信道1除外,该信道1每隔一段时间会发出短高脉冲。

    DAC中的PRBS31检查器可能实现非反向PRBS31 (与规范相反)?

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

    吉尔

    有关使用SERDES_REFCLK_DIV除以 最小值1的最新数据表是正确的。 旧的数据表应该提到这一点,但没有提到。

    除了TESTFIL以外的其他信号可以通过中的RXDSEL,通过SerDes的状态输出位0 (然后使用DTest将其转移到报警垫上)

    WS_TUNING CHAIN (参见数据表第44页)您是否有机会使用RXDSEL在信道1上多路传输不同的信号? 例如,如果您正在执行mutxing

    在PATTVSYNC之外,此信号在整个模式序列中发出一次脉冲。

    我仍在研究您看到的其他问题。

    此致,

    Jim

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

    您好,Jim:

    RXDSEL可通过我们不支持的IEEE 1500编程完成,因此不能使用。

    对于粘附到报警引脚上的信号,只有表123 (DTest寄存器)中定义的选项(对于我们来说)。

    除了使用IEEE 1500编程外,我没有看到任何其他方式来访问SerDes状态位。 有吗?

    要问的第一个问题是,使用PRBS31-NON_INVERRTED测试DAC是否是有效的选项(因为ITU O.150定义了一个反向PRBS31)。

    关于数据表用法:

    MPY值(我从旧数据表中获取)只是一个示例。 其他差异也可能存在。

    谢谢

    吉尔

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

    吉尔

    我被告知,我们有一个与 EVM的PRBS测试相关的应用说明。 我没有时间研究这个问题,但打算在不久的将来尝试一下。 查看本文档是否对您的任何问题有所帮助。

    此致,

    Jim

     e2e.ti.com/.../PRBS-App-Note.pdf

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

    Jim,

    你在这里回答了我的第一个帖子,而其他帖子也在这之后。

    奇怪。

    无论如何,如果您看到后面的帖子,您将看到我有此应用程序便笺并且已经使用过它。

    其余问题仍然存在。

    有关此主题,请参阅后面的帖子... https://e2e.ti.com/support/data_converters/high_speed_data_converters/f/68/t/66.0334万 

    谢谢

    吉尔

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

    吉尔

    很抱歉在回来的时候耽误了时间。 关于MPY值和数据表问题,似乎需要输入寄存器0x43B的值应该是Serdes参考时钟分频器-1。 EVM GUI 以这种方式输入该值,但不显示负-1。 例如,MPY设置为4时,寄存器加载了3,但GUI将显示4。  这可能会让用户感到困惑。

    在旧的数据表中,MPY的5x设置显示的值是正确的。 此表与  其他 设置有问题,因此在最新版本中更新。 由于我不知道的原因,新表在 MPY列中用十六进制值交换了二进制值。 此列还将值偏移1位。 因此,它现在使用寄存器 0x43B的位8:0而不是位8:1来显示十六进制单词。 由于只有位8:1用于设置MPY值, 此表 再次增加了混淆。 我将在 下一个修订版中考虑将其改回二进制。    

    我仍在研究PRBS问题。

    此致,

    Jim

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

    Jim,

    已理解。 因此,我将使用新的MPY表。

    从十六进制字中,我将删除lsb '0',添加MSB '0',并将其用于MPY字段。

    请在PRBS上与我联系。

    BTW:为什么这个线程上没有回复?

    e2e.ti.com/.../66.0334万

    谢谢

    吉尔

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

    吉尔

    没有其它方法可以访问SerDes状态位。 关于PRBS问题, 这是由一位设计师发送给我的:  

    我使用SERDES IP运行了几个PRBS SIMS。 在我看来,PRBS31模式的非反向版本确实通过了,而反向版本失败了。 这适用于所有支持的PRBS模式。

     

    我已经阅读了ITU-T O.150规范(我将附上我正在查看的规范),我认为该语言允许反向或非反向。 请参阅第4节和5.8。

     

    此致,

     

    Jim

    e2e.ti.com/.../T_2D00_REC_2D00_O.150_2D00_1996.pdf

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

    Jim,

    第5.8 节专门讨论反向版本。

    我已复制并粘贴此部分:

    5.8

    21.47483647亿位伪随机测试序列

    此序列可用于特殊测量任务,例如,在较高比特率下延迟测量。 如果错误

    性能测量需要更长的序列,未来的研究应考虑此序列。

    该序列可在29级移位寄存器中生成,其28级和31级输出添加到A中

    模二加法阶段,结果反馈至第一阶段的输入。

    –移位寄存器阶段的数量31.

    –伪随机序列的长度231–1= 21.47483647亿位

    –最长的零序列31 (反向信号)

     

    请将以下内容(摘自我之前的帖子)发送给此工程师:

    (1)

    使用ALM_OUT POL=1时,当所有检查都正常(无错误)时,我们应获得恒定的低电压。 我们得到了一个恒定的高。

    当FPGA的P/N正确连接到DAC通道(P-P,N-N)时,会发生这种情况。

    当我们反转极性,从而FPGA P/N连接到N/P (P-N,N-P)时,我们得到一个恒定的Low (低)。

    为什么?

    (2)

    当更改PRBS31发生器以生成非反向PRBS31信号(尽管ITU O. 150表示PRBS31的反向位流)以及P-P和N-N连接时,其行为与预期一致(无错误时为低),但信道1除外,该信道1每隔一段时间会发出短高脉冲。

    DAC中的PRBS31检查器可能实现非反向PRBS31 (与规范相反)?

    如果是,为什么1号车道不同?

    谢谢

    吉尔

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    更正:
    请将以下内容发送给此工程师(摘自我之前的帖子)...
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    吉尔

    我已经向我们的软件开发团队确认,我们的模式生成器EVM不会反向发送PRBS-31数据。 此外,设计师还确认,我们预计数据不会被倒过来。 在EVM上设置此测试时,所有通道均通过测试。 我不知道您为什么会遇到此问题。 您是否可以交换测试模式从FPGA出来的通道,以查看错误是否移至另一个通道?

    此致,

    Jim

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

    Jim,

    为了了解为什么通道1会出现问题,我考虑在JESD_CROSSBARn (n=0,1)中使用OCTETPATHn_SEL (n=0,,7)在内部交换通道。

    我需要在这里作一些澄清。

    我正在 所有8个通道上以9GSP/8位模式使用PRBS测试:

    1.在此 测试中,两个多DUC中哪一个工作正常?

    我应该打开REG JESD_LN_EN (LANE_ENA字段)中的哪些通道? MULTI-DUC1中的REG 0x4A?  multi-DUC2中的REG 0x4A ?

     我应该对哪个JESD_Crossbar寄存器进行编程:JESD_CROSSBAR1?  JESD_CROSSBAR2? (对OCTETPATHn_SEL位进行编程)

    2.应该对one_dac_only和 one_link_only (register reset_config)进行什么编程?

    3.请确认:

    在  JESD_CROSSBAR1上写入OCTETPATH0_SEL=010将物理lane0 (RXP/n0)路由到内部lan2。

    或者相反:将内部lane0视为物理lan2。

    谢谢

    吉尔

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

    吉尔

    OCTETPATH设置对检查PRBS不是很有用。 交叉mux位于SERDES和JESD的下游,并重新排列数据路径其余部分的通道数据。 由于PRBS检查是SERDES内部的,因此交叉条设置不会对测试产生任何影响。 您是否可以 交换输入数据,这有助于验证错误是否 来自 输入源?

    是否已尝试调整DAC的均衡器和/或增益设置?

    此致,

    Jim

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

    因此,JESD_LN_EN (LANE_ENA字段)也与PRBS测试无关。
    与One_DAC_only和One_link_only设置相同。
    请确认。

    我将了解如何交换FPGA中的输入数据。

    eq字段设置为01,完全自适应。 EQ的其他设置包括"无均衡"和后/前体均衡分析,这可能会影响如何修改发射器数据。 我没有使用这些。
    关于EQ[2],我尝试了使用和不使用Boost。没有效果。
    EQHLD为默认值。 CDR也是默认值。

    是否有更改均衡器相关设置的建议?

    谢谢
    吉尔