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.

[参考译文] BQ24157:无法写入寄存器0x06

Guru**** 2553260 points
Other Parts Discussed in Thread: BQ24157

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

https://e2e.ti.com/support/power-management-group/power-management/f/power-management-forum/1062863/bq24157-register-0x06-cannot-be-written

器件型号:BQ24157

尊敬的 TI 团队:

我们的客户在  他们的新项目上使用 BQ24157 、 遇到  了无法写入寄存器0x06的问题。  从数据表中我们了解 到、0x06寄存  器只能在复位后写入、并且在写入其他寄存器时被锁定。  现在、我们 尝试将0x8C 写入该寄存器、发现 它未成功。  转储始终为0x40、这是复位值。

原理图如下所示:

串行端口日志输出0x06寄存器为0x40;

bq24157_dump_register():  bq24157_dump_register bq24157:[0x0]=0xc0
bq24157_dump_register():  bq24157_dump_register bq24157:[0x0]=0xc0
bq24157_dump_register():  bq24157_dump_register bq24157:[0x1]=0x40
bq24157_dump_register():  bq24157_dump_register bq24157:[0x1]=0x40
bq24157_dump_register():  bq24157_dump_register bq24157:[0x2]=0x8e
bq24157_dump_register():  bq24157_dump_register bq24157:[0x2]=0x8e
bq24157_dump_register():  bq24157_dump_register bq24157:[0x3]=0x51
bq24157_dump_register():  bq24157_dump_register bq24157:[0x3]=0x51
bq24157_dump_register():  bq24157_dump_register bq24157:[0x4]=0x9
bq24157_dump_register():  bq24157_dump_register bq24157:[0x4]=0x9
bq24157_dump_register():  bq24157_dump_register bq24157:[0x5]=0x4
bq24157_dump_register():  bq24157_dump_register bq24157:[0x5]=0x4
bq24157_dump_register():  bq24157_dump_register bq24157:[0x6]=0x40
bq24157_dump_register():  bq24157_dump_register bq24157:[0x6]=0x40

将寄存器0x06设置为0x8C 并查找写入失败:

bq24157_sw_reset();
bq24157_set_value(BQ24157_REG_SAFETY, BQ24157_VSAFE, BQ24157_VSAFE_SHIFT, VSAFE4P44);  // VSAFE = 4.44V
bq24157_set_value(BQ24157_REG_SAFETY, BQ24157_ISAFE, BQ24157_ISAFE_SHIFT, ISAFE1350);
// ISAFE = 1450mA (68mOhm)

您能帮助分析 此问题的原因吗?

谢谢、

此致

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

    尊敬的 Lumina:

    寄存器0x06必须是 CSOUT 上升到2.0V 以上后的第一个 I2C 写入、可以是电池连接时、也可以是在未连接电池的情况下在上电后。  在第一次 I2C 写入后、寄存器锁定。

    此致、

    Jeff

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

    尊敬的 Jeff:

    非常感谢。 但我们的客户仍然 不知道 如何实现它、并想知道您是否可以就此向他们提供一些建议?

    此致

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

    尊敬的 Lumina:

    在 CSOUT 电压上升到2.0V 以上之后、寄存器0x06在对任何寄存器进行 I2C 写入之后锁定、如果 CSOUT 每一个下降到2.0V 以下、寄存器0x06将复位为默认值。  因此、我建议:

    1.通过连接大于2.0V 的电池或向 VBUS 施加输入电源或同时向 VBUS 施加输入电源来为 IC 加电

    2.写入 REG0x06。

    3、监视 CSOUT (BAT+)电压、如果电压降至2.0V 以下、则再次写入 REG0x06。

    此致、

    Jeff