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.

TPS659101 Hardware reset FAILURE

Other Parts Discussed in Thread: TPS65910

The device have battery ,but the battery can`t  remove , sometimes when the device occur  problem, we press the PWRON 8s, but PMIC can`t  turn off and TPS65910 EVM Software I2C can`t communication with TPS659101.

What  result this state.

  • Hi ZuXing,

    Can you provide more details into the initial problem that is requiring the restart?

    Figure 6.1 in the TPS65910 datasheet shows a logic diagram in the top right corner for power enable and disable conditions.This should show what conditions result in the various states.

    PWRON_LP_IT is just one source that can turn the device off, the others are thermal shutdown and software commands. Is the device not shutting down, or is the device not restarting after holding the push button?

  • Hi Richard,

    Thanks

    In fault device have below 3 point problem .

    1. SWIO =0V (normal 1.8V ) SW1 = 0V (normal 1.2V ) ,SW2 and all LDO is normal.

    2. PWRHOLD pin add strong pull down the TPS689101 not shutdown.

    3. I2C can not communication with " TPS65910 EVM Software".

    4. Disconnect the device power after reopen device above problem back to normal.

    In the device can not remove the battery.

    This is how it is caused.


    TPS659101 Initial code:
    void WriteTPS659101CONFIG(void)
    {
    CFG_WRITE(SIO_C);
    CFG_WRITE(SIO_D);
    TPS659101_IIC_SendByte(0x33,0x0d);
    TPS659101_IIC_SendByte(0x39,0x05);
    TPS659101_IIC_SendByte(0x41,0x08);
    ///5V usb host
    TPS659101_IIC_SendByte(0x27,0x05);
    }
  • Hi ZuXing,

    Does setting DCDCCTRL_REG[1:0] = 00 have any effect on the behavior?

    Does the issue still occur if you do not enable VDD3?

  • Hi Richard,

    Thanks , we will test .
  • Hi Richard .

    Below is TPS65910 at the system sleep and wake up operation code .

    sleep

           TPS659101_IIC_SendByte(0x50, 0xff);

    TPS659101_IIC_SendByte(0x52, 0xff);

    //TPS659101_IIC_SendByte(0x31, 0x06);

    //TPS659101_IIC_SendByte(0x43, 0xba);//10111110

    TPS659101_IIC_SendByte(0x43, 0xbe);//10111110

    TPS659101_IIC_SendByte(0x44, 0x06);//00001110

    tmp = TPS659101_IIC_ReceiveByte(0x3F);

    TPS659101_IIC_SendByte(0x3F, (tmp|0x02));

    wake up

     TPS659101_IIC_SendByte(0x51,0xFF);

    TPS659101_IIC_SendByte(0x53,0xFF);

    TPS659101_IIC_SendByte(0x50,0xFF);

    TPS659101_IIC_SendByte(0x52,0xFF);

    System wake up TPS659101 I2C signal.

  • Hi ZuXing,

    If the issue occurs after using the wake up routine, it is probably due to the masking of the interrupts, specifically in register 0x50.
    Masking PWRHOLD and PWR_LP_IT should cause the behavior you are observing.

    Also, some of your comments varied from the values you were writing, such as turning off VDD3 in sleep mode.