AD7124 Always reads zero. RDY/IDLE bit is always 1

Hello,

I am trying to bring up an AD7124-8 to measure a 3-Write RTD. I have tried many configurations, but have not managed to read any values from the data register, nor banish all errors from the error register. 

All reads from the DATA register always return 0. All reads from the STATUS register always show the IDLE/RDY bit as high, and the error bit is high if I enable enough errors. 

Schematic

I have 1 PT100 RTD connected to the RTD1 input as pictured. All other RTDs connections are left floating. 

Voltage Measurements

REGCAPA = 1.92V

REGCAPD = 1.795V

REFIN+ - REFIN- = 1.21V

AIN2 - AIN1 = 398 mV

Register Dump

0x00,0x000000c0
0x01,0x00000081
0x02,0x00000000
0x03,0x00003505
0x04,0x00000000
0x05,0x00000014
0x06,0x00000080
0x07,0x0007fbda
0x08,0x00000000
0x09,0x00008022
0x0a,0x00000001
0x0b,0x00000001
0x0c,0x00000001
0x0d,0x00000001
0x0e,0x00000001
0x0f,0x00000001
0x10,0x00000001
0x11,0x00000001
0x12,0x00000001
0x13,0x00000001
0x14,0x00000001
0x15,0x00000001
0x16,0x00000001
0x17,0x00000001
0x18,0x00000001
0x19,0x000009e4
0x1a,0x00000860
0x1b,0x00000860
0x1c,0x00000860
0x1d,0x00000860
0x1e,0x00000860
0x1f,0x00000860
0x20,0x00000860
0x21,0x00060180
0x22,0x00060180
0x23,0x00060180
0x24,0x00060180
0x25,0x00060180
0x26,0x00060180
0x27,0x00060180
0x28,0x00060180
0x29,0x00800000
0x2a,0x00800000
0x2b,0x00800000
0x2c,0x00800000
0x2d,0x00800000
0x2e,0x00800000
0x2f,0x00800000
0x30,0x00800000
0x31,0x00554f25
0x32,0x00554f25
0x33,0x00554f25
0x34,0x00554f25
0x35,0x00554f25
0x36,0x00554f25
0x37,0x00554f25
0x38,0x00554f25

Any support is appreciated!

Parents
  • 0
    •  Analog Employees 
    on Jun 4, 2021 6:25 AM

    Hi, 

    Apologies. This is just a common steps I prefer to check if the ADC is converting and communicating properly with the MCU. Upon power up, can you pull /CS low and just monitor the DRDY pin if it is pulsing at correct ODR? 

    Once you see it is pulsing, can you try to change the ODR settings and then see again if it is now pulsing at the new ODR? Then you can also check if you configure the ADC correctly by writing and reading to the same register. Once you confirm that the ADC is converting and that the SPI interface is good. Then we can go to the hardware debugging.

    I'm sorry I'm kinda loaded now, but I will review this and come back to you if I find anything else. 

    Thanks,

    Jellenie

  • Hi Jellenie,

    I have powered on the ADC, pulled /CS low, and DOUT/RDY remains high. 

    I'm pretty sure something else is the issue. Maybe even the ADC is broken? I'd be surprised though.

    My reasoning is that when I communicate with the device, it appears to be functioning correctly.

    For example, the ID register reads back correctly. If I enable the MCLK_COUNT_EN bit in the ERROR_EN_REGISTER, the MCLK_COUNT register begins to update as expected. 

Reply
  • Hi Jellenie,

    I have powered on the ADC, pulled /CS low, and DOUT/RDY remains high. 

    I'm pretty sure something else is the issue. Maybe even the ADC is broken? I'd be surprised though.

    My reasoning is that when I communicate with the device, it appears to be functioning correctly.

    For example, the ID register reads back correctly. If I enable the MCLK_COUNT_EN bit in the ERROR_EN_REGISTER, the MCLK_COUNT register begins to update as expected. 

Children