本帖最后由 19996 于 2020-10-28 16:48 编辑
void ADS1292R_PowerOnInit(void)
{
ADS1292R_START_H;
ADS1292R_CS_L;
ADS1292R_PWDN_L;//进入掉电模式
Delayms(100);
ADS1292R_PWDN_H;//退出掉电模式
Delayms(100);//等待稳定
ADS1292R_PWDN_L;//发出复位脉冲
Delayms(10);
ADS1292R_PWDN_H;
Delayms(100);//等待稳定,可以开始使用ADS1292R
ADS1292R_START_L;
ADS1292R_CMD(ADS1292R_SDATAC);//发送停止连续读取数据命令
Delayms(100);//等待稳定,可以开始使用ADS1292R
ADS1292R_CMD(ADS1292R_ADSRESET);
Delayms(10);
ADS1292R_CMD(ADS1292R_SDATAC);
Delayms(100);
while(device_id!=0x73) //识别芯片型号,1292r为0x73
{
device_id = ADS1292R_REG(ADS1292R_RREG|ADS1292R_ID,0X00);
Delayms(200);
}
//*/OLED_PrintfString(0,2,"ADS1292R Detected");
ADS1292R_REG(ADS1292R_WREG|ADS1292R_CONFIG2, 0XE0); //使用内部参考电压
Delayms(10);//等待内部参考电压稳定
//ADS1292R_REG(ADS1292R_WREG|ADS1292R_CONFIG1, 0X03); //设置转换速率为1000SPS
//ADS1292R_REG(ADS1292R_WREG|ADS1292R_CONFIG1, 0X02); //设置转换速率为500SPS
ADS1292R_REG(ADS1292R_WREG|ADS1292R_CONFIG1, 0X01); //设置转换速率为250SPS
//ADS1292R_REG(ADS1292R_WREG|ADS1292R_CONFIG1, 0X00); //设置转换速率为125SPS
ADS1292R_REG(ADS1292R_WREG|ADS1292R_LOFF, 0X00); //0xF0
ADS1292R_REG(ADS1292R_WREG|ADS1292R_CH1SET, 0X00); //放大4倍
ADS1292R_REG(ADS1292R_WREG|ADS1292R_CH2SET, 0x00); //放大4倍
ADS1292R_REG(ADS1292R_WREG|ADS1292R_RLD_SENS, 0x30);
// ADS1292R_REG(ADS1292R_WREG|ADS1292R_RLD_SENS, 0x3C); //使用通道2提取共模电压
ADS1292R_REG(ADS1292R_WREG|ADS1292R_LOFF_SENS, 0x3F);
// ADS1292R_REG(ADS1292R_WREG|LOFF_STAT, 0X00);
ADS1292R_REG(ADS1292R_WREG|ADS1292R_RESP1, 0xFE); //*/0xEA DE
ADS1292R_REG(ADS1292R_WREG|ADS1292R_RESP2, 0x03); //*/0x03:32Khz 07:64hKz
ADS1292R_REG(ADS1292R_WREG|ADS1292R_GPIO, 0x0C);
}
该参数在呼吸测量状态下是很好的,是可以完整测出来的,经过专业仪器检验。
然后电路使用推荐的典型例程,但是修改了部分参数
分别是将R1 和 R2调整为了14K
然后经过测试,可以测量最低振幅0.2欧姆下面是之前测试1欧姆和3欧姆的波形(仅供参考)
|