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.

[参考译文] ADS1261:关于最终 DOUT 位可用性的说明

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

https://e2e.ti.com/support/data-converters-group/data-converters/f/data-converters-forum/1505233/ads1261-clarification-on-final-dout-bit-availability

器件型号:ADS1261

工具/软件:

我在读取 ADS1261到 ESP32S3的最终 DOUT 位时遇到问题、它始终恢复到低电平。 使用 PicoScope 示波器:

可以看到、在 SCLK 的最后一个下降沿(红色)之后、DOUT (蓝色)立即变为低电平。

通过查看数据表、我们可以看到在最终下降时钟沿后 DOUT 保持的有效时间为 th (SCDO2)


th (SCDO2)的最小值为15ns、因此我们必须考虑这种可能性。
使用 Espressif IDF 框架时、我无法确定何时读取精确的数据、但根据 ADS1261数据表、我已将其设置为 SPI 模式1。

现在、我找到了一种权变措施。 通过将 SPI 时钟频率设置为50MHz、从时钟下降沿到下一个上升沿的时间为10ns。
这将强制 ESP "更快地读取比特"。 这意味着 ESP32S3在最短15ns 时间内读取数据。

但是、再次查看数据表、规定的最小 SCLK 周期为97ns。 使用50MHz 时、SCLK 周期为20ns。

尽管如此,它仍然有效,我还没有看到任何中断的沟通。 但是、我想在规定的时间要求范围内操作。

我想澄清一下我的想法是正确的。 似乎很奇怪的是、该芯片允许低至1kHz 的 SPI 通信、但在最后一个下降沿会强制您在15ns 内读取该位、或存在不正确的数据风险。

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

    您好、Samuel Hollins、

    首先、不得在超出工作条件的情况下运行 SCLK。 如您所述、最大 SCLK 频率为10MHz、超出该频率的任何值、并且不再保证性能/运行。

    大多数控制器可以轻松满足15ns 保持时间、因此这通常不是问题、但我们已经看到一些不是的。 在这种有限的情况下、至少有一种解决方案是修改控制器固件、以便能够在分配的时间内捕获最后一位、但您必须联系控制器制造商以了解更多相关信息

    我不确定这是否可行、因为我还没有机会对其进行测试、但您或许能够发送额外的时钟来选通 DOUT 至 DRDY 行为、从而提供完整的 SCLK 周期来捕获最后一个位。 您还可以开启 CRC、然后忽略输出、因为 CRC 是数据的最后8位。

    此外、ADC 和控制器之间是否有隔离? 这将增加可能影响时序的传播延迟

    -布莱恩

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

    谢谢 Bryan、

    我目前已使用 CRC 选项、并将 SCLK 减少到10MHz。
    我的试验电路板设置没有帮助、我的数字线路之间有串扰。

    非常感谢、
    Sam