Hi TI members,
最近使用ADS1256的8个Single-Ended输入去采集压力传感器数据,发现在压力传感器空载的时候,AIN0-AIN7 8个通道的初始值不是一条直线,
而是有规律地被拉低,刚好与读取数据的采样频率一致。如下图:
初始化时序:
STATUS寄存器设置为0x06,
delay 1us,
ADCON寄存器设置为0x00,
delay 1us,
DRATE设置为30000sps,
delay 1us,
IO寄存器设置为0x00,
delay 1us,
等待DRAY为低时,
发送SELFCAL命令。
每次读取各个通道数据时的时序:
写MUX寄存器进行切换channel, delay 10us 等待DRAY为低时, 写SYNC寄存器 写WAKEUP寄存器 写RDATA寄存器 delay 10us
读3次寄存器并合并在一起,如下:
sum |= (SPI_WriteByte(0xff) << 16);
sum |= (SPI_WriteByte(0xff) << 8);
sum |= SPI_WriteByte(0xff);
然后对sum进行电压转换:
if (sum & 0x800000) { sum = ~(unsigned long)sum; sum &= 0x7fffff; sum += 1; sum = -sum; } ldVolutage = (long double)sum*0.59604644775390625;
时序的logic图如下:
其他信息:AIN0-AIN7端与压力传感器之间用到了放大器元件TL084/SO14。
问题1:ADS1256读取数据会影响AIN0-AIN7端的电平吗?你们有遇到的类似的问题吗?
问题2:按压某一通道的传感器时,其他通道会有变化,比如:有规律的电平变化会减弱或者消失。
这种出现规律性的电平变化,是时序引起的吗?
Kailyn Chen:
1. 理论来说是不会影响的。
2. 通道串扰,很有可能是参考电压引起的不稳定,您使用的参考源是什么?另外,参考电压输出到ADS1256 之间是否有加上运放来做buffer, 如果有的话,是否运放的输出有容性负载?如果有容性负载,建议运放输出端串联一个小的电阻进行隔离。另外,internal buffer您是enable还是disable?建议将其disable 再验证是否还有同样的问题。
kevin ding:
回复 Kailyn Chen:
Hi Kailyn,
I have shared the schematic.
Do you have any update about this case?Thinks,
Kevin Ding
kevin ding:
回复 kevin ding:
还有TI的工程师关注这个case吗?