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 - exit from SAFE mode



We have a problem with the TPS sometimes getting into SAFE mode before getting the chance to initialize the chip.  Is is possible to transition to RESET state from SAFE state *without* a Power on reset? The spec, as I interpret it, implies that setting WD_RST_EN should do the trick but I have not been successful with that.

The post "TPS65381 - ends up in SAVE mode" could be related to this, but that question as not been answered yet.

  • The only way for the device to enter the safe state from the reset state would be caused by the ABIST_FAIL or LBIST_FAIL Global SAFE Conditions. If you look at page 51 you can see the state machine of this device. Our BIST is a built -in self-test that monitors device functionality at start-up. So somehow you are failing this test and the device is entering the safe state. I have seen this happen sometimes due to glitches in the timing of the communication. Page 24 descibes some of the details in the ABIST test.

  • Thanks for the response Alex.

    Is is possible to transition to RESET state from SAFE state *without* a Power on reset?

  • The BIST tests are global SAFE conditions and are regardless of device current state except STANDBY and SAFE states. Please look at the state diagram I referenced earlier (p51). It has the answers to your question.

  • So if I understand the spec correctly once we are in a SAFE state we are unable to modify any TPS registers, which implies that if you get an BIST_FAIL error at POR your only recourse is a power reset? (I'm looking for a simple Yes or No here :-))


    Can you elaborate on your statement "I have seen this happen sometimes due to glitches in the timing of the communication"?

  • Paul,

    No, you are not correct. You can reach the RESET state from the SAFE state when NO_SAFE_TO is set to 0 and DEV_ERR_CNT = SAFE_LOCK_THR +1 after 680msec.

    The statement I made is only for EVM testing using the GUI. Sometimes the computer that is being used to control the GUI lags and will cause the communication to last longer than the maximum communication time and go into the SAFE state.

  • There is a catch 22 here.

    Since safety registers can only be modified in the DIAG state...  when the TPS makes the transition from RESET directly to SAFE (i.e. due to ABIST failure) then the TPS will be stuck in SAFE sate and will not transition to RESET.

  • Hi Todd,

    I don't believe that is the case.  The only time that the device will be stuck in SAFE state is if the NO_SAFE_TO bit is set to 1 and DEV_ERR_CNT reaches the SAFE_LOCK_THR +1.  If the device transitioned from RESET state directly to SAFE state, then DEV_ERR_CNT will not be incremented and therefore it cannot reach the SAFE_LOCK_THR +1.  Does that make sense?

  • Ben,

    When there is an automatic transition directly from the RESET state to the SAFE the following default state applies:

    • NO_SAFE_TO = 1
    • DEV_ERR_CNT = 0
    • SAFE_LOCK_THR =  0 (same effect as 1111 setting... maximum)

    So given that ...

    • Stays in SAFE State when NO_SAFE_TO = 1 (default state) and (DEV_ERR_CNT = SAFE_LOCK_THR + 1)
    • Safety registers cannot be modified in the SAFE state

    ... there is no escape from the SAFE state in this scenario.

    Todd

  • Todd,

    In the scenario that you just mentioned, DEV_ERR_CNT does not equal SAFE_LOCK_THR + 1.
     
    DEV_ERR_CNT = 0
    SAFE_LOCK_THR = 0
    SAFE_LOCK_THR + 1 = 1
     
    So, the device will transition to the RESET state after the reset delay time-out expires.  I think you might be forgetting about the +1.
  • We will try to confirm default state, and in particular dev_err_cnt.

    What I can tell you is that we do get stuck in the SAFE state when there is a direct RESET to SAFE state transition after a power-up. There was at least one other company experiencing the same phenomena in these forums so I don't believe it is unique to us.

    Todd