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.

ADS1293: Data reading from ADS1293

Part Number: ADS1293

Hello,

In my project, I am using ads1293 to sample ecg signal. Some of the happenings, I would like to share and asking your kind help. They are:

1. I configure the ads1293(main features) in high resolution, high sampling frequency(204.8khz), with R1=4, R2=8 and R3= 32.As such, ODR=200Hz, BW=40Hz, ADCmax = 0x800000. And using CH1 and CH2 for ECG measurements..

2. First, I set the ads1293 in test mode( zero test signal) and read the  adc output. The out put not exact but near to the expected value(1/2 adcmax). Then I apply the positive DC Test signal and read the adc out put, again, not exact but near the expected value. Then I set the channel address to read the actual ecg signal. And my observations are as below:

3. I read lead I and lead II. For lead I, the readings are far below the expected value. Even lower than the zero test signal readings. For lead II, the values are bit better but still in the lower range. Just above the zero test signal readings. I know, lead I is a weak one but I am getting values which represent less than zero volt! Lead II readings should have been better too.

4.  Say, I am collecting 1000 samples. May be first few hundreds reading are like above, then the rest samples values are a constant value like 16,772,215. That is all the 24 bits are set to 1(all ones)!.

I am really stuck with the above problems. Any help/suggestion is highly appreciated. Regards.

Nazrul

  • Hello Nazrul,

    First of all, it is not impossible to have a voltage below zero as the output. The ADC will measure the voltage difference between LA and RA for lead I. If the voltage for RA happens to be larger than the voltage for LA, you will read a negative voltage and there is nothing peculiar about that.

    Secondly, are you using the right-leg drive to establish a proper common-mode voltage?

    Regards,
    Brian Pisani
  • Hello Brian,
    Thank you very much for the reply. I agree that I can read a negative voltage. My worry is, all the samples are like that! Yes, I am using the right-leg drive to establish a common-mode voltage. Also, at some time, all the samples I receive from ads1293 is like 0xFFFFFF(i.e., all the bits are set to 1). At other times, some readings are normal(combination of 1's and o's) but the rest are 0xFFFFFF. Is there any explanation for this behaviour? I really appreciate your comments. Regards.
    Nazrul
  • Hey Nazrul,

    Have you ruled out an SPI communication issue? Check the SPI transaction using an oscilloscope or logic analyzer.

    Regards,
    Brian Pisani
  • Hi Brian,
    Thanks again. The SPI interface is a tested one and it works perfectly. I tested this interface again and again during the initial state of my project. Is there any situation, whereby, the ads1293 can generate such bit pattern(0xFFFFFF)? I know, if the differential signal is out-of-range, the SDM stop sample the output of the INA and instead sample 0V.
    Regards.
    Nazrul
  • Hey Narzrul,

    You are correct that is a possibility. The ERROR_RANGEn registers should provide and indication in the DIFF_HIGH_CHn bit if this is the case. Have you observed this is the case?

    Brian

  • Hello Brian,
    I am checking those bits(ERROR_RANGEn) too. Occasionally, they get sets. But most of the time they are at 0s. Even, if they are set, the adc should output zero voltage equivalent adc output code not 0xFFFFFF. Because, at that situation, the adc stop sampling the inputs and instead sample zero signal voltage. Regards.

    Nazrul
  • Nazrul,

    Are you able to correlate the times when the Flags get set to specific samples? There could be a correlation between the two events.

    Brian
  • Hello Brian,
    Thanks again for being with me with my problem with ads1293. I observed the data pattern and the flag bits but I can't establish a concrete correlation between these two events. My gut feeling is that for some reason, the ads1293 is not stable in my system. For example, for the last one hour, I am collecting data again and this time it is fine. The bit pattern like 0xFFFFFF gone(Though, it will come back at some point)! And the quality of the signal, I am getting, is very good. That means, with those data, if I draw the ecg wave, the ecg signal looks perfect. But after a while, in the same set up, I start receiving signal but with degraded quality. That means, I don't have a stable behaviour from ads1293. Some times good but at other times worse. Looking at this behaviour, any thing click in your mind?
    My best regards.
    Nazrul
  • Hello Narzrul,

    The only thing that makes sense in my mind is that the RL electrode is either not connected properly or that the RLD amplifier is not configured properly in the register settings. If the patient is driven correctly, the flags you are seeing should never be set. Can you send me your schematic and the contents of registers 0x0A-0x0C?

    Brian
  • Hello Brian,

    Again thanks a lot for your insight. Here is the schematic:

    And the content of registers:

    0A= 0X07;

    0B= 0X00;

    0C= 0X04

    I hope these information will provide you more information to help me out. Regards.

    Nazrul

  • Hello Brian,

    Yesterday, I sent you my schematic and the content of Reg.(0A,0B and 0C). Did you find anything wrong with those? Also, I have seen some discrepancies in the schematic provided in the data sheet and the ADS1293EVM schematic. Such as, PIN11 and PIN 12 got shorted according to the manual picture(page 39), where as, they are not shorted according to the ADS1293EVM schematic. Which one is correct? Please, let me know. Regards.
    Nazrul
  • Nazrul,

    I actually was not able to see your schematic from the last post. Can you click "Use rich formatting" and attach it as a file attachment to the post?

    Brian
  • TasDiagTemp.PDFHello Brian,

    Here is the attachment. Please, let me know, whether you have received it this time.

    Regards.

    Nazrul

  • Nazrul,

    Ok I see it now. Your schematic actually looks fine. The only way the connection between pins 11 and 12 could be affecting this is if bit 2 of the AFE_PACE_CN is set when it should be cleared. Your connections are consistent with using the internal RLD REF voltage to connect to the RLDIN net.

    Regards,
    Brian Pisani
  • Hello Brian,
    I am getting exhausted. I don't know, what else I should do. Do you have a footprint(package) for ads1293? Regards.
    Nazrul
  • Hello Nazrul,

    I apologize that this is so frustrating. It seems very strange that the output would ever be 0xFFFFF since that is greater than ADCOUTmax for any setting. Have you tried setting the input multiplexer on the channels to sample the "zero test signal" and verifying that you actually obtain data close to zero every time and that you never receive 0xFFFFFF ?

    Brian
  • Hello Brian,
    Yes, I tried setting the input multiplexer on the channels to sample "Zero test signal" and the adc output though not exact to the expected value but very close to the expected value. And with that setup, I never got 0xFFFFFF. Even, I tried "Test Signal", the adc output is very near to the expected value. The problem starts when I read actual ECG sample from a subject. Regards.
    Nazrul
  • Hello Nazrul,

    Let me discuss this issue with some colleagues. I apologize for the delay.

    Brian
  • Nazrul,

    Are you using the integrated lead-off detection circuit? Apparently this device has issues measuring data when the contact impedance between the electrodes and the patient is very high. This can be especially troublesome when using dry electrodes. Does this issue exist if you use an ECG simulator as the signal source?

    Brian
  • Hello Brian,

    Thank you very much for your reply. And again thanks a lot for being with me with my problem with ads1293. To answer your query:
    1. Yes, the lead of detection circuitry is active. My configuration for the related registers are:
    0x06 = 0x00;
    0x07= 0x0F;
    0X08 = 0X00;
    So, you are suggesting not to use the lead-off detection circuitry(keep that deactive)?

    2. I didn't use any ECG simulator as the signal source yet. May be I will try that too.

    My best regards.

    Nazrul
  • Hello Nazrul,

    1. No just the opposite. I want to see if you can tell if the contact impedance is has deteriorated to a point at which the ADS1293 cannot measure the signal.
    2. This would be a good thing to try since if you do not see the behavior then we could link the behavior to the electrode-patient impedance.

    Brian