USB3.0 GEN1 Polling状态机

图为 USB 3.x 规范 Polling 轮询子状态机,共6个工作状态 + 6个退出终态,下面按状态流转顺序逐条拆解全部转换触发条件,区分下行端口DS Port、Hub端口、外设Peripheral Device专属规则。
一、入口:Polling.LFPS
进入来源
顶层 Polling 总状态直接进入 Polling.LFPS
流出转换
→ Polling.RxEQ
触发:完成 LFPS Handshake(LFPS握手交互)
两端互相发送/识别LFPS信号,链路底层协商完成,进入均衡阶段。→ Exit to Compliance Mode(进入测试合规模式)
触发:First LFPS Timeout(首次LFPS超时)
上电后第一轮LFPS协商超时,端口切到合规测试模式,用于SI信号测试。→ Exit to SS.Disabled(超高速端口禁用)
触发:Subsequent LFPS Timeouts(后续多次LFPS超时)
限定条件:仅外设设备 Peripheral Device、仅定向下行DS Port
多次LFPS协商失败,直接关闭超高速链路。
二、Polling.RxEQ(接收均衡阶段)
进入来源
Polling.LFPS 完成LFPS握手
流出转换
→ Polling.Active
触发:发送完成 TSEQ Ordered Sets(TSEQ有序集序列)
发送均衡训练序列,Rx完成均衡参数适配,进入活跃同步阶段。→ Exit to SS.Disabled
触发:Subsequent LFPS Timeouts(多次LFPS超时)
限定:仅DS下行端口 / Hub USB端口;定向DS Port专属分支
均衡阶段LFPS交互反复超时,关闭超高速端口。→ Exit to Loopback(环回测试)
触发:Directed(定向环回指令),仅DS下行端口
收到主机下发的定向Loopback测试指令,进入硬件环回测试状态。
三、Polling.Active(链路同步激活阶段)
进入来源
Polling.RxEQ 发送完TSEQ训练序列
流出转换
→ Polling.Configuration(链路配置阶段)
触发:连续收到 8组TS1/TS2有序集
TS1/TS2是链路同步码,连续8个代表两端时钟同步稳定,进入配置协商。→ Exit to SS.Disabled
触发:Timeout(超时),限定:仅外设设备、定向DS Port
同步阶段长时间收不到有效TS码,链路失效,禁用SS端口。→ Exit to Rx.Detect(接收检测复位)
触发:Timeout(超时),限定:仅DS下行端口 / Hub USB端口
Hub/主机下行端口同步超时,退回底层接收检测状态,重新检测设备。→ Exit to Loopback
触发:Directed(定向环回指令),仅DS Port
收到测试指令切环回模式。
四、Polling.Configuration(链路参数配置协商)
进入来源
Polling.Active 收到连续8个TS1/TS2
流出转换
→ Polling.Idle(轮询空闲状态)
触发:完成 TS2 Handshake(TS2握手)
TS2携带链路速率、供电、带宽等配置参数,两端协商一致,进入Idle。→ Exit to SS.Disabled
触发:Timeout(超时),限定:仅外设、定向DS Port
外设侧TS2参数协商超时,关闭超高速链路。→ Exit to Rx.Detect
触发:Timeout(超时),限定:仅DS下行端口 / Hub端口
主机/Hub侧协商超时,退回接收检测,重新枚举。→ Exit to Hot Reset(热复位)
触发:Directed(定向热复位指令),仅DS Port
主机下发热复位信号,链路执行热复位流程。→ Exit to Loopback
触发:Directed(定向环回指令),仅DS Port
测试指令切入环回。
五、Polling.Idle(轮询空闲,链路就绪前最后一步)
进入来源
Polling.Configuration 完成TS2握手
流出转换
→ Exit to U0(正常工作状态)
触发:完成 Idle Symbol Handshake(空闲符号握手)
两端交互空闲有序集,确认链路完全稳定,退出Polling,进入USB3正常传输U0状态。→ Exit to Hot Reset
触发:Directed(定向热复位),仅DS Port
收到复位指令,执行链路热复位。→ Exit to Loopback
触发:Directed(定向环回),仅DS Port
进入硬件环回测试。
六、全局通用退出分支(所有Polling子状态均可触发)
Warm Reset(热复位信号)
任意Polling子状态收到Warm Reset信号 → Exit to Rx.Detect
热复位会强制链路退回底层接收检测,重新走完整轮询流程。
关键规则区分(图中限定条件汇总)
- DS Port Only(仅下行端口,主机/Hub下游口)
可触发:退回Rx.Detect、Hot Reset、Loopback、多次LFPS超时关端口 - Peripheral Device ONLY(仅外设设备,U盘/硬盘等从设备)
超时只会走向 SS.Disabled(直接关闭超高速,不会退回Rx检测) - Hub US Port(Hub自身上行端口)
超时统一退回 Rx.Detect,不会直接禁用端口 - Directed(定向指令)
主机下发专用链路测试/复位指令,仅下行端口支持,切换Hot Reset / Loopback - Timeout 分类
- First LFPS Timeout:首次LFPS超时 → 合规测试模式
- Subsequent LFPS Timeouts:多次LFPS超时 → SS.Disabled(外设)/ Rx.Detect(Hub/主机)
- TS同步/配置阶段Timeout:按端口类型分流至Rx.Detect 或 SS.Disabled
USB3.2超高速协议规范





