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.

TPS65986: TPS65986

Part Number: TPS65986

Hi Team,

I need urgent help please with TPS65986.

The chip was flashed with a bin file I’ve got from configuration application. Flash load occurs OK, as far as I can see from constantly switching CC1 and CC2 signals.

The problem is that the chip does not answer to I2C. (it shares I2C with charger, fuel gauge and LED driver, they work OK, no address conflict as well, but TPS65986 always returns NACK from the first address write, I tried 0x38, 0x70, 0x20, 0x40 as an address, just NACK and that’s all). The I2C_ADDR pin is hardwired to GND. The configuration application displays 0x38 as an address. The sleep is configured so that TPS65986 can miss first transaction, so I make dummy transaction of 1byte address write. I get NACK in both first dummy and second real transaction.

Could You please help me understand what can it be?

Thanks a lot and Best Regards,

Shlomi

  • Hi Shlomi,

    There are a few things to check. With I2C_ADDR pin grounded, there are the following I2C addr combinations for each I2C port depending on the state of the DBG_CTRL pins, which also affect the I2C address.

    I2C1 address will be 0x38 regardless of the state of these pins.
    I2C2 address will be either 0x20, 0x28, 0x30 or 0x38 depending on combination of these pins.

    The configuration and debugging tool that you used to create the flash address has an I2C sweeping mechanism that you can use to attempt to talk on all possible I2C addr between 0x1 and 0x7F and will report if it gets a non-NAK response. You can access via the Debug-->Configure I2C/SPI Adapter Settings menu.

    The I2C sweeper will do a dummy read before the real read attempt to wake the device as you mention.

    If you do not get an I2C address returned via the sweep, can you reconfigure the flash image to disable sleep? It would be good to remove this as a variable, and if we determine that sleep is the issue, we can reenable it. There is a setting for the sleep mode called "no delay" that will go to sleep immediately without a delay, and even if you do a dummy read, the device may go back to sleep before the real read if this setting is enabled.

    Also, are you attempting to talk to a TI EVM, or is this custom hardware?

    Best Regards,
    Steve
  • Hi Shlomi,

    Since we closed this thread, could you PLEASE select  This resolved my issue  

    Thank you so much for your question and choosing TI parts for your design :-)

  • Hi Aramis,

    Thanks a lot for your great support, is solve my issue.

    Shlomi