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.

[参考译文] ADS1230:AD 结果定期更改

Guru**** 2439050 points
Other Parts Discussed in Thread: ADS1230

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

https://e2e.ti.com/support/data-converters-group/data-converters/f/data-converters-forum/1055304/ads1230-ad-result-periodically-changed

器件型号:ADS1230

您好!

在使用 ADS1230测量应变仪的输出期间、我遇到了一个问题。  我发现、即使应变仪的输出接近零、AD 结果周期性地非常高、持续时间从几秒到几十秒不等。

我捕获了 DOUT/ DRDY 和 SCLK 的波形、发现如果没有任何问题、波形稳定;但数据就绪时间会定期变化。

波形如下所示:

 

CH1 (黄色)是 DRDY/DOUT、CH2 (绿色)是 SCLK。

数据就绪时间从长到短、然后变得非常长、然后逐周期减少。

当这种波形出现时、AD 结果不稳定。 每秒或几十秒都会出现一个高值。

在我的设计中、我使用第21个 SCLK 来强制 DRDY/DOUT 为高电平。 但我发现、有时在第21个 SCLK 可用后 DRDY/DOUT 无法拉至高电平。 请参阅下图以了解这种情况。

在上图中、第21个 SCLK 可用后、DRDY/DOUT 在11.92ms 后被拉至高电平。 我不知道为什么它需要这么长的时间来将 DRDY/DOUT 驱动为高电平。

在我的设计中、DOUT/DRDY 的周期约为12.1ms。

我想知道 DRDY/DOUT 是否就绪、例如在上图中、如果我在 DRDY 处于低电平时发送 SCLK 而没有从高电平到低电平的过程、会发生什么情况?

这种现象与固件有关、我的固件没有任何问题;但另一个版本有问题。 算法和代码几乎相同、我不知道导致这种情况的原因。 使用此软件的产品在过去的半年内正常、但本月出现20%故障率的问题。  

请帮助解决此问题。

提前感谢!

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

    您好、Leo、

    欢迎来到 E2E 论坛!  我看到的一个常见问题是客户如何以及何时确定从 ADS1230读取转换数据。  您可能会轮询 DRDY/DOUT 引脚。  过去、我发现客户在10sps 运行时没有问题、然后在80sps 运行时开始出现问题。  结果是、完全捕获数据的处理时间间隔为100ms、但在12.5ms 间隔内未完全完成。   

    我还看到计时器用于以特定的时间间隔捕获数据。  这里的问题是在微时钟和 ADC 时钟之间保持计时同步。  ADS1230不提供同步功能、自由运行时钟往往会重叠、因此会导致数据损坏。

    假设转换完成后、如果转换完成发生在读取周期的中间、转换将覆盖先前的转换结果并损坏正在读取的数据。  从示波器屏幕截图中可以看到、这是正在发生的情况。

    使用中断驱动系统可获得最佳效果。  在这种方法中、您无需强制 DRDY/DOUT 为高电平、而是在输入看到下降沿触发事件时触发中断、然后立即收集转换数据。  使用此方法、我已将 DRDY/DOUT 信号连接到微控制器的 DIN 和可中断 GPIO。

    如果您希望使用轮询方法、则必须确保在下一个转换结果完成之前从 ADS1230读取整个转换结果。  这意味着您的轮询循环必须留出足够的时间来处理和捕获数据。

    此致、

    Bob B