Other Parts Discussed in Thread: EV2400, BQSTUDIO
主题中讨论的其他器件:EV2400、 BQSTUDIO
我已经完成了通过微控制器刷写电量监测计的代码、但我发现它不是很可靠、i2c 通常会在刷写过程中失败部分、或者有时由于电量监测计向每个请求发送 NAK 而无法开始刷写。
当电量监测计处于 NAK 模式时(我假设是 ROM 模式)、它不能被刷写。 但是、BQ Studio 可以通过发送一系列字节来刷写电量监测计、从而以某种方式将电量监测计恢复到可编程状态。
我已记录此事务、如下所示
//离开 ROM 模式
2.681803500000000、I2C、Setup 写入[0x16]+ ACK
2.681895500000000、I2C、0x00 + ACK
2.682029500000000、I2C、0x0F + ACK
2.697807500000000、I2C、Setup 写入[0x16]+ ACK
2.697900000000000、I2C、0x64 + ACK
2.698034500000000、I2C、0x0F + ACK
2.698142500000000、I2C、0x00 + ACK
5.929884000000000、I2C、设置写入[0xAA]+ NAK
5.992867000000000、I2C、设置写入[0xAA]+ NAK
6.009887500000000、I2C、Setup Write to [0x34]+ NAK
6.070874000000000、I2C、设置写入[0x34]+ NAK
6.085886000000000、I2C、Setup 写入[0x10]+ NAK
6.148875000000000、I2C、设置写入[0x10]+ NAK
9.258963000000000、I2C、设置写入[0xAA]+ NAK
//然后每个响应 NAK、BQ Studio 发送以下魔术序列
宽:16 00 0D 00 00 00 00 00 00
宽:16 64 0D 00
C:16 66 00
C:16 04 01 08 00
C:16 64 09 00
宽:16 00 0D
宽:16 64 0D 00
C:16 66 00
C:16 04 01 08
//开始原始数据块,它开始闪烁而不会出现任何问题
宽:16 00 04 00 00 83度
W:16 64 65 01
C:16 66 00
我已经在论坛上搜索了解决方案以及这个序列实际执行的操作、但是找不到任何有用的信息、大多数询问 ROM 模式问题的线程似乎被锁定了、没有任何答案。
在 ROM 模式下如何使用此芯片时、要求提供一些文档是否太多?
提供的代码示例(slua801)未详细介绍错误恢复。
当发生错误时、您可以"砖型"芯片、要求更换表面贴装组件、这是难以置信的、任何可砖型都应该具有恢复模式!
谢谢
格伦。