说起充电器,本质上没多大技术含量。那么我们就从最没技术含量的「傻瓜充电器」说起。
何为充电?其实就是给被充电设备一个输出一个电压和电流。如果说一个充电器,只能输出一个恒定的电压和电流,这样的充电器就是「傻瓜充电器」,电路实现也极其的简单。
如果这台充电器,能够感知到被充设备电池的蓄电情况,能够感知到电池内阻的变化,能够调整输出电流,并且在充满之后自动停止充电。那么,这样的充电器就可以说「智能充电器」了。当然,二十多年前的手机充电器,就都是智能充电器。这时候,电路实现就比较复杂了。
如果更进一步,充电器和被充设备之间有对话,彼此告知我能提供什么样的电压电流组合,我能接受什么样的电压电流组合,双方「商定」用什么样的电压电流组合。其实,这就是最近几年大家都熟悉的充电协议,并且在手机产品中已经有了普遍性的运用,就把这类充电器称为「智慧充电器」吧那么,这类智慧充电器,目前主流的是怎么实现的呢?
我们知道,很多厂商都有自己的快充协议,有OPPO的VOOC,华为的SC,小米的CT,vivo的FC;处理器厂家也有自己的快充协议,高通有QC,联发科有PE;还有USB的通用协议PD。其实各个门派是非常复杂的,而且自身的协议也都在不断的迭代。
那么,它们的充电器是怎么实现的呢?其实现在看,是普遍使用了单片机。
简单的说就是一个简单的计算机系统,有自己的cpu,有RAM和ROM,并且运行编写的程序。只是你拆解的时候往往看不到单个的cpu、RAM、ROM,基本都集成在一块芯片上了,都SoC化了。甚至行业普遍性的把这个单片机单元(有的也称MCU单元)也同样集成到一个功能更强大的芯片里面去。
看到一些网友在质疑对充电头固件重写的可能性,认为这么简单的一个充电头,怎么难道还能给它写程序运行?其实是可以的,因为里面用到了单片机,其实就是一个超小型的计算机系统。
而且一般的单片机IC都有自己的USB接口,就是用来编写程序和调试的,而恰好充电头都有自己的USB接口,这样就导致了不少厂家直接把充电USB接口和调试接口二合一了!并且还不涉密!这就是问题所在。不同的快充协议本身没有安全性高低的差别,风险主要取决于是否允许通过USB口改写固件,以及是否对改写固件操作进行了安全校验等。
如果采用的是单片机方案(大部分都是),如果供电和调试端口二合一(很多都是),并且还不加密(看来很多也是),这就为腾讯联安实验室说的BadPower事件成为了可能。
【注】图片转自腾讯联合安全实验室文章
很多人在质疑说,手机基本都会有过载保护电路的呀,你这个20V是伤不到手机的!
但是,手机的充电头永远只给手机充电吗?比如充电宝、手环、摄像头等多种设备充电或者供电,这些设备都能承受得了20V的冲击吗?
甚至说,目前已经有手机厂商发布了120W级别的快充,能保证所有的USB充电、供电的设备,都可以抵御的了120W的冲击吗?即便设备承受的了的话,你手里的充电线能够承受得了吗?
比如某某手机不支持快充,或者还是嫌快充的功率不够强悍,那么可以通过在充电头和手机之间,加入一个设备,原本充电头和手机之间的「对话」被这个设备截获,这个设备对充电头说:我可以接收你最大的输出功率,而充电头还以为是手机跟它说的。然后充电头给手机一个比参数要大得多的充电功率。
问题是,不少手机还完全接受这个功率!神奇吧?
但建议大家千万不要尝试,因为一般手机厂商给不接受大功率充电的手机(往往是中低端产品)所配备的电池,都不是高价的真正能够快充的电池,而是性能都很一般的要便宜得多的电池。
这类电池用过高的功率充电,除了明显更加剧烈的发热,也会大大影响使用寿命,甚至有燃爆的风险。
uc电脑园提供的技术方案或与您产品的实际情况有所差异,您需在完整阅读方案并知晓其提示风险的情况下谨慎操作,避免造成任何损失。
浏览次数 11117
浏览次数 4095
浏览次数 2517
浏览次数 2371
浏览次数 2158
未知的网友