简介:XPD737 规格书是一份面向 USB PD 快充控制器选型与开发的完整 PDF 技术资料,适合电源适配器、带 USB 端口排插及多口充电设备的研发工程师使用。文档围绕富满电子 XPD737 展开,涵盖 USB PD2.0/3.0 与 PPS 协议、QC3.0/2.0、华为 FCP/SCP、三星 AFC、BC1.2 DCP、Apple 2.4A 及小米 CHARGE TURBO 27W 充电协议,也重点介绍了 XPD-LINK™多芯片互联通信技术、通过 USB PD3.0 认证(TID:3479)、最高 65W 输出且 PDO/APDO 灵活配置等核心特性。控制器内置 10mΩ VBUS 通路开关管与电流检测电阻,支持 Type-C 正反插自动唤醒、线损补偿以及过压/欠压/过流/过温保护,并给出动态电压调节与软启动说明;资料同时汇总了引脚定义、订购信息、应用简图等关键内容,便于读者快速完成选型评估、外围设计和相关调试。资源共 1 个 PDF 文件,压缩包约 858KB,目前已有 287 人浏览学习,是一份针对该控制器的协议细节、互联方案与保护机制的实用参考。
1. XPD737 规格书:XPD-LINK 互联不是噱头,是多口 PD 方案省掉 MCU 的关键
做过三年来多口氮化镓充电器的人,多半被同一个问题折磨过:两个 C 口同时插设备,功率怎么分?A 口要不要参与?谁来决定降功率、谁先断开?传统做法是 PD 控制器加一颗 MCU,靠 I2C 读电压电流、改 PDO、做策略,固件一写就是好几周。XPD737 这类带 XPD-LINK 互联的 USB PD 控制器,把多颗 PD 芯片用一根总线串起来,功率分配在硬件层协商完成,省掉 MCU,也把量产调试成本压下来一大截。这篇笔记就围绕 XPD737 规格书展开,讲清楚 XPD-LINK 到底怎么工作、外围电路怎么搭、参数怎么配、量产有哪些坑。适合正在选型多口 PD 方案的硬件工程师,也适合想搞懂多口功率分配原理的嵌入式开发者。
2. XPD737 是什么:一颗 PD 控制器如何撑起多口功率分配
2.1 先从 USB PD 控制器的角色说起
USB PD 控制器的核心任务,是完成 Type-C 接口上的 CC 线通信:检测设备插入、协商电压电流、控制 VBUS 输出。以 XPD737 为例,它把 PD 协议解析、VBUS 开关控制、恒压恒流环路、线缆补偿、过压过流保护全部集成在一颗芯片里,外围只需要功率 MOS、采样电阻和少量阻容。相比用 MCU 自己写 PD 协议栈,这种专用控制器的优势在于协议稳定性由芯片保证,工程师不需要去啃 PD Spec 里的每一个状态机。量产一致性也更好,因为协议栈在固件里,不依赖主控程序的质量。
不过单颗 PD 控制器只能服务一个 C 口。市场上常见的 65W 双 C 口充电器、100W 2C + 1A 三口充电器,需要多颗 PD 控制器协同工作。这时候问题就来了:每颗芯片只知道自己的端口状态,不知道旁边的兄弟端口在干什么。功率分配需要它们互相通信,这就是 XPD-LINK 存在的意义。
2.2 XPD-LINK 互联:一条总线解决多芯片协商
XPD-LINK 是 XPD737 提供的一种芯片间通信机制,通过一根互联总线把多颗 XPD737(或兼容芯片)连接起来。每颗芯片把自己的端口状态广播到总线上,同时监听兄弟端口的状态,再按照预设的功率分配策略,自动决定自己当前应该输出多大功率。这个过程全部由芯片硬件完成,不需要外部 MCU 参与。
具体到总线形态,常见实现是单线半双工通信,类似 I2C 的简化版:多颗芯片共用一个通信引脚,由事件触发,某颗芯片在端口状态变化时主动发出消息帧,其他芯片接收后更新自身状态。这种设计的好处是成本极低,一颗上拉电阻加一根走线就够,layout 面积几乎可以忽略。坏处是总线协议相对封闭,只能同系列芯片互通,不能和任意第三方芯片通信。
2.3 为什么说这套机制能省掉 MCU
对比一个典型的双 C 口 65W 方案:如果不用 XPD-LINK,常见架构是两颗 PD 控制器加一颗 MCU,MCU 通过 I2C 分别读取两颗 PD 芯片的状态,再根据充电策略给每颗芯片下达功率指令。这套架构的复杂度在软件:MCU 需要处理插入事件、轮询状态、执行降功率逻辑、处理异常恢复,任何一个状态没照顾好,就可能出现两个口同时抢功率、设备反复握手甚至直接断充。
XPD737 的互联方案把功率分配下沉到芯片硬件,主机只需要在初始化时配置好功率分配表,之后芯片自己协商。省掉的不只是 MCU 的 BOM 成本,还有固件开发和调试周期。对于每年要出好几款新机型的工厂来说,后者的价值往往比物料成本更关键。硬要说代价,那就是灵活性低一些:如果要做非常复杂的私有策略,比如按设备类型动态调功率,硬件协商就做不到了。
3. 用 XPD737 搭双 C 口 65W:电路方案与配置步骤
3.1 最小系统电路:外围元件怎么选
先看最小系统。XPD737 的外围电路围绕三个核心功能展开:供电、VBUS 开关、状态反馈。供电方面,VDD 引脚通常由辅助绕组或者降压电路提供,取 3.3V 或 5V 视具体封装而定,输入侧加 1uF 和 0.1uF 去耦电容,靠近芯片引脚放置。VBUS 输出通路串功率 MOS 和采样电阻,采样电阻两端接芯片的电流检测引脚,阻值决定过流保护点。
配置引脚是 XPD737 比较关键的部分。芯片通过多组配置引脚的电平组合,选择输出电压档位、电流档位和互联角色。常见做法是电阻分压到配置 ADC 引脚,芯片内部读取电压值,映射到不同的配置索引。比如设定 5V / 9V / 12V / 15V / 20V 五档 PDO,每个档位对应一个电流限值。这里要注意,配置电阻的精度直接影响档位判定,量产时建议用 1% 精度电阻,不然分压值偏移到两个档位边界,芯片可能误判。
3.2 XPD-LINK 互联接线:一条线串起两个 C 口
双 C 口方案里,两颗 XPD737 的互联引脚直接短接,加上一颗上拉电阻到 VDD,电阻典型值 10K 或更小,具体看芯片 IO 驱动能力。走线要短,远离开关电源的功率环路,尤其不能和 VBUS 走线平行长距离同层,否则互联信号会被耦合噪声干扰,导致握手异常。互联引脚上的 RC 滤波电容要控制在合理范围,容值太大,信号边沿变缓,芯片间通信容易超时。
配置上要注意主从角色设定。两颗芯片中,一颗配置为主机,另外一颗配置为从机,主从角色在硬件上由配置引脚的电平区分。主机负责汇总总线状态、主导功率分配决策;从机响应主机指令。这种主从结构下,插拔事件的处理顺序很关键:比如 A 口满载 65W 时插入 B 口设备,B 芯片检测到插入,上报总线,主机重新计算分配,A 口适时降到 45W,B 口拿到 20W。整个过程在毫秒级完成,设备端的电压跌落要在允许范围内。
3.3 配置表的设定:用寄存器描述功率分配策略
功率分配表是 XPD-LINK 方案里最核心的配置项。XPD737 通常提供一组内部寄存器,用来描述在不同端口组合下的功率输出。设计师把这些寄存器通过配置引脚的电平组合或 I2C 接口预先写入,芯片在运行时读取。拿双 C 口 65W 举例,典型配置如下:
# 双 C 口联合输出配置示例(寄存器映射示意) # 寄存器地址 0x10:单口模式 PDO 设置 0x10 = 0x2D # 5V/3A, 9V/3A, 12V/3A, 15V/3A, 20V/3.25A # 寄存器地址 0x20:双口联合模式功率分配 0x20 = 0x0A # A 口优先,满载 45W 0x21 = 0x14 # B 口次级,满载 20W # 寄存器地址 0x30:总线超时与重试次数 0x30 = 0x03 # 总线超时 3ms, 重试次数 3上面这段是寄存器配置的示意写法,实际项目里一般通过烧录器或配置文件写入芯片量产区。功率分配策略要结合整机散热能力来定:如果 65W 的总功率持续输出,外壳温度压不住,就要在配置里把联合模式的总功率上限调低到 60W,留出热余量。这一点很多工程师容易忽略,配置表只管电性能,不管热设计,但产品最终要过温升测试。
3.4 从双口扩展到三口:2C + 1A 的典型接法
2C + 1A 的三口方案是另一个高频需求。A 口本身不是 PD 口,一般是 legacy BC1.2 或 QC 协议,但 A 口的存在会占用整机功率预算。XPD737 的互联机制通过一个额外的功率通知引脚,让 A 口控制器(可能是另一颗协议芯片)也能参与功率协商。常见做法是 A 口控制器产生一个电平信号,通知 XPD-LINK 总线:A 口占用了多少功率。双 C 口按剩余功率重新分配。
这里的工程难点在于 A 口的功率通知是单向的、延迟的。插入瞬间,A 口可能先拉高电流,此时 C 口功率已经分配完,总线还没来得及收到通知,整机输出可能短暂超功率。缓解办法是预留功率余量:把整机最大输出配置成比标称总功率低 5W,给这种动态抢占留出缓冲。否则保护电路误触发,设备端观察到的是充电断流,比较难排查。
4. 参数配置与外围调优:让 XPD737 适配你的整机设计
4.1 电压电流档位与 PDO 裁剪
XPD737 的 PDO 配置直接决定了设备端能看到哪些充电档位。默认全套 PDO 对齐 PD Spec,5V 到 20V 都有,但实际产品不一定需要全部开放。比如一款针对手机设计的 33W 单 C 口充电器,开放 5V/3A、9V/3A、12V/1.5A 三档就好,20V 档根本用不上。PDO 越多,协议握手时枚举时间越长,某些兼容性差的设备反而容易挑到不适合的档位。
裁剪 PDO 时注意一个细节:PDO 的电压档位要适配设备的请求习惯。有些笔记本只认 20V 档,如果你把 20V 去掉,它就可能拒绝充电。反过来,如果你把 5V 档电流标小,手机在低电量时会认为供电能力不足,延长充电时间。稳妥做法是保留设备端最常用的档位,再去掉那些整机功率撑不住的档位,这样协议层不会出问题。
4.2 线缆补偿与电压跌落:充电器端到设备端的压降账
充电器输出到设备端的路径上有两个压降来源:线缆电阻和 PCB 走线电阻。USB PD 支持线缆补偿机制,即充电器根据负载电流抬高输出电压,抵掉线缆上的压降。XPD737 提供线缆补偿的增益配置,单位通常是 mV/A。设置时要先实测线缆电阻——拿一条常见的 E-Marker 线,长度 1 米,测出来线阻可能 80 毫欧到 120 毫欧不等,补偿目标是把设备端的电压保持在标称值附近。
补偿量太小,设备端看到电压偏低,可能降低请求电流;补偿量太大,轻载时设备端电压偏高,可能触发过压保护。关键在测试方法:用电子负载在充电器输出端拉恒流,同时用电压表接在设备端连接器的 VBUS 和 GND 上,记录负载电流从 0 到最大时设备端电压的跌落值。补偿增益按实测值的 80% 来设,留一点裕量,避免线缆批次波动时过压。
4.3 过压过流保护参数:量产一致性和安全裕量怎么平衡
过压保护(OVP)和过流保护(OCP)的阈值,规格书会给一个范围,具体值由外围采样电阻和分压电阻决定。以 OCP 为例,采样电阻阻值越小,电流检测信号越小,抗噪声能力变差;阻值越大,检测信号强,但损耗也大,影响效率。一般选 10 毫欧级别采样电阻,功率选 1W 以上,配合芯片内部比较器设定过流点。
量产时要特别注意采样电阻的精度和温漂。普通厚膜电阻温漂 100ppm 甚至更高,在 60 度温升下阻值变化明显,OCP 点会漂。推荐用合金电阻(锰铜或康铜),温漂能做到 50ppm 以内,贵一点但对保护可靠性值得。另一个容易忽略的点是 OVP 的响应速度:XPD737 的 OVP 比较器反应时间在微秒级,但 VBUS 上的输出电容会延迟电压跌落,如果输出电容容量过大,过压瞬间能量释放慢,保护不及时。常见做法是在输出端并联一个瞬态电压抑制二极管,把过压尖峰钳位住。
4.4 互联时序参数:总线超时、重试与端口状态同步
XPD-LINK 的总线参数对多口协同工作的稳定性影响很大。规格书里会定义总线消息的超时时间、重试次数、总线空闲时间这些参数。实际调试中,需要根据整机线束长度和干扰环境来调整。比如线束比较长、寄生电容大,消息帧的 ACK 返回可能会变慢,超时时间太短就会误判通信失败。
参数调试建议用二分法逼近。先把超时参数调到规格书默认值的两倍,测一遍双口同时插拔、满载切载的稳定性;然后逐步缩小超时值,每调一版跑一轮自动化测试,直到出现偶发失败,再往回调一档,留出 30% 到 50% 的余量。这里没有公式可套,因为整机干扰情况差异很大,只能在具体硬件上实测标定。
5. XPD737 方案避坑:五个容易翻车的真实问题
5.1 现象:XPD-LINK 总线电容过大,双口通信间歇性失败
某开发者在双 C 口 65W 方案里,为了滤波在互联引脚上加了一颗 100nF 电容,结果出现一个奇怪现场:B 口插入时,A 口有时候功率不降,有时候降了又跳回原值。用示波器抓互联引脚波形,发现消息帧的上升沿明显变缓,信号在阈值附近抖动,接收端采样不稳定。
原因:互联总线是开漏结构加上拉电阻,RC 时间常数由总线上所有寄生电容和外部滤波电容共同决定。100nF 电容让边沿时间超过了芯片内部采样窗口,消息帧接收失败后触发重试,但重试期间端口状态已经不一致了。
解决:把滤波电容减小到 1nF 以下,或者直接去掉。上拉电阻从 10K 换成 4.7K,提高驱动能力。走线长度控制在 10 厘米以内,避免长距离引入过大的寄生电容。这个问题的教训是,互联引脚上的滤波电容不能照搬普通信号线的经验,开漏总线对电容的容忍度要严格按规格书来。
5.2 现象:E-Marker 线缆插入后无输出,拔掉线缆后恢复正常
某公司做了一款 100W 2C 口充电器,用 5A E-Marker 线缆测试时,手机能正常连上,但笔记本插入后无输出。用协议分析仪抓 CC 总线,发现设备端发起 Discover Identity 请求后,充电器没有返回正确的 SVID 响应。
原因:XPD737 在检测到 E-Marker 线缆时,需要启用特定选项,比如支持 5A 电流的档位要开对应标志。如果配置里没有把 E-Marker 相关功能打开,芯片只把线缆当普通 3A 线缆处理,无法协商 5A 电流档,笔记本检测到供电能力不足可能拒绝拉载。
解决:检查配置位里 E-Marker 支持相关的选项,确认已开启。同时确认 CC 引脚上的 Ra 检测电阻(一般在芯片内部或外部)参数正确,这决定了线缆插入时芯片能否正确识别 E-Marker。顺带提醒,量产时不同批次线缆的 E-Marker 实现有差异,插拔测试要覆盖多种线缆品牌。
5.3 现象:双口满载时整机功率超过标称值,触发输入过流保护
某模拟项目X标称 65W,双口同时满载,输入侧电流达到 70W 水平,整机输入端过流保护动作,输出中断。问题是两个 C 口分别输出 45W 和 20W,加起来刚好 65W,怎么会出现超功率?
原因:功率分配表和整机输入功率标称值不是一回事。XPD-LINK 管的是输出端口分配,但整机还要算转换效率。65W 输出对应输入功率,在效率 90% 的情况下是 72W,超过输入保护点 70W。另外,双口同时满载的瞬间,各路输出有控制环路的动态调整,可能短暂叠加出峰值功率。
解决:功率分配表里的总功率上限按整机标称输出的 85% 来设,给动态过冲留余量。比如标称 65W,联合输出上限设到 55W。同时输入保护点也要同步提高,确保正常满载不触发、异常短路能保护。这个坑的本质是系统级问题,不能只看输出端配置,输入端和温升都要统筹考虑。
5.4 现象:设备快充握手成功后,拉载 30 秒左右电压跌落,触发芯片过压保护
某图像处理Demo测试时发现,手机显示快充,但持续充电一分钟后充电器进入保护重启。抓 VBUS 波形,发现电压从 9V 慢慢爬到 9.8V,超过设定过压阈值,触发保护。
原因:线缆补偿增益设置过大。负载电流增大时,芯片按增益线性抬高电压,但设备端实际需求没有那么大,导致充电器端电压一路爬升,最终触发自保护。另一种可能是设备端没按 PDO 请求最大电流,实际拉载较小,但补偿还是按最大电流计算。
解决:把线缆补偿增益调回与实测线阻匹配的值,不要为了极限压降测试留过大余量。同时把过压保护阈值提高一档(如果规格书允许),比如从 105% 调到 115%,给线缆补偿留出合法工作区间。这两处配合调整之后,电压爬升曲线稳定在 9V 附近,保护不再触发。
5.5 现象:低温环境下多口切换功率时,偶尔出现端口无响应
某产品做低温试验,-20 度环境下双口同时插拔,B 口偶发无法充电,必须重新插拔才恢复。常温下怎么复现都正常,低温下大约十次出现一次。
原因:低温下芯片 IO 驱动能力下降,互联总线的边沿变缓,加上低温下电阻值漂移,上拉能力进一步减弱,消息帧偶发丢失。芯片内部状态机在等待总线响应时超时,但超时恢复逻辑没有正确处理这种情况,导致端口锁死。这个问题的根因是参数边界在温度两端的余量不一致。
解决:在量产允许范围内减小上拉电阻,从 10K 改为 4.7K,增强低温驱动余量。同时确认互联总线的超时重试参数在低温下有效,可以在固件里把低温场景的重试次数加一档。做过温试验时,插拔测试要在 -20 度、25 度、60 度三个温度点各跑 500 次,低温暴露出来的大概率是电气参数漂移,不是逻辑错误。
6. 用示波器和电子负载验证 XPD-LINK 功率分配:从波形看协商质量
验证一套 XPD737 方案的功率分配质量,靠万用表是不够的,需要示波器和电子负载配合。核心要看三个信号:VBUS 电压波形、CC 总线上的配置消息、互联总线上的端口状态变化。
双口切换功率时,抓 VBUS 波形能直接看出问题。A 口从 65W 降到 45W 的同时 B 口从 0W 升到 20W,两个波形应该平滑过渡,没有超过 500mV 的过冲和跌落。如果有明显尖峰,说明控制环路增益偏大,或者在降功率瞬间 VBUS 关闭再重新打开,处理不好会出现设备端电压中断的现现象。另一个验证方法是把 B 口的负载从 0 拉到满载,观察 A 口在当前负载下是否稳定,这个测试能直观反映功率分配策略的执行质量。
互联总线的时序也有办法验证。用示波器两个通道分别接互联引脚和设备端的 CC 引脚,比较插入事件和功率重分配的延时。一般来说,B 口插入到 A 口功率开始变化,应该在几十毫秒内完成;如果超过 100 毫秒,说明协商流程偏慢,用户体验会感觉充电好像卡了一下。延时偏长时,重点检查互联总线的上拉电阻和滤波电容,以及主从芯片的配置是否一致。
我的习惯是每个新方案在 EVT 阶段跑一套固定的验证脚本:单口满载、双口满载、单口插拔 100 次、双口交替插拔 100 次、满载切空载和空载切满载各 50 次、E-Marker 线缆和普通线缆各插拔 50 次。脚本跑完,波形存档,参数调一版再跑一遍,前后对比曲线来判断改动是变好还是变差。所有波形截图按日期和配置版本命名,方便后期追溯。这套验证流程帮我在多个项目上提前拦截了功率分配异常和互联通信稳定性问题,也省掉了后面量产阶段不少返工。希望这套方法能帮你少走弯路。
本文还有配套的精品资源,点击获取