TI中文支持网
TI专业的中文技术问题搜集分享网站

ADS1110读到的AD值突然跳变,配置寄存器值也变动

在我的项目中使用到ADS1110转换器,采集环境温度传感器的电压。

目前我遇到的问题是,传感器采集到的温度,偶尔会有跳变0,我配置的是15SPS采样率,8倍增益,我使用逻辑分析仪查看了下时序,

正常情况下,最后一个字节的数据(CONFIGURATION REGISTER)应该为0x0F,或者0x8F(读快了),但是有时候读到的确是0x00,0x07,更过分的还有0xFF。

经过统计,ADC出错的时候,返回来的配置寄存器都是0xFF。

虽然这个IIC总线上还有其他的IIC设备,但是ADC1110的IIC起始时间与上一个IIC时序的借宿时间符合手册测要求的大于600ns。

另外,这个出现这个问题的时候一般都是在中午(气温大约20-25度,太阳下暴晒),早晚、阴天几乎没见过出现上述问题。

请问,还有什么情况是我没有考虑到的?

user151383853:

经过统计,ADC出错的时候,返回来的配置寄存器都是0xFF。  这是关键, 这个阶段可能 I2C 的从机并没有响应,你也许能设法捕捉一下

调整一下时序,比如先放慢通信速率,增加中间的间隔时间,试试再说

query xiang:

回复 user151383853:

感谢朋友的回答,我配置的是15SPS采样率,每秒采样15次,单次循环时间66.67MS。

我在第二张图上可以看到,我在读取ADS1110的数据前,总线有164MS的空闲时间,按理说应该是够了的。

我这边的读取时间间隔虽然不固定,但是还是满足总线空闲时间600ns的。

赞(0)
未经允许不得转载:TI中文支持网 » ADS1110读到的AD值突然跳变,配置寄存器值也变动
分享到: 更多 (0)