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.

[参考译文] ADS54J66:SPI 编程与放大器不一致;回读。

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

https://e2e.ti.com/support/data-converters-group/data-converters/f/data-converters-forum/992723/ads54j66-inconsistent-spi-programming-read-back

器件型号:ADS54J66
主题中讨论的其他器件: LMK04828

您好!

我们有一个托管两个 ADS54J66的定制 PCB。 对于其中一个 ADC、我们在所有情况下都观察到预期行为、我们可以 通过 SPI 配置并读回配置、所有内容都是一致的。 另一个 ADC 的行为也不一样。 它的配置足够好、可以实现 JESD 同步、但对于启用测试模式和/或关闭交错校正等操作、ADC 的响应不一致。 读回值永远不是它们应该具有的值、并且可能会相当不一致;有时您会看到值与预期值只有一位差、有时错误的寄存器会读回预期值。 例如、如果我使用  值0x40对 ADC 页寄存器0x0F74进行编程以启用测试斜坡、有时我可以在寄存器0x0F6D 中看到值0x40。 对每个 ADC 进行编程和回读时使用相同的代码。 我还使用了相同的代码对 ADS54J66EVM 上的 ADC 进行编程、没有问题。 我还使用示波器探测了 ADC 上的 SPI 信号、以确保它们看起来正常、确实正常。 这不仅是回读问题、我也无法让该 ADC 执行 JESD 数据扰频或进入测试斜坡模式。  

该定制 PCB 有两个副本、每个副本有两个 ADC - A 和 B。在每个 PCB 上、ADC-A 显示奇怪的 SPI 行为、ADC-B 行为良好。 但是、对于其中一个 PCB 、ADC-A 有时会正确读回某些寄存器、而对于另一个 PCB ADC-A、基本上不会正确读回任何内容。

 在每个 PCB 上、ADC 共享所有电源轨、因此似乎不太可能出现问题 的原因是电源轨不可靠。

我已经对这个问题进行了调查、我相信这个问题在 ADC 芯片内、 除了  两个不同 PCB 上的 ADC-A 显示出类似的意外行为。 这似乎表明每个 PCB 上的该芯片应该存在一些系统问题。 我们花了很多时间来研究与 ADC-A 和 B 相关的 PCB 布局和设计、尝试提供合理的解释、说明哪些可能会导致观察到的编程问题、到目前为止我们  没有发现任何问题。 在我们的设计中、两个 ADC 的处理方式几乎相同。

现在、我们可以实现与 ADC 的同步并可靠地读取数据、因此核心 ADC 功能似乎可以正常工作、但我们没有足够的信心在这个悬而未决的问题未得到解决的情况下继续进行我们的设计。  如果可以避免、我们更愿意避免更换电路板上的芯片、因此我希望这里的人能告诉我是否有任何我可能忽略的东西可以解释我们看到的行为。 或者、如果有一些测试可能指示此问题的来源。 或者、如果人们过去看到过类似的问题。

我很高兴分享一些设计文件/屏幕截图或我提到的问题的具体示例、如果这样做有帮助的话。

谢谢、

Eric M

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

    Eric、

    请发送您的原理图。 如果未 正确接收 CLK 和 SYSREF、SPI 将无法正常工作。 您还必须在加电和存在时钟后执行硬复位。 我将检查时钟并进行复位。

    此致、

    Jim

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

    下面 是 ADC 和 LMK04828的相关原理图、它们提供了 CLK 和 SYSREF。  此外、我每次对 ADC 进行编程之前都要向复位寄存器写入值、下面是我使用的示例 ADC 配置文件。

    LMK04828
    0x107 0x11
    0x10F 0x11
    ADS54J66
    0x0000 0x81
    0x8053 0x80 //除以2
    0x0F74 0x40 //斜坡测试模式使能
    0x6800f7 0x01 //数字顶部复位
    0x680042 0x00 //奈奎斯特区域选择第一个奈奎斯特= 0
    0x68004E 0x80 //第二奈奎斯特有效性
    0x680000 0x01 //重置交错引擎
    0x680000 0x00 //清除 IL 复位
    0x610018 0x03 //交错校正被禁用(0x03)
    0x614100 0x08 //旁路模式(DDC 模式8)
    0x6A0016 0x02 // JESD PLL 模式40x
    0x690000 0x86 //(0x86)设置 CTRL K +通道对齐+帧对齐
    0x690005 0x80 // 0x0 =无扰码。 0x80 =加扰
    0x690006 0x0F //将 K 设置为16
    LMK04828
    0x107 0x01
    0x10F 0x01

    ADC Schematics

    CLK Schematics

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

    Eric、

    确保引脚49 (SCAN_EN)始终接地。 由于您有一个工作器件、我将比较两个器件之间的每个输入。 这包括电源、时钟、SPI 等... 如果这不向您展示任何内容、您可以交换电路板上的两个器件。 如果问题不出在 ADC、这肯定会排除 ADC。  写入复位寄存器与切换 Rest 引脚不同。 确保在提供电源和时钟后对 RESET 引脚进行脉冲。 您还应遵循随附的更新数据表中显示的电源序列。  

    此致、

    Jim

    e2e.ti.com/.../5074.Updated-data-sheet.pdf

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

    您好、Jim、

    将 SCAN_EN 引脚短接至 GND 似乎解决了该问题。 目前还不清楚我们两块 PCB 上的 ADC A 的运行方式与 ADC B 的运行方式不同,无论它们现在是否正常运行。 数据表中几乎没有提到 SCAN_EN 引脚,我对此感到有点惊讶,它可能会产生如此严重的影响。 尽管如此,感谢您的帮助,我们很高兴能够继续推进我们的设计。

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

    很高兴听到这个消息。