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.

BQ24296: how to reset bq24296 safetimer

Part Number: BQ24296

1. plug in charger,

2.keep charging until charge termination done.

3. keep charger plug in,  the safety timer is not expires at this time,  how can I reset the safety timer at this condtion ? thanks.

  • 您好,请参考数据手册9.3.3.5.1 Safety Timer Configuration Change

    试一下关闭safety timer然后再使能safety timer是否能restart

  • 通过验证,此修改无效无效,通过REG5[3]disable satety timer 再 enable safety timer, satety timer并没有restart。

  • 您好,正在询问更了解这款芯片的TI工程师,稍后回复。

  • 试过了规格书说的3中方法都不行。

    保持AC适配器一直连接着,在satety timer未超时之前,执行

    Toggle the CE pin HIGH to LOW to HIGH (charge enable)

    Write REG01[5:4] from 00 to 01 (charge enable)
    Write REG05[3] from 0 to 1 (safety timer enable)

    这个操作都无法将safety timer复位,  只有在出现sefety timer超时之后,执行以上的操作才有作用。

  • 您好,For the conditions you laid out the safety timer should not need to be reset. The timer should reset on its own when charge termination is reached. The safety timer does not continue to count after charge terminates even if input adapter remains plugged in. 

    In general the follow actions will reset the safety timer. This is from page 28 of the BQ24296 datasheet. 

  • 这边的使用场景是AC适配器会一直插着。

    这边验证在触发几次回充后,就会出现safety timer超时,导致无法再充电了。

    所以我希望在触发回充的时候,能够将safety timer复位下,这样如果再触发timer超时,我就可以判断是异常了,而不是几次回充的时间积累导致超时。

    如果说等触发了timer超时,我直接去清除,那不如直接关闭safety timer功能就好了。

  • 您好,正在询问更了解这款芯片的TI工程师,稍后回复。

  • 您好, What is the total time from start of test until safety timer expires? What safety timer setting (CHG_TIMER in REG05) is the customer using? How are they determining that charge has terminated? 

    A simple software workaround would be to reset the timer via toggle of EN_TIMER bit in REG05 every time they detect a recharge. 

  • 您好, What is the total time from start of test until safety timer expires? What safety timer setting (CHG_TIMER in REG05) is the customer using? How are they determining that charge has terminated? 

    -->设定的safety timer是12 hours, 是通过irq中断时去读取REG09寄存器值判断。

    A simple software workaround would be to reset the timer via toggle of EN_TIMER bit in REG05 every time they detect a recharge. 

    -->这个试过了,没有作用。

  • 您好,正在查询,稍后回复。

  • 您好,Setting the EN_TIMER bit [REG05 bit 3] to 0b then back to 1b has been verified to reset the safety timer.  How are you checking that this method has not worked to reset the timer?

    If you are checking REG09 please ensure you are reading it twice in a row to ensure previous fault is cleared. The 2nd read will be any current fault statuses. 

  • 我是通过irq打印出来的寄存器值:

    static irqreturn_t bq24296_irq_handler(int irq, void *data)
    {
    int ret = 0;
    u8 data1 = 0,data2 = 0,data3 = 0;

    ret = bq24296_read_byte(bq24296_CON9, &data1);
    ret = bq24296_read_byte(bq24296_CON8, &data2);
    ret = bq24296_read_byte(bq24296_CON9, &data3);
    bq_info("bq24296 irq:0x%x,0x%x,0x%x\n", data1,data2,data3);

    return IRQ_HANDLED;
    }

    通过log查看到data3 = 0x30,认为是出现了超时。

    我想确认下reset satety timer的方法,除了通过写REG05 bit3 还有其他方法吗?

    比如之前提到的:

    Toggle the CE pin HIGH to LOW to HIGH (charge enable)

    Write REG01[5:4] from 00 to 01 (charge enable)

    这个能够reset saftey timer吗?

  • 您好,正在询问更了解这款芯片的TI工程师,稍后回复。

  • 您好,请参考下面内容:

    Thank you for providing register read, but it does not provide all the answers, only that REG09 = 0x30 after reading twice. It would be best if customer could perform the following procedure and share the register read data at each step. 1) read REG09 twice in a row 2) write a 0b to REG05 bit 3 3) read REG05 to confirm bit 3 = 0b 4) write a 1b to REG05 bit 3 5) read REG09 twice in a row to check timer fault. 

    reset the safety timer listed in section 9.3.3.5 of the BQ24296 datasheet. 

  • 好的,我们试试其他中方法看看。谢谢。