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.

[参考译文] ADS1278:SPI 接口时序特性和性能

Guru**** 2393725 points
Other Parts Discussed in Thread: ADS1278

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

https://e2e.ti.com/support/data-converters-group/data-converters/f/data-converters-forum/874508/ads1278-spi-interface-timing-characteristics-and-performance

器件型号:ADS1278

您好!

当 SCLK / CLK 设置为20MHz 时、我在准确读取数据时遇到问题、但当时钟频率为5MHz 时、读取数据时会准确。

此外、当我在 SCLK 或 DOUT 线路上进行探测时、ADC 数据似乎正常。

探头电容有助于在 SPI 时序特性中调整时序延迟。

我构建了9块电路板、发现5块电路板在20MHz 下无缝工作、所有电路板在5MHz 下工作。

需要了解设计中的最佳解决方案是什么才能实现一致的性能。

???? 目前的设计只有串联端接、没有 RC 配置、建议如何改进设计???????

通过将低通 RC 串联、减少 SCLK 中的纹波也解决了这个问题。

SCLK 范围排除:

ADS1278中的电流配置为 SPI 和 TDM 模式、使用7个有效通道。

感谢您帮助解决此问题。

谢谢、

Mani  

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

    Mani 您好!

    您所描述的是数字线路上的信号完整性问题。

    您可以尝试以下操作:

     1.您的主机 MCU 或 FPGA 能否调整 IO 驱动强度?  这会降低边沿速度、通常会减少振铃。

     ADS1278在下降沿启动数据、但将之前的值保持在10ns 最小值。  大多数系统在上升沿捕获、但如果在下降沿捕获 SDO、则会有更多的建立时间。

    3. 您可以尝试在/DRDY 下降和第一个 SCLK 捕捉边沿之间增加更多延迟。  这将为 MSB 的趋稳提供更多时间。

    唯一的其他选项是改进您的电路板布局或在 SCLK 和 SDO 线路上添加额外的 RC 滤波器、这两个选项都需要更改电路板。

    如果您可以发送/DRDY、SCLK 和 SDO 线路的波形捕获、我将查看它以查看是否存在任何时序违例。

    此致、
    Keith Nicholas
    精密 ADC 应用。

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

    感谢 Keith Nicholas 的回应。

    时序捕获:

    但是、在我探测 SDO 或 SCLK 时、问题就会得到解决。

    我们目前正在寻找软件修复、并在以后的版本中进行布局更改。

    我可以看到、当我探测通信线路时、始终满足 SPI 格式时序规格。

    谢谢、

    Mani Kandan  

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

    您好、Mani、

    在/DRDY 的下降沿和 SCLK 的第一个上升沿之前、需要1个 Fclk 延迟。  如果 CLK=20MHz、则需要50ns 的延迟。  根据上面的波形、您似乎只有10ns 的延迟。

    由于 SCLK = CLK、我建议您在停止时钟模式下运行 SPI 总线、在该模式下、SCLK 在两次转换之间处于空闲状态。  然后、您可以在/DRDY 下降沿和 SCLK 上升沿之间强制大于50ns 的延迟。

    请告诉我、您是否可以调整波形以满足此要求、以及这是否可以解决问题。

    谢谢!

    Keith

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

    感谢 Kieth、

    我将要求我的 SW 团队研究并检查这是否解决了问题。

    您能不能为我提供一些有关 SPI 总线中停止时钟模式的信息、我可以向 SW 团队提供相关信息。

    非常感谢

    此致、

    Mani

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

    您好、Mani、

    对于停止时钟、这意味着 SCLK 不会连续运行。   

    保持 SCLK 低电平直到/DRDY 下降沿、延迟至少1个 Fclk 周期、然后启动 SCLK 以从器件中检索数据。  在所有转换结果从 ADC 计时后、保持 SCLK 为低电平、直到/DRDY 的下一个下降沿。

    此致、
    Keith

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

    谢谢 Keith、

    软件更改可能需要一些时间才能从团队获取测试构建。

    完成后将更新。

    感谢 Keith 的支持。

    此致、

    Mani

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

    您好、Keith、

    更新了在 DRDY 和 SCLK 之间添加延迟时的软件更改:

    仍然无法使 ADS1278在20MHz/10MHz 下工作、它始终在5MHZ 下工作

    以下是快照:

    CLK=20MHz、TDS=150ns (3 Tclk)

    CLK=10MHz、TDS=230ns (2.3Tclk)

    Fclk=5MHz 、TDS=274ns (Tclk=1.24)

    根据 SPI 的时序序列、TDS 应至少具有1 Tclk、当我们满足此要求并发现仍然存在问题时。

    另请注意:之前在20MHz 下探测 SCLK 线路时、ADS1278工作正常、但现在在执行此延迟后、它在探测时不工作。

    请告诉我、这一问题的解决方案是什么。

    谢谢、此致、

    Mani

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

    您好、Mani、

    CLK、SCLK 和/DRDY 看起来正确。  此外、ADC 确实在 DOUT 上发送数据。

    由于您的许多电路板都可以正常工作、并且示波器探头的负载最初起作用、我怀疑问题可能是数据采集中的设置和保持时间违规。

    ADS1278在 SCLK 的下降沿启动数据、但 DOUT 数据可能需要高达26nS 的时间才能生效。  在20MHz SCLK 上、26nS 长于1/2时钟周期。  如果您的 MCU/FPGA 在时钟的上升沿捕获数据、则可能会误读数据。  如果由于电路板走线较长而导致 SCLK 中出现额外延迟、或者如果使用电平转换器或数字隔离器、这可能会进一步延迟并导致读取错误。

    请发送示波器图、其中显示了在 MCU/FPGA 上测量的 SCLK 和 DOUT。  还请确认您正在 SCLK 的下降沿而不是上升沿捕获数据。

    此致、
    Keith

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

    您好!

    我尝试查看 tDOPD 的时序:

    @20MHz 时钟:大约18ns

    @5MHz 时钟:大约20ns

    FPGA 和 ADC 之间的总布线长度约为37mm。

    对于 TDM 运行模式、tDOPD 的最长时间为26ns、我们处于限制范围内。

    我将与软件团队联系、并在周一提供更新。

    请参阅以下有关 tDOPD @20MHz 的示波器捕获:

    如果您有任何意见或我遗漏了任何意见,请告诉我。

    谢谢、

    Mani

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

    您好、Mani、

    我想您上面的示波器图片是针对 SCLK=5MHz。  不过、正如您所注意到的、您的测量值介于18-20ns 之间。  由于 FPGA 和 ADC 之间的距离为37mm、这可能会增加另一个6nS 往返、具体取决于您测量上述信号的位置。

    在20MHz SCLK 下、ADC 在 SCLK 的下降沿启动数据、如果 FPGA 在下一个上升沿捕获数据、您可能会非常接近计时设置时间限制。  此外、FPGA 可能有自己的设置时间要求、这进一步降低了时序预算。

    正如我之前所说的、当 SCLK = 20MHz 时、它"看起来"像 ADC 正确输出数据。  如果可能的话、对于在 SCLK=20MHz 时不能正常工作的电路板、在通道1上输入一个大约为正满量程的1/2的直流电压。  假设 VREF=2.5V、则将输入电压设置为1.25V。  然后捕获前24个 SCLK 的/DRDY、SCLK 和 SDO、并验证代码是否接近预期值。

    1/2正满量程代码= 0x400000h

    此致、
    Keith

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

    是的、您是对的、我看到数据在 DRDY 置为低电平后正在展开、但无论如何、我将不得不等待 SCLK 下降沿的软件实现。

    我确实通过向 CH1馈送电压来验证示波器中的数据、并检查24 SCLK 下降沿。  

    顺便说一下、如何降低传播延迟以符合时序规格?

    目前、ADC 端的延迟介于19ns 至24ns 之间。(接近26ns)

    谢谢、

    Mani

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

    您好、Mani、

    器件的最大规格为26nS、因此您必须在该时间内工作;无法降低该值。  

    电路板布线、电平转换等导致的其他延迟可通过在 FPGA 上使用单独的 IO 引脚进行 SCLK 捕获来获得帮助。  我们在许多评估板上执行此操作。  SCLK 和 RETURE-SCLK 被路由在一起并连接在 ADC SCLK 引脚上。  这有助于减少任何额外的延迟、但确实需要更改电路板布局和 FPGA 上的额外 IO 引脚。

    如果您不在高速模式下运行、另一个选择是以 CLK 的1/2频率运行 SCLK。   

    此致、
    Keith

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

    Keith、

    在将读取策略优化为下降沿和 DRDY 至 SCLK 之间的轻微延迟后、我们可以在10MHz 时钟下读取数据。 (但在20MHz 时、我们将在 MSB 处再读取一位。)

    我认为 DRDY 和 SCLK 之间的时序至关重要、器件之间的传播延迟是下一个关键因素。

    当前 tDOPD 处于开启状态或仅处于规格范围内。(将进行这些布局更改以改善传播延迟的时序)。

    感谢您的持续支持、我希望您能继续努力。

    谢谢、

    Mani