TPS25740B Type-C PD电源设计实战:从协议解析到电压切换与保护

TPS25740B Type-C PD电源设计实战:从协议解析到电压切换与保护

1. 项目概述:从Type-C PD到TPS25740B的电源设计实战

如果你正在设计一个支持USB Type-C Power Delivery(PD)的电源适配器、充电宝或者笔记本扩展坞,那么你大概率绕不开一个核心问题:如何让电源系统“听懂”并“执行”PD协议的命令,安全、稳定地输出5V、9V、15V、20V等不同电压?这不仅仅是接上一个Type-C接口那么简单,其背后是一整套从协议通信到功率级控制的完整链路。TI的TPS25740B就是这样一款专为此而生的集成PD控制器,它把复杂的协议解析、电源路径管理和保护功能都塞进了一个小小的芯片里。但 datasheet 上的典型应用电路图,往往只给出了骨架,真正的“血肉”——那些决定稳定性、可靠性和性能的细节参数与设计思路,才是工程实践中的胜负手。

我在多个快充项目中使用过TPS25740B,从45W的移动电源到65W的桌面适配器。我发现,很多初次接触的设计容易在VBUS电压切换的平滑度、过流保护的响应速度以及外围元器件的选型上栽跟头。比如,一个不恰当的C(SLEW)电容可能导致电压上升速率超标,触发协议错误;一个马虎的RS电流采样电阻布局,可能让过流保护形同虚设。本文将基于官方文档和我的实际调试经验,深入剖析TPS25740B在构建Type-C PD电源时的核心应用,特别是如何精准控制VBUS电压的建立、切换与保护。我们会跳过泛泛而谈的理论,直接聚焦于工程实现中的关键电路模块、参数计算和那些容易出错的“坑”。

2. TPS25740B核心功能与系统框架解析

TPS25740B本质上是一个“翻译官”和“指挥官”。它的核心工作是:通过CC1和CC2引脚与连接的设备(Sink,如手机、笔记本)进行PD协议通信,协商出双方都支持的电压和电流;然后,通过CTL1、CTL2、CTL3等输出引脚,控制后级DC-DC转换器的反馈网络,改变其输出电压;同时,通过GD引脚控制连接在VBUS路径上的主功率MOSFET(如CSD17579Q3A)的开关,并利用ISNS引脚监测电流,实现过流保护(OCP)。

2.1 核心引脚功能与电源管理逻辑

理解几个关键引脚是设计的基础:

  • CC1/CC2: 配置通道引脚。TPS25740B作为供电端(Source/DFP),通过检测这两个引脚的下拉电阻来识别设备插入,并在此发起PD通信。旁边的C(RX)电容(通常560pF)用于滤波,对通信稳定性至关重要。
  • CTL1/CTL2/CTL3: 开漏输出,用于电压档位选择。它们通过下拉不同的电阻(R(FBL1),R(FBL2),R(FBL3))到DC-DC转换器的反馈(FB)节点,来改变分压比,从而设定输出电压(如5V, 9V, 15V, 20V)。这是实现电压切换的“手”。
  • GD/GDNS/GDNG: 栅极驱动引脚,用于控制VBUS路径上的N沟道MOSFET(Q1)。GD是驱动输出,GDNSGDNG用于连接不同结构的MOSFET(分离或集成)。GD引脚内部有一个钳位电路,可以用于实现基于VPWR电压的使能逻辑,这在某些保护场景中很有用。
  • ISNS/VPWR: 电流检测与电源输入。ISNS通过一个毫欧级的采样电阻RS连接到VPWR,用于检测流经Q1的电流,实现高精度的过流保护。VPWR则是芯片的主电源输入,通常直接来自DC-DC转换器的输出。
  • PSEL/HIPWR/PCTRL: 功率配置与使能。PSEL通过电阻R(SEL)设定广告的最大功率能力(如36W, 65W)。HIPWR指示是否支持高功率模式。PCTRL可作为外部使能,配合ENSRC使用,实现“无设备时电源关闭”的节能功能。

整个系统的工作流程可以概括为:设备插入 -> CC检测 -> PD协议协商 -> TPS25740B解析PD报文 -> 控制CTL引脚组合 -> 改变DC-DC输出电压 -> 控制GD打开Q1 -> 输出目标电压VBUS -> 持续通过ISNS监控电流。

2.2 典型系统架构与数据流向

一个完整的Type-C PD电源系统通常包含三个主要部分:

  1. 前级AC-DC或DC-DC转换器:将输入电压(如交流市电或直流电池)转换为一个较高的中间直流电压(如12V、20V)。
  2. 后级可调压DC-DC转换器:这是输出VBUS电压的直接产生者。通常是一个Buck(降压)转换器,其FB引脚电压由R(FBU)R(FBL)以及被CTL引脚接入的R(FBLx)电阻网络决定。TPS25740B通过控制哪些R(FBLx)电阻接地,来改变FB节点的分压,从而设定输出电压。
  3. TPS25740B PD控制器及功率路径:这是大脑和开关。它管理协议,并控制Q1这个“智能开关”将后级DC-DC的输出连接到Type-C接口的VBUS引脚。RSQ1C(PDIN)等构成了功率路径和核心保护电路。

注意C(PDIN)是放置在TPS25740BVBUS引脚与VPWR引脚之间的电容,主要用于高频去耦和抑制噪声,其容量有上限(通常≤10μF)。而主要的输出滤波电容应放在后级DC-DC转换器的输出端。错误地将大容量电容放在C(PDIN)位置,可能导致短路时放电电流过大损坏Q1,或影响软启动特性。

3. 关键电路模块设计与参数计算

官方原理图给出了连接关系,但每个元器件的值都不是随便选的。下面我们拆解几个最核心、最容易出错的设计模块。

3.1 电压设定反馈网络(R(FBU), R(FBL), R(FBLx))计算

这是实现多档电压输出的核心。假设我们使用一个基准电压VREF = 2.495V的误差放大器(如TL431),后级DC-DC默认输出5V。那么,R(FBU)R(FBL)的比值就固定了5V输出。

计算默认5V输出(所有CTLx悬空): 根据运放虚短,FB引脚电压等于VREF。因此有:VOUT_default = VREF * (1 + R(FBU)/R(FBL))VOUT_default = 5V,VREF = 2.495V,则可设定R(FBU) = R(FBL) = 20kΩ(这是一个常用且方便计算的起点)。

计算其他电压档位电阻(以20V为例): 当需要输出20V时,TPS25740B会控制相应的CTL引脚(假设是CTL3)接地,将R(FBL3)并联到R(FBL)上。此时,FB引脚对地的总电阻R(FBL)_total变为R(FBL) // R(FBL3)。 目标公式为:VOUT_target = VREF * (1 + R(FBU) / R(FBL)_total)我们需要反解出R(FBL3)

推导过程如下:

  1. R(FBL)_total = R(FBL) // R(FBL3) = (R(FBL) * R(FBL3)) / (R(FBL) + R(FBL3))
  2. 代入公式:VOUT_target = VREF * (1 + R(FBU) / R(FBL)_total)
  3. 移项:R(FBL)_total = R(FBU) / (VOUT_target / VREF - 1)
  4. R(FBL)_total的表达式代入并联公式,解出R(FBL3)R(FBL3) = 1 / (1 / R(FBL)_total - 1 / R(FBL))

实操计算示例: 已知:VOUT_target = 20V,VREF = 2.495V,R(FBU) = 20kΩ,R(FBL) = 20kΩ

  1. 计算R(FBL)_total=20kΩ / (20V / 2.495V - 1)20kΩ / (8.016 - 1)20kΩ / 7.0162.85kΩ
  2. 计算R(FBL3)=1 / (1/2.85kΩ - 1/20kΩ)=1 / (0.0003509 - 0.00005)1 / 0.00030093.323kΩ
  3. 选择最接近的标准1%电阻值,例如3.32kΩ3.3kΩ

同理,可以计算出对应9V、15V的R(FBL1)R(FBL2)这里有一个关键点:当需要同时输出15V和20V时,R(FBL3)的计算必须考虑R(FBL2)已经并联的情况,公式会更复杂,通常需要联立方程求解。强烈建议使用TI提供的TPS25740B Design Calculator Tool电子表格工具,它能自动处理这些交叉计算,避免手动错误。

心得:反馈电阻的精度直接影响输出电压精度。务必使用1%精度的薄膜电阻。阻值不宜过小,否则会增大CTL引脚的灌电流(I_sink = VREF / R(FBLx)),可能超出芯片驱动能力(通常要求<1mA);也不宜过大,否则抗噪声能力变差。一般将R(FBLx)设置在几千欧到几十千欧之间是合理的。

3.2 功率路径与过流保护(OCP)设计

功率路径的核心是MOSFET Q1和电流采样电阻RS。它们的选型直接关系到效率、热管理和保护可靠性。

Q1 (如CSD17579Q3A) 选型要点

  1. 电压额定值BV(DSS):必须高于系统可能出现的最高电压。对于20V输出,建议选择BV(DSS) ≥ 30V的型号,留出足够余量应对开关尖峰。
  2. 导通电阻RDS(on):这是效率的关键。在最大输出电流I(max)下,Q1的导通损耗为P_loss = I(max)^2 * RDS(on)。例如,对于3A输出,若RDS(on) = 10mΩ,则损耗为3^2 * 0.01 = 0.09W。需要根据封装的热阻评估温升是否可接受。
  3. 栅极电荷Qg:影响GD驱动的速度和损耗。TPS25740B的GD驱动能力有限,Qg过大会导致开关速度慢,增加开关损耗。
  4. 封装与散热:对于超过2A的应用,优先考虑具有裸露焊盘(PowerPAD)的封装,如QFN,并确保PCB上有足够的铜皮面积用于散热。

电流采样电阻RS计算与布局: TPS25740B的过流保护阈值是针对RS两端压降来设定的。芯片内部有固定的比较器阈值电压V(OCP)。因此,RS的值决定了OCP触发电流I(OCP_trip) = V(OCP) / RS。 例如,若希望OCP点在4.2A触发,且查datasheet知V(OCP)典型值为21mV,则RS = 21mV / 4.2A = 5mΩ

  • 精度与功率:必须使用高精度(如1%)、低温度系数的采样电阻。其额定功率需满足P = I(max)^2 * RS。上例中,P = 3^2 * 0.005 = 0.045W,一个0805封装的电阻通常足够。
  • 布局黄金法则RS必须采用开尔文连接(Kelvin Connection)。即,连接到TPS25740BISNSVPWR引脚的走线,必须直接从RS电阻焊盘的两端引出,绝对不能在流过主电流的路径上分支。任何由主电流在走线电阻上产生的压降都会导致电流检测严重失真。

GDNG引脚与C(SLEW):控制VBUS电压上升速率C(SLEW)电容连接在GDNG和地之间,它与芯片内部的恒流源(典型值I(GDNON) ≈ 20µA)共同决定了GDNG电压的上升斜率,从而控制了Q1的开启速度和VBUS电压的上升速率(Slew Rate)。 计算公式为:Slew Rate = dV/dt ≈ I(GDNON) / C(SLEW)USB PD规范要求VBUS电压上升速率VSrcSlewPos < 30 mV/µs。因此:C(SLEW) > I(GDNON) / VSrcSlewPos(max) = 20µA / 30 mV/µs = 0.67 nF通常我们会选择一个更大的值,例如10nF,以获得更平缓、更可控的上升沿(约2 mV/µs),这有助于减少浪涌电流,提高系统可靠性。R(SLEW)电阻(通常1kΩ)与C(SLEW)串联,用于隔离GDNG引脚,改善瞬态响应。

3.3 VBUS放电与ESD保护电路

当设备拔除或发生故障时,需要安全地释放VBUS线上的电荷。

  • 放电电阻R(DSCG):当TPS25740B内部放电开关打开时,R(DSCG)为VBUS上的电容(主要是C(PDIN)和线缆电容)提供放电通路。其最小阻值由最大VBUS电压和芯片最大放电电流I(DSCGT)决定:R(DSCG(min)) = VBUS(max) / I(DSCGT)。例如,VBUS(max)=20V,I(DSCGT)=350mA,则R(min) ≈ 57Ω。通常选择120Ω、0.5W的电阻,在满足放电时间要求(<265ms)的同时,功耗也合适。
  • ESD保护二极管D(VBUS):用于钳位VBUS线上的负向电压瞬变(例如连接感性负载时)。应选择反向击穿电压V(RRM)高于最大VBUS电压(如30V)、响应速度快的肖特基二极管,如B340A。

4. 电压切换与Slew Rate控制实战

PD协议要求电压切换不仅要快(tSrcReady < 285ms),还要稳(tSrcSettle < 275ms),并且上升/下降斜率不能太陡(<30 mV/µs)。后级DC-DC转换器的反馈环路响应速度可能无法自然满足这个斜率要求,尤其是切换跨度大时(如5V到20V)。因此,需要额外的“减速”电路。

4.1 基于CTL引脚的Slew Rate控制方案

图44展示了一种经典且可靠的方法。其核心思想是:不直接改变DC-DC的FB节点电压,而是控制R(FBLx)电阻接入反馈网络的速度

工作原理: 当需要从5V切换到12V时,TPS25740B将CTL2拉低。这原本会直接使Q(CTL2)导通,将R(FBL2)接地。但在图44电路中,CTL2拉低首先关断了Q(CTL2)(一个NPN或N-MOS管)。Q(SL2)的栅极通过R(SL2A)+R(SL2B)C(SL2)充电,电压缓慢上升。只有当栅极电压超过MOSFET的阈值电压VTH后,Q(SL2)才开始导通,并逐渐将R(FBL2)电阻接入地。这个充电过程的时间常数τ = (R(SL2A)+R(SL2B)) * C(SL2)决定了电压上升的斜率。

参数计算(以5V->12V为例): 我们需要计算从VTH上升到VCC(假设为5V)所需的时间,这个时间应略大于或等于协议要求的最小转换时间。

  1. 确定目标转换时间Δt:对于5V到12V,电压差ΔV=7V。若要求最大斜率30mV/µs,则最小时间Δt_min = ΔV / 30 mV/µs ≈ 233µs。我们会设计一个稍慢的时间,如300µs。
  2. 计算RC时间常数:电容充电电压公式为V(t) = VCC * (1 - e^(-t/RC))。我们需要解出从V(t1)=VTHV(t2)=VCC(实际接近VCC)所需时间Δt = t2 - t1。 公式可变形为:Δt = RC * [ln(1 - VTH/VCC) - ln(1 - V(t2)/VCC)]。 通常我们设计当V(t2)达到VCC的90%以上时认为MOSFET完全导通。假设VTH=1.5V,VCC=5V, 目标V(t2)=4.5V。 代入计算:Δt = RC * [ln(1 - 1.5/5) - ln(1 - 4.5/5)] = RC * [ln(0.7) - ln(0.1)] ≈ RC * [-0.357 - (-2.302)] ≈ RC * 1.945
  3. 选择R和C:若设定Δt = 300µs,则RC = 300µs / 1.945 ≈ 154µs。我们可以选择R = R(SL2A)+R(SL2B) = 100kΩ,则C(SL2) = 154µs / 100kΩ = 1.54nF。选择一个接近的标准值,如1.5nF。

这种方法的优点是将斜率控制电路与DC-DC的反馈环路隔离开,避免了在FB节点直接加电容可能引起的环路稳定性问题。

4.2 基于FB节点电容的简易Slew Rate控制

图45展示了另一种方法,适用于像LM5175这类能够容忍FB节点有一定电容的控制器。其原理更直接:在FB节点与输出之间加入电容C(SLU),在FB节点与地之间加入电容C(SLL)

工作原理: 当CTL引脚动作改变FB分压比时,输出电压VOUT需要改变。由于C(SLU)两端的电压不能突变,VOUT的变化会通过R(FBU)C(SLU)充电/放电,这个RC时间常数 (τ = R(FBU) * C(SLU)) 自然形成了输出电压的斜坡。C(SLL)的作用是平衡C(SLU)对反馈环路的影响,维持环路的相位裕度。其取值关系为:C(SLL) / C(SLU) ≈ R(FBL) / R(FBU)

参数计算: 假设从5V切换到20V,ΔV=15V。要求斜率SR < 30mV/µs,则最小时间Δt_min = 15V / 30 mV/µs = 500µs。 我们通常设计3倍时间常数(3τ)达到95%的最终值作为转换时间。即3τ = 500µs,所以τ = 167µs。 已知R(FBU) = 20kΩ,则C(SLU) = τ / R(FBU) = 167µs / 20kΩ = 8.35nF。可选择8.2nF或10nF标准电容。 然后根据比例计算C(SLL)C(SLL) = C(SLU) * (R(FBL) / R(FBU))。若R(FBL)=20kΩ,则C(SLL) ≈ C(SLU) = 8.35nF

警告:这种方法会直接影响DC-DC转换器的反馈环路。必须在最终电路上进行严格的环路稳定性测试(伯德图分析),确保在加入这些电容后,系统在所有工作点(不同电压、不同负载)下仍然稳定,没有过大的振铃或振荡。

4.3 方案选择与实测要点

  • 方案一(隔离式):更复杂,但更安全,通用性强,几乎适用于任何后级DC-DC。
  • 方案二(直接式):更简单,元件少,但必须确认DC-DC控制器芯片的兼容性。
  • 实测是关键:无论选择哪种方案,都必须使用示波器测量VBUS引脚上的电压切换波形。重点关注:
    1. 上升/下降斜率:是否全程小于30mV/µs?
    2. 建立时间:从开始切换到电压稳定在目标值的±5%以内,是否小于275ms?
    3. 过冲与振铃:切换过程中是否有过大的过冲?稳定后是否有振荡?过冲必须小于过压保护阈值V(SOVP5)
    4. 带载测试:在不同负载条件下(尤其是空载和满载)重复测试,确保性能一致。

5. 常见问题排查与调试经验实录

即使原理图和计算都正确,实际PCB调试中依然会遇到各种问题。以下是我在项目中总结的一些典型故障和解决方法。

5.1 设备无法识别或协商失败

  • 症状:插入设备后无反应,或反复连接/断开。
  • 排查步骤
    1. 检查CC引脚电路:首先测量CC1和CC2引脚对地的电压。在无设备连接时,作为DFP,TPS25740B应在CC引脚上通过上拉电阻(内部或外部)提供一个约0.4-1.2V的电压(取决于电流广告)。如果电压为0或接近VDD,检查C(RX)电容是否焊接正确(560pF COG/NPO)、是否短路或开路。这个电容对PD通信的完整性至关重要,必须使用高质量、低损耗的COG(NPO)陶瓷电容
    2. 检查VBUS输出:在PD协商成功前,VBUS应该输出5V(默认Rp电源)。用万用表测量Type-C接口的VBUS引脚是否有5V。如果没有,检查:
      • GD引脚电压:是否变高(例如~10V)以打开Q1?
      • Q1的栅极电压:是否足够(通常高于源极4-5V)?
      • ENSRC引脚(如果使用):是否被正确拉高以使能后级电源?
    3. 检查I2C/配置(如果使用):如果通过I2C配置TPS25740B,用逻辑分析仪抓取I2C总线波形,确认地址、读写数据和ACK信号是否正确。
    4. 检查电源和地:确认VDDDVDDVAUXVPWR等引脚电压是否正常、纹波是否过大。所有GND引脚,尤其是模拟地(AGND)和功率地(PGND)的布局和连接必须良好。

5.2 VBUS电压不正确或不稳定

  • 症状:输出电压偏离设定值(如9V输出只有8.5V),或电压波动、有噪声。
  • 排查步骤
    1. 测量FB引脚电压:在输出5V时,FB引脚电压应精确等于后级DC-DC的参考电压VREF(如2.495V)。如果不符,检查R(FBU)R(FBL)的阻值、焊接。
    2. 检查CTL引脚状态:用万用表或示波器测量CTL1、CTL2、CTL3引脚电压。在输出不同电压时,它们应按datasheet中的真值表变为低电平或高阻态。如果某个CTL引脚该低时不低,可能是TPS25740B配置或通信问题;如果一直为低,检查是否与地短路。
    3. 检查反馈网络电阻:重点检查R(FBLx)电阻的值是否正确,焊接是否良好。一个虚焊或错误的电阻会导致分压比错误。
    4. 后级DC-DC稳定性:如果电压有振荡或噪声,问题可能出在后级电源本身。检查其电感、输出电容选型,以及补偿网络。用示波器查看FB引脚和SW节点的波形。

5.3 过流保护(OCP)误触发或不触发

  • 症状:正常负载下突然断电(误触发),或短路时芯片不保护(不触发)。
  • 排查步骤
    1. 确认RS值与布局:这是最常见的原因。首先用毫欧表精确测量RS的实际阻值。然后,用放大镜检查ISNSVPWR的走线是否严格采用开尔文连接。任何将采样走线布设在功率电流路径上的设计都会引入额外的毫欧级电阻,导致检测电压虚高,极易误触发。
    2. 检查RF/CF滤波网络:如果后级DC-DC输出纹波较大,可能会被ISNS检测为瞬态过流。参考数据手册表6,根据纹波频率和幅度添加合适的RF(如10Ω)和CF(如220nF-1µF)低通滤波器。用示波器交流耦合观察ISNS引脚波形,确认纹波是否在可接受范围。
    3. 测试OCP点:使用电子负载,设置CC模式,缓慢增加电流,观察VBUS电压在何时跌落。对比实测值与设计值。如果过早触发,可能是RS偏大或噪声干扰;如果过晚或不触发,可能是RS偏小、走线问题或芯片故障。

5.4 电压切换时出现大幅过冲或振荡

  • 症状:在5V到20V切换瞬间,VBUS电压冲到一个很高的尖峰(如22V),然后回落,或产生衰减振荡。
  • 排查步骤
    1. 检查Slew Rate控制电路:如果使用图44/45的方案,检查控制斜坡的RC元件(R(SLxA),R(SLxB),C(SLx)C(SLU),C(SLL))值是否正确,焊接是否良好。用示波器观察控制MOSFET的栅极或FB引脚的电压变化是否平滑。
    2. 检查后级DC-DC的软启动(Soft-Start):许多DC-DC控制器有软启动引脚。确保其软启动时间与TPS25740B控制的电压斜坡时间相匹配或更短。如果DC-DC的响应比电压指令慢,也会导致控制环路紊乱。
    3. 优化布局与去耦:确保后级DC-DC的输出电容COUTC(PDIN)以及TPS25740B的电源旁路电容(C(VPWR),C(DVDD)等)尽量靠近芯片引脚,并使用短而粗的走线。糟糕的布局会导致切换瞬间产生地弹噪声,干扰控制信号。

5.5 热管理与效率优化建议

  • Q1和RS是主要热源:计算它们的功耗(P = I^2 * R),并使用热成像仪或点温计在满载时测量实际温度。确保在最高环境温度下,结温不超过安全范围。对于Q1,加大PCB铜箔面积是最有效的散热方式。
  • TPS25740B的供电:如果系统中有合适的3.3V或5V电源,尽量将VDD引脚连接到该电源,而不是接地。因为VDD内部有一个LDO,如果VPWR电压较高(如20V),从VPWR降压到VDD会产生较大损耗。使用外部低压电源供电可以降低芯片自身功耗和温升。
  • 二极管D(VBUS)的选择:在电流较大的应用中,肖特基二极管的正向压降Vf也会产生可观的损耗(P = I * Vf)。如果系统设计允许,可以考虑使用理想二极管控制器搭配MOSFET的方案来替代,可以显著降低导通压降和热损耗。

调试这类数模混合的电源管理芯片,需要耐心和条理。一个高效的方法是:先静态,后动态;先电源,后信号。即先确保所有电源引脚电压正常,再检查逻辑和控制信号;先让系统在静态(固定电压)下稳定工作,再测试动态(电压切换)性能。准备好示波器、电子负载和协议分析仪(如PD协议分析仪),它们是定位问题不可或缺的工具。最后,TI提供的评估板(EVM)和设计工具是极好的参考起点,强烈建议在完全自主设计前,先用EVM搭建实验环境,理解各个信号和节点的正常行为。