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.

ADS1292ECG-FE: Read all zero data under continue mode

Part Number: ADS1292ECG-FE
Other Parts Discussed in Thread: ADS1292

In our application, ads1292 is used to capture ECG signal.our code will set 1292  sample rate at 500Hz, continue mode, then use the data ready signal to trigger an interrupt in the MCU. In the interrupt call back function, we will read the converted data pairs of the two channels.

Most of times, the routine works correctly, but some times we read all zeros for status, channel 0, channel 1. After check the hardware, we can confirm the hardware was in good status. In the test, we found we need to resend a rdatac command again, then read ecg data comes out.  It looks like the previous rdatac command doesn't work correctly. But this problem only happens several time every 100 tests. We are not sure what root cause of the issue, and so there isn't a proper solution for it.

  • Hi user4375496,

    Welcome to the e2e forum!  

    It sounds like you may have noise getting into your ADS1292 somehow - is the DRDY pulse still toggling when this issue happens?  Are you only sending the RDATAC command or are you resetting the device and re-writing other registers as well?  Schematics and scope or logic analyzer plots of your control signals would be helpful to understand what the issue might be. 

  • Yes, the DRDY interrupt is toggling and only need to resend rdatac command, then the status, ch0,ch1 data registers. We did capture the signal of MISO line, and the level is low in the error condition.

  • If you can capture the control lines when this fault occurs, please send along a screen shot showing the details.  Please capture the /CS, SCLK, DRDY and SDO lines and paste the detail in a post here.

  • For this issue, we just found a solution:

    after power up, before the write the registers,software need to send a stop command. But the command sometimes didn't work immediately. So we have to check the status by reading back the ID register.  Before we can read id correctly, we will send stop command repeatedly. After adding the check, the issue was found again.

    Is that related to the reset?

    PS. we did wait for 1 second for clk stable.

  • Hi user4375496,

    If the ADS1292 does not reset properly, there can be some strange behavior. Waiting for the clock to stabilize is recommended. If you have a spare GPIO, pulsing the RESET pin can also provide a clean reset after powerup.