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.
我在其中一个项目中使用了 ADS1119。 我注意到、我可以在使用 AIN3地址时读取 AIN0数据、AIN0地址提供 AIN3的数据。 我已经尝试自己进行故障诊断、我找不到任何问题。 任何建议都会有所帮助。
这是我的原理图、目前仅使用 AIN0和 AIN3。 AIN0应返回 J10的读数。
这是产品说明书中每个通道的地址
这是地址定义、我的代码中的函数
不过、我发现如果我放入 Get_AIN0、我将获得 AIN3通道的 ADC 数据。 有什么想法,这里有什么错?
谢谢。
查尔斯
您好 Charles、
当 ADS1119多路复用器进行开关操作时、它不会立即开始新的转换、而是在切换多路复用器之前完成当前转换。 因此、在最坏的情况下、在新数据就绪之前可能存在23ms。 如果您在写入配置寄存器后读取数据的速度太快、您将从器件中获得旧数据。 使用多路复用器在不同通道之间切换时、我们建议使用单冲转换模式、以便您可以立即启动新的转换。 看起来您在写入后立即读取数据、因此您可能正在读取旧数据。
如果添加延迟不能解决问题、您应监控 I2C 连接以确保进行正确通信。 如果您可以发布一张示波器或逻辑分析仪的屏幕截图、以便对连接进行监控、我还可以看一下。
如果您还有任何问题、请告诉我、
列维德弗里斯
感谢您的回答、Levi。 我可以知道23ms 来自哪里吗? 我多次阅读了数据表、但没有看到该数字。 我在这里使用90SPS、因此、我认为实际的转换时间为11.26或11.29、对吗?
您好 Charles、
抱歉、我刚刚意识到我对两次转换不正确、这对我们的 ADS1118和 ADS1X15来说是正确的、但对这个器件却不正确。 在连续模式下、该器件的时间延迟应为11.26、对于单冲模式、则为11.29、这是正确的。
如果您还有任何问题、请告诉我、
列维德弗里斯