TPS25751AEVM评估板实战:从USB-C PD协议到100W双向快充设计
1. 项目概述从评估板到产品原型如果你正在设计一款需要USB-C接口供电或充电的产品无论是电动工具、移动电源还是便携式医疗设备那么TPS25751A这颗芯片和它的评估模块EVM很可能是你绕不开的起点。我最近在做一个户外储能电源的项目核心需求就是通过一个USB-C口既能给设备自身的大电池充电Sink又能对外输出最高100W的功率Source。在选型阶段德州仪器TI的TPS25751A及其评估板TPS25751AEVM进入了我的视野。经过几周的实测和调试我发现这块板子远不止是一块简单的“演示板”它更像是一个高度集成、功能齐全的开发平台能帮你把USB-PD协议栈、电源路径管理、保护电路这些复杂问题快速转化为可量产的设计。简单来说TPS25751A是一个单端口USB Type-C和Power DeliveryPD控制器。它的核心价值在于把USB-IF认证的PD协议处理、Type-C端口控制CC逻辑、以及一个可配置的高压双向电源路径支持最高20V/5A都集成在了一颗芯片里。更关键的是它内置了I2C主控制器可以直接与TI的BQ系列电池充电管理芯片“对话”实现从PD协议到充电算法的无缝衔接。这意味着你不需要再额外用一个MCU去协调PD芯片和充电芯片简化了系统设计也降低了软件复杂度。而TPS25751AEVM就是为这颗芯片量身定做的“练兵场”。它把芯片、必要的保护器件如端口保护IC、电平转换、调试接口甚至一个用于固件烧录的Raspberry Pi Pico MCU都集成在了一块板子上。开箱即用你接上电源和电脑就能开始配置PD策略、测试充放电、调试保护功能。对于硬件工程师和系统工程师而言这块板子最大的意义是提供了一个“已知是好的”参考设计你可以基于它的原理图和布局快速推导出自己的产品原理图极大缩短了开发周期。2. 核心硬件架构与设计思路拆解拿到TPS25751AEVM第一件事不是急着上电而是花点时间理解它的硬件架构。这块板子的设计逻辑非常清晰可以分为几个核心功能区块理解了这些后续的调试和自定义开发才能有的放矢。2.1 电源管理与供电拓扑评估板的供电设计是第一个需要厘清的关键。板子提供了多种上电方式以适应不同的测试场景通过J8Sink-Only Type-C端口供电这是最常用的方式。你需要一个支持至少15V PD输出的USB-C适配器比如常见的65W笔记本充电器。电源从J8进入经过TPS25730一颗独立的Sink-only PD控制器用于模拟传统桶形接口替代后产生VSYS系统电压。这个设计很巧妙它允许你在没有电池或主电源的情况下仅凭一个USB-C充电器就能让整个评估板工作起来。通过VSYS测试点TP3供电你可以直接使用直流稳压电源输出15V至20V最大不超过48V连接到TP3和GND为板子供电。这种方式在实验室调试时非常方便可以精确控制输入电压和电流。通过J14主Type-C端口供电这用于模拟“死电池”场景。当设备电池完全耗尽时可以通过这个端口接入电源让TPS25751A以Sink模式工作为系统供电并尝试给电池充电。此时板子无法作为电源输出Source除非VSYS另有供电。通过BQ系列充电器EVM供电这是评估电池充电应用的核心方式。通过板上的J12连接器或转接板将BQ25756等充电器EVM的电池输出VBAT连接到评估板的VSYS网络。此时电池成为了系统的能量来源TPS25751A可以管理从J14端口取电为电池充电或者将电池的电能通过J14端口对外输出。注意绝对不要在VSYSTP3上施加超过48V的电压否则会永久损坏板载器件。使用BQ EVM时务必先确认其输出电压配置避免意外高压。板上的电源转换链路也很明确输入的VSYS~15-20V一路供给TPS25751A的高压电源路径另一路通过U8LM76005同步降压转换器降至5V生成PP_5V用于PD控制器的内部逻辑供电和VCONN为E-Marker线缆供电U9TLV75733则从PP_5V或VIN_3V3来自TPS25751A内部LDO或外部产生3.3V为EEPROM、电平转换器等数字电路供电。这种分级供电的设计保证了各模块的稳定性和隔离度。2.2 端口保护与安全机制USB-C接口暴露在外面临静电ESD、浪涌以及最危险的“短路到VBUS”风险。TPS25751AEVM在保护方面做得很到位这也是产品设计中必须重点参考的部分。CC/SBU线路保护U2TPD4S201负责保护CC1、CC2、SBU1、SBU2这四条关键信号线。它能承受最高28V的短接到VBUS电压并集成了ESD保护。当检测到短路时其FLT引脚会拉低该信号连接到TPS25751A的GPIO1触发PD控制器进入Type-C错误恢复状态断开连接以保护后端电路。DP/DMUSB数据线保护U15TPD2S300为DP和DM提供类似的28V短路保护和ESD保护。VBUS/VSYS浪涌保护U3和U6TVS2200是22V的钳位型浪涌保护器件SPD并联在VBUS和VSYS线上用于吸收瞬间的高压尖峰如雷击感应或热插拔浪涌。电流检测与过流保护U10INA296A3是一个高边电流检测放大器用于监测VBUS上的电流。其输出可以连接到TPS25751A的ADC输入引脚通过JP5选择GPIO0或GPIO4实现软件端的电流监控为过流保护OCP提供数据。这种多层级的保护架构是商用产品可靠性的基石。在你自己设计时TPD4S201和TPD2S300几乎是必选项TVS的选择则需要根据产品可能面临的环境浪涌等级来确定。2.3 调试与监控接口评估板布满了测试点和跳线这是其作为“开发平台”而非“功能模块”的体现。测试点TP1-TP20关键电压节点VBUS, VSYS, PP_5V, LDO_3V3、CC/SBU/DP/DM信号线都引出了测试点。用示波器探测这些点可以直观地观察PD协商过程中的电压变化、CC线上的BMC双相标记编码信号是调试通信问题不可或缺的手段。跳线器JP1-JP11它们提供了灵活的配置选项。例如JP1PP_5V_EN断开可移除5V电源用于测试低功耗或故障状态。JP6DB_CONFIG配置死电池模式。保持短接为“安全模式”移除则为“始终使能Sink”这决定了电池完全没电时设备的行为。JP7EEPROM_EN断开则禁用从EEPROM加载配置PD控制器将保持在补丁PTCH模式强制通过GUI配置。JP9/JP10/JP11用于配置液体检测功能选择使用CC线还是SBU线作为检测通道。指示灯D1-D88个LED提供了直观的状态指示如VBUS存在D1、VSYS存在D2、Sink端口连接D3、能力失配D4、数据连接D5、保护故障D6以及两个可编程GPIO状态D7, D8。实操心得在开始任何功能测试前我习惯先用万用表测量一遍所有跳线器的默认状态并记录在案。有一次调试发现PD协商总失败最后查出来是JP7跳线不知何时松动了导致配置无法加载。这些小细节在复杂的板子上很容易被忽略。3. 软件配置与GUI工具实战硬件是躯体软件固件配置才是灵魂。TPS25751A的强大之处在于其高度可配置性而这一切都通过TI的基于Web的“USB-C PD Application Customization Tool”来完成。这个工具无需安装在Chrome或Edge浏览器中打开即可极大方便了跨平台使用。3.1 开发环境搭建与固件烧录连接硬件首先确保评估板已正确供电推荐通过J8连接一个20V PD充电器。然后使用一根USB-C to USB-C或USB-A to USB-C数据线将板上的J9Data Type-C Port连接到你的电脑。注意J9是专门用于数据传输和固件烧录的端口与供电端口J14和J8是分开的。访问GUI工具在TI官网找到并打开“TPS25751A Application Customization Tool”。浏览器可能会要求访问串行端口务必点击允许。识别设备正常情况下GUI工具会自动检测到连接的评估板并显示设备信息。如果未发现检查数据线是否可靠或尝试点击“Refresh”按钮。有时需要按一下板上的S1复位键来重新初始化Pico MCU。固件烧录如果是全新板子或需要更新固件在GUI的“Firmware Update”页面选择对应的固件文件通常由TI提供或从工具内下载点击“Program”即可。烧录过程通常很快完成后设备会自动复位。3.2 核心功能配置详解GUI工具界面直观主要配置集中在“Device Configuration”和“Policy Configuration”标签页。3.2.1 电源角色与数据角色这是最基本的配置。TPS25751A支持双角色电源DRP即可以在Source供电方和Sink受电方之间切换。电源角色你可以将其固定为Source、Sink或DRP。对于移动电源类应用通常设为DRP。当插入充电器时它作为Sink为内部电池充电当插入手机时它作为Source对外放电。在GUI中你需要为Source和Sink角色分别定义其供电能力Power Rules。数据角色可以选择DFP下行端口如主机、UFP上行端口如设备或DRD双角色数据。对于纯供电设备如充电器、电动工具电池包通常选择“No Data”或“UFP”。如果你的设备需要USB数据传输则需要选择相应的数据角色。3.2.2 供电能力Power Rules配置这是PD协商的核心。你需要根据产品设计的实际能力来定义。Source规则点击“Add Source Power Rule”可以添加多个供电对象。例如一个典型的100W移动电源可能配置规则1固定电压5V最大电流3A15W规则2固定电压9V最大电流3A27W规则3固定电压15V最大电流3A45W规则4固定电压20V最大电流5A100W规则5PPS可编程电源电压范围5V-21V步进20mV最大电流5A。PPS对于需要精细调压的快充协议如QC兼容性很重要。Sink能力同样你需要定义设备作为Sink时希望从对方获取的功率。例如一个支持65W充电的笔记本电池包其Sink能力可能设置为20V/3.25A65W。你还可以配置“Preferred”电源让设备优先请求某个电压档位。3.2.3 GPIO与ADC功能配置TPS25751A的多个GPIO可以复用为不同功能这是实现自定义逻辑的关键。驱动LED如原理图所示GPIO3和GPIO6驱动了D8和D7。你可以在GUI中将这些GPIO配置为“GPIO Output”并关联到特定事件。例如可以将GPIO6配置为当设备成功建立20V PD合约时输出高电平点亮LED作为高压状态指示。故障输入GPIO1被硬件连接到了TPD4S201的FLT引脚。你必须在GUI中将其功能设置为“Fault_Input_Event33”。这样当端口发生短路时PD控制器能及时收到故障信号并采取保护动作。ADC读取GPIO0和GPIO2可以配置为ADC输入用于读取模拟电压。板上已经用分压电阻将VBUS和VSYS电压衰减了10倍连接到这些引脚通过H1头引出。你可以在GUI中启用ADC功能并设置读取周期从而在软件中实时监控总线电压。此外电流检测放大器INA296的输出也通过跳线JP5可选地连接到GPIO0/4实现电流监控。3.2.4 液体检测与腐蚀缓解配置这是一个非常实用的安全功能。在“Liquid Detection”配置部分你需要选择用于检测的引脚对CC1/CC2, SBU1/SBU2, 或DP/DM。硬件上需要通过跳线帽连接J10的相应引脚到LD1和LD2。原理PD控制器会周期性地在选定的检测引脚上施加一个小的测试电压并通过ADC测量其响应。如果引脚之间或对地出现意外的低阻抗由液体或污染物引起ADC读数会异常从而触发液体检测事件。配置你需要设置检测阈值阻抗门限和检测周期。一旦检测到液体TPS25751A可以自动禁用Type-C端口防止短路损坏并在液体干燥阻抗恢复后自动重新启用端口。3.2.5 与BQ充电器的I2C集成配置这是TPS25751A区别于普通PD控制器的亮点。在“Charger Configuration”部分你可以选择连接的BQ充电器型号如BQ25756。配置后PD控制器将通过I2Cc总线自动与充电器通信。充电策略PD控制器会根据协商得到的输入功率例如从充电器获得65W通过I2C指令设置BQ充电器的输入电流限制IINDPM和充电电流ICHG。它也能读取充电器的状态如充电完成、故障并据此调整PD行为例如充电完成后停止从端口取电。固件集成TI提供了预编译的固件库包含了针对不同BQ充电器的驱动代码。在GUI中配置好后这些代码会被编译进最终烧录到EEPROM的配置文件中实现开箱即用的集成。完成所有配置后点击“Generate Configuration”生成二进制文件然后点击“Program Device”将其烧录到板载的EEPROM中。复位后新的配置即刻生效。4. 典型应用场景搭建与实测评估板的真正价值在于模拟真实应用。下面以两个最典型的场景为例展示如何搭建测试环境并进行关键测量。4.1 场景一作为100W双向快充移动电源核心这个场景模拟一个高端移动电源既能以100W功率自充电也能以100W功率对外供电。硬件连接将TPS25751AEVM通过J8端口连接一个支持20V/5A100W输出的USB-C PD充电器如戴尔130W适配器。将一台支持100W PD充电的笔记本电脑如MacBook Pro 16英寸通过USB-C线缆连接到J14端口。使用示波器探头地线夹在TP2GND探头分别点测TP1VBUS和TP5/TP6C_CC1/C_CC2。实测过程与观察上电与DRP切换板子由J8供电启动。此时J14端口作为DRP开始广播Source能力。用示波器观察CC线会看到约330kHz的周期性脉冲这是Source在发送Source_Capabilities消息。连接与合约协商连接笔记本电脑。CC线上的电压会发生变化上拉/下拉电阻配置随后你会看到密集的BMC编码数据包。在TP1VBUS上电压会从默认的5V开始。经过一系列PD消息交换Request, Accept, PS_RDYVBUS电压会跃升至笔记本电脑请求的电压档位例如20V。这个过程通常在几百毫秒内完成。功率传输协商完成后VBUS稳定在20V。此时你可以用电子负载或直接通过笔记本电脑的电源信息来验证电流是否可达5A实现100W功率传输。同时观察板上的D2VSYS LED和D1VBUS LED的亮灭状态它们直观反映了能量流向。角色切换拔掉J8的充电器。此时系统由笔记本电脑通过J14端口供电Sink模式。VSYS电压由电池或BQ EVM模拟的电池提供。你可以重新插上一个手机到J14此时板子应能切换回Source模式为手机充电。这个过程验证了DRP角色切换的可靠性。关键调试点如果协商失败始终停留在5V首先检查配置中的Source/Sink能力是否匹配并确保线缆是支持5A电流的E-Marker线缆。用示波器捕获CC线上的信号至关重要。如果信号幅值过低或畸变检查TPD4S201保护电路是否正常或CC线上的对地电容是否过大。4.2 场景二与BQ25756EVM联调电池充电系统这个场景用于开发带电池的产品如无线吸尘器、电动工具电池包。硬件搭建物理连接使用随附的转接板和排线将TPS25751AEVM的J11、J13连接器与BQ25756 Interposer Board对接再将Interposer Board插入BQ25756EVM的J1和J3插座。最后用排线连接TPS25751AEVM的J12到BQ25756EVM的J8。务必确保所有连接牢固我曾因转接板插针未完全插入导致I2C通信失败。供电为BQ25756EVM连接一个直流电源如0-30V/10A到输入端子并连接一个可编程电子负载或一个电池模拟器到其电池端子J3。将电子负载设置为恒压模式模拟一个4串锂电池组标称14.8V。配置BQ25756EVM根据BQ25756EVM用户指南设置好板上的跳线配置为4节电池串联4S应用。使用BQStudio软件通过EV2400连接可以更直观地监控和配置充电参数。软件与系统联调TPS25751A配置在GUI中选择“Charger Integration”并指定型号为BQ25756。配置PD策略例如Sink能力设置为20V/3.25A65W以便从充电器获取最大功率。烧录与上电将配置烧录到TPS25751AEVM。给BQ25756EVM上电并启动电子负载电池模拟器。系统工作流验证充电过程将一个65W USB-C PD充电器插入TPS25751AEVM的J14端口。TPS25751A会与之协商获得20V/3.25A的输入。然后它通过I2C命令BQ25756进入充电模式设置输入限流和充电电流。你可以用BQStudio观察到充电状态、输入/输出电压电流、电池电量等信息。同时TPS25751AEVM上的D1VBUS和D2VSYSLED应同时点亮。放电过程Source拔掉J14的充电器。现在系统由“电池”电子负载供电。将一台设备如手机插入J14。TPS25751A应切换为Source角色并与设备协商合适的输出电压如9VBQ25756则从电池降压为系统供电。此时能量从电池流向J14端口。输入功率动态管理这是一个高级功能。如果电池正在大电流充电此时插入一个需要供电的设备TPS25751A可以通过I2C动态调整BQ25756的充电电流甚至暂停充电优先满足设备供电需求实现输入功率的智能分配。排查技巧I2C通信失败首先用逻辑分析仪或示波器检查I2Cc总线SDA, SCL是否有波形。确保TPS25751A和BQ25756的I2C地址配置正确在各自的数据手册中查找。检查JP7跳线是否在位确保EEPROM配置已加载。充电不启动检查BQ25756EVM的输入电源是否足够跳线设置是否正确。在BQStudio中查看寄存器状态确认是否使能了充电。PD协商成功但无充电电流检查TPS25751A的GPIO配置确保用于控制BQ充电器使能或输入源选择的GPIO引脚输出正确电平。5. 高级功能调试与问题排查实录在基础功能调通后一些高级功能和潜在问题就需要更深入的调试手段。5.1 液体检测功能实测与校准液体检测的可靠性高度依赖硬件布局和软件阈值设置。硬件配置根据原理图通过跳线帽将J10的Pin1CC1和Pin2CC2分别连接到Pin3LD1和Pin4LD2。同时确保JP9跳线选择CC线路JP10和JP11连接LD到GPIO。GUI配置在液体检测配置页面选择检测引脚为CC1和CC2。设置检测周期如每秒一次和阻抗阈值。阈值需要根据实际PCB上CC引脚对地的寄生电容和电阻来校准。初始值可以保守一些如设置较低的阻抗阈值更敏感。模拟液体注意安全务必在断电状态下进行使用一个高阻值电阻例如100kΩ连接CC1和GND测试点TP5和TP2模拟液体造成的轻微漏电。观察与验证重新上电。通过GUI的实时监控页面或读取状态寄存器观察液体检测状态是否触发。一旦触发J14端口的VBUS应被禁用Type-C连接会断开。移除模拟电阻后经过设定的恢复时间端口应自动恢复。阈值优化尝试不同的电阻值找到能稳定触发检测的临界点。这个值就是你的产品需要设定的阈值。需要考虑环境湿度、污垢等因素留出足够余量。5.2 短路保护Short-to-VBUS测试这是验证端口保护可靠性的关键测试。准备工作将评估板配置为Source模式输出一个较低的电压如5V连接一个轻负载如一个电阻。制造短路此操作有风险务必小心使用一个电流受限的电源或在VBUSTP1和CC1TP5之间串联一个保险丝或小电阻如1Ω进行测试。用一根导线短暂地将TP5C_CC1连接到TP1VBUS。观察现象应立即看到D6FLT_Husker红色LED点亮同时VBUS输出被切断。示波器上可以看到VBUS电压跌落到0V。CC线上的通信停止。恢复测试移除短路线。根据配置TPS25751A可能会自动尝试恢复错误恢复或者需要重新插拔连接器。观察D6 LED熄灭VBUS重新建立。测试其他引脚重复此过程测试CC2、SBU1、SBU2、DP、DM对VBUS的短路。确保TPD4S201和TPD2S300在所有情况下都能可靠动作。5.3 常见问题速查与解决方案在实际开发中我遇到过不少“坑”这里总结成表格方便大家快速排查问题现象可能原因排查步骤与解决方案评估板完全不上电所有LED不亮。1. 供电电压不足或未达到15V最小要求。2. J8端口连接的适配器不支持PD或未输出15V。3. 保险丝或保护器件损坏。1. 用万用表测量VSYSTP3对地电压确认在15-20V之间。2. 尝试使用另一个已知支持20V PD的充电器。3. 检查板上的F1保险丝是否导通。GUI工具无法识别设备。1. J9数据线连接错误或线缆不支持数据。2. 电脑USB端口驱动问题或浏览器未授权串口访问。3. 板载Pico MCU固件异常。1. 确认连接的是J9端口并更换一根已知良好的USB数据线。2. 尝试更换电脑USB口重启浏览器并重新授权。3. 按住S1复位键再上电尝试进入Bootloader模式重新烧录Pico固件。PD连接建立但VBUS始终为5V无法升压。1. PD合约协商失败双方未就更高电压达成一致。2. 线缆不支持5A电流或不是E-Marker线缆。3. TPS25751A的Source能力配置错误。4. 对端设备Sink未请求高电压。1. 用USB PD协议分析仪如Ellisys, Total Phase监控CC线通信查看Source_Capabilities和Request消息。2. 更换一条支持100W5A的USB-C线缆。3. 检查GUI中配置的Source PDO是否包含9V/15V/20V档位。4. 确认对端设备是否支持并请求了高电压PDO。与BQ充电器EVM通信失败无法控制充电。1. I2C物理连接问题排线松动。2. I2C上拉电阻未正确连接或失效。3. TPS25751A或BQ芯片的I2C地址配置错误。4. EEPROM配置未正确加载JP7跳线。1. 用万用表检查J12连接器及排线通断重新插拔确保接触良好。2. 检查原理图中I2C总线的上拉电阻R70, R71等是否焊接测量SCL/SDA线电压是否为3.3V高电平。3. 用逻辑分析仪抓取I2C波形确认地址和数据。核对TPS25751A和BQ25756数据手册中的I2C从地址。4. 确认JP7跳线帽在位或尝试通过GUI直接在线配置并烧录绕过EEPROM。液体检测功能误触发或无法触发。1. 检测阈值设置不合理太敏感或太迟钝。2. J10跳线配置错误。3. PCB上检测线路的寄生电容过大影响了RC常数。1. 在干燥、正常状态下通过GUI读取ADC的基准值。然后逐步降低阻抗模拟液体观察ADC值变化重新校准阈值。2. 对照原理图和表格确认J10跳线帽连接了正确的检测引脚到LD1/LD2。3. 检查PCB布局液体检测的走线应尽量短远离噪声源并避免铺铜过近增加寄生电容。最后一点个人体会TPS25751AEVM是一块信息密度极高的板子初次接触可能会被众多的测试点、跳线和芯片搞得眼花缭乱。我的建议是不要试图一次性理解所有东西。按照“供电 - 基础PD功能 - 高级保护/检测功能 - 与外部器件集成”的顺序分模块逐个击破。多利用板上的LED和测试点进行状态判断善用示波器和逻辑分析仪观察信号遇到问题时优先对照原理图检查硬件连接和电源往往能事半功倍。这块板子吃透了设计一个成熟可靠的USB-C PD产品心里就有底了。