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.

[参考译文] ADC3422:测试在 LVDS 输出上生成的 PRBS

Guru**** 2374090 points
Other Parts Discussed in Thread: ADC3442, ADC3422
请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/data-converters-group/data-converters/f/data-converters-forum/1488486/adc3422-test-prbs-generated-on-lvds-outputs

器件型号:ADC3422
主题中讨论的其他器件:ADC3442

工具/软件:

您好:

与前面的文章一样、我尝试使用内部生成的图形和测试值来验证 ADC 的运行。

我能够通过"斜坡"测试接收到正确的数据(将数字从0增加到4095)、  

尽管对四个样本重复相同的数字、即就像计数器为14位宽一样、

并且仅在输出端生成位[13:2]。

正确吗?

我还无法使用上一个答案中报告的 LFSR 公式重现收到的数据。

我测试了任何可能的位偏移、并尝试从23位移位寄存器获取12位输出。

我将使用独立的 PRBS 结构来检查来自每个独立通道的数据。

到目前为止没有成功...

可能是长度不是23位的 LFSR、或者使用了不同的多聚体?

请告知我、或向我发送一系列值(并说明如何获得这些值)、

所以我可以说什么是错的...

我真的需要这个测试!

谢谢

Andrea

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

    您好:

    我在这里添加了一些我发现的更多信息。

    我尝试绘制从真实 ADC 接收和获取的样本的波形。

    每个通道(A、B、C、D)的高位始终具有相同的值、因此从同一个源驱动。

    当然、对于真正的 LFSR 生成值而言、情况并非如此...

    请提供您的建议。

    谢谢

    Andrea

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

    您好、Andrea、

    您是否尝试过其他测试模式、例如斜坡测试模式?

    如果是、这看起来是否正确?

    请提供建议。

    谢谢、

    Rob

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

    您好:

    正如我在以前的帖子中所指出的那样,我也尝试了交替模式和斜坡模式,

    它们似乎有效。

    Ramp pattern 生成从0到4095的数字、但每个数字重复4次:

    I Receive、对于每个信道、为0、0、0、0、1、1、1、2、2、2、3、3、3、4、4、4、5、5、5、6、6、6、...等等。

    通道不同步、因此斜坡具有随机偏移。

    这种行为可能代表使用14位加法计数器、但输出端仅生成最高有效位[14:2](此 ADC 为12位)的情况。 我想这是正确的。

    正常运行期间从 ADC 接收到的数据也似乎很好、但偶尔我会收到一些奇怪的峰值、我会进行调查。

    此外、我要实现延迟校准程序、但我要使用假随机模式、使任何位随机变化、而不是斜坡模式、其中最高有效位相对于最低有效位移动非常慢。 校准效率较低。

    请告诉我有关 PRBS 图形发生器的信息。

    如果可能、还请发送一个生成的数据序列、以便我可以对照真实数据验证我的测试逻辑。 我无法解释我接收到的数据是如何生成的。

    如果有助于仔细检查、我可以发送几个二进制文件、其中包含从 ADC 接收到的带有 RAMP 和 PRBS 模式的数据。

    谢谢

    Andrea

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

    您好、Andrea、

    请参阅随附的配置文件以及正确的寄存器序列、这也有助于对齐输出。

    此致、

    Rob

    e2e.ti.com/.../RampAlign.cfg

    这是 ADC GUI 的 pic、需要在其中检查该值以使 ADC 通道输出对齐

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

    您好 Rob、

    对齐设置不是问题。

    我真正需要的就是:PRBS 数据是如何生成的?

    请提供正确的示例序列、并说明如何生成示例序列。

    谢谢

    Andrea

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

    您好、Andrea、

    我需要就这些细节与设计进行讨论。 请给我几天时间回复。

    谢谢、

    Rob

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

    您好、Andrea、

    以下是 PRBS 的设计:

    PRBS 序列从23位 lfsr 抽头、多项式1+x^18+x^23。 以下是生成 LFSR 的更新方程和种子

    更新方程–LFSR_NEXT =(LFSR << 1)|(LFSR[17]^ LFSR[22]);(<<表示左移1、^表示异或运算)

    种子–2**23-1 (即、所有位位置均为1)

    输出模式–LFSR[15:2](即、位位置15至2经过抽头并作为测试模式发送出去)

    以下是一些问题/建议:

    1. 内部 LFSR 不会同步复位。 因此、复位释放后的起始点可能有歧义、并且可能在下电上电/复位期间发生变化。 但不能保证相位关系。
    2. 切换模式可能是"电路内测试"的更好选择、因为模糊性仅为1个时钟周期。

    请记住、同步 PRBS 和比较具有挑战性–使用斜坡/切换模式检查接口要容易得多。

    此致、

    Rob

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

    尊敬的 Rob:

    这是我收到的第一个帖子非常相同的答案。

    但是、我对实际硬件的结果进行了深入分析、我很确定答案中有什么问题。

    从我发布的波形可以清楚地看出这一点。

    LFSR 本质上是一个移位寄存器、具有从辅助抽头到输入的反馈。 使用1+x^18+x^23多边形、TAP 位22和17用于生成下一个位0;这与您在示例代码上编写的内容相符。 这意味着:用于输出的位[15:2]应简单地左移、逐样本采样。 您同意吗?

    现在、请查看我发布的波形:

    -位[5:0]显示伪随机模式、但位显然不会简单地移位。

    -位[11:6]在每个样本中都具有相同的值。 这些可能是由非常相同的源生成的。 又不是简单的转变。

    我的假设是、PRBS23本身无法生成这些模式。

    可能输出位值来自具有一些排列和/或一些位复制的 LFSR 抽头。

    请与技术人员核对此信息。

    谢谢

    Andrea

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

    您好、Andrea、

    感谢您的耐心。

    我已经谈到了设计、我需要在实验室中收集一些数据以供他们分析。

    我将在本周结束时向您提供有关这方面的最新情况。

    此致、

    Rob

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

    您好 Rob、

    感谢您的努力。

    如果可能有用、我可以为您发送包含同时从所有通道转储数据的二进制文件、用于斜坡和 PRBS 测试。

    谢谢

    Andrea

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

    您好、Andrea、

    总之,我想你说的是以下两点。

    1.输出数据不是 PRBS

    2.如果输出数据是 PRBS_DATA[15:2]、则每个位都应该是下一位的移位版本、因为您是从 LFSR 获得的。 似乎您没有像这样观察它。

    但是、我在 PRBS 测试模式下从 ADC 捕获的数据显示没有看到(2)。 这些位相互移动版本。 请参阅随附的内容。

    谢谢、

    Rob

    e2e.ti.com/.../ADC3422_2D00_PRBS.csv

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

    您好 Rob、

    感谢您的努力。

    您能否说明一下电子表格第一列中的值是什么?

    我想您仅在这里测试一个通道。 确实这似乎是一个 LFSR!

    您能否指定输出接口的配置方式?

    您使用的是一个还是两个通道传输数据?

    在我的测试中、我使用了两个通道、其中 lane0的数据在随机模式下变化、而 lane1的位"卡住"。 我还同时在所有通道上启用了 PRBS 测试。 不知道它是否会影响结果。

    谢谢

    Andrea

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

    您好、Andrea、

    在电子表格中、第一列是来自4个通道的数据、接下来的12列是各个位、接下来的12列是一位与下一位的移位版本之间的差异

    我没有在双通道模式下进行捕获、因为这是新信息。 是否有任何其他特性或配置要启用/禁用?

    我将在双通道模式下重新获取数据、并转发我看到的内容。 您的其中一个车道可能卡住。

    斜坡模式在两种模式下看起来是否正确?

    谢谢、

    Rob

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

    您好 Rob、

    您完全正确、最好共享相同的配置。

    在生成采样时钟和 ADC 硬件复位后、我按以下顺序写入寄存器:

    # REG 06, reset, normal mode
    400601
    400600
    
    # REG 70A, disable SYSREF
    470A01
    
    # REG 03, configure interface bit ordering 0,1,2 and so forth
    400300
    
    # REG 04, configure interface wires unflipped
    400400
    
    # REG 05, configure interface two wires
    400500
    
    # REG 00A, PRBS test mode on CHA, CHB
    400A88
    
    # REG 00B, PRBS test mode on CHC, CHD
    400B88
    
    # REG 006, enable test pattern
    400602
    

    配置完成后、我会从接口接收数据。

    我附加了两个二进制文件供您仔细检查结果。

    e2e.ti.com/.../ADC_5F00_ramp.zip

    e2e.ti.com/.../ADC_5F00_PRBS.zip

    来自所有四个通道的数据以有序模式写入、即 A、B、C、D 和 REPEAT 模式、 每个字16位小端字节序(仅使用12位 MSB、其余4为零)。

    如果将二进制查看器配置为每行8字节、每组2字节、则可以轻松地直接读取数据。

    以下是斜坡测试结果:您可以看到通道 A 正在生成1EB 1EB 1EB 1EB 1EC 1EC 1EC、依此类推。

    同样、通道 B、C 和 D 也会生成斜坡数据、仅每四个样本增加一次。

    我在大量数据上检查了此行为、这是正确地使用所有位生成了 RAMP 0-4095。

    无错误、所有通道均按预期工作。

     

    现在是 PRBS。

    来自一个控制器的数据可以像我上一篇文章一样以波形绘制。

    从通道0接收到的位[5:0]似乎是随机移动、但不像在 LFSR 中那样移位。

    从通道1接收的位[11:6]也会更改状态(通道肯定不会卡滞电气、斜坡正常工作!)、但它们假设值几乎始终相同、即值在同一帧内重复。

    在这里、您可以看到前一屏幕截图中位[11:6]的详细信息。

    位6在某些时间与其他位的值不同。

    希望您能从这些数据中了解一些内容。

    感谢您的建议。

    谢谢

    Andrea

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

    您好、Andrea、

    只是一个简短的更新、我正在研究这一点、并与设计讨论结果。

    只是一个愚蠢的问题,如果你这边的数据格式正确? 数据 在捕获时应以二进制补码表示。

    此致、

    Rob

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

    您好、Rob、

    用符号(二进制补码)捕获真实的样本数据。  

    但是、我认为这不应该是相关的。  

    我想、使用内部模式生成时、样本格式应该无效。

    Andrea

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

    好的、感谢您验证 Andrea。

    我仍在等待从设计中听到声音。

    此致、

    Rob

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

    您好、Andrea、

    这是父器件的12位版本、为14位。 因此、您将看到斜坡重复相同的输出代码4x、然后像您在上一篇文章中所示的那样递增到下一个输出代码4x。 我只是想给出一些背景信息。

    我可以确认发布的寄存器序列正确、确实实现了 PRBS。 此外、您还可以使用对齐测试图形来对齐所有 ADC 通道的 PRBS。 我怀疑问题在于您的数据被卸载或解压缩的方式-也许样本出现故障。 在斜坡模式下、由于重复值、此问题可能会被屏蔽。 要测试样品解包、我建议向 ADC 提供正弦波作为输入。 它不必是高功率或高频率、只是需要某种器件、以便在绘制样本时可以清楚地看到采样数据中的正弦波上升沿。

    如果捕获的正弦波是干净的、我会感到惊讶、因为我能够使用您的确切寄存器序列在我这边实现 PRBS。 因此、我怀疑您的正弦波会充满不连续性。 但是、如果正弦波确实很干净、样片顺序正确、这表明特定器件无法正确生成 PRBS、这可能是由于电源问题或 ADC 本身... 然后、我必须询问在多个器件/硬件上是否出现这种情况、或者问题是否仅与您正在测试的这个单个器件/硬件有关。

    谢谢、Chase

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

    在解包任何样本之前、请立即从 FPGA 共享原始数据(对于带有正弦波的情况)。 另外、在可以测试时、请发布采样的正弦波的图像。

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

    您好 Chase、

    我已经尝试了捕捉一个真实的信号,即模拟正弦波或更复杂的信号(调制),它们都很好。 我假设数据是从接口正确采样和捕获的。 斜坡测试也按预期运行(相同的值重复4次)。

    作为附加测试、我现在启用了正弦模式、以代替 PRBS 或斜坡、从而查看结果。

    在这里、您可以看到在 SERDES 输入之后从 ILA 捕获的数据位(仅与通道 A 相关)。

    SERDES 执行6:1输入捕捉、即在每个时钟周期的输出端提供6位。 Q6是从输入接收到的第一个值、Q1是最后一个值。

    我有两个 SERDES、分别是 DA0和 DA1。

    捕获的数据通过三个4位信号馈送至 D0[3:0]= DA0[Q3-Q6]、D1[3:0]= DA1[Q5-Q6]、DA0[Q1-Q2]、D2[3:2]= DA1[Q1-Q4]。

    这意味着样本数据连接 D2、D1、D0、即 SA[11:0]= D2[3:0]、D1[3:0]、D0[3:0]

    另请参阅来自所有通道的打包数据(每个通道12位、即 bits[11:0]为 CHA、bits[23:12]为 CHB、等等)。 所有通道中的数据序列都完全相同、仅通道 A 的数据序列与上图相同、但很明显、由于未启用同步、时间通道间发生了偏移。

    形状确实是正弦波、有符号值000、3D2568、3D2000、 C2D、A97、C2D。

    这是所有通道的样本图。

    但是、这些值同样不是数据表中指示的值(无符号)、即000,257,800、DA8、 FFF、DA8,800,257。

    这两个都是8点的下水道,但是它们有不同的层次。

    考虑到它们是 存储在芯片内的恒定值、如何解释这一点?

    您是使用 ADC3422还是使用您提到的14位版本(可能是 ADC3442?)进行测试、这些版本可能部分不同?

    能否确认您使用的是 Dx0和 Dx1两个信道的接口?

    您能否发送包含捕获的 PRBS 数据的二进制文件?

    我的芯片具有以下标识:

    我仍然怀疑 ADC3422中有一些奇怪的东西、它与数据表中所述的不完全相同。

    谢谢

    Andrea

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

    您好、Andrea、

    我在同一模式下使用同一器件 ADC3422、使用完全相同的寄存器序列。 使用双通道模式是可行的。

    当我刚刚测试时、正弦波测试模式的值与这些值不匹配。 我看到的小数点如下、重复一下。 顺便说一下、我在下面的 zip 文件中有我测试的图像。 我使用对齐测试图形、绘制数据时、所有通道都符合所有条件下的预期。 我使用器件以偏移二进制格式进行了测试、并修改了 HSDCPro FPGA 配置实用程序、以期望偏移二进制输入(而非二进制补码)、并且生成的数据完全相同、因此无论您选择使用何种格式、都应该如此。

    0
    -979.
    -1385
    -979.
    0
    978.
    1384
    978.

    我在3个不同的电路板上进行了测试、每次都获得了相似的结果。  附件是我用于将器件 EVM 配置到配置的内置内容、以及用于获取图的实用程序脚本等 这是为了确认 GUI 没有执行任何未向用户披露的操作、但并没有这样做-即我使用两种方法获得相同的结果。 我甚至连接了一个萨拉伊逻辑分析仪、以确认我所制作的 GUI 和 API 工具的寄存器序列为1:1、结果为。 因此、我完全可以说、要使器件进入斜坡、PRBS 或正弦波输出、您的序列是唯一所需的操作。  

    此软件包中的所有数据和脚本: e2e.ti.com/.../E2E_5F00_adc3422_5F00_PRBS.zip

    谢谢、Chase

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

    您好 Chase、

    我将正弦值转换为十六进制值的序列、它与我的序列完全相同:

    0=000、-979=C2D、-1385=A97,978978=3D21384=568

    基本上、这证实了我们的接口按预期工作、并且正弦波的数据表值是错误的。

    现在、我正在使用 PRBS 检查您的结果。

    我看到您仅在所有通道上使用同步生成、我从未尝试过。

    也许这一差异很重要。

    您是否已将这些值与您以前提供的 LFSR 公式进行比较?

    谢谢

    Andrea

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

    您好 Chase、

    我使用 FPGA 仿真器测试了您的文件、PRBS 校验器在几个样本后锁定、然后保持锁定状态。 PRBS 校验器工作正常。 您的数据序列是完美的。

    我现在正在尝试复制您为生成 PRBS 样本所做的操作。

    我修改了脚本、将0x02写入寄存器0x09、即启用所有通道上的模式同步。

    这意味着、如果没有通道同步、PRBS 图形发生器完全无法工作。

    您能否证实这一点?

    无论如何、启用同步后、数据看起来好得多、最后所有位"几乎"都显示了移位寄存器行为。 但是、PRBS 校验器仍然无法锁定...

    我检查了数据波形、仍然看到出现了错误。

    在移位过程中、一些位会"消失"、然后稍后"重新出现"。  

    我想到了接口中的一个位错误,但是所有通道 A、B、C、D 总是显示非常相同的值,如果问题是临界位采样,这将不是很可能。 同样、所有其他模式始终正常、零错误...

    而运行速度为49.5Msps。 我可以尝试降低采样率、看看问题是否相关。

    您在测试中使用的采样率是多少?

    您的建议是什么?

    Andrea

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

    您好、Andrea、

    我使用了50MSPS。 对于对齐位、PRBS 无需开启即可正常工作。 它在单个或多个通道上工作正常、但只是未对齐。 我建议以25MSPS 或略慢的速度运行、然后会发生快速跳变。 您需要 PRBS 来进行质量测试、还是正弦波模式正常? 对齐位使器件的所有通道在任何测试模式下都完全对齐、因此这是一个很好的替代测试、比 lfsr 校验器更轻量级。 对于较高数据速率的接口、我们通常仅建议使用 PRBS 作为调试步骤、2x 模式将是6倍串行化因子、因此您的数据速率仅为300Mbps。 如果您将采样率减半、该值也应该减半。 我仍然认为奇怪的是,你看到不正确的数据在所有通道上同步. 这并不能让我想到信号完整性。 也许该代码的 DVDD 电源电流要高得多、会导致电源电压下降或类似情况。 您能分享电源原理图吗?

    谢谢

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

    >对齐位无需打开即可使 PRBS 正常工作。

    这是非常奇怪的。 在不同步的配置中、它完全是螺母、

    因此在 PRBS 模式下、其行为完全不同。 其他 Patter 工作正常。

    >对于数据速率更高的接口、我们通常仅建议使用 PRBS 作为调试步骤。

    我使用 PRBS 在 LVDS 接口上实现自动延迟调优功能、因为我们的器件应在非常大的温度范围内运行。 此外、当前的50MSps 速率只是起点、因为我们还将在同一 PCB 上重复使用125MSPS 版本的 ADC。

    我更希望使用完全未同步的校验器、否则在备用通道上会重复数据。

    >我仍然觉得奇怪的是,你看到不正确的数据在所有通道上同步.

    这确实是让我认为问题可能不在接口上。

    ADC 部分的原理图。

    1V8D 由与托管 LVDS 接口和其他电子器件的 FPGA 组共享的开关直流/直流转换器生成。 该直流/直流电源可提供几安培电流、我不检测+1V8D 上的峰值/突降。

    也许这款芯片有一个勘误表、也许我使用的版本有问题?

    您能理解我发送给您的日期代码中的一些内容吗?

    您认为值得再试一批芯片吗?

    Andrea

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

    您好、Andrea、

    对我个人而言、我不知道如何解码封装标记。 我想四处询问有关这方面的信息。 如果有任何问题、我会告诉您。

    如果您有其他器件、可以焊接到电路板上并重新测试、这样就可以了。 我想您没有回答我之前的问题、说明这是仅在一个电路板/器件上发生、还是在多个器件上出现这种行为。

    谢谢、Chase

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

    您好 Chase、

    也许我发现 FPGA 输入中可变延迟线的结构存在问题、这可能会导致数据损坏和不同通道的部分干扰。 我必须执行更多测试才能进行检查。

    我希望这是问题的根源。

    持续关注。

    Andrea