上一节的文章【USB3.0协议学习】Topic2·USB3.0的LTSSM分析中我们详细分析了USB3.0协议中的链路训练状态机(LTSSM)的各状态和跳转条件,覆盖了所有LTSSM状态。本文我们将从Roothub port和Device Port的角度讨论其Port Connect 状态机。该状态机相比LTSSM,是更高层次的状态机,取决于具体的IP Vendor提供商是怎么设计的。以下只是一个简单的例子:
1. USB3.0 Roothub Port Connect State Machine
1.USB Vbus Valid,则从Power-off状态跳转到Attempt SS Connet状态,此时LTSSM进入Rx.Detect并开启链路训练过程。
2.若训练失败,则一直停留在Attempt SS connet状态
3.若LTSSM已跳转到U0状态,则该状态机跳转到Connet on SS状态
4.若LTSSM又进入了Rx.Detect或者链路训练超时(代表找不到对端设备了),则回到Attempt SS Connect状态。
5.该状态机仅仅是USB3.0 Port State状态机,USB2.0 Port又是一个单独的状态机。
2.Device Port Connect State Machine
上图过程和Roothub Port State的主要区别在于多了USB2.0状态的管理。所以,对于USB3.0设备来说,若USB3.0 训练失败,是会回退到USB2.0的。
3. 设备枚举过程
整个过程如上图所示,注意几点:
1.上图的hub可以是外置hub也可以是指的roothub
2.配置过程使用的Control Transfer,端点为EP0。配置完成后会分配一个独一无二的地址,这样在USB拓扑中就能通过该地址找到对应的Device了
标签:状态机,LTSSM,Topic4,Machine,USB3.0,State,Connect,Port From: https://www.cnblogs.com/linhaostudy/p/18416040