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:如何复位 bq24296安全计时器

Guru**** 1646690 points
Other Parts Discussed in Thread: BQ24296
请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/power-management-group/power-management/f/power-management-forum/1275093/bq24296-how-to-reset-bq24296-safe-timer

器件型号:BQ24296

您好

我有疑问需要您的帮助。

1.插入充电器,

2.继续充电直至充电终止。

3.保持充电器插电, 安全计时器不会在此时过期, 在这种情况下如何重置安全计时器?

正在等待您的回复。

谢谢

星形

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    尊敬的明星:  

    对于您布置的条件、不应重置安全计时器。 当达到充电终止时、该计时器应自行复位。 即使输入适配器仍然插入、充电终止后安全计时器也不会继续计数。  

    通常、以下操作将重置安全计时器。 这来自 BQ24296数据表的第28页。  

    此致、

    加勒特  

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    大家好, Garrett  

    感谢您的答复。

    使用方案是始终插入交流适配器。 芯片再充电几次后安全定时器都会超时、无法再充电。

    我希望在触发再充电时、可以重置安全计时器、而不是累积多个重新充电来导致超时。

    正在等待您的回复。

    谢谢

    星形

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    尊敬的明星:  

    从测试开始到安全计时器到期的总时间是多少? 客户使用什么安全计时器设置(REG05中的 CHG_TIMER)? 他们是如何确定充电已终止的?  

    一种简单的软件权变措施是在每次 REG05中检测到再充电时通过切换 EN_TIMER 位来复位计时器。  

    此致、

    加勒特  

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    大家好,Garrett

    感谢你的帮助。

    安全定时器为12小时、由中断期间读取 REG09寄存器值来确定。

    一个简单的软件解决方法是每次检测到充电时,通过在 REG05中切换 EN_TIMER 位来重置计时器。  [/报价]

    我试过这个,但它不起作用。

    谢谢

    星形

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    尊敬的明星:  

    已验证将 EN_TIMER 位[REG05位3]设置为0b 然后恢复为1b 以复位安全计时器。  如何检查此方法是否不适用于重置计时器?

    如果您正在检查 REG09、请确保您连续阅读两次、以确保清除先前的故障。 第二次读取将是任何当前故障状态。  

    此致、

    加勒特  

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    大家好,Garrett

    感谢您的答复。

    客户通过 IRQ 打印注册值:

    静态 irqreturn_t bq24296_IRQ_handler (int IRQ、void *数据)
    {
    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);

    返回 IRQ_Handling;

    通过查看日志数据、 data3 = 0x30、可视为发生了超时。

    我希望确认重置饱和计时器的方法。 除了写入 REG05位3之外、是否有任何其他方法?

    正在等待您的回复。

    谢谢

    星形

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    尊敬的明星:

    我们将在星期五之前与您联系。

    谢谢。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    尊敬的明星:  

    请查看我的评论如下。  

    感谢您为客户提供寄存器读取、但不能提供所有答案、只能在读取两次后显示 REG09 = 0x30。 最好是客户可以执行以下过程并在每个步骤中共享寄存器读取数据。 1) 1)在一行中读取 REG09两次2)向 REG05位3写入一个0b 3)读取 REG05以确认位3 = 0b 4)向 REG05位3写入一个1b 5)连续读取 REG09两次以检查计时器故障。  

    除了写入 REG05 bit3之外是否有其他方法?

    我在上面这个 E2E 线程的初始响应中说明了重置安全计时器的3种方法。 BQ24296数据表的第9.3.3.5节还列出了这3种方法。  

    此致、

    加勒特