什么是USBC接口 第三章:电流限制——60W 的物理天花板,如何突破100W

我们先从一根“最普通不过”的 C-to-C 线说起。你把它剥开,里面没有芯片,没有电阻,没有电容,没有 E-marker,全都是 一根根直通铜线。但你把它插在 100W 充电头上测协议,会发现它最多只支持 3A 电流。

换句话说:

即使给它连上一个明明支持 100W 的笔记本电脑,它也只能跑到 20V × 3A = 60W。

大家往往会问几个关键问题:

为什么这种普通的线缆,特别是指这种光秃秃的直通线,它的功率只有60W,或者是20V3A。

因为这是 USB-IF 标准强制规定的物理底线:所有没有 E-marker 芯片的 C-to-C 线,一律只能允许3A电流。无论你线做得多粗、铜多纯、标称200W、宣传宇宙级耐压——只要没有E-marker 芯片,协议层就会强制把电流锁到3A。这不是“线不行”,而是标准不允许你乱来。

在双方还没有开始使用PD协议开始说话之前,Source也就是充电头必须要先通过CC线上的电压,告诉手机现在的5V的状态下,你可以接受多少的电量。

为什么里面没有芯片,为什么充电头敢直接敢在这个线上传输20V的电压,但是电流却只有3A却死活不给5A。

因为要提高功率,升电压比升电流更安全、更高效、更容易实现。伤害人体的是电流,电压只是推动电流的“压力”, 如果一条充电线把电流提高到 8A、10A,那线材必须更粗、更贵,也更热,也更危险。而升电压(例如从 5V → 20V)并不会让线里自动流更大的电流,只要设备控制好功率即可。

方案计算电线负担
提高电流5V × 20A = 100W线异常粗、发热、危险
提高电压(PD标准)20V × 5A = 100W普通 5A 线即可、发热低

大电流危险且不经济,高电压则更容易控制。其次电流大 → 发热大 → 性能更差导线发热来自:\(P_{loss}=I^2 R\)

电流越大,发热是平方增加。举个简单感受:10A 流过线材,损耗是5A的4倍,但是20A 流过,则是 5A 的 16 倍。线变热 → 电阻升高 → 再更热 → 电子设备危险。

所以 USB-PD 标准非常明确:

优先升电压,不优先升电流。

那普通线到底怎么“告诉”充电头它只能 3A?

它根本没告诉,其实是充电头自己测出来的。

关键就在于:普通线内部只有CC1,完全不连CC2。拆开你就知道,CC2 根本是悬空的。于是当线插上后,Source(充电头)会依次侦测:

  1. 检测 CC1,发现有5.1kΩ下拉\(R_d\) -> 判定:连接了设备
  2. 然后检测CC2,发现是开路(Open),电压为高电平,于是就判定:没有检测到\(R_a\)。
  3. 既然没有\(R_a\),说明这根线没有 E-Marker 芯片,根据 USB-IF 标准,无芯片线缆被视为标准3A线缆,

于是 Source 内部立刻把最大输出能力设为:永远≤3A,即使它本体支持100W,也必须在 PD 广播包里“自残”:即使它本体支持100W,也必须在 PD 广播包里“自残”: Sink(手机/笔记本)看到后,只能选60W这个档位。整个过程完全是自动判断,无需芯片参与。

为什么 CC 线能决定电流档位?

在 PD 协商还没开始之前,USB-C 用 纯模拟电路 来表达 5V 档位下的电流能力。配合我们前面讲到双方如何识别对方的身份,

CC线上的电压主要是通Source供电端\(R_p\)和Sink设备端\(R_d\)来决定的:

$$V_{cc}\ \ =\ 5V\ \times\ R_d/(R_p+R_d\ )$$

但是\(R_d\)是固定的,都是5.1kΩ,所以\(V_{CC}\)的电压是:$$V_{cc}\ \ =\ 5V\ \times\ 5.1k/(R_p+5.1k\ )$$

这里只能切换R_p的电阻来控制CC线上的电压

默认情况下,会有三个挡位来决定供电方的电流:

默认的USB电流(标准)500mA (USB 2.0)或900mA(USB 3.0)\(R_p=56k\Omega\)\(V_{CC}\approx0.41V\)
1.5A 电流允许最大1.5A (5V 7.5W)\(R_p=22k\Omega\)\(V_{CC}\approx0.92V\)
3.0A 电流允许最大3.0A (5V 15W)\(R_p=10k\Omega\)\(V_{CC}\approx0.68V\)

这三个档位只决定5V时的电流。但它为后续的 PD 握手奠定了基础——如果连3.0A 的R_p都不敢给,PD 协议通常也不会开启。Sink 通过看 CC 电压就知道:“你最多给我 3A,那我最多只能跑 60W。”

那我们知道了充电头最大可以提供3A的电流,那这个线是如何协商到20V 60W的呢,这个是一个很重要的逻辑闭环:

那普通线是怎么从 5V→20V 的?

它这样一步步来的:

  1. 线被判定为无 E-marker → 最大 3A
  2. PD 协议开始沟通
  3. Source 广播:“我支持 20V/3A”
  4. Sink 请求:“给我 20V”
  5. 于是形成:20V × 3A = 60W

整个过程非常严谨,没有一步能越轨。

如果要突破 60W,Source 必须确认线缆能承受 5A。怎么确认?刚刚是不是提到了\(R_a\)电阻?

支持 5A 的线缆,必须在插头内部的 VCONN 引脚(即那个闲置的 CC 脚)上,接一个1kΩ的下拉电阻到地:这个下拉电阻就是 \(R_a\)——E-marker 芯片的“门铃”。

只有支持5A的线,才能满足以下结构:CC2 内部接1kΩ下拉到地(\(R_a\))和线内有 E-marker 芯片

此时Source的侦测逻辑就会变化了。

  1. 检测 CC1,发现有5.1kΩ下拉\(R_d\) -> 判定:连接了设备
  2. 然后检测CC2,发现CC2 测到电压被拉低到了0.2V 左右(因为有\(\ R_a=1k\mathrm{\Omega}\ \)分压)。
  3. 发现 \(R_a\)!说明这是根“高级线!
  4. Source 打开 VCONN 电源开关,向CC2注入5V电力。唤醒E-marker 芯片

我们的CC1在传输信号的时候,CC2就变成了VCONN线路,一旦 VCONN 通电,线缆里的 E-Marker 芯片就被唤醒了。

Source 会发指令问芯片:“你到底支持5A还是只支持3A?”(防止有芯片但是是个只能跑 3A 的雷电线)。只有芯片回复“我支持 5A”,Source 才会在 PD 广播里放出20V/5A 的选项。

总结核心逻辑链:

  1. Source 通过 \(R_p\) 告知 5V 下的电流能力。
  2. Source 通过检测CC2上有没有 \(R_a\) 来判断是不是“高级线”。
  3. 无 R_a (CC2 悬空) -> 判定为普通线 -> 锁定最大电流 3A -> PD 最大 60W。
  4. 有 R_a (CC2 拉低) -> 开启 VCONN -> 准备读取 E-Marker。

所以,不要担心用普通线充电脑会烧线,协议层面已经把电流死死锁在 3A 了。下一篇我们会讲到既然 Source 给 VCONN 通了电,接下来它怎么和线缆芯片“对话”?