迅维网
标题: 安卓充电原理以BQ25601为例 [打印本页]
作者: rtK1289 时间: 昨天 22:11
标题: 安卓充电原理以BQ25601为例
第一阶段
BQ25601 充电控制器通过 24 号输入端接收充电器供电,并通过 1 号输入端进行评估。如果充电器电压在可接受的范围内,且可从充电器获得 30mA 以上的电流,则 BQ 启动 - 启动内部稳定器 REGN(高度稳定的 5V),为 TS1(热敏电阻分压器)和 PSEL(独立充电电流设置)线路供电。如果 TS1 测得的温度可以接受,BQ 就开始以 PSEL 设置的电流对电池进行自主充电(无需 CPU 命令)。这是通过线圈 L1001 上 5v USB --> 4v VPH_PWR 的 PWM 转换实现的。然后从 VPH_PWR 通过 BQ 中的场效应晶体管给电池充电(#15-16 SYS --> #13-14 BAT)。场效应晶体管有两个功能:通过其导通电阻上的压降测量充电电流,此外,如果电池放电低于欠压锁定阈值(~3.2v),它还可以完全断开电池与手机的连接。
VPH_PWR 线路不仅用于充电,还是整个手机的公共电源总线。不充电时,它通过上述接线器与电池相连。
与此同时,SYS_OK 线路的 3 号线向 PM8937 电源控制器发送指令,通过将其电压从逻辑零变为一(+1.8 伏)或反之亦然来开启手机。
第 2 阶段。
已经从 VPH_PWR 供电的 PM8937 启动一个名为 "开机序列"(Power Up Sequence)的启动程序。启动完成后,处理器会被唤醒并从硬盘读取启动信息。为了找出是什么东西唤醒了它,它通过 I2C 访问总线上的器件,BQ会告知设备中插入了充电器。故事到这里就结束了,但是没有。在屏幕上绘制动画并命令 BQ25601 以正常方式工作之前,我们需要了解电池当前的电量和温度。否则,可能无法正常工作。
为此,该设备配备了一个 "电量计"Fuel Gauge BQ27426。
它接收来自电池(#C3)的电压以及通过电阻分压器(#B1)的温度输出 BAT_THERM。第三个指标是手机消耗的电流。它通过超低电阻 R1032(#C1-C2)上的压降来测量,设备消耗的所有电流均通过该电阻。第四个电池引脚 BAT_ID 连接到电源控制器,软件使用与其他引脚相同的方式来确定电池型号。通过这些线路上的电压,计量计会对电池的状态做出结论,处理器会通过 I2C 读取两个 BQ 的信息,并通过 SPMI 读取电源控制器的信息,然后才会决定是否开始充电。如果电池过充,处理器将命令 BQ25601 将电流从 0.45A 减弱到 0.10-0.15A。如果电池电流超标,或电池温度接近危险值,处理器将通过 GPIO_CHAGER_CE 线(9 号 BQ25601)停止充电,并再次显示不合适的电池。BQ 可以通过将 SMB_INT (#7 BQ25601) 或 GAUGE_INT (#A1 BQ27426) 中断线从逻辑 1 重置为 0(更多信息),并随后回答 "出了什么问题?",向处理器发出危险警告。这是必要的,因为在 I2C 架构中,处理器只能自己访问外设。
欢迎光临 迅维网 (https://www.chinafix.com/) |
Powered by Discuz! X3.4 |