我正在使用 ADS1291、发现每30s-1分钟 它输出一个完全无效(且非常大)的读数。
该芯片将 START 引脚连接至高电平、同时禁用连续模式并启用单次触发。 每1ms、我通过 SPI 发送一条 RDATA 命令并读取 CH1值(CH2未使用。) 抽取滤波器设置为4kSPS。 我在数据表中找不到有关抽取滤波器过采样率产生的精度的信息、但在本例中、它在实验中具有20的精度(所有转换均可被20除。)
我知道转换完全无效、因为它们不能被10除。 实例: -8388608、 4128968、 -5247936、 -4194184、 -260544、 31368、 -1048136、 2630696、 -260744、 4129608。应用的正确读数小于10、000 (可被20除)、这些无效转换始终为一次性、前后的读数始终正常。
CONFIG1 = 0x85
CONFIG2 = 0xA0
CH1SET = 0x20
CH2SET = 0x80
GPIO = 0x00
所有其他寄存器均为默认值。
是否有任何可能导致这些无效读数的问题? 我不读取/DRDY、但在4kSPS 和每1ms RDATA 下、我假设在发送下一个 RDATA 时 DRDY 将始终置为有效。 我还尝试将发送 RDATA 的速率降低到每5ms 一次、并观察到相同频率的无效读数、因此我不认为 DRDY 是一个问题。