工具/软件:
您好!
我希望有人能帮我解决我在 BQ25892中看到的问题。BMIC 通过 I2C 连接到主机 MCU、并且主机 MCU 在上电时写入配置。
如果新的 ADC 转换已完成、主机 MCU 会继续轮询 CONV_START 标志 ro 检查、然后主机 MCU 会读取所有分配的 ADC 寄存器以获取电源状态
然后、主机将此记录到控制台、此处显示了一个示例状态:
Status -------------- State : Not charging Mains : Fault (0) VBus : 2600mV VSys : 3704mV VSys(min) : 3000mV Batt : Connected (0) Capacity : 50% VBatt : 3684mV Avg=3704mV IBatt : 0000mA Avg=0000mA Temp : 22.6°C Faults -------------- Watchdog : Ok (0) Battery : Ok (0) Boost : Ok (0) Thermal : Ok (0) Charge : Ok Input : 0 Timer : 0 Therm : 0 NTC : Ok Cold : 0 Cool : 0 Warm : 0 Hot : 0
我有时注意到、我测试了一些电池、表明 ADC 在不引起任何故障或以任何方式指示其不进行转换的情况下停止转换。
唯一的表示是 ADC 转换标志(CONV_START)不清除它以指示 ADC 转换已完成。
可以通过 I2C 精细命令来检查(读取和写入)芯片寄存器。 该芯片也可以进行软复位、但这没什么区别。
让它按预期开始运行的唯一方法是取出电池 或 移除 VBUS。
以下是 突出显示了电池和 PSU 连接的 BMIC 电路原理图。
与默认设置不同的唯一设置如下:
// BQ25892 Register settings #define BQ25892_REG03_SETTING 0x5A // Reset the watchdog, Min system voltage (Vsys min) set to 3.5V (default) #define BQ25892_REG07_SETTING 0x8D // Disable the watchdog #define BQ25892_REG00_SETTING 0x3A // Disable the ILIM pin which is used to set the current limit to 829mA (390/470R). Set max input current limit to 3A #define BQ25892_REG04_SETTING 0x0B // Fast charge current limit set to 704mA #define BQ25892_REG05_SETTING 0x02 // Precharge current limit set to 64mA, Termination charge current limit set to 192mA #define BQ25892_REG02_SETTING 0x5D // Start a continous ADC conversion
所有寄存器的寄存器转储可在此处找到:
Registers -------------- Address 0x00: 3A Address 0x01: 06 Address 0x02: DD Address 0x03: 1A Address 0x04: 0B Address 0x05: 02 Address 0x06: 5E Address 0x07: 8D Address 0x08: 03 Address 0x09: 44 Address 0x0A: 73 Address 0x0B: 56 Address 0x0C: 00 Address 0x0D: 12 Address 0x0E: 47 Address 0x0F: 47 Address 0x10: 5B Address 0x11: 98 Address 0x12: 00 Address 0x13: 3A Address 0x14: 05
任何帮助或指导都将非常感谢
此致
Trevor