一、蛮荒时代:充电?拿什么充电 2000年,微软、英特尔、惠普等公司联合颁布了划时代的USB 2.0规范,使得USB迅速进入了千家万户,摧枯拉朽般地淘汰了一大批私有接口。USB2.0的结构与前代无太大差别,规定了一根USB Type-A线里至少要包裹4根导线:两根数据信号线(D ,D-),两根电源线(一条叫电压总线VBus,另一条是接地的地线GND)。比如说,当你给电脑连上一个有线鼠标时,VBus就会给鼠标供电,让鼠标运转起来,再由D 和D-负责将鼠标移动的信息传递给电脑,这样鼠标就能正常工作了[doge呵斥]。 这个时候,大家对于USB的寄望都是如何让传数据的速度更快,毕竟当时无论是互联网还是设备之间,数据的传输速度要么慢如龟爬,要么就必须用私有的接口,特别不方便[流汗滑稽]。对于供电方面,微软等公司觉得,USB作为一个传输为主的接口,只要能满足鼠标、键盘、U盘等小设备的供电就行了。至于一些功率比较大的设备,比如打印机、传真机,另外连一根电源线不就完事了?因此,USB2.0规范沿袭了早期USB的规定,依然将VBus电压限定为5V,允许单个USB接口最大通过电流为500mA(不计过流保护),也就是只有5V,0.5A,一共2.5W。 既然USB不能输出大功率,那么给大功率USB设备供电就成了一门生意,在USB还在1.1版本的时候,IBM就联合几个同行推出了一个名叫 PoweredUSB 的接口,原理并不复杂,在常规的USB接口上方再加入一个电源接口组成一个新的接口,提供5V、12V、24V等电压的输出,电流可高达6A[惊讶],性能非常强大,被广泛用于POS机或柜员机上。但这个接口是私有的,制造商要使用就必须向IBM支付授权费用[酷币]。 总而言之,当时人们根本没想着把USB当作一个大功率的电源接口,只要能圆满完成传输数据、连接外设的任务就算成功,至于电源就交给专门的电源线就好了。 构想很完美,但正如640KB内存够用论、IPv4地址够用论一样,时代的进步总会给标准制定者一个大耳光[受虐滑稽],而这回,甩出这个大耳光的,叫手机。 二、混乱之治 自功能机和PDA逐渐向智能机过渡以来,大家发现,如果想把手机拍的照片保存到电脑上,或者从电脑把JAVA应用传到手机上安装,用传统的SD卡或者TF卡好像太麻烦,蓝牙又太慢,还是用一根数据线直传比较方便。因为电脑上已经普及USB接口,手机的USB数据线就应运而生了[牛啤]。 但这样又产生了一个问题:现在手机需要外接两样东西,一是充电器,二是电脑。正如前面所说,当时传数据和充电是分开的,那么至少要备两根线,一根接充电头充电,一根接电脑传数据,两者不能通用,特别麻烦。能不能把他们合并到一根线上呢? 国家也考虑到了这个问题,不过是从另外一个角度,国标制定者认为,当时充电头数量过剩,而且各品牌手机的充电头的接口互不通用,有的是USB,有的是私有接口,还有甚者充电头和线是连在一起不能分开的,换别的牌子的手机就得扔掉原来的充电头,造成了极大浪费,非常不环保。何不统一接口呢? 于是在2006年,中国信息产业部发布了《移动通信手持机充电器及接口技术要求和测试方法(YD/T1591-2006)》,要求所有送测的充电器必须采用USB-A接口,并且要和线缆分离。有人认为这是全球首个规定充电器采用USB接口的标准[牛啤]。后来,欧盟也颁布了类似的规定,并且进一步要求手机端接口必须采用 Micro-USB 接口(苹果:你说啥?)。 但充电线、数据线二合一带来了不少问题,最大的问题就是:电流太小了,功率最大只有2.5W,哪怕是充500毫安时的电池都得够呛。如果以现在的标准看,2.5w的功率,边充边玩都不够塞牙缝的,碰上个火龙搞不好还要倒吸电池电量。USB说那肯定啊,我设计之初就没打算让你过那么多电流,是你们自己强行要拿我来充电的,怪我咯[无奈]。 但国标允许USB接口最大可以输出1.8A电流!有人问,这怎么可能做到呢?USB只允许输出0.5A啊。国标的巧妙之处就在它对充电器采用了特殊设计: 你USB不是有两根传数据的线(D 、D-)么,我在充电器这一端把它们短路,手机的充电芯片如果识别到它们短路了,就会判断线缆的另一端不是电脑,而是充电器,便会放开电流限制,允许最高1.8A的电流通过;假如手机识别不到短路,就会认为另一端只是普通的电脑,便只容许0.5A电流通过,避免损坏电脑。 而在线材的设计上,只要把VBus的线做粗一点,就能容纳更大的电流通过了。 像这样,全球各地的官方机构和手机厂商纷纷揭竿而起,突破了USB规范所规定的0.5A的限制。 负责USB规范制定的USB-IF(USB开发者论坛)眼看自己的标准要被手机透成筛子了,赶紧召集各成员开会,前后折腾了三四年,三易其稿,终于在2010年颁布了Battery Charging Specification(电池充电规范)1.2版本,简称BC1.2。 三、万物归一……了吗? 2012年,智能手机和其它智能设备已经成为不可阻挡的大势,USB再也无法只服务于数据传输,为了便于便携式设备的充电,BC1.2规范诞生了。 BC1.2 的核心内容与上面所说的行业习惯没有太大差异,同样是以供电一方的数据端口(D 、D-)是否短路判断另一端是充电器还是普通电子设备。如果短路,则可以输出最大1.5A的电流,如果不短路,就依旧只输出最大0.5A的电流。 BC1.2把充电器这类只充电、不传数据的接口,命名为专用充电接口(Dedicated Charging Port, 简称DCP),我们在查看充电参数时,经常会看到DCP这三个字母,这是因为BC1.2是USB充电的基础协议,不管是五福一安还是以后的快充协议,但凡使用普通USB-A口输出的充电器,都要通过电源是否为DCP的判断,这也是保障充电安全的必备步骤。 但众厂商面对5V 1.5A,7.5W的输出,似乎仍然不满足,其中有的厂商仗着自己是芯片制造商(如三星)或自己对供应链的把控(如苹果),甚至自己就是BC1.2的起草人(如高通),他们准备给BC1.2动个"小手术"。 (待续) 后记:USB-IF的documentation做得实在是惨绝人寰,谢谢,人已经吐了 拿起你们小手点个赞,作者写的要吐了