首页 > 其他分享 >【USB3.0协议学习】Topic4·USB3.0的Port Connect State Machine和设备枚举

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

时间:2024-09-16 10:13:42浏览次数:8  
标签:状态机 LTSSM Topic4 Machine USB3.0 State Connect Port

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

相关文章

  • 【USB3.0协议学习】Topic3·三种Reset Events分析
    USB3.0中的三种ResetEvents1.PowerOnResetPowerOnReset被用来代指上电复位,当一个device接入到roothub或者外置hub的时候,该device检测到Vbus信号从无效变为有效,会自动执行复位。(注意,selfpowereddevice不通过Vbus供电,但是Vbus发生转变的时候它同样会执行复位)1.1软件设置P......
  • 【USB3.0协议学习】Topic1·USB3.0Hub的一些机制
    一、USB3.0Hub的单播(非广播)机制Hub通过解析下行packetheader中的RouteString字段识别packet要传递的终点,其中4'b0000代表hub本身,4'b0001-4'b1111分别代表hub的各downstreamport,由于USB3.0规定HostController最多级联5级hub,所以每个packetheader中的RouteString字段共有4x5......
  • USB总线-Linux内核USB3.0 Hub驱动分析(十四)
    1.概述USBHub提供了连接USB主机和USB设备的电气接口。USBHub拥有一个上行口,至少一个下行口,上行口连接上一级的Hub的下行口或者USB主机,连接主机的为RootHub,下行口连接下一级Hub的上行口或者USB设备。经过Hub的扩展,一个USB主机可以和多个USB设备通信。USBHub有如下特性:良好的......
  • USB总线-Linux内核USB3.0设备控制器中断处理程序分析(九)
    1.概述USB设备枚举、请求处理、数据交互都涉及USB设备控制器中断。当有事件发生时,USB设备控制器首先将事件信息通过DMA写入到事件缓冲区中,然后向CPU发出中断,随后CPU调用中断处理函数开始处理中断事件。2.事件dwc3USB设备控制器事件使用dwc3_event数据结构描述,由4个字节组成。......
  • USB总线-Linux内核USB3.0主机控制器驱动框架分析(十二)
    1.概述如下图所示,Linux内核中USB主机体系结构由五部分组成,分别为ApplicationSoftware、USBClassDriver、USBCore((USBDriver)、USBHostControllerDriver、USBHostController。应用程序处于用户空间,通过系统调用访问ClassDriver,从而间接的访问USB设备,如主机端的应用程......
  • [设计模式] Cola-StateMachine : 一个轻量实用的Java状态机框架
    1概述:状态机1.0状态机vs工作流在介绍状态机之前,先介绍一个工作流(WorkFlow),初学者通常容易将两个概念混淆。工作流(WorkFlow),大体是指业务过程(整体或者部分)在计算机应用环境下的自动化,是对工作流程及其各操作步骤之间业务规则的描述。在计算机系统中,工作流属于计算机支持的......
  • JVM(Java Virtual Machine,Java 虚拟机)
    JVM(JavaVirtualMachine,Java虚拟机)是Java程序运行的虚拟计算机,它是一个抽象计算机的概念,为Java程序提供了一个与平台无关的执行环境。JVM负责加载Java类文件,执行字节码,并提供运行时环境,包括内存管理、垃圾回收等。JVM主要由四大部分组成:ClassLoader(类加载器):负责加载......
  • 第四届机械制造与智能控制国际学术会议(ICMMIC 2024) 2024 4th International Conferenc
    文章目录一、会议详情二、重要信息三、大会介绍四、出席嘉宾五、征稿主题六、咨询一、会议详情二、重要信息大会官网:https://ais.cn/u/vEbMBz提交检索:EICompendex、IEEEXplore、Scopus会议时间:2024年9月27-29日三、大会介绍2024年第四届机械制造与智能控制国......
  • 【QNX+Android虚拟化方案】121 - Android 侧 USB3.0 插拔过程
    【QNX+Android虚拟化方案】121-Android侧USB3.0插拔过程基于原生纯净代码,自学总结纯技术分享,不会也不敢涉项目、不泄密、不传播代码文档!!!本文禁止转载分享!!!汇总链接:《【QNX+Android虚拟化方案】00-系列文章链接汇总》本文链接:《【QNX+Android虚拟化方案】1......
  • BISM7255 UML VendWise Solutions Vending Machines
    UML Assignment–Semester2,2024BISM7255AdigitalsolutionforVendWiseSolutionsVending MachinesAssignmentOverviewAssessmentWeight:40%IndividualorGroupwork:Either–yourchoiceMaximumgroupsize:2Due Date:13......