ADS部分电路图如下图所示:
我使用STM32来读取ADS数据,具体寄存器配置如下所示:
Ads1292RegWrite(ADS1x9x_REG_CONFIG1, 0x02);
Ads1292RegWrite(ADS1x9x_REG_CONFIG2, 0xe0);
Ads1292RegWrite(ADS1x9x_REG_LOFF, 0x50);
Ads1292RegWrite(ADS1x9x_REG_CH1SET, 0x00);
Ads1292RegWrite(ADS1x9x_REG_CH2SET, 0x00);
Ads1292RegWrite(ADS1x9x_REG_RLD_SENS, 0x3c);
Ads1292RegWrite(ADS1x9x_REG_LOFF_SENS, 0x3f);
Ads1292RegWrite(ADS1x9x_REG_LOFF_STAT, 0X00);
Ads1292RegWrite(ADS1x9x_REG_RESP1, 0X02);
Ads1292RegWrite(ADS1x9x_REG_RESP2, 0x03);
Ads1292RegWrite(ADS1x9x_REG_GPIO, 0x0c);
在实际使用时是使用3导联3电极(RA,LL,LA)来进行心电检测,默认使用导联组合II RA(-)和LL(+),实际接线是RA接CH2N,LL接CH2P,LA就接RLD,通过如上方式配置寄存器,此时我进行实验,读取72bit中的24 ststus bit得到如下结果:
导联全部连接读取到结果:0xC08000
单独断开导联RA也就是CH2N读取到结果:0xC28000
单独断开导联LL也就是CH2P读取到结果:0xC48000
单独断开导联LA也就是RLD读取到结果:此时状态并不稳定,会出现变化,状态为0xC08000,0xC48000,0xC88000,0xCA8000,等
全部导联不断开读取到结果:0xC08000
全部导联断开读取到结果:0xC68000
通过以上结果来看,CH2通道的N和P状态位是相反的,因为参考数据手册如果CH2N单独脱落状态为0xC40000,如果CH2P单独脱落状态为0xC20000;
而且此时RLD脱落状态位一直为0,也就是检测不到RLD脱落,(上面RLD脱落出现的状态为为1,只是偶然出现,因为此时状态位在不断改变);
还有根据原理图,我的CH1通道通过一个100KΩ的电阻上拉到3V,状态为应该是显示不会脱落的,但是实际还是显示CH1P脱落。
如上为我遇到的问题,希望各位能帮忙看一下电路方面以及寄存器配置方面有没有什么问题,谢谢