请教TI工程师,我正在使用ADS1198设计12导的心电检测仪,原理图根据sbau180.pdf设计,模拟电源和数字电源都是采用3.3V单电源供电,中间用磁珠联通.目前程序已经完成,用心电模拟仪可以采集出很漂亮的8路心电信号,并且各路信号基线保持一致,可是在采集人体信号时,人体心电信号也能采集出来,但8路信号的各自基线都不同,各导联基线相差数值最大在1000(AD采集后的数值)左右,我感觉可能是各路的共模信号转换成差模了!但不知道该如何解决!已经调试半个月了实在是解决不了这个问题,以下附上我的ADS1198的初始化程序.
void ADS1198_Init(void)
{
uchar d[8];
P2DIR |= 0x60; // ads1198 RST,READY管脚输出
P3DIR |= 0x01; // ADS1198 CS 管脚输出
ADS1198_CS0; // 选中ADS1198 ADS1198_PWDN1; // 禁止进入低功耗模式
ADS1198_START0; // 禁止采集
ADS1198_RST1; // 复位置高
delayMS(1000); // 延时1S
ADS1198_RST0; // 复位1198
delayMS(100); // 延时100MS ADS1198_RST1; // 复位清除
delayMS(1);
ADS1198_Send_CMD_One(SDATAC); // 发送停止命令
ADS1198_Recive_Data(0x20+Addr_ID,1,d); // 读ADS1198 ID号
if(d[0]==0xB6) // 判断是否为ADS1198 ID
{
d[0] = 0xCC; // 内部参考+2.4V+RLDREF(AVDD-AVSS)/2+RLD buffer允许+RLD检测允许
ADS1198_Send_CMD_Muti(0x40+Addr_CONFIG3,1,d); // 配置寄存器
d[0] = 0x05; // Multiple readback+250SPS
ADS1198_Send_CMD_Muti(0x40+Addr_CONFIG1,1,d); // 配置寄存器
d[0] = 0x00; // 外部测试信号+1mV幅值+FCLK/2.048M频率
ADS1198_Send_CMD_Muti(0x40+Addr_CONFIG2,1,d); // 配置寄存器
d[0] = 0x33; // (7.5%/92.5%)+Pull-up/pull-down mode+DC lead-off detection turned on
ADS1198_Send_CMD_Muti(0x40+Addr_LOFF,1,d);
//d[0]=0x00;d[1]=0x00;d[2]=0x13;d[3]=0x13;d[4]=0x13;d[5]=0x13;d[6]=0x13;d[7]=0x13;// 12倍增益+正常导联输入
d[0]=0x60;d[1]=0x60;d[2]=0x60;d[3]=0x60;d[4]=0x60;d[5]=0x60;d[6]=0x60;d[7]=0x60; // 12倍增益
ADS1198_Send_CMD_Muti(0x40+Addr_CH1SET,8,d);
d[0] = 0x0ff;d[1] = 0x03; // RLD1P,RLD1N,RLD2N对应R,L,F,为右腿驱动源
ADS1198_Send_CMD_Muti(0x40+Addr_RLD_SENSP,2,d); // 配置寄存器
d[0] = 0x00;d[1] = 0x00; // 8个通道全部检测导联脱落
ADS1198_Send_CMD_Muti(0x40+Addr_LOFF_SENSP,2,d); // 配置寄存器
d[0] = 0x00; // 通道1,通道2作为起搏检测通道,开启起搏检测缓冲器
ADS1198_Send_CMD_Muti(0x40+Addr_PACE,1,d); // 配置寄存器
d[0] = 0x02; // 持续转换模式+Lead-off comparators enabled
ADS1198_Send_CMD_Muti(0x40+Addr_CONFIG4,1,d);
d[0] = 0x08;d[1] = 0xCB; // power on WCTA+WCTB+WCTC,RLD1P,RLD1N,RLD2N为威尔逊中心信号源
ADS1198_Send_CMD_Muti(0x40+Addr_WCT1,2,d); ADS1198_Send_CMD_One(RDATAC); // 连续读命令
ADS1198_START1; // 开始数据采集
}
}
user3743692:
极化电压引起的基线偏移,行业标准是能抗正负300mV的极化电压,前端放大一定不能太高,否则ADC很容易饱和,后端用数字滤波器过高通,这样基线就一致了
ls hu:
回复 user3743692:
高通的频率怎么设置呢? 我设置滤掉0.5HZ一下的,发现T波发生了失真