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.

[参考译文] ADC3424:数据通道和帧时钟未对齐

Guru**** 2511415 points
Other Parts Discussed in Thread: ADC3424

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

https://e2e.ti.com/support/data-converters-group/data-converters/f/data-converters-forum/871698/adc3424-misalignment-of-data-channels-and-frame-clock

器件型号:ADC3424

您好!

在我们的项目中、我们使用 ADC3424器件以40MSPS 的2线模式采样。

我们使用执行反序列化并对数据进行位移处理的 FPGA 采集数据。

我们使用帧时钟 FCLK 作为位滑动过程的参考。

在一些情况下、我们观察到通道和 FCLK 上的数据未对齐。

FPGA 与 FCLK 正确对齐、但数据具有3至5位的误差偏移。

此外、当发生这种情况时、ADC 的每个通道的误差都不同。

例如:通道 A 的误差为3位、通道 B 的误差为5位

在 ADC 的错误状态下使用测试模式时、我们观察到另一个问题。

即使在一个通道的两个通道之间也似乎存在位错误-例如:da0有3位错误、DA1有4位错误。

这是预期行为吗? 我认为测试模式是自由运行的、我不确定通道中的通道在此模式下是否对齐。

根据时序图(数据表中的图130)、数据应与帧时钟对齐。

数据表中提到的唯一可变传播延迟是 t_PDI、它适用于将输入时钟传播到 FCLK。

我假设数据时钟 DCLK 和 FCLK 应该一直对齐、因为它们来自同一个 PLL。

您能为我提供有关时钟和数据通道之间时序的更多信息吗? 它们之间是否可能没有确定性关系?

对齐 FCLK 时钟是否是有效选项、或者我们是否应该考虑改用测试图形进行对齐?

我们尝试通过复位引脚和软件复位来复位 ADC、但这并没有改变任何东西。 只有对电路板进行电源循环才有用。

谢谢你。

此致、

Jakub

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

    您好、Jakub、

    是的、DCLK 和 FCLK 按照您所述对齐。

    从 FCLK 或 DCLK 触发 FPGA 数据采集应该是可靠的。

    是否在启动过程中执行硬件复位? 是否正在为预期的正常操作执行任何寄存器写入?

    当您看到数据中的错误时、它是数据移动还是完全错误? 您能否分享这些错误中的一个看起来是什么样的?

    此致、

    Dan

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

    Dan、您好!

    感谢您的快速回答。

    我们对 ADC 执行硬件复位。 尽管当发生错误状态时、如果我们再次触发 ADC、它似乎不会影响 ADC 的行为。

    触发软件复位也不起作用。

    我们不会更改任何寄存器、因为 ADC 的默认配置对我们来说很好、我们只会启动调试测试模式。

    当我们看到误差时、数据被移位。

    我现在无法分享屏幕截图。 这很难重现、因为它在许多功率周期中发生一次。

    但幸运的是、我的同事在最后一个错误状态下使用测试模式调试了电路板、这就是我们为渠道 DAX 获得的结果:

    ADC 测试模式 FPGA 中接收到的数据 通道0被#位位置移位 通道1被#位位置移位
    0x800 0x100 不适用 向右移动3
    0x400 0x080 不适用 向右移动3
    0x200 0x040 不适用 向右移动3
    0x100 0x800 不适用 向右移动3
    0x080 0x400 不适用 向右移动3
    0x040 0x200 不适用 向右移动3
    0x020 0x001 5向右 不适用
    0x010 0x020 5向右 不适用
    0x008 0x010 5向右 不适用
    0x004 0x008 5向右 不适用
    0x002 0x004 5向右 不适用
    0x001 0x002 5向右 不适用
    0xF0F 0x9DE 5向右 向右移动3
    0x0F0 0x621 5向右 向右移动3
    0xF00 0x9C0 不适用 向右移动3
    0x00F 0x01E 5向右 不适用
    0xE00 0x1C0 不适用 向右移动3
    0x1C0 0xE00 不适用 向右移动3
    0x038 0x031 5向右 不适用
    0x007 0x00E 5向右 不适用

    对于通道 dbx,我们遇到了以下错误:右边的 DB0 x 5位,右边的 DB1 x 4位。

    他没有获得通道 DCX 和 DDx 的数据、但您应该能够获得总体想法。

    困扰我的是、在两线制模式下、位移在一个数据通道内不一致。

    谢谢你。

    此致、

    Jakub

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

    您好、Jakub、

    我不知道为什么会发生这种情况。 但它看起来可能是固件问题。 您是否可以在不使用 ADC 的情况下测试固件?

    例如、当您进入此错误状态时、是否可以重置固件并查看是否可以解决问题?

    您是否能够共享原理图? 采样时钟源是什么? 我们能否验证时钟源/电源轨在错误状态期间是否不会受到干扰?

    此致、

    Dan

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

    Dan、您好!

    我们认为这可能是 FPGA FW 问题。 尽管 ADC 接口逻辑仍然相同、但我们尝试了多次重置、重新启动、甚至使用稍微不同的固件版本进行闪存。 这些都没有改变任何东西。 一旦进入错误状态、只能对 ADC 板进行下电上电。

    每次 FPGA 复位或重新启动后、数据移位的位数始终保持不变。

    这种行为让我想到了 FCLK 和数据通道之间的一些偏差。

    我们提供来自 SI5338B 的采样时钟(https://www.silabs.com/timing/clock-generators/general-purpose/device.si5338b)

    我无法确认电源轨不会受到干扰。 由于该模块是较大的相当复杂的系统的一部分、因此正在对其进行进一步研究。

    一旦电源轨稳定、复位不会将 ADC 从错误状态恢复? 与 ADC 的通信正常。 我们能够设置寄存器、ADC 按预期进行响应、仅数据继续移位。 如果存在电源轨干扰、我认为它会随着时间的推移而稳定。

    此致、

    Jakub

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

    您好、Jakub、

    您碰巧可以使用示波器或逻辑分析仪吗? 如果您能够探测来自 ADC 的一个通道的 FCLK 和数据线(请分享图像)、我们可以看到 ADC 实际输出的内容。 我认为这将有助于最好地指导我们目前的故障排除工作。

    此外、如果您能够共享 ADC 原理图、这将很有帮助。

    此致、

    Dan

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

    Dan、您好!

    很抱歉、我的回答很晚、但我们已经做了更多调查、现在我们知道原因了。

    我们发现、在数字电源正常的情况下、输出系统偶尔会遇到 ADC 模拟电源的电源中断。

    这始终会使 ADC 进入奇怪的错误状态- SERDES 接口发送错误数据、如果您读取 SPI 寄存器、则会接收随机值。

    不过、复位 ADC 会有所帮助。

    我们的问题有点复杂、因为 FPGA 已对其进行了某种程度的屏蔽。

    我们遇到了这种情况:

    1.我们的系统启动正确(所有电源都启动)、ADC 复位、然后 FPGA 逻辑执行位滑动过程以对齐数据通道等

    2.发生模拟电源中断。 在此事件期间、DCLK 会发生毛刺、这会导致 FPGA 中的 SERDES 单元具有不同的位滑动值、从而导致通道中每个通道的位滑动差等

    3.在最后一个事件之后、ADC 卡在错误状态并且 DCLK 处于非活动状态。

    4、复位 ADC

    5、ADC 工作正常、DCLK 再次工作。

    6. FPGA 逻辑会对数据进行解串化,由于 DCLK 干扰,我们在位滑动逻辑中受到破坏,因此每个通道/通道获得不同的偏移量,只有 FCLK 正确对齐,因为它是基准信号。

    7.重置 SERDES 单元足以使其恢复正常、但我们针对用例执行了更多自动化恢复逻辑。

    我们的测试证明、即使在数字电源首先加电、几秒钟后模拟电源也会进入错误状态。

    我希望这篇文章能帮助遇到同样行为的人。

    谢谢你。

    此致、

    Jakub