首页 > 其他分享 >USB协议详解第29讲(USB设备状态及数据交互条件)

USB协议详解第29讲(USB设备状态及数据交互条件)

时间:2024-10-30 14:09:27浏览次数:3  
标签:状态 USB 供电 总线 29 地址 详解 设备

1.连接状态(Attached)

USB设备可以从USB总线上连接断开。当USB设备与USB总线断开时,它的状态USB规范没有定义,我们可以这么想,设备都拔了就断电了,也就不存在什么样的状态了。规范仅在设备被连接后处理后续的操作。

2.上电状态(Powered)

USB设备的电源可来自外部电源,也可从USB接口的集线器而来。设备电源来自外部电源的USB设备被称作自供电设备(self-powered)。虽然自供电设备在连接到USB之前可能已经被供电,但是不会被认为处于上电状态,只有当设备连接到USB总线上面并且Vbus电源给设备上电时设备才进入上电状态。

设备可以支持自供电和总线供电的配置。一些设备可以支持任何一种电源供电方式,而另一些设备可能只有在自供电下才能被正常使用。设备对电源支持的能力是通过配置描述(configuration descriptor)中的bmAttributes来反映的。

设备可以随时改变其电源,例如从自供电到总线供电。如果一个设备同时可以支持两种供电方式,该设备配置描述符中指示的功号最大值(bMaxPower)是设备在任何一种模式下将从VBUS中提取的最大值,设备必须以此最大功率作为参照,而究竟处于何状态是不考虑的。

3.默认状态(Default)

在设备供电后,它必须在收到来自总线的复位信号之前不响应任何总线事务。

设备上电后,它不响应任何总线处理,直到设备接收到总线的复位信号为止。在设备复位完成后,设备进入默认状态

当复位过程完成后,USB设备在正确的速度下操作(即低速/全速/高速),低速和全速的数据选择由设备的终端电阻决定

高速设备和全速设备的电气环境一样,只是设备复位成功后,高速设备还必须要成功地响应特定描述符请求并返回正确的信息。

4.地址状态(Address)

所有USB设备在最初供电或设备被重置后使用默认地址。每一设备在正常复位后由主机分配一个唯一的地址,当主机给设备分配完毕地址之后,设备进入地址状态。当USB设备被挂起状态时,设备的地址保持不变。

无论设备当前是否分配了唯一地址或正在使用默认地址,在地址状态下,USB设备只响应其默认管道上的请求。

5.配置状态( Configured )

在使用USB设备的功能之前,必须配置该设备。从设备的角度来看,配置包括设备需要正确的响应主机SetConfiguration(非零)请求操作。当设备被正确配置完成后,设备进入配置状态。

6.挂起状态(Suspended)

为了节省电源,当设备在指定的时间内没有观察到总线有数据传输时,USB设备自动进入挂起状态。当挂起时,USB设备会保存任何之前的状态,包括上电状态、默认状态、地址状态、配置状态。

所有的设备在一段特定的时间内检测不到总线活动时必须进入挂起状态。不管设备是被分配了非缺省的地址或者是被配置了,已经连接的设备必须在任何加电的时刻随时准备中止。总线活动的中止可能是因为主机本身进入了挂起状态。另外,USB设备必须在所连接的集线器端口挂起时自己也进入挂起状态。

USB设备在总线活动时结束挂起状态,返回保存的上一次的状态。USB设备还可以通过远程唤醒电信号请求主机让自己退出挂起模式。设备发出远程唤醒信号的功能是可选的,如果USB设备能够支持远程唤醒功能,主机必须可禁止或者启用此功能。比如电脑待机时通过USB键盘来换醒主机,这种功能称之为“远程唤醒”(remote wakeup)。在配置描述符中,USB设备会将是否支持远程唤醒的能力报告给主机。

7.USB设备状态迁移

8.USB设备状态详解及数据交互条件

核心的核心:当设备连接到USB总线,且已通电,且已被主机复位,且已被分配唯一地址,且已配置,且未暂停。 主机才可以使用设备提供的功能,也就是和设备进行正常数据交互,大家一定要记住这一点。

标签:状态,USB,供电,总线,29,地址,详解,设备
From: https://www.cnblogs.com/linhaostudy/p/18515743

相关文章

  • USB协议详解第28讲(USB硬件设计和热拔插原理)
    1.USB引脚接线定义对于四线制的USB,即USB1.0、USB1.1和USB2.0,USB硬件接口有4根接线,如下图。引脚名称电缆颜色描述1VBUSRed+5V,电源2D−WhiteData−,数据线3D+GreenData+,数据线4GNDBlackGround,接地2.低速USB设备硬件设计原理低速设备端在*D......
  • 10.29
    大型数据库技术作业七 一.单选题(共5题,10分)1. (单选题,2分) 在实际应用中,大数据处理不包括哪些类型? A基于实时数据流的数据处理B基于离线数据的处理C复杂的批量数据处理D基于历史数据的交互式查询2. (单选题,2分) 下列关于Spark的描述,错误......
  • 【机器学习篇】线性回归和逻辑回归详解
    一、线性回归定义:线性回归是一种利用数理统计中的回归分析,来确定两种或两种以上变量间相互依赖的定量关系的一种统计分析方法。它试图找到一个最佳的线性方程,以描述自变量(输入特征)和因变量(目标变量)之间的关系。表达式:一元线性回归的表达式为y=mx+c,其中y是因变量,x是自变量,m......
  • windows下Mysql8.0.12安装详解
    MySQL的安装过程还是比较繁琐,为了以后安装节约时间,将其详细安装过程总结如下:1>下载对应版本下载地址:https://dev.mysql.com/downloads/mysql/2>将下载的.zip文件解压到需要安装的目录下,在该目录下创建一个名为data的空文件夹和一个my.ini文件3>配置初始化的my.ini文件......
  • USB协议详解第27讲(USB包-中断传输包详解)
    1.中断传输包结构中断传输和批量传输类似,中断传输只由一个中断事务组成,中断事务包含令牌包、数据包、握手包,如图下所示。中断事务类型的特点是能够通过错误检测和重试来保证主机和设备之间数据的无错误传递。需要理解和注意以下点。(1)当主机准备接收数据时,它发出IN令牌,设备端点......
  • switch多分支语句及其相关概念详解
    提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档文章目录前言一、pandas是什么?二、使用步骤1.引入库2.读入数据总结前言在实际生活中,我们常常要面对多种多样的选择,如果要用编程来解决这些问题,我们就可以用选择语句来解决问题。通常我们遇到这类问题......
  • USB协议详解第26讲(USB包-批量传输包详解)
    1.批量传输包结构批量传输由一个或多个批量事务组成,每一个批量事务具有令牌包、数据包、握手包,如图下所示。批量事务类型的特点是能够通过错误检测和重试来保证主机和设备之间数据的无错误传递。需要理解和注意以下点。(1)当主机准备接收批量数据时,它发出IN令牌,设备端点通过返回......
  • 【2024-10-29】提还房贷
    20:00如果一个人认为自己幸福,他就足够幸福了。                                                 ——德·拉·费耶特夫人何太前段时间讨论起了提前还房货这事。一下子......
  • 【C语言】预处理(预编译)详解(下)(C语言最终篇)
    文章目录一、#和##1.#运算符2.##运算符二、预处理指令#undef三、条件编译1.单分支条件编译2.多分支条件编译3.判断符号是否被定义4.判断符号是否没有被定义四、头文件的包含1.库头文件的包含2.本地头文件的包含3.嵌套包含头文件的解决方法使用条件编译指令使用预处理......
  • MobileNetv2网络详解
    背景:MobileNetv1中DW卷积在训练完之后部分卷积核会废掉,大部分参数为“0”MobileNetv2网络是由Google团队在2018年提出的,相比于MobileNetv1网络,准确率更高,模型更小网络亮点:InvertedResiduals(倒残差结构)LinearBottlenecks倒残差结构:ResidualBlock:ResNet网络中提出......