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.

BQ25628: Random VSYS Voltage Drops Causing System Restarts

Part Number: BQ25628

Tool/software:

Hello,

I am using the BQ25628 charger IC in our circuit, and on a few of our boards, we're encountering an issue where the VSYS supply voltage drops randomly. This causes our system to restart repeatedly

The issue seems to happen without any clear pattern, and after the voltage drops, it returns to normal on its own.

Are there any specific configuration settings that we should check or adjust to ensure proper operation

Any insights or suggestions would be greatly appreciated. 

Thank you in advance for your support!

  • Hello, 

    Thank you for reaching out via E2E. Can you please help to provide some additional information I have outlined below. 

    -Please help to provide a waveform showing the time duration of the SYS voltage drop. 

    -What is your current register configuration for the BQ25628? 

    -What I2C clock frequency do you use in your system? 

    Best Regards,

    Garrett 

  • Hi Garrett,

    Thank you for the response.



    Please find the attached image file waveform, showing the time duration of the SYS voltage drop






    register configuration for the BQ25628 are:

    static int bq25628_update_registers(void)
    {
    uint8_t a=0xF8; // CTRL1_XL
    bq25628_write(0x12, &a, 1); // CTRL1_XL // 4th
    a=0x00; // TAP_CFG0
    bq25628_write(0x13, &a, 1); // TAP_CFG0 //5th
    a=0xB0; // TAP_CFG1
    bq25628_write(0x16, &a, 1); // TAP_CFG1 //6th
    a=0xC0; // TAP_CFG2 //1200mA // a=0x40 = 4096mA;
    bq25628_write(0x02, &a, 1); // TAP_CFG2 //7th
    a=0x03; // TAP_THS_6D
    bq25628_write(0x03, &a, 1); // TAP_THS_6D //8th

    //a=0xB0; // INT_DUR2
    //bq25628_write(0x26, &a, 1); // INT_DUR2 //9th
    a=0x00; // INT_DUR2
    bq25628_write(0x27, &a, 1); // INT_DUR2 //9th
    a=0xA0; // INT_DUR2
    bq25628_write(0x16, &a, 1); // INT_DUR2
    a=0xC0; // INT_DUR2
    bq25628_write(0x19, &a, 1); // INT_DUR2 //1st
    a=0x38; // INT_DUR2
    bq25628_write(0x10, &a, 1); // INT_DUR2 //2nd
    a=0x00; // INT_DUR2
    bq25628_write(0x11, &a, 1); // INT_DUR2 //3rd
    a=0x3D; // INT_DUR2
    bq25628_write(0x1A, &a, 1); // INT_DUR2 //10th
    a=0x60; // INT_DUR2
    bq25628_write(0x08, &a, 1); // INT_DUR2 //3rd
    a=0x0E; // INT_DUR2
    bq25628_write(0x09, &a, 1); // INT_DUR2 //10th
    }


    We are using a 100 kHz I2C clock frequency in our system


    Regards
    Manpreet Singh


  • Hi Manpreet,

    Thank you for answering my various questions it is helpful information.

    Can you help to provide your email and we can continue more detailed debug? I have also sent you a friend request through the E2E forum so you have option to share email via private message if you do not wish to share on public post. 

    Best Regards,

    Garrett