【译】关于 USB-C 的一切:高速接口

原文链接:https://hackaday.com/2023/01/17/all-about-usb-c-high-speed-interfaces/

USB-C 的惊人之处在于它的高速性能。其引脚提供了四个高速差分信号线对和几个低速信号线对,让您可以通过一个比硬币还小的连接器传输大量数据。但并非所有设备都能利用这一功能,而且也不需要这样做——USB-C 的设计目的是让世界上所有便携设备都能使用。然而,当你的设备需要通过 USB-C 传输高速数据时,USB-C 能为你带来的益处以及它能发挥的作用就会让你大吃一惊。

从 USB-C 接口获得高速接口的能力被称为"替代模式",简称"altmode"。目前,你能遇到的三种替代模式是 USB3、DisplayPort 和 Thunderbolt,还有一些已经淡出人们视线,如 HDMI 和 VirtualLink,还有一些正在崛起,如 USB4。大多数 altmode 都需要数字 USB-C 通信,通过 PD 通道使用特定类型的信息。尽管如此,并非所有模式都需要 altmode,USB3 就是最简单的一种。下面我们就来了解一下什么是 altmode。

USB-C 中的 C 代表"能够"

如果你看过引脚图,就应该知道高速引脚。今天,我想向大家介绍一下如今这些引脚可以提供哪些接口。这并不是一个完整或广泛的列表,例如,我不会谈论 USB4 等接口,部分原因是我对其了解不够,也没有使用经验;另外,可以肯定的是,未来我们将获得更多配备 USB-C 的高速设备。此外,USB-C 具有足够的灵活性,黑客可以通过它以符合 USB-C 标准的方式暴露以太网或 SATA——如果这正是你所寻找的,也许这篇概述能帮你弄明白。

USB3

USB3 非常非常简单,只有一对 TX 和一对 RX,虽然传输速度远远高于 USB2,但对于黑客来说还是可以应付的。如果使用具有 USB3 信号阻抗控制功能的多层印刷电路板,并谨慎处理不同的差分信号线对,USB3 连接一般都能正常工作。

高速连接:左边是配备插座的设备,右边是配备缆绳或插头的设备。如果您想在闪存盘上添加一个支持 USB-C 的 USB3 插头,右侧的"CC Logic"需要包括一个电阻。

对于 USB3 和 USB-C,变化不大——您将有一个用于处理接口方向的多路复用器,但仅此而已。USB3 多路复用器非常丰富,因此在电路板上添加支持 USB3 的 USB-C 几乎不会有问题。此外,还有双链路 USB3,即并行使用两个 USB3 链路来提高吞吐量,但黑客一般既不会遇到也不需要这个,而这一领域往往由 Thunderbolt 提供更好的服务。想将 USB3 设备转换为 USB-C?你只需要一个多路复用器。如果您想在电路板上为高速设备安装 MicroUSB 3.0 接口的话,我婉拒,请您改用 USB-C 插座和 VL160。

如果您设计的是配备插头的 USB3 设备,您甚至不需要处理接口方向的多路复用器——事实上,您不需要任何接口方向检测。对于直接插入 USB-C 端口的 USB3 闪存盘,或 USB-C 公口到 USB-A 3.0 母口的适配器,一个不受监控的 5.1kΩ 电阻器就足够了。在插座方面,如果有备用的 USB3 连接可以牺牲,就可以避免使用多路复用器,当然这并不是一个很好的交易。我对双链路 USB3 的了解还不足以判断这种连接是否具有 USB3 双链路功能,但我认为答案是否的可能性大于是!

DisplayPort

DisplayPort (DP) 是连接高分辨率显示器的绝佳接口——它在台式机领域已超越 HDMI,在嵌入式显示器领域以其 eDP 形式占据主导地位,通过单根电缆提供高分辨率,通常比 HDMI 更好。通过使用一种名为 DP++ 的标准,它可以通过廉价的适配器转换成 DVI 或 HDMI,而且不像 HDMI 那样受版权限制。VESA 联盟与 USB 集团合作实现对 DisplayPort 的支持是合情合理的,尤其是考虑到 SoC 中的 DisplayPort 传输器已经越来越流行。

如果你使用的是带有 HDMI 或 VGA 输出的底座,那么它在引擎盖下使用的就是 DisplayPort altmode。越来越多的显示器都带有 DisplayPort over USB-C 输入,由于有了名为 MST 的功能,你可以串联显示器,实现单线多显示器配置——除非你使用的是 Macbook,因为苹果拒绝在 MacOS 中支持 MST

此外,还有一个有趣的事实——DP 模式是唯一使用 SBU 引脚的模式之一,SBU 引脚被重新用于 DisplayPort AUX 对。USB-C 引脚的整体匮乏也意味着必须省略 DP 配置引脚,除了 DP++ HDMI/DVI 兼容模式。因此,所有的 USB-C DP 至 HDMI 适配器实际上都是变相的 DP-HDMI 转换器,而 DP++ 则不同,它允许您使用电平转换器来支持 HDMI。

如果你想使用 DisplayPort,你可能需要一个支持 DP 的多路复用器,但最重要的是,你需要能够发送自定义的 PD 信息。首先,整个"提供/请求 DP Altmode"部分都是通过 PD 信息完成的,因此光靠电阻是不够的。另外,DisplayPort 中的一个重要信号 HPD 没有空闲的引脚,因此热插拔事件和中断都是通过 PD 通道作为信息发送的。在此之前,如果你需要从 USB-C 端口用 DP altmode 输出 DP 或 HDMI,有一些芯片(如 CYPD3120)可以让你编写固件来实现这一功能。

使 DP 模式脱颖而出的一个重要因素是,USB-C 端口有四条高速通道,这种模式允许在 USB-C 端口的一侧连接 USB3,在另一侧连接双通道 DisplayPort。这就是所有"USB3 端口、外设和 HDMI 输出"底座的工作原理。如果双通道分辨率对你有限制,你也可以买一个四通道适配器——因为没有 USB3,所以没有数据传输,但你可以通过两个额外的 DisplayPort 通道获得更高的分辨率或帧率。

我的看法是,DisplayPort altmode 是 USB-C 最棒的地方之一,虽然最便宜(或设计最糟糕)的笔记本电脑和手机都不支持它,但拥有一款支持它的设备也是一件乐事。当然,有时大公司也会直接剥夺这种乐趣,比如谷歌。

译者注:更多的 DisplayPort altmode 信息可以在这篇文章这篇文章中找到。

然后,让我们来谈谈其中最复杂的 altmode。

THUNDERBOLT

具体到 USB-C,您可以使用 Thunderbolt 3,不久还可以使用 Thunderbolt 4,但现在这只是想象中的。Thunderbolt 3 最初是一种专有规范,最终由英特尔开源。显然,他们开源得还不够,或者还有其他的注意事项,因为目前市场上的 Thunderbolt 3 设备仍然完全使用英特尔芯片制造,而我的猜测是,缺乏竞争是导致价格牢牢占据三位数领域的原因。为什么首先要选择 Thunderbolt 设备?除了更高的速度,还有一个杀手锏。

您可以通过 Thunderbolt 获得 PCIe 直通,链接宽度可达 4x!这一直是希望获得 eGPU 支持或使用 NVMe 驱动器进行快速外部存储的用户的热门话题,一些黑客还将其用于 PCIe 连接的 FPGA。如果你有两台支持 Thunderbolt 的电脑(比如两台笔记本电脑),你也可以通过支持 Thunderbolt 的电缆将它们连接起来——这将在两台电脑之间创建一个高速网络接口,而无需额外的组件。当然,Thunderbolt 还能在自身内部轻松实现 DisplayPort 和 USB3 传输。Thunderbolt 技术功能强大,适合高级用户使用。

尽管如此,所有这些炫酷功能都是以专有和复杂的技术堆栈为代价的。Thunderbolt 并不是一个黑客就能轻易开发出来的——不过,总有一天会有人尝试的。而且,尽管 Thunderbolt 底座拥有丰富的功能,但软件方面的问题却时有发生,尤其是在尝试让笔记本电脑的睡眠模式正常工作而不会让 eGPU 崩溃内核的时候。如果这一点现在还不明显的话,我正焦急地等待英特尔将其整合起来。

多路复用器?什么是多路复用器?

我一直在说"多路复用器"。那是什么?简而言之,就是根据 USB-C 旋转情况帮助处理高速信号交换的部分。

多路复用器

高速通道是 USB-C 中受端口旋转影响最大的部分。如果您的 USB-C 端口使用高速通道,则需要一个多路复用器(mux)集成电路来管理两种可能的 USB-C 接口方向——将两端端口的方向和电缆与所连接设备内部的实际高速接收器和发射器相匹配。有时,如果高速芯片是针对 USB-C 开发的,那么这些多路复用器就是高速芯片的内部部分,但很多时候,它们是独立的芯片。想要为尚未支持 USB-C 的设备添加高速 USB-C 支持?多路复用器将是实现高速通信的核心元件。

如果您的设备有一个带高速通道的 USB-C 插座,它就需要一个多路复用器,而配备缆线和插头的设备则不需要。通常情况下,如果使用线缆连接两台带有 USB-C 插口的高速设备,则两台设备都需要多路复用器——管理线缆旋转是每台设备的责任。在两边,多路复用器(或连接有多路复用器的 PD 控制器)将监控 CC 引脚的方向,并采取相应措施。这种多路复用器也有很多,用途各不相同——这取决于你想从端口中得到什么。

你会在只在 Type-C 端口上实现 USB 3.0 的廉价笔记本电脑中看到 USB3 专用的多路复用器,如果它支持 DisplayPort,你就会看到有额外输入的多路复用器来混合这些信号。在配备 Thunderbolt 高端端口的笔记本电脑中,多路复用器将内置在 Thunderbolt 芯片中。对于无法使用 Thunderbolt 或不需要 Thunderbolt 的使用 USB-C 开发的黑客来说,TI 和 VLI 提供了许多适用于各种用途的优秀多路复用器。例如,我最近一直在使用 DisplayPort over USB-C,而 VL170(似乎是 TI HD3SS460 的 1:1 克隆版)看起来是一款非常适合 DisplayPort + USB3 组合用途的芯片。

HD3SS460 等支持 DisplayPort 的 USB-C 多路复用器本身不能进行 CC 引脚管理和旋转检测,但这是一个合理的限制 - 您需要针对 DisplayPort 进行相当特定的应用 PD 通信,而这很快就会超出多路复用器的功能范围。USB3 不需要 PD 通信,您是否满意?VL161 是一款用于 USB3 多路复用的简单芯片,它有一个极性输入,需要您自己进行方向检测。

如果您也不想进行方向检测,那么模拟、纯 5V PD 是否足以满足您的 USB3 需求?请使用 VL160 这样的产品——它可以进行终端设备和源设备模拟 PD,同时处理电源和高速通道旋转。这才是真正的"我希望在 USB-C 上使用 USB3,我希望一切都能为我管理"的 IC;例如,最近的开源 HDMI 采集卡的 USB-C 端口就使用了 VL160。不过,为了公平起见,我没有必要把 VL160 单列出来——这样的集成电路有几十种;"USB-C 的 USB3 复用器无所不能"可能是目前最流行的一种 USB-C 相关观点。

已计划,但已放弃的 altmode

有几种被放弃的 USB-C 模式。第一种我不会为它悲伤——它是 HDMI 模式;它只是将 HDMI 接口引脚放到 USB-C 接口引脚上。它可以通过 USB-C 连接 HDMI,而且似乎曾在智能手机上短暂使用过。然而,HDMI-DP 转换通常成本高昂,而 HDMI 需要四个差分线对,因此无法与 USB 3.0 结合使用,再加上 HDMI 许可包袱,HDMI 替代模式不得不与易于转换为 HDMI 的 DisplayPort 替代模式竞争。我真诚地认为它应该继续存在,因为我不相信增加更多的 HDMI 就能改善我们的世界。

不过,另一种模式其实很有趣,它叫 VirtualLink。一些大型科技公司一直在研究 USB-C 在 VR 方面的功能,毕竟,当你的 VR 头显只需要一根线缆就能完成所有操作时,那真是太棒了。然而,VR 眼镜需要一个高分辨率、高帧速率的双显示视频接口,以及一个用于辅助摄像头和传感器的高速数据连接,而通常的"双通道 DisplayPort+USB3"组合在当时无法提供这样的功能。那该怎么办呢?

VirtualLink 集团表示,这很简单,只要去掉 USB-C 连接器上的两个重复的 USB2 对,用四个引脚连接 USB3 即可。还记得我半年前在一篇短文中提到的 USB2 至 USB3 转换器芯片吗?是的,它最初的用途是 VirtualLink。当然,这种安排需要更昂贵的定制线缆,并额外增加两个屏蔽线对,而且还要求 PC 提供高达 27W 的功率,因此需要 9V 的输出电压——这在非墙插充电器或电源箱的 USB-C 端口上非常罕见。USB2 与 USB3 的偏离让一些人感到不满;不过,对于 VR 而言,VirtualLink 看起来非常有用。

一些 GPU 在出厂时支持 VirtualLink,但最终还是不够,而以缺少 USB-C 端口而闻名的笔记本电脑也不屑一顾。这导致这一安排的关键参与者 Valve 放弃了在 Valve Index 中添加 VirtualLink 集成,从此开始走下坡路。遗憾的是,VirtualLink 从未真正起飞。本来,VirtualLink 会是一种有趣的辅助模式——对于 VR 用户来说,单根线缆会非常棒,而且 USB-C 对电压的要求也会提高,这也为我们提供了可使用 PD 的高于 5V 的端口——而现在的笔记本电脑和个人电脑几乎都不提供这种端口。是的,提醒一下——如果你的台式机或笔记本电脑上有一个 USB-C 端口,它当然会给你提供 5 V 电压,但你不会得到更高的输出电压。

不过,让我们看看好的一面。如果您的 GPU 碰巧配备了 USB-C 端口,那么它将同时支持 USB3 和 DisplayPort!

统一带来兼容性

USB-C 的最大优势在于:如果厂商或黑客愿意,完全可以定义自己的混合模式,虽然适配器是半专有的,但其核心仍是 USB-C 端口,可用于充电和数据传输。想要以太网模式或双端口 SATA?就这么办。过去,我们不得不为设备寻找非常晦涩难懂的连接器,每一个基座和充电连接器都不一样,如果足够罕见,甚至有可能找到的话,每个连接器的价格可能高达 10 美元,这样的日子已经一去不复返了。

并不是每个 USB-C 端口都必须实现所有这些功能,许多 USB-C 端口并不具备这些功能。但是,很多 USB-C 端口都能实现这些功能,而且随着时间的推移,我们能从一个普通的 USB-C 端口中获得越来越多的功能。从长远来看,这种统一和标准化将带来回报,虽然偶尔会出现偏差,但制造商将学会更巧妙地处理这些偏差。