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.

TPS65381 - ends up in SAVE mode

Other Parts Discussed in Thread: HALCOGEN, TPS65381-Q1

Hi there,

I'm working with RM46 and TPS65381.

It seems, that I'm missing something, because TPS65381 always ends up in SAVE mode directly after a power up reset.

Here's what's going on:

- powering my pcb

- TPS65381 releases RM46 (nRES)

- RM46 begins to work (self checks)

- after ca. 22ms I'm reading a lot of registers via SPI:

  • SAFETY_STAT_3 reg -> 0x00 -> everything seems fine
  • SAFETY_STAT_5 -> 0x04 -> SAVE mode (!!!!!)
  • SAFETY_ERR_STAT -> 0x01
  • SAFETY_ERR_CFG -> 0x00
  • SAFETY_FUNC_CFG -> 0x85
  • VMON_STAT_1 -> 0x00
  • VMON_STAT_2 -> 0x00
  • SAFETY_STAT_1 -> 0x00
  • SAFETY_STAT_2 -> 0x07
  • SAFETY_STAT_3 -> 0x00
  • SAFETY_STAT_4 -> 0x00

At that time (ca. 22ms after release of nRES) TPS65381 already seems to be in SAVE mode,

although I expect it to be in DIAGNOSTIC mode...!

At the moment I have no idea for that behaviour. Do you have a hint for me?

Regards, Andy

  • Hi Andy,

    Can you check the status of the nERROR output from the MCU to the TPS65381? The TPS65381 will enter SAFE state if the nERROR pin stays low for longer than 5us (default). This duration is programmed via the SAFETY_ERR_PWM_L register in 5us steps.

    Regards,

    Sunil

  • Hi Sunil,


    here is a Screenshot of the Booting Sequence of the RM46:

    • TPS is rising nRES
    • 200us later, RM46 is rising nERROR
    • later RM46 is pulling nERROR low for 740us (probably due to self checks in HalCoGen code...?)
    • later RM46 is pulling nERROR low for 220us

    Are you sure, that TPS will go from DIAGNOSTIC to SAVE state because of nERROR beeing low?

    • (Datasheet, Page42: When the TPS65381-Q1 device is in DIAGNOSTIC state, the MCU can emulate a signaling error (emulated fault-injection) for a diagnostic check of the error signal monitor by checking the status of the ERROR_PIN_FAIL bit.)
    • SAFETY_CHECK_CTRL is 0x14
      -> NO_ERROR is 1 -> error signal monitor should be de-activated!
      (data sheet, Page 42: The error signal monitor is de-activated per default,
      and can be activated by setting bit NO_ERROR to 0 in SAFETY_CHECK_CTRL SPI register)

    • as you can see in my first post: SAFETY_ERR_STAT is 0x01, so ERROR_PIN_FAIL flag is cleared

    So I think, TPS should not go from DIAGNOSTIC to SAVE mode because of nERROR beeing LOW.


    Still, I don't understand the behaviour of the TPS65381.

    Best regards, Andy

  • Hi Andy,

    You are right: the transition from DIAGNOSTIC state to SAFE state does not happen due to the nERROR pin. This is only possible by the expiration of a 600ms timeout interval counter inside the TPS.

    See below description from the TPS65381 datasheet.

    DIAGNOSTIC STATE
    • Enters from the RESET state after all regulators are ramped-up and the MCU reset (NRES pin) extension is
    completed
    • State used to perform all device self-tests and diagnostics by the MCU (failures are induced to emulate
    internal failures and confirm their detection)
    NOTE: if the DIAG_EXIT_MASK or DIAG_EXIT bit is not set to 1 within 600 ms, the DIAGNOSTIC state timeout
    interval expires, causing a transition to the SAFE state (both the ERROR_PIN failure and WDT failure
    status bits are set to 1 in the SAFETY_ERR_STATUS register, and the error count is incremented. When
    setting the DIAG_EXIT_MASK bit to 1 (only recommended for software debug), device stays in the
    DIAGNOSTIC state until the DIAG_EXIT bit is set. Setting the DIAG_EXIT bit to 1 causes a controlled
    transition to the ACTIVE state.

    Regards, Sunil

  • Hi Sunil,

    as you wrote, TPS will transit from DIAGNOSTIC to SAVE state after 600ms.

    But as I wrote in my first post, TPS is already in SAVE state after 22ms!

    You can see the values of (nearly) all TPS-registers in my first post.
    I can't find any failure-flag which can explain this behavior...

    - Do you see any hint in the values of the TPS registers?

    - Which circumstances can lead to the situation, that TPS is going directly from RESET state to SAVE state?

    Best regards, Andy

  • Andy,

    I will move this thread to the TPS support team that can answer this better.

    Regards, Sunil

  • Hi there,

    as I wrote before, I'm reading ca. 22m after start of RM46 nearly all SPI registers of TPS65381
    (for debugging purposes).

    • VMON_STAT_1 -> 0x00                      (default)
    • VMON_STAT_2 -> 0x00                      (default)
    • SAFETY_STAT_1 -> 0x00                   (default)
    • SAFETY_STAT_2 -> 0x07                   (too high,  def=0x05)
    • SAFETY_STAT_3 -> 0x00                   (default)
    • SAFETY_STAT_4 -> 0x00                   (default)
    • SAFETY_STAT_5 -> 0x04                   (SAVE mode!!! def=DIAG)
    • SAFETY_ERR_CFG -> 0x00              (SAFE_TO=0x00!!!! -> 22ms from SAVE to RESET,  def=0x06)
    • SAFETY_BIST_CTRL -> 0x00            (default)
    • SAFETY_CHECK_CTRL -> 0x14      (default)
    • SAFETY_FUNC_CFG -> 0x85           (NO_SAFE_TO is SET, IGN_PWRL is CLEARED! )
    • SAFETY_ERR_STAT -> 0x01             (DEV_ERR_CNT = 0x01!!!   def=0x00)
    • SAFETY_ERR_PWM_H -> 0xA8       (default)
    • SAFETY_ERR_PWM_L -> 0x3D       (default)
    • SAFETY_PWD_THR_CFG -> 0x0F  (default)
    • WDT_STATUS -> 0xC1                       (TOKEN_ERLY  flag is SET!)

    I really need an explanation for this behaviour.

    - DEV_ERR_CNT is 0x01, but I cannot find any error flag which shows the reason for that...?

    - The register contents show, that TPS is already in SAVE mode (22ms after release of nPORRST/nRES).
      I expect TPS to be in DIAG mode at that time.
    - Which circumstances can lead to the situation, that TPS is going directly from RESET state to SAVE state?

    Best regards,

    Andy