应网友需求,下面讲述一下充电IC VINDPM概念,这个概念业已问世很长时间,并不新,但是它处理问题的思路却很有趣。技术背后的思想是互通的,也许在某一天,在另一个问题上,该思路可能启发到你,说不定就用上了,故在此介绍下。

背景
我们首先要知道,手机的充电器和充电线在市场上可谓五花八门,类型众多。除了标配的充电器,USB端口或太阳能发电板等各种电源都有可能是充电源,但这些源有强弱之分,不可不察也。就像这人世间,有人能举铁100kg,有人却连瓶盖都拧不开。
充电器能力差却要承担大电流,就会陷入小马拉大车的窘境,不仅马累趴,车也可能翻,在充电时可能会出现如下问题:
- 充电器被过载拉死(OCP保护),然后撂挑子不干了;
- 充电器因过载导致输出电压跌落,触发充电IC VIN的UVLO,这时候充电IC就不干了。
如下图,由于充电器能力弱,充电IC的VIN因过载而跌落,持续性地触发UVLO,充电由此异常。

VINDPM,输入电压动态电源管理,是充电IC上的一种电源管理机制,由TI公司给出,就是旨在保护输入电源免受过载影响而生的。
其功能可以更为细致的总结为:
- 防止充电源过载:当充电源的功率不足以满足手机需求时,VINDPM环路动作,重新设置输入限流点,保证充电器的输出不被拉的更低。
- 最大功率寻找:VINDPM通过调整限流点,使充电源在最大功率点附近工作。这对于太阳能发电板等高阻抗电源尤为重要,因为它的输出电压和电流会随负载变化而变化,我们要榨出它的最大能力。
- 动态电源管理(DPM):如果充电源无法同时满足系统供电和电池充电的需求,VINDPM环路会触发DPM,使充电源优先为系统供电。
VINDPM的工作原理
一个充电IC内部有很多控制环路,而VINDPM就是其中一个,其框图如下图,红圈就是所谓的VINDPM环路

VINDPM环路通过分压电阻R1、R2实时监测输入电压,当输入电压因过载而跌落到预设的VINDPM阈值(VREF)时,VINDPM环路便会动作,这时充电IC输入限流值便会被重新设定,如下图所示。
此时对应的限流点基本上就是充电器的最大能力了,为了保险起见,可以把该限流值再稍微调低一个档位,这样更为稳妥,而这就是TI的Input Current Optimizer (ICO)概念,在此不详细解释。

VINDPM除了对充电IC的输入进行限流,也能够根据系统负载的变化,动态调整充电电流,使能量优先供给系统。如下图,datasheet中说的很明白,VINDPM环路(对应输入电压)和IINLIM环路(对应输入电流)都能使DPM动作。

波形实测
如下图,你配置了一个超过充电器输出能力的充电电流,由于过载,充电器输出电压被拉低,当拉低到设定的阈值时,VINDPM环路动作,输入限流值会被重新配置,防止进一步把充电器拉的更低。

除此之外,还有另外一种实验方法,如下图,可以人为在充电线缆上面增加一个电阻,用于模拟阻抗比较大的充电线,然后验证VINDPM的功能。

如上图,可见如果外加的电阻较小,则经过VINDPM环路作用后,配置的充电电流尚可;而如果外加的电阻较大,则经过VINDPM环路作用后,配置的充电电流就偏小了。
该过程就好比在健身时试探杠铃,你会慢慢加码,当发现加到一定重量时呼吸困难、双腿发抖,那么你就会及时止住,因为你摸底到你的最大能力了。
其他
高通和MTK也有类似的概念,以高通的buck charger为例,高通命名为AICL(自动输入电流限制)。
如下图,展示了AICL的工作过程。初始充电电流配置为500mA,随后逐渐增大,当增大到使输入电压跌落到V_AICL门限值时,便认为充电电流达到最大值,便不再增加了。
V_AICL门限值取V_AICL寄存器和VBATT+180mV中的最大值。

总结
电路设计很公道的,不逼大力士绣花,也不逼秀才去扛鼎。
但在手机公司,VINDPM用的不多,有的厂商甚至不使能这个功能,或者配置为一个极低的参数(比如5V充电时配置为4.2V),实际根本不会触发VINDPM。
手机公司更多的是根据充电器类型直接配一个输入限流值,这个值的触碰更为可靠、更为直接。