1. 项目概述与核心价值
如果你最近在折腾USB Type-C扩展坞或者带Type-C接口的显示器,尤其是那种既能给笔记本充电、又能传视频信号、还能接一堆USB设备的“全能型”产品,那你大概率绕不开一个核心芯片:TPS65981。这玩意儿是德州仪器(TI)推出的一款高度集成的USB PD控制器,说它是这类设备的“大脑”和“心脏”一点也不为过。我经手过好几个从零开始的设计项目,从最初被USB PD协议和Type-C的CC逻辑搞得头大,到后来能熟练驾驭TPS65981这类芯片,中间踩过的坑、烧过的板子,足够写一本避坑指南了。
简单来说,TPS65981的价值在于它把USB Power Delivery(PD)协议处理、双路电源路径管理、GPIO控制逻辑以及高速信号切换控制全部打包进了一个芯片里。这意味着,当你设计一个扩展坞或显示器时,不再需要一堆分立元件和复杂的MCU代码去协商充电功率、判断插入方向、管理电源来源切换,也不用担心视频信号和数据信号的路由问题。它帮你把这些脏活累活都干了,你只需要按照它的“规矩”把外围电路搭好就行。这篇文章,我就结合官方数据手册里的典型应用图(图10-3)和实际设计经验,掰开揉碎了讲讲怎么用好TPS65981,重点会放在电源管理策略和PCB布局这两个最容易出问题的地方。无论你是刚接触Type-C PD的硬件新手,还是想优化现有设计的老手,相信都能找到有用的干货。
2. TPS65981在扩展坞/显示器中的核心角色解析
2.1 双电源路径与智能角色切换
TPS65981最核心的能力之一,就是管理两条独立的电源路径。这在扩展坞或显示器应用里至关重要,因为它要处理两种供电场景:外部电源适配器供电(比如墙上的桶形插孔)和通过Type-C线从笔记本取电。
看看图10-3,你会发现系统电源主要来自两个入口:一个是PP_EXT路径,连接外部AC-DC电源(比如一个20V的桶形插孔适配器);另一个是PP_HV路径,连接Type-C接口的VBUS。TPS65981的智能之处在于,它能根据哪个电源先接入,动态决定整个系统的“身份”。
场景一:外部电源先接入。比如你先插上了显示器的电源线。此时,TPS65981通过一个GPIO(在图中是GPIO2)检测到桶形插孔有电,它会立刻将自己配置为电源提供者(Source)。当笔记本通过Type-C线连接时,TPS65981会主动发起PD协商,告诉笔记本:“嘿,我这儿有电,最高能提供20V/3A(60W),你要多少?” 这个过程就是所谓的“Source”模式。
场景二:笔记本先接入,外部电源后到。比如你先用一根Type-C线把笔记本和显示器连起来,此时显示器没有插电。这时,TPS65981会检测到VBUS上有电(来自笔记本),但外部电源没有。它会进入一种称为“无电池模式(No Battery Mode)”的状态。在这个状态下,它可以从VBUS取电,给自己和系统的一部分(比如SPI Flash,用于加载固件)供电,让系统先“醒过来”。更厉害的是,它还可以通过PP_EXT路径作为电源接收者(Sink),从笔记本“吸电”来给显示器的其他部分供电。如果这时候你再插上外部电源,TPS65981会立刻检测到,然后自动启用高电压的Source能力,并通过PD协议发送“电源角色交换(Power Role Swap)”消息,跟笔记本说:“现在换我来供电吧!” 这个无缝切换的过程,对于用户来说是完全无感的,体验非常棒。
为什么这么设计?这背后是极强的用户体验思维。用户不想关心先插哪根线,设备应该自己搞定。TPS65981这种双路径管理和自动角色切换,正是为了实现“即插即用”和“供电无忧”。在设计时,你需要通过固件正确配置这些GPIO事件和电源策略,芯片的硬件逻辑已经搭好了舞台。
2.2 高速信号路由与替代模式支持
除了供电,Type-C扩展坞的另一大任务就是传输数据,尤其是USB 3.1数据和DisplayPort视频信号。Type-C接口的物理引脚是有限的,如何让USB数据和DP视频共用这几对高速差分线?答案就是:高速多路复用器(MUX)。
在图10-3中,这个角色由HD3SS460扮演。TPS65981通过几个GPIO(GPIO0, GPIO3, DEBUG1)来控制这个MUX。具体怎么控制呢?这取决于下游设备(通常是你的笔记本)通过PD协议协商出来的“替代模式(Alternate Mode)”。
- 四通道DisplayPort模式(Pin Assignment C):笔记本说:“我要用全部4对高速线来传DP视频。” 此时,TPS65981会通过GPIO0(AMSEL)和GPIO3(EN)控制HD3SS460,将Type-C接口的SSTX/RX1/2共4对差分线全部切换给DisplayPort接收器(或视频标量芯片)。USB 3.1数据此时无法传输。
- 两通道DisplayPort + USB 3.1模式(Pin Assignment D):笔记本说:“我分2对线给DP视频,剩下2对走USB 3.1数据。” 此时,HD3SS460会在TPS65981的控制下,将两对线路由给DP,另外两对路由给旁边的USB Hub芯片(比如TUSB8041)。同时,SBU(边带使用)引脚也会被切换用于传输DP的AUX通道信号。
DEBUG1引脚在这里用于检测Type-C线缆的插入方向(正插还是反插),并控制HD3SS460的POL(极性)引脚,确保无论线缆怎么插,信号都能正确路由。这个设计完美诠释了Type-C“正反插”的便利性是如何在硬件层面实现的。作为设计者,你需要确保HD3SS460的使能、模式选择和极性控制信号,都正确连接到TPS65981对应的、并在固件中映射好的GPIO上。
3. 关键外围电路设计与选型要点
光有核心芯片不够,外围电路的设计才是稳定性的基石。数据手册第10.2.2节给出了详细设计流程,我这里挑几个最容易踩坑的环节展开说。
3.1 电源路径电容配置:不仅仅是放个电容那么简单
TPS65981有好几个电源引脚,每个都需要精心配置去耦电容,手册表11-1给出了明确推荐。但你不能只是机械地照搬数值,必须理解其作用。
VIN_3V3和LDO_3V3:这是芯片的主供电。CVIN_3V3和CLDO_3V3典型值都是10µF,必须使用X7R/X5R材质的陶瓷电容,且务必靠近芯片引脚放置。这里的一个常见错误是用了容量达标但ESR(等效串联电阻)过大的电容,或者布局走线过长,导致上电瞬间或负载突变时电压跌落,引发芯片复位。我习惯在这两个引脚旁边再并联一个0.1µF的陶瓷电容,用于滤除高频噪声。VBUS引脚电容(CVBUS):这个电容接在Type-C的VBUS线上,要承受最高20V的电压。它的主要作用是缓冲VBUS上的电压波动,特别是在PD协议协商、电压切换的瞬间。手册推荐1µF(25V耐压)。这里有个关键点:如果VBUS作为输入(Sink模式),这个电容的容值不宜过大,否则在上电瞬间会产生很大的浪涌电流,可能触发连接设备的过流保护。1µF是一个经过权衡的值。PP_HV和PP_EXT路径电容:这是重头戏。PP_HV是芯片内部的高压电源开关输出,PP_EXT是连接外部电源或负载的路径。手册对它们的电容配置区分了**Source(供电)和Sink(受电)**两种模式:- Source模式:当路径作为输出时(如
PP_HV给VBUS供电),电容主要作用是提供低阻抗输出和滤波,典型值4.7µF即可。 - Sink模式:当路径作为输入时(如
PP_EXT从外部电源取电,或PP_HV从VBUS取电),电容值需要大幅增加,典型值为47µF到120µF。为什么差这么多?因为作为输入时,后级电路(比如整个显示器主板)的负载可能很大且动态变化。更大的输入电容可以充当“蓄水池”,在负载突然加重时(比如屏幕亮度瞬间调高)提供瞬时电流,防止输入电压被拉低导致系统不稳定。同时,它也能更好地抑制从输入电源线引入的噪声。选择容值时,需要根据你的系统最大功耗和允许的电压纹波来计算。例如,假设系统瞬时电流变化ΔI为2A,允许的电压纹波ΔV为50mV,那么根据公式C = ΔI * Δt / ΔV,如果瞬态响应时间Δt为10µs,所需电容至少为2A * 10µs / 0.05V = 400µF。手册推荐的47-120µF是一个通用起点,对于功耗较大的系统(比如带多口USB Hub和4K显示的扩展坞),你可能需要在PP_EXT输入端并联更大的电解电容或聚合物电容。
- Source模式:当路径作为输出时(如
PP_CABLE电容:这个电源用于给有源Type-C线缆(E-marked电缆)的芯片供电。典型应用是接一个4.7µF陶瓷电容并联一个0.1µF高频电容。布局上,这个0.1µF电容必须尽可能靠近TPS65981的PP_CABLE引脚,以确保对线缆芯片供电的纯净度。
3.2 桶形插孔检测电路:稳健性优先
外部电源(桶形插孔)的检测电路看似简单,但设计不好会导致误检测或失效,进而引发供电逻辑混乱。手册给出了两种方案:简单的电阻分压(图10-4)和更推荐的比较器方案(图10-5)。
电阻分压方案:直接用两个电阻(比如100kΩ和10kΩ)将20V的桶形插孔电压分压到约1.8V,送到TPS65981的GPIO。成本低,但问题明显:当插孔接触不良或电压波动时,分压点电压可能处于GPIO输入电平的模糊区(比如在逻辑高和低的阈值之间),导致状态误判。此外,如果分压电阻值太大,GPIO输入端的漏电流可能引起压降误差;电阻太小,又会增加不必要的功耗。
比较器方案(强烈推荐):使用一个比较器(如TI的TLV7011),一端接一个稳定的参考电压(如1.8V),另一端接桶形插孔的分压。当插孔电压高于某个阈值(比如15V)时,比较器输出明确的高电平给GPIO;低于阈值时,输出明确的低电平。这种方案有迟滞(Hysteresis)功能,可以防止电压在阈值附近抖动时输出反复跳变,抗干扰能力极强。虽然多了颗芯片,但换来了系统的绝对可靠。在实际项目中,尤其是产品要经历复杂电磁环境或插拔磨损时,多花这几毛钱成本绝对是值得的。你需要根据外部电源的电压范围(比如12V-20V)和TPS65981 GPIO的电平要求,仔细计算分压电阻和比较器的阈值。
3.3 可变降压稳压器(LM3489)的控制逻辑
为了实现输出5V/9V/15V/20V多种电压,典型应用中使用了一颗外部降压控制器LM3489。TPS65981通过GPIO来控制它的输出电压,这是一个非常巧妙的设计。
工作原理:LM3489的输出电压由反馈电阻RFB1和RFB2的分压比决定(VOUT = 0.8V * (1 + RFB1/RFB2))。默认情况下,RFB2独自工作,设定一个基础电压(比如5V)。TPS65981的GPIO6、GPIO7、GPIO8分别对应9V、15V、20V的PDO(电源数据对象)。当PD协议协商达成9V合约时,TPS65981会将GPIO6输出高电平,这个高电平会控制一个MOSFET或模拟开关,将另一个电阻R_FB2_ADD并联到RFB2上。并联后总电阻变小,分压比变化,输出电压随之升高到9V。15V和20V同理。
设计要点:
- 电阻精度:
RFB1、RFB2和并联电阻必须使用1%甚至0.1%精度的电阻,否则输出电压误差会很大。 - GPIO驱动能力:确保TPS65981的GPIO能够可靠地驱动控制并联电阻的开关器件(如小信号MOSFET)。必要时可以增加一个三极管缓冲级。
- 时序配合:参考图10-6的时序图。在Type-C连接建立、PD协商完成后,相应的GPIO才会改变状态,从而改变输出电压。绝对不能在协商完成前就改变电压,否则可能损坏连接设备。LM3489的使能(EN)引脚由TPS65981的
DBG_CTL1(映射到插拔事件GPIO)控制,确保只有在Type-C连接发生后,稳压器才工作,这是一个重要的安全设计。 - 电感与二极管选型:LM3489是异步降压架构,需要续流二极管。应选择快恢复二极管,且电流和电压额定值需留有余量(例如,20V输出时,二极管反向电压至少30V)。电感值需根据输入电压范围、输出电压和开关频率计算,并关注其饱和电流额定值必须大于系统最大峰值电流。
4. PCB布局实战:信号完整性与电源完整性的平衡
PCB布局是硬件设计从原理图走向实物的关键一步,布局不当会导致噪声大、发热严重、甚至功能失效。TPS65981的布局指南(第12章)非常详细,我结合自己的经验提炼几个核心原则。
4.1 芯片摆放与电源层规划
首要原则:TPS65981必须放在顶层(Top Layer)。这是为了最短路径连接Type-C连接器,以及方便在芯片下方放置大量的过孔和底层元件。
电源层分割与铺铜:对于PP_HV、PP_EXT、VBUS这些承载大电流(可达3A-5A)的路径,必须在顶层和底层用大面积铺铜来连接,而不是用细线。如图12-7和12-8所示。这能有效降低走线电阻,减少压降和发热。铺铜的宽度需要根据电流和铜厚计算。例如,对于1盎司(35µm)铜厚,承载5A电流需要大约120mil(约3mm)的线宽才能将温升控制在可接受范围。如果电流要走内层,由于铜厚通常只有0.5盎司(17.5µm),所需的线宽要更宽(>200mil)。
过孔数量与尺寸:连接顶层和底层电源铺铜的过孔不能吝啬。手册建议至少4个过孔。对于5A电流,每个过孔能承载的电流有限(一个8mil/16mil的过孔大约能承载1-1.5A),所以实际可能需要6-8个甚至更多过孔并联。过孔尺寸推荐8mil钻孔直径/16mil焊盘直径(0.2mm/0.4mm),这是PCB厂工艺和载流能力的平衡点。
4.2 关键信号走线规则
走线宽度和间距直接影响性能和可靠性。表12-1给出了明确的指引,但你需要理解背后的原因:
- CC1, CC2, PP_CABLE (8 mil):这些走线需要为VCONN(为有源线缆芯片供电)提供最高500mA的电流。8mil的线宽(在1oz铜厚下)足以承载此电流并保持低阻抗。同时,CC线是PD协议通信的通道,保持低阻抗对信号质量也有好处。
- LDO_3V3, VIN_3V3等电源引脚 (6 mil):这些是芯片的“动脉”,虽然电流不大(50mA量级),但要求电源干净稳定。6mil线宽提供了足够的载流能力和较低的寄生电感,有助于去耦电容发挥作用。
- 热焊盘(GND)连接 (10 mil):连接到芯片底部大型散热焊盘的GND过孔,建议用10mil的走线或更宽的连接,这有助于将芯片内部功率管产生的热量快速传导到PCB内部的地平面进行散热。
- 高速信号线(USB3.1/DP):虽然TPS65981本身不直接处理高速信号,但它控制的HD3SS460 MUX会。连接到HD3SS460的USB3.1和DP差分对(
SSTX/RX,ML0-ML3)必须遵循严格的高速布线规则:等长、差分对内间距恒定、阻抗控制(通常90Ω差分阻抗)、远离噪声源(如开关电源路径)、参考完整的地平面。这些线应该尽量短,避免过孔,如果必须打孔,应在差分对的两个信号线上对称打孔。
4.3 散热与接地设计
TPS65981内部集成了功率开关,在通过PP_HV提供大电流时会产生热量。芯片底部的大型裸露焊盘(Thermal Pad)是主要的散热途径。
散热过孔阵列:如图12-1所示,必须在热焊盘下方放置一个过孔阵列(建议20个以上),并将这些过孔连接到PCB内部的地平面层。这些过孔的作用是将热量从芯片传导到PCB内部,利用整个PCB作为散热器。即使因为底层元件布局需要移除部分过孔,也必须保证至少6个过孔,且应优先保留靠近电源路径(芯片右侧)的过孔,因为那里是产热大户。
接地策略:模拟地(AGND)和数字地(DGND)在TPS65981内部是分开的,但在PCB上,建议采用“统一地平面”的方式。即在PCB的某个完整层(通常是第二层)铺设一个完整、不间断的地平面。TPS65981的所有GND引脚、去耦电容的地端、热焊盘过孔都应以最短路径连接到这个地平面。一个完整的地平面能为高速信号提供清晰的返回路径,减少电磁干扰(EMI),同时也有助于均匀散热。
4.4 肖特基二极管保护电路
手册11.3.2节和图11-1强调了一个容易忽略但非常重要的细节:在VBUS和地(GND)之间,需要并联一个肖特基二极管(推荐NSR20F30NXT5G)。
作用:防止因Type-C线缆突然断开而产生的电感电压尖峰(Flyback Voltage)。Type-C线缆本身有寄生电感,当大电流(例如3A)流经时,突然断开连接,电流变化率(di/dt)极大,电感会产生一个很高的反向电动势(V = -L * di/dt)。这个尖峰电压可能高达数十甚至上百伏,足以击穿TPS65981内部连接VBUS的脆弱MOSFET或保护二极管。并联的肖特基二极管为这个反向电动势提供了一个低阻抗的泄放路径,将VBUS电压钳位在二极管的正向压降(约0.3-0.5V),从而保护芯片。
选型与布局:应选择快恢复、低正向压降、电流额定值足够(至少等于系统最大电流)的肖特基二极管。它的位置必须非常靠近Type-C连接器的VBUS引脚和GND,确保寄生电感最小,保护效果最好。这个二极管是系统的“保险丝”,成本不高,但省不得。
5. 系统集成与调试经验分享
设计好原理图和PCB,打完板子贴好片,只是完成了上半场。下半场的调试和系统集成才是见真章的时候。
5.1 固件配置与I2C系统交互
TPS65981的强大功能离不开固件的配置。它内部有一个可编程的状态机,许多行为(如GPIO事件映射、PDO配置、电源策略)都需要通过存储在外部SPI Flash中的固件来定义。TI提供了配置工具和示例固件。
关键配置项:
- PDO配置:你需要定义设备作为Source时能提供哪些电压/电流组合(例如5V/3A, 9V/3A, 15V/3A, 20V/3A),以及作为Sink时需要请求哪些能力。
- GPIO事件映射:将“检测到桶形插孔”、“PD合约达成”、“线缆方向”等内部事件,映射到具体的GPIO引脚,用于控制外部电路(如LM3489的电压切换、HD3SS460的模式选择)。
- 电源角色策略:配置上电顺序、角色交换的触发条件等。
TPS65981还提供了I2C从机接口,允许一个主控制器(比如显示器里的视频标量芯片主控MCU)来读取其状态(如当前电压、电流、连接状态)或动态修改配置(如在系统负载变化时调整供电能力)。这在复杂的系统中非常有用。调试时,可以先用USB转I2C工具连接TPS65981的I2C引脚,读取寄存器来验证芯片是否正常工作、固件是否加载成功。
5.2 上电时序与状态机调试
参考图10-6的时序图,理解正常的上电和协商过程至关重要:
- Type-C插入(Plug Event):CC引脚检测到连接,
VBUS上出现5V默认电压。 - TPS65981启动(Code BOOT):芯片从SPI Flash加载固件并初始化。
- PD协商(PD Contract):通过CC线进行BMC编码通信,交换Source和Sink的能力信息。
- 合约接受与电源准备(PS_Ready):双方达成一致,Source调整
VBUS电压到目标值(如20V)。 - 替代模式协商(DP Alt. Mode):如果需要,再协商启用DisplayPort替代模式。
调试工具:必备一个USB PD协议分析仪(如Total Phase的PD分析仪,或更经济的国产方案)。将它串联在Type-C线缆中,可以实时抓取CC线上的BMC报文,让你清晰地看到每一步协商是否成功,哪个报文出了问题(如不支持某个PDO、CRC错误等)。没有这个工具,PD调试就像盲人摸象。
常见问题与排查:
- 设备无法充电/供电:
- 检查
VBUS上是否有5V电压?如果没有,检查CC引脚的上拉/下拉电阻配置是否正确(TPS65981内部可配,但需确认固件设置)。 - 用协议分析仪看PD协商是否发生?是否在发送
Source_Capabilities或Request报文?报文内容是否符合预期? - 检查
PP_HV或PP_EXT路径上的功率MOSFET(如CSD87501L)是否被正确使能?测量其栅极电压。
- 检查
- 视频信号无输出:
- 确认PD协商成功后,是否进行了DisplayPort Alt Mode协商?协议分析仪可以抓取VDM(供应商定义消息)报文。
- 检查TPS65981控制HD3SS460的GPIO(AMSEL, EN, POL)电平是否正确?对应你所期望的DP模式(4 lane 或 2 lane+USB)。
- 用示波器检查DP lane上是否有差分信号?注意DP信号电压摆幅较低,需用差分探头或高带宽示波器。
- 系统不稳定,偶尔复位:
- 首要怀疑电源完整性:用示波器探头(带接地弹簧)测量
VIN_3V3、LDO_3V3、LDO_1V8D等关键电源引脚,在负载突变时(如插入U盘)是否有大幅跌落或毛刺?重点检查去耦电容的布局是否真的“靠近引脚”。 - 检查
PP_EXT或PP_HV作为输入时,其输入电容(47-120µF)是否足够?尝试并联一个更大的电容(如220µF电解电容)看是否改善。 - 检查散热:在大电流输出时,触摸TPS65981和外部MOSFET是否烫手?热成像仪是最好的工具。确认热焊盘下的过孔是否焊接良好(可通过背面观察焊锡是否爬升判断)。
- 首要怀疑电源完整性:用示波器探头(带接地弹簧)测量
5.3 电磁兼容(EMC)预考虑
USB3.1和DisplayPort都是高速信号,加上开关电源(LM3489),系统容易产生EMI问题。
- 电源滤波:在
PP_EXT和PP_HV的输入/输出端,除了大容量储能电容,还应加入π型滤波电路(如磁珠+电容),以抑制开关噪声传导到电源线或VBUS上。 - 信号隔离:高速差分线远离开关电源的电感、二极管等噪声源。如果空间允许,在高速信号线周围加一些接地过孔“围栏”,可以提供额外的屏蔽。
- 共模扼流圈(CMC):在USB3.1数据线进入连接器之前,可以放置共模扼流圈来抑制共模噪声,这对通过辐射发射(RE)测试很有帮助。
设计TPS65981系统是一个系统工程,需要统筹考虑协议、电源、信号、布局、散热和固件。它就像一支乐队的指挥,只有每个外围“乐手”(电源芯片、MUX、MOSFET、电容电阻)都各司其职、配合默契,才能演奏出一曲稳定可靠的Type-C PD交响乐。希望这些从实际项目中总结出的细节和思路,能帮你少走弯路。