当前位置: 首页 > news >正文

USB --- PD协商

 USB PD 从机(Sink)的状态机流程(SNK_STARTUP→DISCOVERY→...→SNK_READY)是从机(Sink)主动发起并主导,配合主机(Source)响应完成的协商过程,每个状态的切换由特定消息交互或超时机制触发。以下是各步骤的详细说明:

1. SNK_STARTUP(从机启动)

  • 角色:从机(Sink)主动初始化。
  • 触发条件:从机物理连接到主机(如插入 USB-C 线缆),硬件检测到 VBUS 电压(或 CC 线信号)后进入该状态。
  • 行为:从机初始化 PD 控制器(如 TCPM 模块),配置底层硬件(如 CC 线检测电路),准备进入协议协商。
  • 状态切换触发:初始化完成后,自动进入 SNK_DISCOVERY 状态。

2. SNK_DISCOVERY(从机发现)

  • 角色:从机主动发起,探测主机是否支持 PD 协议。
  • 触发条件:从 SNK_STARTUP 完成后进入。
  • 行为:
    • 从机通过 CC 线发送 PD_CTRL_GET_SOURCE_CAP 消息(请求主机发送供电能力)。
    • 若主机支持 PD,会响应 PD_DATA_SOURCE_CAP 消息(包含主机的电压、电流等供电能力)。
    • 若超时未收到响应,可能回退到非 PD 模式(如 USB 2.0/3.0 标准供电)。
  • 状态切换触发:收到主机的 SOURCE_CAP 消息后,进入 SNK_WAIT_CAPABILITIES 状态。

3. SNK_WAIT_CAPABILITIES(等待主机能力)

  • 角色:从机等待并解析主机的完整能力集。
  • 触发条件:从 SNK_DISCOVERY 收到主机首条 SOURCE_CAP 消息后进入。
  • 行为:
    • 主机可能分多条消息发送完整供电能力(若能力较多,需分片传输),从机在此状态等待所有分片并整合。
    • 若主机只发送一条 SOURCE_CAP 消息,此状态会快速完成。
  • 状态切换触发:从机成功解析主机完整的供电能力集后,进入 SNK_NEGOTIATE_CAPABILITIES 状态。

4. SNK_NEGOTIATE_CAPABILITIES(协商供电能力)

  • 角色:从机主动选择供电方案,发起协商。
  • 触发条件:从机解析完主机能力集后进入。
  • 行为:
    • 从机根据自身需求(如所需电压、电流),从主机能力集中选择一个方案,发送 PD_CTRL_REQUEST 消息(包含选中的方案索引)。
    • 主机收到请求后,若同意,会返回 PD_CTRL_ACCEPT 消息;若拒绝,返回 REJECT 或不响应(超时)。
  • 状态切换触发:收到主机的 ACCEPT 消息后,进入 SNK_TRANSITION_SINK 状态;若收到 REJECT 或超时,可能重新协商或退出 PD 模式。

5. SNK_TRANSITION_SINK(切换供电状态)

  • 角色:主机执行供电切换,从机等待确认。
  • 触发条件:从机收到主机的 ACCEPT 消息后进入。
  • 行为:
    • 主机收到 ACCEPT 后,开始调整输出电压 / 电流(切换到协商的供电方案)。
    • 从机在此状态等待主机完成供电切换,并准备接收新电压。
    • 主机完成切换后,发送 PD_CTRL_PS_RDY 消息(Power Supply Ready,供电就绪)。
  • 状态切换触发:收到主机的 PS_RDY 消息后,进入 SNK_READY 状态;若超时未收到,可能触发重试或报错。

6. SNK_READY(从机就绪)

  • 角色:双方完成协商,进入稳定供电状态。
  • 触发条件:从机收到主机的 PS_RDY 消息后进入。
  • 行为:
    • 从机确认主机供电稳定,开始正常工作(如设备充电、数据传输)。
    • 双方可能周期性发送 PD_CTRL_PING 消息确认连接(可选,取决于协议配置)。
  • 状态切换触发:若检测到断开(如 VBUS 掉电、CC 线信号丢失),回退到 SNK_UNATTACHED 状态;若需要重新协商(如从机需求变化),可能触发重新进入 DISCOVERY 流程。

总结:核心交互逻辑

  • 主导方:从机(Sink)全程主动发起请求(GET_SOURCE_CAP、REQUEST),驱动状态机推进。
  • 主机(Source) 仅被动响应从机的请求(返回 CAP、ACCEPT、PS_RDY),不主动触发状态切换。
  • 关键消息:GET_SOURCE_CAP(从机→主机)、SOURCE_CAP(主机→从机)、REQUEST(从机→主机)、ACCEPT(主机→从机)、PS_RDY(主机→从机),这五条消息是状态切换的直接触发信号。

 

http://www.gsyq.cn/news/46575.html

相关文章:

  • 1-5-1-设计模式与OOP
  • 1-6-2-网络协议基础
  • Debug日志
  • 1-6-5-Netty
  • 2025年11月北京离婚房产律师对比榜:五强机构多维评测
  • 3-1-2-1-MySQL整体架构详解
  • 3-1-2-3-MySQL高可用与容灾
  • AT AGC043D Merge Triplets 题解
  • 关于CSS的三种引入方法的说明与区别说明
  • C# Avalonia 17- ControlTemplates - VisualTreeDisplay
  • Q:访问url地址,nginx报错 403 Forbidden
  • 领嵌iLeadE-588智能网关设备接入云平台
  • 【MySQL】事务 - 详解
  • 2025年井式炉直销厂家权威推荐榜单:节能工业炉/退火井式炉/大型井式炉源头厂家精选
  • 2025年防爆加热管优质厂家权威推荐榜单:防爆电加热棒/防爆电热管/防爆电加热管源头厂家精选。
  • 详细介绍:【NestJS】NestJS三件套:校验、转换与文档生成,对比Django DRF
  • uni-app iOS日志管理实战,从调试控制台到系统日志的全链路采集与分析指南
  • 2025年优秀的列管式换热器厂家推荐及采购参考
  • 2025 年 11 月配电柜/配电箱/开关柜厂家推荐排行榜,智能配电系统,高低压配电柜,动力配电箱,户外配电箱公司推荐
  • 2025年杭州汽修门店接单App服务商权威推荐榜单:汽车改装服务/汽车改装平台/汽修门店接单工具源头服务商精选
  • 三场比赛(e)
  • 2025年11月凉亭厂家排行:欣荣长廊定制源头工厂评价报告
  • 类内属性私有
  • 业务管理
  • 2025年废塑料清洗槽源头厂家权威推荐榜单:二手塑料清洗槽/高端塑料清洗槽/废旧塑料u型清洗槽源头厂家精选
  • 2-3-4-3-Redis底层数据结构
  • wireshark的用法
  • 2025年陕西省搜索优化服务商综合实力排行榜Top10
  • 2025年靠谱的组合式恒温 振荡培养箱厂家推荐及采购参考
  • 2-3-1-1-ZooKeeper