USB论坛
直播中

李明

8年用户 1364经验值
私信 关注
[问答]

如何将CYPD3125用于DRP USB端口?

我正在尝试将 CYPD3125 用于 DRP USB 端口。 当我的 5V 电源(当我的端口充当 DFP 和电源时)通电时,我无法从我的 PD 充电器吸收电力。 在 PD 充电器的电源切断之前,我可以暂时(不到一秒)从充电器获取电源。 拔下并重新插入电源线没有任何作用(甚至没有瞬间的电源闪烁)。 当 5V 电源断开时,PD 合同成功协商,我可以从充电器获取电源。当我插入外围设备时(连接 5V 电源时),该端口确实作为主机工作。
我是否错误地配置了我的设备? 我正在使用的当前配置和我的 CYPD3125 原理图如下所示。
港口信息:

设备 ID

超快速视频输出

DFP视频数字对象存储

source Pdo

接收 PDO0 (5V)

接收 PDO1 (20V)

示意图
其接线方式与 CYPD3125数据表第 21 页上的 DRP 应用示例相同。

回帖(1)

elecfans

2025-5-9 17:58:34

根据您描述的问题,CYPD3125 在 DRP 模式下的电源路径管理和 PD 协商策略可能存在配置冲突。以下是逐步分析和解决方案:




关键问题分析




  1. DRP 切换冲突

    当本地 5V 电源激活时,CYPD3125 可能优先锁定为 DFP(供电方),导致无法协商为 UFP(受电方)。PD 充电器(同为 DFP)检测到冲突后拒绝供电。




  2. 电源路径竞争

    本地 5V 电源和外部 PD 电源的 VBUS 可能存在硬件竞争,导致 PD 协商失败。短暂成功可能源于电源切换瞬间的未稳定状态。




  3. 固件配置限制

    固件中可能设置了“本地电源优先”策略,或在检测到 VBUS 存在时强制禁止 UFP 角色。






解决方案步骤


1. 验证 DRP 模式配置




  • 检查 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),确保周期性切换角色以检测外部电源。




2. 优化电源路径设计




  • 隔离本地与外部 VBUS

    使用 负载开关(Load Switch)或理想二极管 控制本地 5V 和外部 PD 电源的 VBUS 路径,避免同时供电。例如:


     VBUS_PD (来自充电器) ──|─ MOSFET (控制由 CYPD3125) ── 系统 VBUS
    VBUS_LOCAL (5V) ───────|─ MOSFET (控制由本地电源) ── 系统 VBUS

    当检测到外部 PD 供电时,断开本地电源的 MOSFET。




  • 配置 VConn Swap 支持

    确保硬件支持快速切换电源路径,避免因切换延迟导致 PD 协商超时。




3. 调整 PD 策略管理器




  • 禁用本地电源优先策略

    在固件中修改策略管理器配置,允许即使本地 5V 存在时仍可接受外部供电。检查以下参数:



    • Policy: Source Sink Preferences → 设置为 Sink Preferred

    • Policy: Local Power Config → 禁用 Ignore Sink Requests




  • 配置 PD 重试机制

    增加 PD 协商失败后的重试次数(如 RetryCount = 3)和超时时间(如 Timeout = 2s)。




4. 验证 CC 引脚和电阻配置




  • DRP 模式的 Rp/Rd 值  



    • 确保 CC 引脚在 DRP 模式下动态切换 Rp(作为 DFP 时)Rd(作为 UFP 时)

    • 典型值:Rp = 5.1kΩ(USB-C 默认),Rd = 5.1kΩ。




  • 检查 CC 引脚连接

    确认 CC1/CC2 直接连接到 USB-C 连接器,无额外电容/电感影响信号。




5. 监控 VBUS 检测电路




  • VBUS 电压阈值

    确保 CYPD3125 的 VBUS Detect Threshold 正确(通常为 4.0V)。若阈值过高,可能导致检测不到外部电源。




  • 硬件滤波优化

    检查 VBUS 检测电路是否有过强滤波电容(如 >1µF),导致响应延迟。建议使用 0.1µF 电容。






验证步骤




  1. 本地电源关闭时  



    • 插入 PD 充电器,确认 CYPD3125 作为 UFP 成功协商(如触发 5V/9V 电压切换)。




  2. 本地电源开启时  



    • 插入 PD 充电器,使用示波器监测 VBUS 和 CC 线:

      • 观察 CC 线是否有周期性 DRP 切换信号。

      • 确认 VBUS 在 PD 协商成功后由外部电源接管(本地电源 MOSFET 断开)。





  3. 插入外设测试  



    • 本地电源开启时插入 U 盘等设备,确认作为 DFP 正常供电。






常见配置错误示例




  • 错误配置  


    // 错误:固定为 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 报文交互。

举报

更多回帖

发帖
×
20
完善资料,
赚取积分