This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

ADS1292R: glitches in recorded ECG and ICG

Part Number: ADS1292R
Other Parts Discussed in Thread: ADS1292,

Hello,

I've got the ADS1292R up and going on my PCB. Here are the register settings that I'm using:

define _ADS_CONFIG1_REG 0x01            //CONFIG1, Continous Conversion mode,DR[2:0}=001=fsample=fdr==250, DR[2:0}=010=fsample=fdr==500,
#define _ADS_CONFIG2_REG 0xa0            //CONFIG2, leadoff=off,refernce buff enable,Vref=2.42V
#define _ADS_LOFF_REG  0xF0            //LOFF, leadoff threshold=70%-30%,dc leadoff detect
#define _ADS_CH1SET_REG  0x10            //CH1SET, PGA gain = 1,normal elctrod connection
#define _ADS_CH2SET_REG  0x40            //CH2SET, PGA gain = 4,normal elctrod connection
#define _ADS_RLD_SENS_REG 0xA0            //RLD_SENS, chop fre=128/2=64K,RLD buff=0n,RLD_leaDOFF_sens=OFF,  no ch to RLD
#define _ADS_LOFF_SENS_REG 0x00            //LOFF_SENS, inputs for leadoff detect= disconn
#define _ADS_LOFF_STAT_REG 0x00            //LOFF_STAT, Fclk=512K,  RLD connected, electrod connected.
#define _ADS_RESP1_REG  0xe2            //RESP1, Respiration on, 90 Deg resp phase
#define _ADS_RESP2_REG  0x03            //RESP2, f_respiration=32K,internal RLDREF=0n,
#define _ADS_GPIO_REG  0x04            //GPIO, GPIO2=output,GPIO1=input

In my application, my microcontroller writes the measured ECG/ICG to a flash memory which I can later download and view. For this, I have an interrupt which fires on the falling edge of DRDY. If I setup a patient simulator to output a 1mV pk-pk 5 Hz sine wave, the ECG looks fine. However if I put my patient simulator in series with a "box that simulates ICG", glitches occur at various points in my ECG and ICG waveforms, see example below (ECG top, ICG bottom vs time).

For this SCLK = 263.2 kHz (measured on oscilloscope). Over a 30 minute period, 3-4 glitches occur. Any suggestions?

Thanks in advance for your help,

Regards,

Alan

  • Hi Alan,

    Thanks for your post and welcome to our forum!

    I do not see anything that concerns me in the register settings. Also, using an SCLK = 263.2 kHz should be more than fast enough to read all the data between /DRDY intervals. Have you been able to capture the SPI activity during one of the glitches? Understandably, that's only one in every ~100k - 150k samples.

    I'm not very familiar with ICG simulators, but my first guess is that the scope of this issue is limited to the signal source. I would also try monitoring the voltage at the input of the ADS1292 to validate whether the glitches are present there as well.

    Best Regards,

  • Hi Ryan,

    Thank you for your email. Part of my headache is being able to catch the glitch on an oscilloscope, which I haven’t been able to do as of yet.

    The Ads1292 is setup to sample at 250 sps, so every 4 ms. I’ve written a timer interrupt that fires every 4 ms. In this interrupt I increment a 32 bit counter. Inside my other interrupt that triggers when /DRDY goes low, I increment another 32 bit variable. I then calculate the delta between these 2 counters and if it’s too big, I toggle a line on my microcontroller, which I try to use as a trigger signal on my oscilloscope. Unfortunately this hasn’t showed up anything yet…

    I will check the voltages at the input of the ADS1292.

    Thanks again,

    Alan
  • Hi again Ryan,

    I've tried to decouple myself from the input signals a bit, so for this, I'm setting up the square wave test signals by setting CONFIG2 to 0xA3 and CH1SET and CH2SET to 0x15 and 0x45 respectively.

    All my other registers are the same as above. When I run with this, only the ECG channel is a square wave. The ICG channel is always a flat line. I've also read back my register settings and they are all as expected.

    Any suggestions?

    Thanks in advance for your comments,

    Regards,

    Alan
  • Hi Alan,

    Thanks for the update.

    Which channel are you using as your ECG channel and which is for ICG?

    I don't expect the internal test signal to flatline with any of the gain settings, especially if you are using the 2.42 V internal reference voltage. Is the flatline output occurring on Channel 1? I would disable the respiration modulation and demodulation if that's the case. You can double check the test signal amplitude at the PGA outputs by probing across pins PGAxP and PGAxN.

    Do you have a schematic that you can share?

    Best Regards,
  • Hi Ryan,

    Thank you for getting back to me. Turning off the respiration and demodulation did the trick, I'm getting a square wave on both channels.

    I'd rather not share the schematic on a newsgroup. We'd like to use the ADS1292R in a defibrillator so some protection circuitry has been put on the front end. The ECG and ICG will be measured across the same 2 electrodes. In our design, the ADS1292R is isolated electrically from the rest of our circuitry.

    I'm going to try to get a ADS1292RECG-FE evaluation board to see if the issue can be replicated.

    Regards,

    Alan