【译】关于 USB-C 的一切:介绍

原文链接:https://hackaday.com/2022/12/06/usb-c-introduction-for-hackers/

现在,从第一个 USB-C 设备开始,USB-C 端口至少已经被使用五年了。这是一个许多制造商和黑客都支持的标准。起初,我们对实际使用中会遇到的问题感到困惑,制造商造成的变化也让一些人望而却步。不过,USB-C 将继续存在,我想向你展示 USB-C 在实际应用中的情况,作为一个强大的用户,你能从中得到什么,作为一个业余爱好者,你又能从中得到什么。

现代设备有一系列共同的需求:它们需要电源输入或电源输出,有时两者都需要,它通常使用 USB 2.0 的连接。此外,我们还经常需要一些更高速的连接,如显示输出/输入,或者说 USB 3。上述所有功能都是可选的,这既是好事也是坏事,但你很快就能学会根据设备的外观来区分它的预期功能,我想告诉你在有疑问时如何进行检查。

通信能力、配置和注意事项

我们都知道,USB-C 可以旋转——它可以让你以任何方式插入线缆——这是对 USB-B 的重大改进。让我们来看看它是如何工作的。要实现这一点,需要一个 CC(Configuration Channel,配置通道)连接,每条 USB-C 线缆中都有一条单线连接到 Type-C 接口中的两个配置通道 CC 针脚之一,这对 USB-C 的工作至关重要。对于简单的 USB-C 使用情况,例如“从端口获得 USB 2.0 和 5V 电压”,只需遵循一个简单的方法——在每个配置通道 CC 引脚上连接一个 5.1kΩ 的下拉电阻,您就能拥有一个能与所有兼容设备配合使用的 USB-C 端口。

USB-C 端口接线

当然,USB-C 支持 5V 和 USB 2.0 以外的电压。你可以从 USB-C 端口获得各种电压,这对笔记本电脑等设备的充电非常方便。你可以连接 USB 3、DisplayPort 和 Thunderbolt。大多数笔记本电脑会让你连接一个尽可能利用 USB-C 的扩展坞,通过同一根线缆为你提供高分辨率显示屏、大量 USB 端口和充电功能。那么,它是如何工作的呢?

对于电压大于 5V 的情况(USB-PD)或 USB 2 和 3 以外的高速连接(alt-modes,即备用模式),必须通过同一配置通道 CC 连接来调用。单线用于双向通信,这使得配置通道 CC 线成为半双工通道;它是一种固定速率 300 kbps 的以太网协议。有很多集成电路可以通过该协议实现一系列定义的功能,还有很多集成电路和微控制器外设可以帮助您通过该协议实现任何您想要的功能。

功能强大…

USB-C 端口有四个高速差分对引脚,共八个引脚。许多简单的 USB-C 设备都将它们断开,但这些端口的功率很大。首先,当你在笔记本电脑上看到这样的端口时,通常可以使用 USB 3.1 或 3.2。一个 USB3 端口通常占用四个差分线对中的两个,但有些设备支持 2x2 USB3 链路,使线对数量和传输速度翻倍。越来越多的 USB-C 端口也能支持 DisplayPort - 通过两个或四个通道,可以驱动一些分辨率相当高的显示器。

还有 Thunderbolt 这种半专有技术,也使用 USB-C 接口上的高速线对。它可以将 USB3、DisplayPort 甚至 PCIe 传输到自己内部,但这三者缺一不可。有了 Thunderbolt,你就可以拥有一个扩展坞、拥有更多 DisplayPort 选项、更好更快的端口,甚至外置显卡 GPU!可以猜到,这是所有这些产品中最稀有、最昂贵的选择。

有了这些高速和大功率的功能,将所有东西统一到一个连接器中就有了强大的优势。您的 USB-C 笔记本充电器还可以在需要时为您的手机充电,而且得益于积极的标准化,充电过程中不再涉及太多专有的东西。

如果你有一个 USB-C 的任天堂 Switch 底座,理论上它也可以充当笔记本电脑的底座,前提是你能让它们物理上连接起来,而且笔记本电脑底座也能与 Steam Deck 一起使用。总的来说,扩展坞越来越合理——你只需用一根线缆就能连接所有设备,它还能与大多数 USB-C 设备配合使用,仅此而已。

每一年,USB-C 无法实现的功能越来越少。去年,他们发布了 EPR(Extended Power Range 扩展功率范围),将 USB-C 端口的功率提升到 240W、48V@5A,而 SPR(Standard Power Range,标准功率范围)则将 USB-C 端口的功率限制在 100W、20V@5A。这基本上消除了笔记本电脑对桶状插头适配器的需求,而 100W 的 USB-C 曾经是一个障碍,我们不再需要所有带有各种桶状插孔适配器的“通用”电源。还有即将推出的 USB4 标准,它与 Thunderbolt 相似,但又不完全相同,但更好,但又更糟(?)无论如何,我们都会看到更多的电脑支持 USB4,希望有一天每台笔记本电脑都能配备高速接口,即使是最便宜的笔记本电脑也不例外。

总的来说,USB-C 的未来是光明的,它在很多方面的设计都很合理——汲取了几十年来我们在端口、电缆和标准方面所犯的错误,并为即将到来的新增功能留出了足够的空间。

当然,USB-C 也创造了一个可以犯错误的全新领域。

…令人难忘的记录

USB-C 的恐怖故事随处可见——基本上每个使用过 USB-C 的人都能告诉你,USB-C 曾经让他们失望过一次,或许是多次。但我坚信 USB-C 的优点多于缺点,我们必须记住它曾经让我们失望的地方,以及它现在仍然让我们失望的地方,这样我们才能从中吸取教训,找出避免失败的方法。

并非 USB-C 标准的所有部分都是经过深思熟虑的。我首先想到的是电缆和端口。当你看到一个 USB-C 端口时,很难一眼就知道它支持什么,线缆也是如此。目前的情况非常糟糕——对于还没有找到合适解释的人来说,使用 USB-C 有时需要大量的猜测。如何区分线缆是有指南的,我也会顺便介绍一些技巧。不过,他们应该从一开始就引入一个引人注目的视觉标记方案。

USB-C 标准的实现有些复杂,涉及众多状态机和特殊性。USB-C 规范以冗长的 PDF 文档而闻名:连接器和电缆文档长达 350 页,USB-PD 文档长达 600 多页。多年来,许多制造商真诚地尝试过,但仍然制造出了具有明显怪异边缘的设备。笔记本电脑只能与特定的充电器配合使用,反之亦然;底座只能与特定的笔记本电脑配合使用,或只能与特定的充电器配合使用;电缆只能在一个方向上使用,或根据电缆的方向不同,设备的工作方式也不同——这其中不乏玄机。

除此之外,还有无数种滥用 USB-C 的方法,某些制造商也在努力尝试!别人滥用 USB-C 标准并不是 USB-C 标准的错,因为在定义一个复杂的标准时,只能实施有限的保护措施。不过,我们仍然有全新的问题需要注意。有些 USB-C 罪过难以原谅,值得分开处理,有些则不那么明显——我们将一一讨论其中的许多问题。

无数种入侵方式

请务必牢记这一点——随着时间的推移,USB-C 只会变得越来越一致;如果有必要的话,还可以通过强制手段来实现。同样,它也只会变得更容易被黑。因为随着时间的推移,我们将收集到越来越多的构件——硬件和知识。除此之外,我们家中的 USB-C 生态系统也在与日俱增。如果你今天正在设计某样东西,那么你应该在你的使用案例中强烈考虑 USB-C。

在此,让我们回顾一下添加一个 USB-C 端口需要哪些条件,以确保您的设备能获得 5V 电压(最高可达 3A)和 USB 2.0 数据,并同时支持两者的完全旋转。

就是这样。与 MicroUSB 相比,只多了两个电阻,而且引脚更容易焊接。请按照原理图上的指示连接电阻;不要像 Raspberry Pi 4 那样连接配置通道 CC 引脚,也不要省略电阻。如果省略电阻,上游 Type-C 端口将无法为设备提供 5V 电压——很多廉价设备都省略了电阻。没有 5.1kΩ 电阻器,那么就无法为设备供电——除非使用 USB-A 转 USB-C 电缆为设备供电。如果省略其中一个电阻器,那么端口只有一个旋转能正常工作——有些廉价设备只有一个电阻器。

每个希望在任何位置接收 5V 电压的 USB-C 设备都有这些电阻器,有的是板载的,有的是 USB-C 通信集成电路内部的。对于简单的“5V 和 USB 2.0”用途,您只需使用 1% 的 5.1kΩ 电阻器即可。不过,在紧要关头,您也可以并联两个 10K 电阻器,这实际上是可行的。就我个人而言,我刚订购了一卷 5.1kΩ 电阻器,它们帮了我大忙。如果您的端口设计者忘记添加这些电阻,您还可以订购一些 FPC 垫片,帮助将这些电阻焊接到常用的连接器上!

您有很多 USB-C 连接器可供选择,其中 16 引脚的连接器最受欢迎——您可以在任何地方购买到大量引脚兼容的连接器,而且手工焊接也相当容易,尤其是如果您有焊芯可以用来修正错误的话。请确保不要使用不带 CC 引脚的连接器,因为无法连接下拉电阻器,这样的连接器无法与真正的 Type-C 端口配合使用,而且只能与 USB-A 转 USB-C 连接线配合使用,这是一个很大的限制。

当然,USB-C 的功能远不止我前面提到的 5V@3A 和 USB 2.0,我会向你展示如何获得所有其他可能性。不过,请务必记住所示公式,因为这是您最常用的公式,而且它还有助于您理解其他公式。同时,您可以使用 SBU 引脚来暴露一些调试连接(如 UART),因为除了 DisplayPort 之外,没有其他设备使用 SBU。不过,要找到能以手工焊接形式暴露 SBU 的插头断路器可能比较困难。而且,如果你进入了 USB-C 端口黑客联盟,你也可以以符合标准的方式实现调试

你不必总是遵守

对于黑客来说,遵守 USB-C 标准是一把双刃剑。如果不符合标准,你可能会毁掉一台笔记本电脑,也可能会让你受益匪浅,而不会带来危险或弊端。有些情况之所以被“取缔”,并不是因为它们真的有危险,而是因为它们被认为会让普通用户感到困惑,或者不会带来顶级的功能。

在接下来的文章中,我将讨论那些糟糕透顶、根本不应该出现的东西。我还会告诉你如何温和地(或严厉地)违反标准,如果这样做对你有好处,或者这样做是完全合理的,以及在哪些情况下你可能会违反标准,但你真的真的不应该这样做。这里有一个指导原则——当你听说你想使用的东西违反了 USB-C 标准时,在你的具体应用中会产生什么后果就非常重要了。