

根据您描述的问题,CYPD3125 在 DRP 模式下的电源路径管理和 PD 协商策略可能存在配置冲突。以下是逐步分析和解决方案:
DRP 切换冲突
当本地 5V 电源激活时,CYPD3125 可能优先锁定为 DFP(供电方),导致无法协商为 UFP(受电方)。PD 充电器(同为 DFP)检测到冲突后拒绝供电。
电源路径竞争
本地 5V 电源和外部 PD 电源的 VBUS 可能存在硬件竞争,导致 PD 协商失败。短暂成功可能源于电源切换瞬间的未稳定状态。
固件配置限制
固件中可能设置了“本地电源优先”策略,或在检测到 VBUS 存在时强制禁止 UFP 角色。
检查 Port Type 设置
确保 CYPD3125 配置为 DRP (Dual Role Port),而非固定 DFP/UFP。使用 EZ-PD™ Configuration Utility 工具确认 Port Type 字段为 DRP。
调整 DRP 切换参数
在固件中设置 DRP Swap Time(如 25ms)和 Toggle Period(如 30-50ms),确保周期性切换角色以检测外部电源。
隔离本地与外部 VBUS
使用 负载开关(Load Switch)或理想二极管 控制本地 5V 和外部 PD 电源的 VBUS 路径,避免同时供电。例如:
VBUS_PD (来自充电器) ──|─ MOSFET (控制由 CYPD3125) ── 系统 VBUS
VBUS_LOCAL (5V) ───────|─ MOSFET (控制由本地电源) ── 系统 VBUS当检测到外部 PD 供电时,断开本地电源的 MOSFET。
配置 VConn Swap 支持
确保硬件支持快速切换电源路径,避免因切换延迟导致 PD 协商超时。
禁用本地电源优先策略
在固件中修改策略管理器配置,允许即使本地 5V 存在时仍可接受外部供电。检查以下参数:
Policy: Source Sink Preferences → 设置为 Sink Preferred。Policy: Local Power Config → 禁用 Ignore Sink Requests。配置 PD 重试机制
增加 PD 协商失败后的重试次数(如 RetryCount = 3)和超时时间(如 Timeout = 2s)。
DRP 模式的 Rp/Rd 值
检查 CC 引脚连接
确认 CC1/CC2 直接连接到 USB-C 连接器,无额外电容/电感影响信号。
VBUS 电压阈值
确保 CYPD3125 的 VBUS Detect Threshold 正确(通常为 4.0V)。若阈值过高,可能导致检测不到外部电源。
硬件滤波优化
检查 VBUS 检测电路是否有过强滤波电容(如 >1µF),导致响应延迟。建议使用 0.1µF 电容。
本地电源关闭时
本地电源开启时
插入外设测试
错误配置
// 错误:固定为 DFP,无法切换为 UFP
PortType = DFP;
Policy.LocalPowerConfig = LOCAL_POWER_PRIORITY;正确配置
// 正确:DRP 模式,优先受电
PortType = DRP;
Policy.SourceSinkPref = SINK_PREFERRED;
Policy.LocalPowerConfig = IGNORE_LOCAL_POWER;通过调整 DRP 切换策略、优化电源路径硬件,并验证 PD 协商参数,应能解决 5V 电源存在时的受电问题。若仍存在异常,建议抓取 CC 通信日志(使用协议分析仪)进一步诊断 PD 报文交互。
举报
更多回帖