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.

TPS389006-Q1: Reading ADC

Part Number: TPS389006-Q1

Tool/software:

I'm bringing up a new design which has 3 devices attached to a common I2C bus.

I am using SMBus byte read/write commands and able to talk to the CSR's and read known reset values so that is all good.

My hardware has nSLEEP pulled to 3.3v, and ENABLE is a GPIO controlled pin I have pulled high.

I've programmed MON_CH_EN (0x1E) to 0xff and VRANGE_MULT=4

When I read a monitor channel I have hooked up to a test point and external power supply, I am always reading back 92 decimal.

I am writing 1 to the BANK_SEL register and then readint the MON_LVL1

I am always reading back 92. I am not sure if my sequence above is correct.

Why can I not see any change in the MON_LVL register even if I change the input voltage?

What is a strategy to debug here?

Thank you!

  • Hello James, 

    I will review and provided an update by 10/10. 

    Regards, 

    Oscar Ambriz

  • Thanks Oscar! Looking forward to it. I can email you my code also if you'd like. It runs on an Arduino.

  • Hello James, 

    There are a few things I would like to check here: 

    1. What variant of the TPS3890x-Q1 device are you using? is it the TPS389006004RTERQ1 variant which comes standard with the EVM

    2. Are all the remote sense pins connected to ground

    3. "I've programmed MON_CH_EN (0x1E) to 0xff and VRANGE_MULT=4" both of these operations are done by writing to registers 0x1E and 0x1F of bank One correct? 

    4.  "I am writing 1 to the BANK_SEL register and then readint the MON_LVL1" the ADC readback for MON is located in Bank0 of the register map. Just want to make sure we are reading from the correct bank here. 

    5. What is the voltage being connected to the MON pin in question? I can calculate the expected value based of the voltage 

    Feel free to send over the code through email, I can verify the correct sequence is being completed.

    Ex) Say the device is properly connected and a 3.3 V source is connected to MON6

    1. I assume MON6 is already set to a 4x scale because the 4x scale covers the (0.8 to 5.5 V) range

    2. Enter Bank 0 of the register map by writing data 0x00 to address 0xF0

    3. Read register 0x45, a hex data value should be returned (in this case 0x7D)

    4. Translate hex value to voltage, I attached a helpful tool for this action

    8512.TPS38900x_Feature_Tool.xlsx

    Regards, 

    Oscar Ambriz