ADS1256四路差分输出读取数值间干扰问题
我用ADS1256的差分输入模式来读取四路差分输入电压,四路输入口分别是0和1、2和3、4和5、6和7,主要有以下三个问题:
1、单独用任何一路输入口来测任何一路差分电压,数值读取都是正确的,但是当同时读取四路差分输入电压时,当0和1路的差分输入电压变化,其他三路没有变化时,ADS1256读取的另外三路电压也会有改变。不知是什么原因。
2、我测量的这四路差分电压是四个压力传感器,他们输出的是0~10mv的电压信号,初始状态,四个压力传感器都没有承受压力,用万用表(6位半高精度的)测量这四路差分电压都是0.01mv左右的信号,但用ADS1256来测试有的路数就会出现3.9mv或者-3.9mv左右的电压,想知道这是怎么回事。
3、循环读取四路差分数据,我的程序流程是
a)在初始化时设置AINP = AIN0, AINN = AIN1;
b)当DRDY 变低,说明数据已经准备好取回.使用WREG 命令更新复用器寄存器.设置MUX 为23h使AINP=AIN2,AINN=AIN3.并通过发送SYNC 命令紧接一个WAKEUP 命令从新启动转换进程.命令之间的时间满足手册要求,接着利用RDATA命令读取数据,该数据应该是 AIN0与AIN1间的电压值,将其存入数组Data【0】;.
c)当DRDY 变低,使用WREG 命令设置MUX 为45h使AINP=AIN4,AINN=AIN5.并通过发送SYNC 命令紧接一个WAKEUP 命令从新启动转换进程.命令之间的时间满足手册要求,接着利用RDATA命令读取数据,该数据应该是 AIN2与AIN3间的电压值,将其存入数组Data【1】;.
d)当DRDY 变低,使用WREG 命令设置MUX 为67h使AINP=AIN6,AINN=AIN7.并通过发送SYNC 命令紧接一个WAKEUP 命令从新启动转换进程.命令之间的时间满足手册要求,接着利用RDATA命令读取数据,该数据应该是 AIN4与AIN5间的电压值,将其存入数组Data【2】;.
e)当DRDY 变低,使用WREG 命令设置MUX 为01h使AINP=AIN0,AINN=AIN1.并通过发送SYNC 命令紧接一个WAKEUP 命令从新启动转换进程.命令之间的时间满足手册要求,接着利用RDATA命令读取数据,该数据应该是 AIN6与AIN7间的电压值,将其存入数组Data【3】;.
不断循环b)~e)步骤,完成对四路差分电压的循环读取。
想知道我的这个程序流程对吗
可以验证一下, 信号的干扰是否出现在前端信号传输的过程中,
因为是差分信号, 可以使用双绞线传输, 也可以使用屏蔽线传输. 可以试试看