「USB」USB相关知识(type-A、type-B、type-C)

更新日期:2023-10-20

引用地址:mp.weixin.qq.com/s/BQhdeEvjW8RJf4Fj7_KERg

2022 年 10 月 24 日,欧盟通过了一项新的规定,要求在 2024 年所有电子设备(不包括笔记本电脑)的充电接口必须使用 USB-C 接口,也就是我们常说的 Type-C 口或者华为口。

图片

而前段时间,苹果新发布的 iPhone 15 上也使用了 Type-C 口代替了传统的 Lightning 口,成为了首批使用 Type-C 口的 iPhone 系列手机。

图片

虽然 Type-C 现在随处可见,但我们似乎并没有真正了解过这些纷繁复杂的 USB 接口。那我们今天就聊一聊大家可能困惑的几个问题。

为什么苹果要更换 Type-C?

最直接的原因是应欧盟的要求。早在 2009 年欧盟就提出自愿协议让大家统一使用 USB 接口(Micro-B),结果苹果出了个使用 Lightning 接口的 iPhone 5 并配备了一个转接头绕过了欧盟的协议。

后来 2014 年欧盟又提出了一个新的自愿协议让大家统一使用 Type-C,而苹果以扼杀创新为理由写了很长的一份报告,拒绝签字。

再后来就是开头所讲的,2022 年欧盟终于强制要求使用 Type-C 口而苹果也终于在 iPhone 15 上进行了更换。从这个角度和时间线看,苹果似乎一直在和欧盟作对,故步自封不跟上时代潮流,最后被迫低头战败。

苹果手机的 Lightning 接口近些年确实相比于 USB 系列的接口落后很多,但以苹果固步自封不跟随 USB 技术发展的大趋势这句话不太站得住脚,有以下三点事实。

第一,苹果也是 USB-IF 组织的成员,甚至还参与了 Micro-B 和 Type-C 接口的设计。

图片

第二,1998 年苹果的 iMac 电脑取消了很多串口,开始逐渐使用了 USB 接口,当时还引起了很多争议,而 USB 接口也因为苹果电脑的使用开始逐渐流行起来。

第三,2016 年 MacBook Pro 取消了所有的接口,只保留了四个 Type-C 口,这又一次推动了 Type-C 的发展。

所以,从这个角度看,苹果其实一直在非常激进地推动 USB 接口和协议的发展,这与大家通常吐槽 Lightning 接口时的认知又完全相反。

至于为什么苹果迟迟不换 C 口而今天又换了 C 口呢?我也不知道,可能是因为苹果有自己的考虑,也可能是舍不得靠这个接口赚到的钱,比如独家线材以及 MFi 认证费等。但绝对不是简单的苹果就是要和 USB 大趋势作对。

Type-C 为什么叫 Type-C?

答案似乎很明显,当然是因为先有 Type-A 和 Type-B 了,但其实这个问题细说起来还挺复杂的。

首先需要明确一点,Type-A Type-B 和 Type-C 都属于 USB 接口的类型,它既不是接口的形状,也不是接口的协议,仅仅表示类型。之所以这么说起来怪怪的或者理解不了,并不是你的问题,而是因为 USB-IF 组织的混乱起名方式,以及人们平常的通俗叫法习惯导致的。

在 USB 官方文档里,Type-A 准确叫法是 Series A,Type-B 则是 Series B,也就是 A 系列接口和 B 系列接口。

图片

A 系列接口表示向上连接主机的那些接口,比如台式机、笔记本等;而 B 系列接口则表示向下连接设备的那些接口,比如打印机、手机等。

任何 USB 事务都是由主机引发的,设备端只是被动响应。即便是用优盘向主机拷贝数据,也是主机主动”让”优盘给自己发送数据,优盘永远是被动的一方。这就是 USB 的主从模式。

说回来,既然是系列接口,那肯定不止一个。没错,A 系列接口分为标准的 A,Mini-A 和 Micro-A,与之相对应的 B 口也相应地分为这三种。

图片

只不过,Mini-A 和 Micro-A 基本上被淘汰干净了,只剩下一个标准的 A 口了,也就变成了我们口头常说的 USB 口。所以其实准确的叫法:

USB Standard Type-A

B 口就更加惨了,三种 B 口几乎都要被淘汰了,取而代之的就是现在越来越普及的 Type-C。所以现在的线缆大部分是 Type-A To Type-C,用口头话讲就是一头是 USB 口一头是 C 口(也可以亲切地叫华为口或乐视口)。

图片

如果你比较敏感的话,这里你应该有个疑问,既然三种 B 口都被淘汰了,取而代之的不应该是另一个 XXX Type-B 口么,为什么来了个 Type-C 这种奇怪的名字?

因为 Type-C 口既可以插在主机端,也可以插在设备端,所以既不属于 Type-A 这种必须插入主机的接口系列,也不属于 Type-B 这种必须插入设备的接口系列。

只不过,目前的 Type-C 仍然在设备端更常见一些(除了苹果 mac),等什么时候台式机主板和机箱上以及非 mac 的笔记本电脑上把 Type-A 口淘汰并替换成了 Type-C 口,那么这种不分主机和设备的感觉才能更直观些。

另一个问题,既然 Type-A 和 Type-B 都有具体的子类型,那么 Type-C 怎么没见人区分呢?

因为 Type-C 接口的外观只有一种,不再像 A 和 B 一样让人眼花缭乱,所以 Type-C 既可以表示一种接口类型,也可以表示这类接口中的唯一一种具体的接口。也就没人再去纠结它的含义了,也就不用再说这是什么标准的 Type-C 还是粗的 Type-C 还是细的 Type-C 这种前缀了。

刚刚说的 USB 1.0 2.0 3.0 是什么意思?

刚刚在展示 A 口和 B 口的外观时,用了一张图,展示了标准口、Mini 口 和 Micro 口的区别,正常来说 A 和 B 分别三种口应该是六个图,但怎么有九个形状呢?

图片

因为一个接口,既要说明它是 Type-A 还是 Type-B 这个大类型,又要说明它是标准的还是 Mini 的还是 Micro 的这种小类型,还需要说明它的 USB 协议版本,也就是 1.0 还是 2.0 还是 3.0。

不同协议版本的相同接口,可能外观很像但有一点差异,也可能外观一样但触点不同。所以我们还得纠正一下刚刚的叫法,假如是支持 3.0 协议的,我们通常口头说的 USB 口,最标准的叫法应该是:

USB 3.0 Standard Type-A

图片

虽然十分混乱,但有一个不变的原则就是协议需要尽量向下兼容。就单从物理外观上说,比如 USB 2.0 的标准 B 口是可以插在 USB 3.0 的标准 B 口上的,同样 USB 2.0 的 Micro-B 也可以插在 USB 3.0 的 Micro-B 上,后者都只是比前者多出一块区域,丑不丑咱不说,但确实看出来努力在兼容了。

所以现在搞明白了三个概念:

协议:如 USB 3.0 协议

接口:如 Micro-B 接口

类型:如 Type-A 类型

同样的协议可以有不同的接口外观,同样的接口外观也可以有不同的协议。其中最让人迷惑的就是 Type-C,按照 USB 官方最初的意思来看这应该是指类型,但由于这类的接口只有一种样子,所以它又可以表示具体的接口外观,只要一说 Type-C 大家马上就知道具体是长什么样子的接口了。

当然,虽然接口和类型不再那么复杂了,但 Type-C 到底是支持哪种协议的就变得让人头疼了。同样是一个外观形状,却可能支持 USB 2.0 也可能支持 USB 3.0 还可能支持 USB 4,甚至可能支持不是 USB 协议里的雷电 3 和雷电 4 协议。

所以说虽然外观一统天下了,消费者确实不再为物理上插不进去数据线而苦恼,但具体内部的构造却隐藏起来了,导致很难直接从外观就知道它支持什么功能,很可能插得进去但用不了或不符合预期(比如无法充电、无法传输数据、无法接高清显示器、无法外接显卡等)。

USB 协议版本为什么感觉这么混乱?

不是感觉,它就是很混乱。其实我刚刚上面叫的 USB 1.0 USB 2.0 USB 3.0 在很久以前还是对的,现在已经被 USB-IF 组织把名字给玩坏了。消费者一个叫法,商家一个叫法,标准组织又一个叫法,可以说乱成一锅粥。

我就不一个一个捋了,大家可以直接参考下面这张图,每一列的名字都表示同一个协议版本,目前只能根据传输速度来判断版本,还比较靠谱了。

图片

比如说原来叫 USB 3.0 的协议,后来被改名为了 USB 3.1 GEN 1,再后来又改名为 USB 3.2 GEN 1。所以在商家的标注里,你说它是 3.0 也对 3.1 也对 3.2 也对,气不气人?

所以说之前的叫法:

USB 3.0 Standard Type-A

就又要改成最新的叫法:

USB 3.2 Gen 1 Standard Type-A

这有多离谱呢?打个比方,我出了一款手机叫闪客一号,然后我又出了一款手机叫闪客二号。有一天,我突然把之前的闪客一号改名叫了闪客二号,然后原本的闪客二号变成了闪客二号 PLUS。

然后我还不满意,我又出了个新手机闪客三号,结果我又把之前的两款手机分别改名叫闪客三号低配版、闪客三号中配版,新手机叫闪客三号高配版。

你就说,气不气人?一个定义标准的组织,居然改版本号改得这么随意,Java 都出了二十多个大版本了也没见这么改呀。

为什么简简单单一根线却有所谓的各种协议?

你会不会经常觉得,一根数据线或者充电线,仅仅是一根两头有形状的导线而已,为什么还有支持什么什么协议这一说?那我随便在外面捡根绳子咋没有这个说法?

起初我也有这个想法,但后来发现 USB 这个东西的细节非常复杂,有严格的传输协议或充电协议的规范,也有接口引脚含义和物理外观的严格规范。USB 2.0 最基本的协议规范文档就有 500 多页。

图片

比方说传输协议,其实 USB 两边的主机和设备,也需要按照一定的数据格式通过握手协商和数据传输最终达到通信的过程。只不过我们学软件的可能对网络传输过程的协议比较了解,就习以为常了,但同样一根 USB 线两端的通信也需要一套复杂的通信协议。

图片

在 USB 两端的设备连接起来之后,会进行一系列的握手和协商过程,以确定双方的速度、功能和配置。比如通过 Chirp 信号来检测设备是否支持高速模式或超高速模式,通过 CC 信号检测设备是否支持雷电 3 技术等。

同时,数据线本身也有自己能支持的配置信息,而这些信息和逻辑是通过隐藏在数据线插头处的芯片来实现的。

比如 Type-C 数据线通常要在里面嵌入 E-Mark 芯片用于存储和传递数据线的各种属性信息,比如电源传输能力、数据传输能力、视频传输能力等,让连接到它的设备可以识别到它的能力,进而调整自己的电压、电流或音视频信号。

图片

再比如支持雷电接口的数据线,里面需要有专门的雷电控制器芯片,用于实现雷电协议的高速数据传输和快速充电等功能。

再比如苹果的 Lightning 数据线里面也会嵌入苹果自己设计的芯片,用于实现苹果生态里的各种传输和控制协议,其中 MFi 认证就是里面的芯片来控制的,苹果设备通过和数据线里的芯片进行通信,验证数据线是否经过了苹果的授权。而每个芯片都有自己的唯一标识的序列号,如果想伪造也是非常困难的。

再比如像华为和小米这些手机厂商,为了提高自己的充电功率,往往都有自己的私有充电协议(如小米的 ChargeTurbo 协议和华为的 SCP 协议),与之相对的是通用的充电协议如 PD 协议和 QC 协议),这也需要在厂家生产的数据线中加入特有的芯片来存储和控制这些协议相关的信息。

所以,数据线本身的构造和利用数据线进行的通信过程,远比我们想象的要复杂得多。

全世界的大佬们把接口规范定义出来,做主机的做主机,做设备的做设备,做数据线的做数据线,它们之间连起来就能够和谐的交互,并且不出问题,还能向下兼容,这些我们可能觉得习以为常的东西,实际上是有很复杂的规范在支撑的。

好了,今天就聊到这吧。


「USB」USB相关知识(type-A、type-B、type-C)
https://www.tohmm.cn/20231020/U-USB相关知识/
作者
H.mm
发布于
2023年10月20日
许可协议