USB论坛
直播中

李玲

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

请问Dead battery的 rd_dp 可以设置为sink吗?

如题。还是只能工作在DRP模式下?

回帖(1)

王银喜

2025-6-9 18:11:07

好的,我们来分析一下这个问题,涉及到 USB Type-C 在 "Dead Battery" (电池耗尽) 状态下的行为规范。


答案是明确的:在 "Dead Battery" 状态下,设备必须将其Rd下拉电阻连接到 CC1 和/或 CC2 线上,向潜在的 Source (供电方) 表明它只能做 Sink (受电方)。它不应该也不能工作为 DRP 模式。


以下是详细解释:




  1. Rd vs. DRP vs. Sink/Source:



    • Rd:这是 Sink 设备连接到 CC 线上的固定下拉电阻。它表示:“我是一个 Sink,请给我供电。”

    • DRP (Dual-Role Power/Port):这是具有 Source 和 Sink 能力的设备使用的角色切换机制。一个 DRP 端口会周期性地(通常在~50ms - 100ms量级)在 Rp(Source模式)和 Rd(Sink模式)之间切换其CC线上拉电阻。

    • Sink 角色:设备处于 Sink 角色时,其 CC 线应连接有效的 Rd 电阻。rd_dp 是你描述的硬件状态,它本质上就是连接了有效的 Rd 下拉电阻,明确表示 Sink 模式。




  2. “Dead Battery” 状态 (USB Type-C 规范定义):



    • 设备处于此状态时,自身完全没有供电能力(Vbus 无法提供,芯片逻辑也依赖外部供电才能工作)。

    • 设备的唯一目标是能够被连接的 Source 设备检测到并供电




  3. 规范要求和逻辑:



    • USB Type-C 规范 (第 4.5.1.2 节) 明确要求: 处于 Dead Battery 状态的 USB 设备必须在至少一条 CC 线上呈现有效的 Rd 下拉电阻。不允许连接 Rp(Source上拉电阻)或 Ra(Audio配件上拉电阻)。

    • 为什么必须设置 Rd (Sink)?

      • 能被Source发现: Source 设备通过检测 CC 线对地的电压来判断是否连接了 Sink。只有检测到 Rd(即电压被 Rd 拉低到一个特定范围),Source 才会尝试开启 Vbus 供电。

      • 避免混淆角色: 如果配置成 DRP(在 Rp 和 Rd 之间切换),当它切换到 Rp(Source)模式时:

        • 对方也是 DRP 或 Sink: 对方设备可能会将其误解为一个能供电的 Source(因为对方检测到了 Rp 电阻),但实际上这个设备根本没有供电能力,并且此时自己切换到 Rp 模式时也不会连接 Rd,这会导致连接检测不稳定甚至失败。

        • 对方是 Source: 当这个 DRP 设备切换到 Rp(Source)模式时,会干扰 Source 对 CC 线的电压检测(自己也在试图做上拉),导致 Source 无法准确识别或维持连接状态。


      • 唯一可行的功能: 设备在 Dead Battery 状态下唯一能实现的功能是接收电力。将其配置为 Sink (Rd) 是唯一支持此功能且符合规范的配置。





  4. 硬件实现 (Autonomous Role):



    • 对于需要支持 Dead Battery 充电的设备,其硬件设计通常包含一种称为 "Autonomous Role" 或 "Dead Battery Pull-down" 的机制。

    • 这个机制由主供电轨(比如电池电压 VBAT)控制:

      • VBAT 存在时(有电): 控制电路允许端口按设计要求工作(作为 Source、Sink 或 DRP)。

      • VBAT 消失或过低时(Dead Battery): 该控制电路会自动强制物理上连接有效的 Rd 下拉电阻到 CC 线上,确保即使在没有任何内部芯片逻辑供电的情况下,这个 Sink 身份也能被物理建立。





总结:



  • 在 "Dead Battery" 状态下,设备必须且只能设置 Rd (sink) 模式。

  • 设置 Rd 是告诉任何可能连接的 Source:“我需要电力,请给我供电!”。

  • 绝对不能工作在 DRP 模式。 DRP 的角色切换行为会干扰连接的建立和检测,无法保证设备在耗尽状态下可靠地被充电。

  • rd_dp 表示的就是连接到 Rd 的状态,这正是规范要求在 Dead Battery 下必须实现的状态。


所以,你的问题的答案非常明确:Dead battery 时,必须设置为 Rd (sink) 模式,不能工作在 DRP 模式。

举报

更多回帖

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