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.

[参考译文] ADS1251:当 DOUT 处于数据输出(DOUT)模式时、如何确保提供 SCLK?

Guru**** 2394075 points
Other Parts Discussed in Thread: ADS1251, ADS1261, ADS1255

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

https://e2e.ti.com/support/data-converters-group/data-converters/f/data-converters-forum/822221/ads1251-how-can-i-make-sure-the-sclk-is-provided-when-dout-is-at-data-output-dout-mode

器件型号:ADS1251
主题中讨论的其他器件: ADS1261ADS1255

您好!

现在、我的客户正在测试 ADS1251、CLK 为6MHz、每100us 生成32个 SCLK。 因此、32 SCLK 可以位于 DRDY 模式或 DOUT 模式。 我们每5个数据就会得到错误的数据、如下所示:

我们是否有示例代码?

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

    您好 Howard、

    似乎客户正在将 nDRDY 脉冲读取为数据、因为"517121"(十进制)对应于"0000011110010000000001"(二进制)、这可能会在 T4、T2和 T3期间对 DRDY 进行采样。

    客户是否仍在尝试在多个 ADC 之间进行多路复用、或者他们是否仅从一个 ADC 读取数据? 在任一种情况下、它们都需要满足读取数据的时序规格、并且在 nDRDY 模式下不要读取 DOUT/nDRDY。

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

    要回答您对示例代码的问题、我们目前没有适用于此器件的任何示例代码。

    我建议创建一个/DRDY 下降沿中断(以检测"T2"周期何时开始)。 一旦这个中断发生、禁用中断、等待12个时钟周期(以使 ADS1251退出 nDRDY 模式)、使用 SCLK 时钟输出24位数据、然后重新启用下降沿中断(以检测下一个/DRDY)并重复。

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

    Chris、

    谢谢。

    因此、根据您的建议、我们需要将/DRDY 引脚路由到 MCU 的专用 XINT (外部中断)引脚、对吧?

    如果是这种情况、我怀疑我们为什么要设计这样的通信接口、这既不能节省 MCU 的硬件资源、也不能节省软件资源。

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

    您好 Howard、

    DOUT/nDRDY 是具有双功能的单个引脚。 它应该已经以某种方式路由到 MCU。 您可以:

    • 多路复用 MCU 的 GPIO 引脚功能以捕获中断(作为 GPIO)、然后使用它读取数据(作为 SPI)。



    • 您可以将此信号路由到两个 MCU 引脚、并为每个功能(GPIO 中断和 SPI MISO)指定一个引脚。



    • 如果您可以保证计时器的准确性(可能是依赖于6MHz ADC 时钟的计时器)、您可以将 ADC 转换完成所需的时间安排为在 ADC 处于 DOUT 模式时仅读取数据。

    ADS1251是一款非常简单的器件、可在转换完成时提供数据;然而、为了实现这一简单性、需要对 MCU 进行编程、以便在正确的时间读取数据。 ADS1255或 ADS1261等更复杂的 ADC 将允许您随时读取数据、重新读取最后一个转换结果或在 MCU 请求时执行单次转换。