我在使用 ADS1299时遇到问题。
我已经在 CHnSET 寄存器中对 ADS1299通道的内部测试信号进行了编程。 它在 Arduino IDE 上的串行绘图仪上显示方波、正如数据表中所示。
当我将 CHnSET 中的 MUX[2:0]值更改为000时、用于外部信号路由。 当我放置手指时、我会听到一些噪音、我认为它工作正常、因为人体有一些静电荷。
但是、当我从函数发生器施加5uV VPP 的正弦波时、它显示的波形与之前没有信号时的波形相同。 如下图所示。 
我在 IN8P 和 IN8N 之间施加了信号。 BIASOUT 引脚保持开路。 当 BIASOUT 引脚连接到 IN8N 时、正如数据表所示、无论我作为输入提供的任何波形、EEG 显示的波形都与上述波形相同。
我设置的寄存器如下:
ads_init(){
ads_hardReset(); //Hardware reset by RESET pin
ads_softReset(); // Send reset command
getDeviceID(); // get device id
ads_wreg(CONFIG1, 0xD6); // No Daisy, Osc. Clock output disabled, 250Hz
ads_wreg(CONFIG2, 0XD5); // Generate test signal externally
ads_wreg(CONFIG3, 0xEC); // Internal ref buff enabled,bias measurment open
ads_wreg(CONFIG4, 0X00); // Continuous conversion mode, Leadoff comparator OFF
//Only measuring from channel 8
ads_wreg(CH1SET, 0xC1); // POWER DOWN
ads_wreg(CH2SET, 0xC1); // POWER DOWN
ads_wreg(CH3SET, 0xC1); // POWER DOWN
ads_wreg(CH4SET, 0xC1); // POWER DOWN
ads_wreg(CH5SET, 0xC1); // POWER DOWN
ads_wreg(CH6SET, 0xC1); // POWER DOWN
ads_wreg(CH7SET, 0xC1); // POWER DOWN
ads_wreg(CH8SET, 0x00); // init channel with normal eletrode, 1X gain, SRB2 open
ads_wreg(BIAS_SENSP, 0X80); //Switch ON for ch8
ads_wreg(BIAS_SENSN, 0X80); //Switch ON for ch8
ads_wreg(MISC1, 0X20); //Connect SRB1 to all INxN of channel
ads_command(_START); // Start ads conversion
delay(1);
ads_command(_RDATAC); // Start continuous conversion mode
}
//Function used to get data from ADS1299:
global long output[8]=0;
void getADSdata()
{
long dataPacket = 0;
vspi->beginTransaction(SPISettings(spiClk, MSBFIRST, SPI_MODE1));
digitalWrite(ADS_CS, LOW); //Low to communicated
for(int i = 0; i<3; i++){
byte dataByte = vspi->transfer(0x00);
statusData = (dataPacket<<8) | dataByte;
}
for(int i = 0; i<8; i++){
for(int j = 0; j<3; j++){
byte dataByte = vspi->transfer(0x00);
dataPacket = (dataPacket<<8) | dataByte;
}
output[i] = dataPacket;
dataPacket = 0;
}
digitalWrite(ADS_CS, HIGH);
vspi->endTransaction();
Serial.println(output[7]); //Print Ch8 data and plot.
}
对于以下情况、我想提出几个问题:
1.初始化寄存器时代码是否正确? 和获取数据?
2、如何将 IN8P、IN8N、BIASOUT、AGND (如果必须连接接地参考)、导线连接到电极并收集 EEG 信号。
谢谢