您好,我想使用ADS1191开发一款肌电测试设备,现在在硬件和软件上遇到了一些问题,首先附上我的硬件电路图:
在系统的调试阶段发现,ADS1191可以读取到芯片ID 0x50,并且可以完成寄存器的写入,并且在读取后为写入数据,此时进行 Vref 两端的电压测试结果为 2.42 Vcap1 Vcap2 两端的电压 分别为 1.19V 5.2V 其中 Vcap2 两端的电压似乎并非 (AVDD + AVSS)/2
但是此时仅有 DRDY 的信号,无转换数据且无法读取到 STAT 的状态,即返回数据全0,通过插拔一次 RESET 引脚后,可读取到内部测试信号的数据,但数据会从一开始的快速的很小的正数快速漂移至很大的负数(已完成转换后的结果),且此时 Vref 的 P N 端并未出现 2.42V 的电压
系统的上电流程按照官方在软件中提供的源码
# SPI read data from ADS1191
void ADS_read_datas(unsigned char *pbuffer, unsigned int size){
SPI_CSn = 0;
for(i=0; i<size; i++){
pbuffer[i] = SPI_readwrite_byte(hspi5, 0x00);
delay_us(1);
}
SPI_CSn = 1;
}
附上寄存器配置:
//Device ID read Ony
0x50,
//CONFIG1 500 sps
0x00,
//CONFIG2 1 0 1 0 0 0 1 1/0 1: 1Hz square wave 0:dc
0xA2,
//LOFF disable 0 0 0 1 0 0 0 0
0x10,
//CH1SET (PGA gain = 12) 0 1 1 0 0 1 0 1 0x65,
0x65,
//CH2SET (PGA gain = 12) 0 1 1 0 0 0 0 1 0x80,
0x80,
//RLD_SENS disable
0x00,
//LOFF_SENS disable
0x00,
//LOFF_STAT RLD not connected
0x0F,
//RESP1 MISC1
0x02,
//RESP2
0x00,
//GPIO
0x0C