Other Parts Discussed in Thread: TINA-TI,
Tool/software: TINA-TI or Spice Models
Greetings Alex,
Thank you for your continuous support.
I am having a difficult time to make the ADS1298 work. I have tried to look for similar thread but no luck so far.
To start with, I can read the register ID and be able to read /write. When I used the internal test signal, it was initially noisy but I found out that the noise is not from the ADS instead it was related the arduino baud rate. Then Somehow I got a clean square wave for the 8 channels and attached is the picture.
I hope I am reading the test signals right.
Then When I have tried to read the ECG signal from two channels, channel 2 and 3 the signal does not look like ECG at all. My configurations are as follows.
// Boot sequence
// Issue Reset Pulse
digitalWrite(PIN_RESET, HIGH);
delay(1000);
digitalWrite(PIN_RESET, LOW);
delay(1000);
digitalWrite(PIN_RESET, HIGH);
delay(100);
// Reset communication
digitalWrite(PIN_CS, LOW);
delay(100);
digitalWrite(PIN_CS, HIGH);
// Wait longer for TI chip to start
delay(500);
// Send SDATAC Command (Stop Read Data Continuously mode)
writeCommand(SDATAC);
delay(10);
// Set ADC to work at high resolution 0.5KS/sampling rate, HP,multiple read back, clken-0,
//write(CONFIG1, 0xC6);//
write(CONFIG1, 0x45);//500SPS, LP, multiple read back, clken =0
// Generate internal test signal
write(CONFIG2, 0x10);//variable chopping frequency, internal test src, 2* test amp and test frequ of 01.
//write(CONFIG4, 0x02);
// reference buffer, 2.4Vref, reld mes- open, rldRef - internal, rld buf-on, rld sens-enabled, rld lead off-connected
write(CONFIG3, 0xCE);
write(LOFF, 0x41);//90%, current mode, 6nA, ac lead-off detection
write(RLD_SENSP, 0x03);// channel three
write(RLD_SENSN, 0x03);
write(LOFF_SENSP, 0x03);
write(LOFF_SENSN, 0x03);
write(LOFF_FLIP, 0x00);//no flip
// All GPIO set to output 0x0000:
write(GPIO, 0x00);
//Willson terminals
write(WCT1, 0x0B); // WCTA powered and connected to channel 2 negative input
write(WCT2, 0xC4); // WCTB connected to channel 2 positive input and WCTC connected to channel 3 positive input
//Pace and respiration disabled
write(PACE, 0x00); // pace disabled
write(RESP, 0x00); // respiration disabled
write(CONFIG4, 0x02);//Turn on DC lead off comparator
//CONFIG4, LOFF_SENSP, LOFF_SENSN, LOFF_FLIP, LOFF_STATP, LOFF_STATN
write(CH1SET, 0x81);// turn off channel one
write(CH2SET, 0x20);// Set channel two - lead one as differential input with x2 gain - LA and RA
write(CH3SET, 0x20);// Set channel three - lead two as differential input with x2 gain - LL and RA
for (int i = 4; i <= 8; i++) {// turn down the rest of the channels and shorted
write(CHnSET + i, 0x81);
//write_byte(CHnSET + i, 0x15);
}
// put the ADS back to read data continuous mode
writeCommand(RDATAC);
//Set the start pin high
digitalWrite(PIN_START, HIGH);
delayMicroseconds(10);
After the 50Hz notch filter the signal still does not look like ECG at all.
What do you think I missed here?? Register configuration, channel set ?? I would appreciate any help.
KInd regards!!