内核中USB充电器的解决方案当前最新的内核(v3.5)对USB充电器的整体方案支持的不是太好,这里讨论的USB充电器的方案仅指软件方案,即充电器的检测需要由软件干预(比如读取USB PHY的寄存器), 同时电池的充电值根据充电器的不同类型,需要由软件来设置。 硬
内核中USB充电器的解决方案
当前最新的内核(v3.5)对USB充电器的整体方案支持的不是太好,这里讨论的USB充电器的方案仅指软件
方案,即充电器的检测需要由软件干预(比如读取USB PHY的寄存器), 同时电池的充电值根据
充电器的不同类型,需要由软件来设置。 硬件检测充电器及硬件自动选择充电电流不在此讨论之列。
软件的方案的好处是: 可以省去一个USB充电器的检测芯片以及使用更简单(便宜)的电池管理芯片, www.cit.cn
坏处是要由软件干预(可能有bug)以及不能实现低电量时高充电电流的充电方式。
一个整套的USB充电器方案,应该包括:
1. USB充电器的识别, 判断出该USB Charger是如下USB Charger中的一种:
- SDP (Standard Downstream Port)
- DCP (Dedicated Charging Port)
- CDP (Charging Downstream Port)
- ACA (Accessory Charger Adapters)
通常识别的比较多的是: SDP (接PC) 和 DCP (专用charger, DP和DM短接)。
2. USB充电器的识别与电池管理芯片的接口
即如何把充电结果告知电池管理芯片的驱动, 这里需要用到内核Power Supply的框架。