TI论坛
直播中

康大争

7年用户 2220经验值
私信 关注
[问答]

ADS1110读到的AD值突然跳变,返回来的配置寄存器都是0xFF,怎么解决?


  • 在我的项目中使用到ADS1110转换器,采集环境温度传感器的电压。
    目前我遇到的问题是,传感器采集到的温度,偶尔会有跳变0,我配置的是15SPS采样率,8倍增益,我使用逻辑分析仪查看了下时序,
    正常情况下,最后一个字节的数据(CONFIGURAtiON REGISTER)应该为0x0F,或者0x8F(读快了),但是有时候读到的确是0x00,0x07,更过分的还有0xFF。
    经过统计,ADC出错的时候,返回来的配置寄存器都是0xFF。




    虽然这个IIC总线上还有其他的IIC设备,但是ADC1110的IIC起始时间与上一个IIC时序的借宿时间符合手册测要求的大于600ns。
    另外,这个出现这个问题的时候一般都是在中午(气温大约20-25度,太阳下暴晒),早晚、阴天几乎没见过出现上述问题。
    请问,还有什么情况是我没有考虑到的?

回帖(2)

常静娜

2024-12-4 16:45:18
 经过统计,ADC出错的时候,返回来的配置寄存器都是0xFF。  这是关键, 这个阶段可能 I2C 的从机并没有响应,你也许能设法捕捉一下
调整一下时序,比如先放慢通信速率,增加中间的间隔时间,试试再说
举报

从未拥有

2024-12-4 18:02:25
根据您的描述,您的ADS1110读数出现跳变,配置寄存器返回0xFF。以下是一些建议来解决这个问题:

1. 检查电源:确保ADS1110的电源稳定,电压波动可能会导致读数不稳定。您可以使用示波器检查电源线上的电压波动。

2. 检查I2C总线:虽然您提到I2C总线上的其他设备与ADS1110的I2C起始时间符合手册要求,但仍建议检查I2C总线的信号完整性。您可以使用示波器检查I2C总线上的信号,确保没有干扰。

3. 检查ADS1110的引脚连接:检查ADS1110的引脚连接是否松动或损坏。确保所有引脚都正确连接,没有短路或断路。

4. 检查环境温度传感器:检查环境温度传感器是否正常工作,可能传感器本身存在问题导致读数不稳定。

5. 软件滤波:在软件层面,您可以尝试使用滤波算法(如卡尔曼滤波、滑动平均滤波等)来平滑读数,减少跳变的影响。

6. 重新配置ADS1110:尝试重新配置ADS1110的采样率、增益等参数,看是否能改善读数稳定性。

7. 检查代码逻辑:检查您的代码逻辑,确保没有错误导致配置寄存器返回0xFF。

8. 硬件故障:如果以上方法都无法解决问题,可能是ADS1110本身存在硬件故障。您可以尝试更换一个新的ADS1110,看是否能解决问题。

请尝试以上建议,希望能帮助您解决问题。
举报

更多回帖

发帖
×
20
完善资料,
赚取积分