Fork me on GitHub
侧边栏

【USB3.0协议学习】Topic4·USB3.0的Port Connect State Machine和设备枚举

上一节的文章【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了

posted @ 2024-09-16 10:10  yooooooo  阅读(159)  评论(0)    收藏  举报