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.

ADS7138-Q1: I read always 0x00 from the register analog inputs

Part Number: ADS7138-Q1

Hello

I was able to communicate with the part because adter sending the next command: RIB 0x2E 0x1000 1 => Result: 0x81

However after sending the next settings to configure the ADC in a manual way, I alwas read 0x00 in all the channels (I have already checked that the input voltage on AINXX are in the range of 1V - 1v8 :

1) All AINxx configured as Analog inputs:

WIB 2e 0805 00

2) Send the calibration command:


WIB 2E 0801 02

3) CON_MODE = Manual:

WIB 2E 0804 00

4) SEQ_MODE = Manual:

WIB 2E 0810 00

5) Select Channel to read (AIN0):

WIB 2E 0811 00

6) Read the register of AIN0: 

RIB 2E 10A0 1

Result=0x00 for all the AIN. I have tried to enable the FIX PATTERN register (WIB 2E 0802 80) and I read always 0x00 too. 

See also the schematics:

Any idea? Thanks in advance.

  • Enrique,

    1.  The register writes look correct.  In most cases it looks like you are writing the power on default values of the registers back into the registers.  This isn't a bad idea, but should not be required.

    2.  I am a little confused by the command that you are using to read the conversion result.  Can you explain what each 8bit word is doing in your write?  Alternatively, have you looked at section 8.3.10 "Frame A reading ADC data".  This shows how an ADC read is supposed to happen.  Note that the "R" bit is set high to initiate a read.

    3.  If you are not already doing so, you should use a scope or logic analyzer to confirm that you are receiving the expected acknowledgments from I2C reads and writes.

    Let me know if this helps, or if you have further questions.

    Art