Shell's Home

May 21, 2019 - 1 minute read

外设接口和供电的演化史

这篇文章基本就是我根据自己的记忆翻旧帐讲古,大家随便看好了。

外设接口的上古时代

说是上古时代,我也不会从8259A级联这种地方开始讲起的。我们首先回顾的是上世纪末,我们还在用各种不同接口连接不同设备的时代。当时主流有这么几种设备和接口:

  • 显示器:当年没有LED显示器,主流都是大屁股的CRT显示器。主流接口是VGA。大家要是用过投影仪对这个接口可能有印象,这个接口又被称为D型口,目前仍广泛存在于投影仪类设备。
  • 音箱:音箱接口到今天都没怎么变化,主要接口是3.5mm接口,专业术语叫做TRS端子
  • 网卡:当年网卡还很稀罕,记忆中流行过一阵的同轴缆线。不过双绞线的标准一直没变过,使用RJ45
  • 鼠标键盘:最早年是AT接口,后来主流使用PS/2
  • 并口:主要是接打印机扫描仪什么的,扫描仪也是很后来才有。LPT
  • 串口:COM,和各种设备通讯。甚至可以接一根特殊的console线,对端变成RJ45去控制网络设备。这种线今天仍在使用(我手里还有一根),不过串口在电脑上已经找不到了,所以要多一根USB2COM线。

最早声音,网络,视频都需要独立的卡来支持,甚至有出现过汉卡。每个独立的卡上附带一个或多个接口,用来和特定设备连接。但后来CPU越来越快,除了显卡外大多数卡大家就都没见过了。现在的音箱接口鼠标键盘都是集成在主板上的。

LPT接口和COM接口的一大问题是,没有内在支持热插拔。当然,热接线并不一定导致问题,或者无法使用。然而各种静电击穿,驱动不良引起的问题层出不穷。所以标准过程都是关机连线,先开外设后开机,先关机后关外设。其实当年最初也没有很多人有异议,DOS时代的开机很快的。直到后来大家渐渐用上了Win95,发现没有热插拔真难过。

以上大部分的接口,都是不供电的。PS/2和TRS带有一定供电能力。PS/2提供5V/275mA的电流。TRS直接连通的耳机,其中的电信号直接推动耳机单元发音。

USB时代的开端

微软很早就开始了对USB的推动,按照wiki所述,最早的1.0协议是96年发布,2.0则要到2000年。但是96年的时候,我们对USB还并没有什么太大听闻。直到2000年后,各种USB设备层出不穷,直接带领了一个时代。

USB研发的初衷是为了解决接口统一性问题和热插拔问题。接口大致分为两类情况。一类是直观接口,里面各引脚基本就是各种直观定义。例如TRS的几个引脚,基本就是耳机单元引出线。另一类则是通讯接口,主要功能是通讯,其逻辑含义需要根据信号定义解析。通讯接口实现复杂成本很高。然而既然模拟接口的引脚和直观定义绑定,那么驱动耳机的接口就和驱动键盘的接口永远统一不起来。如此一来,每一种外设计算机就要做一个接口,没有对应接口就用不了外设。这对计算机硬件的生产和维护非常不利。而且Windows开机那么慢,每次连接断开硬件都要重启,每天别干别的就重启了。所以一个接口,统一各种插头类型,支持热插拔,就成了个强需求。而为了达到这个目标,接口自身必然是个通讯接口,内在逻辑通过软件定义解决。而通讯接口中,LPT面临复杂的同步问题。因此点对点串行通讯的USB接口兴起就是一个必然。

USB是串行通讯模式,菊花链拓扑。所以HUB的大小永远是3n+1,例如4个,7个,etc。如果个数不对,可能就是hub自身用掉了几个接口。例如我手里一个HUB网卡二合一dock,就是三个3.0接口一个千兆网口。最初速率定义为1.5Mbps,2.0提高到了480Mbps。但是实际上只有大约30MB/s。最早的电流定义我记得是100mA/500mA两种,足够驱动大多数的小电流设备。

几乎从2000往后,键盘和鼠标的主流就全是USB的了。PS/2的键盘/鼠标偶尔还用于特殊场合,例如老设备支持,或是某些情况下诊断内核死机(因为PS/2的状态灯由内核直接控制,内核不死,按键开关状态灯基本都是可行的。而USB的状态灯需要更多业务逻辑,所以更说不准)。再往后,所有相机,打印机,扫描仪,游戏手柄,统统换去了USB。更出现了U盘和mp3这种妖怪玩意,几乎人手一个。在那个上网还要拨号的年代,mp3就是个人的便携文件袋+多媒体娱乐中心。

如果我没记错的话,USB的第一次电流提升起源于移动硬盘的兴起。mp3固然方便,但是容量往往太小。我的第一个mp3只有128M(是的,你没看错,单位是兆),大概只能放20首歌。而移动硬盘一般可以做到200G以上的大小。所以大家纷纷开始区分使用,mp3就放歌,移动硬盘存数据,包括歌曲库。然后借助电脑来把移动硬盘上的歌拷去mp3里。然而,USB最初供电功率只有2.5W,很多移动硬盘功率不足,需要外接电源,用着很不习惯。所以后来逐渐兴起了1A供电的USB接口,免去了外接电源。我现在手里还有一块老式移动硬盘,320G大小,双USB供电或外接电源供电。对应的就是这个特殊的时代。

在这个时代,USB逐渐统一了各种外设,主流接口里面只剩下了显示接口,TRS端子,RJ45三种还没有被统一。显示接口是因为传输速率太高,USB支持不起来。TRS和RJ45其实也有USB版本,叫做外接声卡和外接网卡。然而由于这两个端口太过常用,往往主板上也会搭载,免得用户自己每次都要配套买两个外接件。直到今天,MBP上type-c一统天下,唯一不同的接口就是TRS。RJ45由于wifi的普及而早早下课了。至于并口串口,一般主板上也会有。但是很多主板,从买回来到报废那天,这两个接口都没用过。

手机充电的发展

和电脑独立发展的是手机的充电接口。最初手机的充电接口是专用口,用过Nokia早期手机的人应该都见过这类口。这类接口几乎无法相互借用,因此以前出门商旅人士,往往包里都背着自己专用的充电器。幸好这个时代的手机还很耐用,一周一充是正常现象,最过分也就是三天一充。至于今天,三天一充几乎就是个神话。

手机接口向着USB统一起源于Android。最早的几台Android机就是使用USB充电的。后来大家发现,USB充电可以用电脑直接给电,只用带线不需要充电器。而且这根线还能传输数据,把手机当作U盘用。这个更进一步影响了Android的流行,也让各种其他接口快速的消亡。时至今日,比较流行的自有接口定义貌似只有苹果一家了。

然而,大家也都是用手机的,应该知道,手机的电是个无底洞。一天一充,一充一天都是正常操作。这种情况下,USB电流发展也是越来越高。从一开始的5V/1A,到后来的5V/2A乃至各种奇葩协议。这是今天这篇主要说的另一个方向。

USB的各种接口和功率规范

USB接口大家应该都很熟悉。最常见的是A型,就是一般电脑上配的。手机常用的是Micro-B和更新的USB-C。其中type-c标准更新更紧凑而且双面可插拔。

至于功率规范,可能就不是每个人都熟悉了。上古时代的100mA我们就不说了,常见的经典功率规范有三种,5V/500mA=2.5W,5V/1A=5W,5V/2A=10W。今天大部分手机的充电功率,往往都在10W这个级别。这么说比较虚,我们形象点计算。以典型的手机电池,4.2V平均放电电压,3500mAh容量,80%逆变效率计算。总电池容量是4.2*3.5=14.7Wh。总充电时间为14.70.810*60=110.25分钟。加上手机在充电时还在使用,动辄充电两小时是正常现象。两小时放在功能机时代也算正常水平。然而功能机时代几天一充?功能机时代我们一天用几小时手机?今天很多人回到功能机时代首先就得饿死,因为手机用不了支付宝。电池容量上不去,我们就只能对快速充电提出越来越高的要求。就算不能一天一充,起码中午续命五分钟。

这里我们得插播一下电池性能。锂电池是一个比较优秀的电池,能量密度大,没有记忆效应。然而坑爹的是,锂电池有锂枝晶,导致电池容量会随着循环而减少,最后报废。从养护上说,最好当然慢慢充。可慢慢充满足不了我们的需要,快充又影响寿命。所以手机厂会平衡两者,设定一定的充电速率。这个速率一般是以C为单位衡量的,反映充电电流(注意,电池充电电压是不可随意变化的,一般略高于当前电池放电电压)。1C代表这块电池以这个电流1小时充满,2C就是半小时充满。反之,0.5C就是2小时。

我看到比较好的电池,基本都能做到1C充电,500次循环以上容量没有过多损耗。按照刚刚的容量计算,充电功率最小也是14.7W。随着电池容量进一步提升,这个值还会不断增大。可现在的充电功率已经达到了USB的最大功率。USB又迟迟不推出权威说法。因此各大厂家就蠢蠢欲动了。现在各大厂家都推出了各自的快充标准。其中又分了两派。

初中物理,电压电流电阻和功率的关系

这里我们要插播一点初中物理常识。功率等于电压乘电流。对于理想世界而言,USB已经锁死了电压,那么电流无限上调就好了。然而悲剧的是,在现实世界里,这需要考虑线阻。

以5V/2A的模式为例吧,简单计算就知道,等效电阻为2.5欧。因此线阻需要在0.x欧-0.0x欧这个量级,越小越好没有下限。一般来说,线越粗,接口越稳定,导电率越高。因此为了对应2A的电流,线就要开始往粗了做。所以很多支持2A充电的手机,USB线就不能随便来一根,要粗要硬,里面全是金属。而且线越长,接口越频繁插拔,线的质量就要求越高。线的标准有个规范叫做AWG。你看下面的性能表,AWG26的铜丝最大电流1.3A,最老的充电线为了省钱,往往是这个规格的铜丝。接口升级到2A后,最好要改用AWS24的铜丝,否则发热会从60升到75。如果要升级到5A这个级别,就需要AWG22的铜丝。从AWG26到AWS22,直径从0.405mm升级到了0.644mm,粗了59%,用料多了253%。所以线贵个三倍是正常操作。如果你正好有MBP,最新type-c接口的那种,他的充电线是3.25A的,应该用的是AWG22的线。观察一下苹果配的那根充电线,再找几根老的充电线,比较一下粗细软硬,心里大概就有个直观印象了。

既然现实世界限制了我们提升电流,那么只有提升电压了。然而这又有另一个问题。高压进入手机后,是不会以同等电压加到电池上的。一定有某个管理芯片进行降压扩流,同时根据电池状态计算充电电压和电流。这个管理芯片的发热,和降压差成正比。锂离子电池常见电压4.0-4.2,充电电压最高可以到4.3-4.4,和USB规定5V的电压差距并不大。然而提升电压充电,在降低线缆风险的同时,提升了手机芯片发热。

因此快充主体分为两类,一类是增压,一类是增流。

快充协议

另一方面,如果一个不支持快充的设备插上来,你不分青红皂白直接提高功率,结局就是对方设备烧坏。这还不如独立一个非USB接口。所以所有快充协议,都需要握手确认彼此的支持情况,再协商一个充电模式。协商的差异,使得快充协议分为了好几种。但无论怎么分,一个协议不是增压就是升流,或者两个都要。

  • QC协议:高通出品,时至今日仍然是外设最多的快充协议。细节如下:
    • 主体为增压协议。
    • 5V/3A=15W
    • 9V/2A=18W: 最常见规格
    • 12V/1.5A=18W
    • QC自3.0起,支持灵活的电压调整
    • 自4.0起,和PD3.0互相兼容
    • jd上搜”充电 QC”,结果大概5.2W件
  • PD协议:官方正统。细节如下:
    • 5V/9V/15V/20V四个档位
    • 普通线缆最大3A,以上电流需要专用5A线缆(貌似PD准备在AWG24上跑到3A,也就是75度这个级别)
    • 某个电压档位*3A等于最大功率。功率只要支持,电压越低越好
    • 15W以下使用5V,15-27W使用9V,27-45W使用15V,45-60W使用20V,60-100W使用20V+5A线缆
    • jd上搜”充电 PD”,结果大概5500件
  • 其他快充:
    • MTK的PE,增压。jd上找不到相关商品(毕竟是解决方案供应商)
    • OPPO的VOOC,增流。修改USB引脚规则。jd上搜”充电 VOOC”,结果大概800件
    • 华为的FCP/SCP,增流。jd上搜”充电 FCP”,结果大概200件。SCP结果大概100件。SuperCharge结果大概200件

协议兼容和配件选择

目前来看,总体趋势是QC向着PD过渡。毕竟QC目前是使用最广的快充协议,而QC4自己都和PD3兼容了。与其还在小众协议上坚持,不如选用支持这两大协议的配件就好。

然而PD有一些很让人烦恼的特性,其中之一就是必须在全type-c接口上才能启动。对于QC而言,你的手机和充电器/充电宝支持QC了,用传统的线接一接,就可以快速充电了。不论你的手机是type-c口还是micro-b口,充电输出端都是type-a(就是电脑上那种大的长方形口)。然而PD,必须是输出端type-c,手机type-c,双方都支持,最后用一根type-c对type-c来充电。这根线大多数人目前都没有(除了最新MBP配了一根)。这使得很多支持PD充电的设备卡在线上并没有发挥优势。

那么在这么一个过渡时代,如何选择配件系列呢?

我建议大家备这么几个东西:

电源选择

首先我们明确一个原则。原则上说,充电头应当能够支撑你出门在外所有设备的充电,最好还是快充。因此充电头的口应该多于你的充电设备,最好还是分类多于(type-a和type-c分类都多于)。不到不得已,尽量不要考虑转接转换一拖多。在此基础上,充电头越轻便越好。我推荐的常见充电头分这么几类:

  1. 大功率type-c输出,例如MBP充电器。不用讲,这一定是支持PD的。这个情况首选当然是苹果官配头。替代品可以用网易智造 65W
  2. type-a和type-c双输出的中功率充电器。一个PD,一个QC。总功率最好36W以上。这样可以分别做PD和QC快充,互不干扰。或者勉强带动MBP关机情况下充电。这个头主要是出门时轻便,或者MBP救急。这个情况首选我推荐这个,ROCK PD/QC3.0快充
  3. 折衷头。一个大功率的type-a和type-c头。基本就是1和2的结合。这个情况我推荐ZMIHA832,紫米65W,一个45W type-c,两个type-a。

例如我手里一台QC快充手机,一台PD快充手机,一个充电宝,一个MBP。最低需要四个口。一个18W级PD,一个40-60W级PD,一个18W级QC,一个18W级什么口都行。要满足这个要求,看起来最简单的是ZMIHA832加随便一个头。然而遗憾的是,这是不行的。因为ZMIHA832的两个type-a同时使用时,不支持快充(在京东链接的Q&A里有)。所以并不能随便叠加一个头,而是必须叠加一个双口的充电器,例如ROCK那个。理想状态下,这两个头就能支撑所有的用电。而大多数普通人其实是QC手机/PD手机二选一,加充电宝和MBP。这种情况下1+2的组合就挺好。

结合我已有设备,实际上我是这么干的。网易严选全球通用转换插座,自带一个15W的PD输出和10Wtype-a。叠加一个苹果官配。MBP的type-c再输出给一台手机。当然,这个违反了”尽量不转换”的原则,而且QC手机没有快充。然而转换插头是到哪里都要带着的。等于我只带了一个苹果充电器。

充电宝选择

无论电源怎么选择,现在的充电宝要求都是一样的。

  1. type-c或micro-b受电,type-c或type-a输出,同时支持QC/PD。
  2. 边充边放,能够串在充电链上,不用额外占口。
  3. 最好PD接电脑的时候能当hub,转换出一路type-a口出来。

1是因为,这种模式和各种充电器比较好搭,和各种手机也比较好搭。2则是因为,万一有零散设备需要充电(e.g. kindle),会多个口子出来。3则可以让你少带一个转换头,少占一个输出口。

容量上分析,常见两个趋势。一个是10Ah级,一个是20Ah级。前者是轻便便携的,重量不到200g,容量也能满足家庭使用。后者是能够带上飞机的最大电量(其实是25Ah,但是这个量级产品很少)。再大就会无法带上飞机,因而会在20Ah这个级别有个断档。

一般来说,我们的手机续命都发生在下午。经过大半天的使用,电量到了20-30%的时候我们开始焦虑了。这时候用充电宝续命到80%一般就能完整渡过一天。放完了电晚上手机和充电宝一起充就行。这么计算的话,10Ah级充电宝大约能给三台手机续命,大概率足够一家出行一天之用。快充放电大约要两小时,不会出现吊着输氧管不放的情况。

20Ah则完全不同。20Ah足够给6台手机充电。这根本不是家庭出游,而是公司办公了。这类电源一般在两种场景比较有用。一类是多天续航,中间无电源。另一类是为笔记本或其他大功率提供外部电源支持。然而这两类情况我都不常见,所以我不会选择20Ah充电宝。

至于充电宝,我的选择是ZMI QB910。算是一个比较轻便的选择吧。

线材和周边

其实线材和周边是最繁琐的,所以我们最后说。

假如你和我一样,同时有PD/QC的手机,又有MBP。那么线材管理就是一个非常头大的问题。为了支持全部功能,你最少需要这么几类接法:

  1. type-c公/type-a母。MBP插U盘用。
  2. type-a公/micro-b公。传统充电头接micro-b手机,或者把手机接到普通电脑上用。
  3. type-a公/type-c公。传统充电头充电type-c手机,或者把手机接到普通电脑上用。
  4. type-c公/micro-b公。MBP接micro-b手机用。
  5. type-c公/type-c公。电源接MBP/ZMI/type-c手机的,用于启动PD快充。或者MBP接type-c手机。

这里要说明一点。我在上面没有区分电源线/数据线。因为大部分线材都已经二合一了,现在专性电源线相当少见。而从上表大家可以看出来,大部分需求都是type-c兼容问题在搞事,传统usb只需要2就好了,纯type-c时代只要5。可惜我们处在一个过渡时代。无论你的配件多完善,都是有可能要连老式接口的。

下面是每个类型我推荐的线材,另外加两个转接头。

  1. type-c公/type-a母。这是个转换头,叫做OTG。这个转换头一般是和MBP放一起。没有MBP用不到,MBP离不开。你也可以选择这个挂绳款,但是我觉得OTG挂绳没什么太大意义。
  2. type-a公/micro-b公。这根线我选择秋叶原
  3. type-a公/type-c公。这根线同样是秋叶原
  4. type-c公/micro-b公。这根线找不到,需要用两根线或接头转换。
  5. type-c公/type-c公。这根线又叫type-c公对公,我用的是山泽
  6. type-c母/micro-b公转换头
  7. micro-b母/type-c公转换头

上面这堆线,如果在家就算了,出门的时候带起来很累赘。所以我用3+6来替换2。这个头带一个挂绳,非常好用。当然,如果你更倾向于使用2,可以反过来,用2+7来替换3。这样有个好处。市面上常见的线都是2,所以你可以只带OTG和转接头7,然后问别人借线。

这里要特别解释一下。首先,转接头应该只在必要时或出门时用,在家还是应该直接备线。因为每多一次转换,就有额外的能量消耗。而且这么多头也很麻烦。另外,个人习惯,我不大喜欢一拖二线,看起来很累赘。所以我外挂的转接头。如果你喜欢内置,我会推荐这款转接头型二合一的。本质上没啥区别。

原则上说,1+2/3/配套转接头可以替换下面的4/5。然而这里还是有点细节的。用组合的方法来配置5的时候,可以正常使用,但是无法启动PD快充。如果要启动PD快充,需要带着5。而如此一来,组合4的时候就有两个办法。一个是1配合2,一个是5配合6。实践证明,后者无法工作。

所以简化一下,最低限度我们需要三样东西。(当然,大多数人大概会选micro-b的线,配合type-c转接头)

  1. OTG
  2. type-c线 (3)
  3. micro-b转换头 (6)

如果需要启动快充,需要加一根type-c公对公 (5)。

我选择山泽和秋叶原是因为,两个牌子都比较大。山泽刚用还没什么好说的。秋叶原的线便宜而且耐弯折性好。2/3这两类线我都大量备货,同时配合少数5。

另外说一下长度。一般线材常用的长度是1-1.5米,但是我一般选择会使用0.5的线,配合少量专用的1.5-2米的线。正常来说,0.5米的线够长了,无论是电源连接充电宝/手机,还是充电宝连手机。线越长,携带的时候就需要缠绕,占地不说,理线还特别麻烦。经常缠绕还会损伤线,导致接触不良。而0.5的线本身不占地,没有理线烦恼,还便宜。1米以上的线,主要都是用来连接电源到设备,同时保持设备使用的,例如MBP。这类线我一般会专门准备,家里床头准备一根,出门带一根就行。因为一般人手里也就一台设备,没道理你一手用MBP,一手用手机,两个还都要接电。就算是,也没道理MBP不能接手机。

另外,出门在外行走江湖。为了以防万一,我一般会带一个马卡龙和OTG配合来备用。马卡龙等于2+3,而且伸缩折叠方便,占地小,好管理。配合OTG足够输出所有常用接口,接到所有常见口上。可惜马卡龙成本很高,不支持启动PD快充,经常弯折还会损坏。所以也就是江湖救急用。

996