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.

  • Resolved

ADS1292R: ADS1292R can't get two ECG signals

Prodigy 50 points

Replies: 8

Views: 74

Part Number: ADS1292R

TI team, hello.

My name is Aleš Zupanc and I am a firmware developer at PoLabs d.o.o. from Slovenia.

I'm currently working on a project where ADS1292R is used. I'm able to get one ECG signal and that is from  CH1, but somehow I'm unable to get another ECG waveform from CH2.

In fact, I am reading out the data from CH2 and if I touch the 2nd electrode, I can see some activity there but can't get any heart rate signal from it...

I have searched all over the web and tried a lot examples, but all I get is respiration and/or ECG.

Here I'll copy-paste ADS1292R register settings for two examples. In first example I'm getting nice ECG signal on the first channel and some noisy thing going on on the second. In second example I'm getting a respiration and ECG signal on the first channel but on the second there is no activity whatsoever.

EXAMPLE 1:

ADS1292_WriteRegister(ADS1292_REG_CONFIG1,       0x00);
ADS1292_WriteRegister(ADS1292_REG_CONFIG2,       0xA0);
ADS1292_WriteRegister(ADS1292_REG_LOFF,               0x10);
ADS1292_WriteRegister(ADS1292_REG_CH1SET,         0x00);
ADS1292_WriteRegister(ADS1292_REG_CH2SET,         0x60);
ADS1292_WriteRegister(ADS1292_REG_RLD_SENS,   0x20);
ADS1292_WriteRegister(ADS1292_REG_LOFF_SENS, 0x00);
ADS1292_WriteRegister(ADS1292_REG_LOFF_STAT,   0x00);
ADS1292_WriteRegister(ADS1292_REG_RESP1, 0x02);
ADS1292_WriteRegister(ADS1292_REG_RESP2, 0x03);


 

 

EXAMPLE 2:

  // 125sps
  ADS1292_WriteRegister(ADS1292_REG_CONFIG1,      0x00);
  // Lead-off comparators enabled, Reference buffer is enabled
  ADS1292_WriteRegister(ADS1292_REG_CONFIG2,      0xE0);
  // Lead-off comparator threshold(70)
  ADS1292_WriteRegister(ADS1292_REG_LOFF,              0xF0);
  // PGA gain = 6
  ADS1292_WriteRegister(ADS1292_REG_CH1SET,        0x00);
  ADS1292_WriteRegister(ADS1292_REG_CH2SET,        0x00);
  // RLD_SENS default -> RLD buffer is enabled, RLD connected to IN2N, RLD connected to IN2P
  ADS1292_WriteRegister(ADS1292_REG_RLD_SENS,  0x2C);
  // LOFF_SENS default -> Channel 1 lead-off and 2 lead-off detection positive and negative inputs enabled,
  ADS1292_WriteRegister(ADS1292_REG_LOFF_SENS, 0x0F);
  // LOFF_STAT -> External_CLK/4 (default), RLD is connected (default), IN2N_OFF, IN2P_OFF, IN1N_OFF, IN1P_OFF connected
  ADS1292_WriteRegister(ADS1292_REG_LOFF_STAT,   0x00);
  // RESP1 -> RESP modulation and demodulation circuitry turned on, 112.5kHz, Internal respiration with internal clock
  ADS1292_WriteRegister(ADS1292_REG_RESP1,           0xEA);
  // RESP2 -> RLDREF signal (AVDD ? AVSS)/2 generated internally (default)
  ADS1292_WriteRegister(ADS1292_REG_RESP2,           0x03);


 

Schematic of the PCB is:


 

So now I'd kindly as you to help me solve my problem because it already took me a lot of time.
The question is: How should I set register values to get two channel ECG signal?


Looking forward in solving the issue.

Regards, Ales Zupanc, FW developer at PoLabs d.o.o.

  • Hello Alex,

    Thank you for your post and welcome to our forum.

    In Example 1, you have set the gain to 12V/V on CH2. I cannot see the CH2 waveform, but this may be saturating the channel. You can confirm this if the corresponding ADC output code equals +/- full-scale.

    Can you adjust the register settings to use the internal square wave test signal on both channels? Turn off the respiration feature for now and just confirm you can read the expected square wave from both channels. 

    Best regards,


    Ryan Andrews

    Applications Engineer | Precision ADCs 

    Are you working on a bio-potential application? Check out these helpful resources: ADS129x BIOFAQ | ECG Online Training

  • In reply to Ryan Andrews:

    Hi Ryan, sorry for slow response...

    Somehow now I'm getting some input from channel 2 also but I'm not sure why it looks lite it's not DC coupled like its CH1 (screenshots below).
    What I did is that I removed C20 in C22 from respiration circuit. Maybe this is just a coincidence... One thing that bothers me the most is the fact that channels sould act the same since everything is set same and connected the same, but channel 1 isn't being saturated event with gain 12 when channel 2 is already being saturated (but really just a bit) at gain 4 and completely at gain 6 (screenshots below). Any idea why would that happen?

    Internal test signal from ADS1292 (I think it as it should be?):

    Then if I connect a signal generator and apply sinus all looks fine, but when sqare wave is fed in this is what I get (square 0.5Vpp):

    And as I mentioned at the begining, I'm able to get heart beat on both channels now, but now sure why there is such a difference in gain settings..:

    -> GAIN 3 (both channels): NO SATURATION THERE

    -> GAIN 4 (both channels): CH2 (red line) IS GETTING SATURATED A BIT

    -> GAIN 6: CH2 (red line) COMPLETELY SATURARTED, BUT CH1 NOT:

     

    I'm not sure but I'm pretty sure that I have some hardware issue here so that DC levels stil come to the ADC....So far thank you for pointing out saturation problem it somehow helped me...

    I'll let you know what I found out in couple of days.

     

    Looking foward in solving the issue and closing the ticket.

     

    Regards, Ales Zupanc, Firmware developer, PoLabs d.o.o.

  • In reply to Ales Zupanc:

    Hello Ales,

    The results from the internal test signals look exactly as expected. With a 2.42-V reference voltage and Gain = 12 V/V, +/- ~45,000 codes translates to +/- 1mV.

    Both of your input channels are AC-coupled. The high-pass filter on CH1, formed by the series capacitors and the 10-Mohm resistor dividers, removes most of the high-frequency content making up the square wave. The results you obtained are expected. CH2 is also AC-coupled, but this does not have the same 10-M resistor divider network to reestablish the DC bias voltage at the IN2P and IN2N input pins. Effectively, you have an infinite impedance to ground at these nodes, which sets the resulting high-pass cutoff infinitely low. The result is essentially still a square wave.

    You can simulate the frequency and transient responses of the passive components in your signal chain using TINA-TI spice simulator (note: these effects are completely independent of the ADS1292R itself). The 1-T resistors in the simulation schematic are purely for model convergence and do not impact the results. The resulting amplitudes from the simulation below match very well to the results in your second figure:

    ADS1292R_AC-coupled_inputs.TSC

    You will need to add a 10-M resistor divider circuit to IN2P and IN2N to hold the common-mode voltage at mid-supply and prevent the PGA outputs from saturating.

    Best regards,


    Ryan Andrews

    Applications Engineer | Precision ADCs 

    Are you working on a bio-potential application? Check out these helpful resources: ADS129x BIOFAQ | ECG Online Training

  • In reply to Ryan Andrews:

    Hm, okay I honestly don't know why I didn't try to simulate the circuit by myself...

    At the and you suggested me to add a 10M resistor deviders to IN2P and IN2N. In datasheet I'm looking at page 58 from where we took the schematics and now I've a question which is: Will the respiration circuit still work if we add previously mentioned 10M dividers or not? I assum it would destroy the signal as we'd probably use a DC respiration mode?

    Then I've one more problem. I'm trying to get LOFF detection to work but somehow when I turn it on and set ILEAD_OFF[1:0]:Lead-off current magnitude to the minumum (6nA), detection doesn't work, and if I set it to 22nA I loose ECG signal... Right now I don't have a complete register settings to copy-paste them here, but if you could suggest me anything I'd be very happy.

    Thank you for everything and I'll let you know about the deviders that I'm going to add to the circuit..

    Regards, Ales Zupanc, FW developer at PoLabs d.o.o.

  • In reply to Ales Zupanc:

    Hi Ales,

    The 10-M resistor dividers for CH2 would be added to the right of the 2.2-nF capacitors and will not impact the respiration circuit. Figure 56 is assuming the ECG signals are DC-coupled and do not need the resistor divider bias network.

    Are you using the DC lead-off detection? The comparators lead-off status indication bits are for DC lead-off detection only, which will not work in an AC-coupled signal chain.

    We have some helpful application notes and online video training to cover some of these ECG-specific features in the ADS129x products. Please find them at the E2E FAQ page here: BIOFAQ - Home Page

    Best regards,


    Ryan Andrews

    Applications Engineer | Precision ADCs 

    Are you working on a bio-potential application? Check out these helpful resources: ADS129x BIOFAQ | ECG Online Training

  • In reply to Ryan Andrews:

    I've added resistors as you said and now both signals works very nice!

    In registers I've set a DC lead off detection yes. So if I understand you, DC lead off detection won't work if there are DC coupling capacitor in the chain (is that whould you ment with "will not work in an AC-coupled signal chain")?

    I've already took a look at those aplication notes but I wil do it again.

    Regards, Ales Zupanc, Firmware developer, PoLabs d.o.o.

  • In reply to Ales Zupanc:

    Hi Ales,

    The series capacitors in your schematic are referred to as "DC blocking" or "AC coupling" capacitors. Both terms imply that DC voltage and current are blocked in the signal path. The resistor divider circuit forces a mid-supply DC voltage on the input pins. As a result, the lead-off comparators will never indicate a lead-off event.

    Best regards,


    Ryan Andrews

    Applications Engineer | Precision ADCs 

    Are you working on a bio-potential application? Check out these helpful resources: ADS129x BIOFAQ | ECG Online Training

  • In reply to Ryan Andrews:

    Hi Ryan.

    Thank you for the explanation. I understant what you now.

    So far I think we've solved my problems and I'm closing this ticket. Thank you fot the support, It was very helpfull any also big thumbs up for fast response times!

    Regards, Ales Zupanc, Firmware developer, PoLabs d.o.o.

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.