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.

ADS1292 DRDY strange behaviour

Other Parts Discussed in Thread: ADS1292, ADS1299

I have two sensors sharing one SPI interface - one of them is ADS1292. Both sensors are using 125Hz sampling. ADS is in Continuous Data Read Mode.

My problem is that ADS DRDY ping is going crazy when the DRDY interrupt occurs during collecting data from another sensor. Sampling frequency (125Hz) in both sensors is not equal so this situation happens every time ads interrupt is trying to overtake second sensor interrupt - for me every ~7s. So every time I am losing a lot of samples. 

Any ideas how to deal with such a situation?

Best regards,

Radoslaw Nowosielski

  • Hey Radoslaw,

    How do you have the two asynchronous slaves attached to the bus? It might be a problem with the sequence of events. You're right; there only seems to be an issue when DRDY toggles while you are communicating with the other device. What is happening to the CS pin on the ADS1292 during this time?

    Regards,
    Brian Pisani
  • Dear Brian,
    Thank you for your response.
    Both devices on spi bus are using their own internal sampling (~125Hz) with interrupt outputs. It generates an interrupts in the microcontroller.
    Of course ADS CS pin is LOW only during comunication with ADS. All the timing recommendations have been met.
    Problem disappearing when the second spi device is off. But for me it is important to have both devices on same spi bus.

    Regards,
    Radoslaw Nowosielski
  • Hey Radoslaw,

    Looking closer at the data, the data from the ADS1299 seems to be coming back correct albeit after you have finished collecting from the other device. Is your concern with the DRDY pin coming high even when CS is high?

    Regards,
    Brian Pisani
  • Dear Brian,

    I've added a ADS1292 CS  signal on the charts. Datasheet says: "DRDY asserts when data conversion is complete, regardless of whether CS is high or low." 

    On every ADS interrupt I am collecting proper data. The problem appears when ADS DRDY interrupt occurs while I am communicating with another sensor. After that I am always losting few ADS samples because ADS DRDY pin doest't generate interrupts.

    I believe this might be a problem:

    "DRDY is pulled high at the SCLK falling edge. Note that DRDY goes high on the first SCLK falling edge regardless of the status of CS".

    So if ADS DRDY occurs on fast SCLK signal (2.5MHz for my another sensor) it can immediately go high without generating interrupt.

    If this is true, then you have a quite a big BUG on your ADS SPI interface not allowing to share bus with other devices! BTW For me it is a very stupid idea to reset DRDY pin on first SCLK regardless of CS. This should happen only when ADS CS is LOW.

    Radoslaw Nowosielski

  • Hey Radoslsaw,

    Your feedback has been noted.

    Brian