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.

TPS6594-Q1: How to know TPS6594 FSM working status

Part Number: TPS6594-Q1

Hi, Expert.

As title description.

Customer try to use MCU control TPS6594x,

How to know TPS6594x work in which state?

For example, How to know TPS6594 works in "STANDBY Mode" ? I think ,

1. Could we read register from through I2C in STANDBY Mode

if the question is "yes", What's the register?

2. Do we have any GPIO do indicator each FSM state? 

Many Thanks

Gibbs

  • Hello Gibbs,

    Is this from the datasheet or a User's guide for one of the many TPS6594XXXX?

    There is no clear indicator on what EXACT state the machine is in, besides signals like nRSTOUT, EN_DRV, EN, output rails.

    Either way this is all very dependent on how the PMIC was programmed.

    For example, How to know TPS6594 works in "STANDBY Mode" ? I think ,

    Standby mode has no power output from any of the rails, EN_DRV & nRSTOUT are low. When programmed by TI, for self custom programming the user can go against this idea of standby mode and call it that.

    2. Do we have any GPIO do indicator each FSM state? 

    Depends on the programming, but there can be, but we mostly use the GPIOs to trigger some external devices for Power Distribution Networks (PDN).

    1. Could we read register from through I2C in STANDBY Mode

    In the case of a PMIC error, the device will react to how it's programmed, you can check registers 0x5A - 0x6C on the base address of I2C or Page 0 of SPI to read these interrupt registers. This is only if an error has occurred.

    Outside of this you can only make a decision on what state the device is in based upon the output signals of the PMIC, from the associated triggers with each transition.

    BR,

    Nicholas

  • Hi, Nicholas

    Thanks your reply

    Q1/A1: Is this from the datasheet or a User's guide for one of the many TPS6594XXXX?

    Customer use TPS65941120 & TSP65941421 for TDA4AL PMIC control. I reference related information from "TPS65941120-Q1, TPS65941421-Q1 and LP876411B5-Q1PMIC User Guide for J721S2, PDN-0A", Document No.SLVUCJ9 – FEBRUARY 2023

    Ref p33. it shows PMIC working state machine

    Q2/A2: Could we read register from through I2C in STANDBY Mode? 

    So , we do not have an dedicated register to indicate PMIC work state. If PMIC works in "STANDBY Mode", MCU can access PMIC register through SPI.

    We can check some error register (ex:0x5A - 0x6C) to diagnostic what's PMIC work status.

    for example, we can read "INT_FSM_ERR Register (Offset = 0x69)" with bit 0 ~ bit 3. if power error happen, it "should be" in STANDBY Mode

    If something wrong, pls correct me.

    Many Thanks

    Gibbs

  • Hello Gibbs,

    Thank you for your answers this helps greatly!

    Customer use TPS65941120 & TSP65941421 for TDA4AL PMIC control. I reference related information from "TPS65941120-Q1, TPS65941421-Q1 and LP876411B5-Q1PMIC User Guide for J721S2, PDN-0A", Document No.SLVUCJ9 – FEBRUARY 2023

    Ref p33. it shows PMIC working state machine

    As for this specific layout there are several states each with their associated power sequences with their various voltages for their rails. In order to ensure which state your in, look at the power sequences in the guide and see what rails are currently being output along with the interrupts.

    So , we do not have an dedicated register to indicate PMIC work state. If PMIC works in "STANDBY Mode", MCU can access PMIC register through SPI.

    That is correct, there is not dedicated register to indicate the PMIC state!

    Yes, as long as the device on the other side of the I2C can control the line the PMIC can be read from, only when there is a major power condition is the PMIC I2C not accessible. Such as a massive over voltage event on the input side of the PMIC, 4V1 on the input where we see 3V3.

    We can check some error register (ex:0x5A - 0x6C) to diagnostic what's PMIC work status.

    for example, we can read "INT_FSM_ERR Register (Offset = 0x69)" with bit 0 ~ bit 3. if power error happen, it "should be" in STANDBY Mode

    If something wrong, pls correct me.

    Yes, that's correct we can look at the error register and see which errors have occurred and look at the trigger priority to see the current state.

    Also correct from your example, but only if we have a MCU Power Error, which corresponds to power errors on certain output BUCKs/LDOs.

    In the example if a SoC Power Error occurred then we would be in the "SoC Power Error" state instead.

    Hope that clears any misconceptions about the device as it can be quite overwhelming!

    BR,

    Nicholas