4、VBUS路径设计:VBUS开关管(FET)选型、理想二极管 vs 负载开关、反向电流保护

好,咱们接着聊VBUS路径。这部分是Type-C电源路径里最“硬”的环节,说白了就是电流从哪走、怎么走、走的时候别出事。我当年第一次做Type-C项目时,就在这上面栽过跟头——选了个看似参数不错的FET,结果反向电流把整个系统搞崩了。嗯,今天咱们就把这块掰开揉碎了讲清楚。

4.1 VBUS开关管(FET)选型:别只看导通电阻

很多人选FET,第一眼就看Rds(on)。这没错,但远远不够。你想想看,VBUS路径上的FET要扛的可不是普通信号,而是5V到20V的电压,电流从几百毫安到5A都有可能。

我个人的选型清单,通常按这个顺序来:

  • Vds耐压:必须大于VBUS最大电压,留20%余量。比如支持20V PD,至少选25V的FET。我见过有人用20V的FET卡着极限跑,结果一个浪涌就击穿了。
  • Vgs阈值:Type-C控制器通常输出3.3V或5V的栅极驱动,所以Vgs(th)要低于2V,最好在1.5V左右。不然驱动电压不够,FET半开半关,发热严重。
  • Rds(on):这个大家都懂,但要注意是@Vgs=4.5V还是10V下的值。很多FET标的是10V下的Rds(on),实际驱动只有3.3V时,电阻可能翻倍。
  • Qg(栅极电荷):这个容易被忽略。Qg太大,开关速度慢,切换瞬间损耗大。我一般选Qg在10nC以下的。
  • SOA(安全工作区):特别是热插拔场景,FET要能承受短时间的过流。我习惯看SOA曲线,确保在10ms内能扛住2倍额定电流。

避坑指南:我曾经在一个快充项目里,选了颗Rds(on)只有5mΩ的FET,觉得稳了。结果一测,Vgs只有3.3V时,Rds(on)飙到了18mΩ,满载5A时发热到120°C。后来换了颗Vgs(th)更低的FET,问题才解决。

4.2 理想二极管 vs 负载开关:两种思路的博弈

VBUS路径上,我们有两种主流方案:理想二极管和负载开关。它们各有千秋,我分别说说。

4.2.1 理想二极管方案

理想二极管,说白了就是用FET模拟二极管的单向导通特性,但压降极低。它的核心是:当VBUS电压高于系统电压时,FET导通;反之则关断。

优点:

  • 正向压降极低(几十mV),效率高
  • 天然防反接,不需要额外电路
  • 切换速度快,适合电池供电场景

缺点:

  • 控制逻辑复杂,需要比较器和驱动电路
  • 反向恢复时间虽然比肖特基短,但仍有延迟
  • 成本比普通FET高

我的经验:理想二极管适合电池供电的便携设备,比如手机、平板。我在一个TWS耳机充电仓项目里用过,待机电流只有几微安,效果很好。

4.2.2 负载开关方案

负载开关就是一个简单的N沟道或P沟道FET,由控制器直接控制通断。它不关心电压方向,只负责“开”或“关”。

优点:

  • 控制简单,一个GPIO就能搞定
  • 成本低,一颗FET加几个电阻就行
  • 导通电阻可以做到很低

缺点:

  • 没有天然的反向阻断能力,需要额外加保护
  • 如果控制信号丢失,可能一直导通
  • 热插拔时容易产生浪涌电流

注意:负载开关方案一定要配合反向电流保护电路,否则一旦VBUS电压倒灌,后果很严重。我见过一个案例,USB口插反了,负载开关没关断,直接把主板的3.3V rail烧了。

4.3 反向电流保护:这是保命的设计

反向电流保护,英文叫Reverse Current Protection,简称RCP。它的作用很简单:防止电流从系统端倒灌回VBUS。为什么会发生?比如系统端有电池,VBUS端突然掉电,电流就会从电池通过FET倒灌出去。

常见的实现方式有三种:

方案 原理 优缺点
肖特基二极管 串联在VBUS路径上 简单可靠,但压降大(0.3-0.5V),发热严重
背靠背FET 两个FET源极相连,栅极独立控制 双向阻断,压降低,但控制复杂,成本高
集成RCP的负载开关 芯片内部集成反向电流检测和关断逻辑 最省心,但贵,且可选型号少

我个人最推荐背靠背FET方案。为什么?因为它既能实现低导通压降,又能做到真正的双向阻断。我在一个100W PD充电器项目里用过,两个FET背靠背,一个负责正向导通,一个负责反向阻断,配合控制器的死区时间管理,效果非常好。

关键设计要点:

  • 两个FET的栅极必须独立控制,不能短接
  • 切换时要有死区时间,防止瞬间短路
  • 检测反向电流的阈值要设得足够低,我一般设在50mV左右

4.4 实际电路设计示例

好了,理论讲完了,咱们看个实际电路。这是一个典型的Type-C VBUS路径,包含背靠背FET和反向电流保护。

// 伪代码:VBUS路径控制逻辑
if (VBUS_present == TRUE) {
    // 正向导通
    FET1_ON();
    delay(10us);  // 死区时间
    FET2_ON();
} else {
    // 反向阻断
    FET2_OFF();
    delay(10us);
    FET1_OFF();
}

// 反向电流检测
if (V_system - V_VBUS > 50mV) {
    // 检测到反向电流,立即关断
    FET2_OFF();
    FET1_OFF();
    set_alert_flag();
}

这段代码看着简单,但实际调试时坑不少。我记得有一次,死区时间设得太短,两个FET同时导通,瞬间电流飙升,直接把电源保护了。后来把死区时间从5us改到15us,问题才解决。

小技巧:如果你用集成RCP的负载开关芯片,比如TI的TPS25982,可以省掉很多外围电路。但要注意,这类芯片的响应时间一般在几微秒,对于快速反向电流可能不够。我习惯在芯片外面再加一个快速比较器做双重保护。

4.5 总结与避坑清单

好,咱们把VBUS路径设计的要点捋一遍。你设计时,可以对照这个清单检查:

  • FET的Vds耐压是否留了20%余量?
  • Vgs驱动电压是否足够?Rds(on)是在实际Vgs下测的吗?
  • 有没有考虑反向电流保护?是二极管、背靠背FET还是集成方案?
  • 死区时间是否足够?建议至少10us起步。
  • 热插拔时,FET的SOA是否满足浪涌电流要求?

最后一句忠告:VBUS路径设计,宁可保守,不要激进。我曾经为了省几分钱,选了个便宜的FET,结果返修率高了3倍。嗯,从那以后,我选FET只看性能,不看价格。

下一章咱们聊CC逻辑检测和配置通道设计,那是Type-C通信的核心,也是很多工程师容易搞混的地方。到时候见。