我想用ads1294r来完成肌电数据采集。各个寄存器的配置情况如下所示:
// 1 ADS1294_REG[ID] = 0xd0; // 0xd0, 1101 0000 ID只读 // 2 ADS1294_REG[CONFIG1] = 0x03; // //[6] 0 菊花链模式 //[5] 0 CLK引脚不输出时钟信号 //[2:0] 011 设置采样率2kHz // 3 ADS1294_REG[CONFIG2] = 0x12; // 0x12, 0001 0010 设置为斩波频率可变 //[4] 1 测试信号来源,内部 //[2] 0 设置测试信号幅值,1倍 //[1:0] 10 设置测试信号频率,不使用 // 4 ADS1294_REG[CONFIG3] = 0xec; // // 5 ADS1294_REG[LOFF] = 0x02; // 0x03, 0000 0011 [4]必须为0 //[7:5] 000 导联脱落检测器阈值,95% //[3:2] 00 导联脱落检测器导通的电流幅度,6nA //[1:0] 00 导联脱落检测器的导通频率,直流 // 不适用导联脱落检测 // 6 ADS1294_REG[CH1SET] = 0x81; // 0x60, 0110 0000 // 7 ADS1294_REG[CH2SET] = 0x81; // 0x60, 0110 0000 // 8 ADS1294_REG[CH3SET] = 0x81; // 0x60, 0110 0000 // 9 ADS1294_REG[CH4SET] = 0x60; // 0x60, 0110 0000 // 14 ADS1294_REG[BIAS_SENSP] = 0x08; //通道四接到右腿驱动电路 // 15 ADS1294_REG[BIAS_SENSN] = 0x08; // 16 ADS1294_REG[LOFF_SENSP] = 0x00; // 0x00, 0000 0000 // 17 ADS1294_REG[LOFF_SENSN] = 0x00; // 0x00, 0000 0000 // 18 ADS1294_REG[LOFF_FLIP] = 0x00; // 0x00, 0000 0000 // 19 ADS1294_REG[LOFF_STATP] = 0x00; // 0x00, 0000 0000 正极通道导通状态,只读 // 20 ADS1294_REG[LOFF_STATN] = 0x00; // 0x00, 0000 0000 负极通道导通状态,只读 // 21 ADS1294_REG[GPIO] = 0X00; // 0x00, 0000 0000 [7:4] 用于向GPIO端口读写数据 // 22 ADS1294_REG[PACE] = 0X00; // 0x00, 0010 0000 [7:6] [4:0]必须为0 起搏信号不启用 // 23 ADS1294_REG[RESP] = 0X00; // 0x00, 0010 0000 [7:0] 必须为0,没用 呼吸控制不启用 // 24 ADS1294_REG[CONFIG4] = 0X00; // 0x00, 0000 0000 [7:4] [2] [0]必须为0 呼吸控制禁用了,这里直接默认配置就行 // 25 ADS1294_REG[WCT1] = 0X00; // // 26 ADS1294_REG[WCT2] = 0X00; //
电极片的连接情况如下:
。
遇到的问题:
只使能通道四,将三个电极片贴紧皮肤时,数据稳定输出8388607(7F FF FF)
单独vin+、或者vin-时,数值会有变化,如下图:
绘制出来的波形:。
请问是我的寄存器配置存在什么问题吗?