USB设备状态

USB设备状态 USB外设通过数据线与主机连接后,由于其特殊的电气特性,主机立刻知道有外设插入,主机读取外设的描述符,并根据其进行配置。配置完成后,外设和主机就可以进行数据传输。USB外设有若干可能的状态。 (1)连接状态 USB设备可被连接到USB接口上或从接口断开,USB设备处在断开时的设备状态不包括在本篇说明之中。本篇说明中仅讨论那些处在连接状态的设备特性与操作。 (2)加电状态(Powered) USB设备的电源可来自外部电源,也可从UBS接口的集线器而来。电源来自外部电源的USB设备被称作自给电源式的(Self一powered)。尽管自给电源式的USB设备可能在连接上UBS接口以前可能已经带电,但它们直到连线上USB接口后才能被看作是加电状态(PwoerdeStatus)。而这时候 VBUS已经对设备产生作用了。一个设备可能有既支持自给电源的,同时也支持总线电源式的配置。有一些支持其中的一种,而另一些设备配置可能只有在自给电源下才能被使用。设备对电源支持的能力是通过配置描述表(ocnfiguration descriptor)来反映的。当前的电源供给形式被作为设备状态的一部分被反映出来。设备可在任何时候改变它们的供电来源,比如说:从自给式向总线式改变,如果一个配置同时支持两种模式,那此状态的最大电源需求就是指设备在两种模式下从VBUS上获取电能的最大值。设备必须以此最大电源作为参照,而究竟处于何种状态是不考虑的。如果有一配置仅支持一种电源模式,那么电源模式的改变会使得设备失去当前配置与地址,返回加电状态。如果一个设备是自给电源式,并且当前配置需要大于100mA 电流,那么如果此设备转到了总线电源式,它必须返回地址状态(AddreSS State)。自给电源式集线器使用VBUS来为集线控制器(Hubocntorller) 提供电源,因而可以仍然保持配置状态(CnofiguredStat)e,尽管自给电源停止提供电源。 (3)缺省状态设备加电以后,在它从总线接收到复位信号之前不应对总线传输发生响应。在接收到复位信号之后,设备才在缺省地址处变得可寻址。 (4)地址状态- 所有的USB设备在加电复位以后都使用缺省地址。每一设备在连接或复位后由主机分配一个唯一的地址。当USB设备处于挂起状态时,它保持这个地址不变。UBS设备只对缺省通道(PIPe)请求发生响应,而不管设备是否已经被分配地址或在使用缺省地址。 (5)配置状态在UBS设备正常工作以前,设备必须被正确配置。从设备的角度来看,配置包括一个将非零值写入设备配置寄存器的操作。配置一个设备或改变一个可变的设备设置会使得与这个相关接口的终端结点的所有的状态与配置值被设成缺省值。 (6)中止状态为节省电源,USB设备在探测不到总线传输时自动进入中止状态。当中止时,USB设备保持本身的内部状态,包括它的地址及配置。所有的设备在一段特定的时间内探测不到总线活动时必须进入中止态,不管设备是被分配了非缺省的地址或者是被配置了,己经连接的设备必须在任何加电的时刻随时准备中止。总线活动的中止可能是因为主机本身进入了中止状态。另外,USB设备必须在所连接的集线器端口失效时进入中止态,这就是所指的选择性中止(Seleetivesuspend)。 USB设备在总线活动来到时结束中止态。USB设备也可以远程唤醒的电流信号来请求主机退出中止态或选择性中止态。具体设备具有的远程唤醒的能力是可选的,也就是说,如果一个设备有远程唤醒的能力,此设备必须能让主机控制此能力的有效与否。当设备复位时,远程唤醒能力必须被禁止。

更多相关文章
  • 用正则表达式验证邮件地址似乎是一件简单的事情,但是如果要完美的验证一个合规的邮件地址,其实也许很复杂. 邮件地址的规范来自于 RFC 5322 .有一个网站 emailregex.com 专门列出各种编程语言下的验证邮件地址的正则表达式,其中很多正则表达式都是我听说过而从未见过的复杂——我想说,做这 ...
  • 记者近日从中国互联网协会获悉, 2014中国互联网产业年会将于明年1月8日在北京钓鱼台国宾馆举行.每年一度的"金手掌奖"评选也于日前正式启动.岁末年初行业大盘点,作为互联网行业最具规模和影响力的盛会,由中国互联网协会主办的中国互联网产业年会已经连续举办了三年.本次会议将全面盘点和 ...
  • docker安装hadoop集群?图啥呢?不图啥,就是图好玩.本篇博客主要是来教大家如何搭建一个docker的hadoop集群.不要问 为什么我要做这么无聊的事情,答案你也许知道,因为没有女票....... 好了,不多说这些没有必要的东西了,首先,我们来安装docker. 一.docker的安装 s ...
  • 一.概述        代理模式也是平时比较常用的设计模式之一,代理模式其实就是提供了一个新的对象,实现了对真实对象的操作,或成为真实对象的替身.在日常生活中也是很常见的.例如A要租房,为了省麻烦A会去找中介,中介会替代A去筛选房子,A坐享中介筛选的结果,并且交房租也是交给中介,这就是一个典型的日常 ...
  • 入手 Kindle 后开始自己做 ePub,之前一直用原生系统,使用的弹出注释代码如下: <p class="P_Footnote" id="ref_footnotebookmark_end_9_1"><span style=" f ...
  • 新建cdrom挂载目录 mkdir /mnt/cdrom 挂载光驱 mount -t auto /dev/cdrom /mnt/cdrom这命令就是把CentOS CDROM挂载在/mnt/cdrom目录中,就可以访问里面的内容了: 使用光驱中的文件,进行安装   [[email protected] /]# ...
一周排行
  • 以面向销售团队为主的移动团队管理工具纷享销客,今天宣布了获得 B 轮千万美元级融资,据悉该轮由北极光创投领投,IDG.华软创投和博雅资本跟投.纷享销客 CEO 罗旭表示,新一轮融资将主要用于产品研发和市场扩张上. 简 ...
  • [前置条件] vmware搭建好虚拟机web服务器 ,但是本机就是无法访问的解决办法. linux虚拟机的网络选择Bridged 桥接到本机网卡. 具体情况如下 : 1.本机能ping通虚拟机  2.虚拟机也能pin ...
  • 源码之前,了无秘密  ——侯杰 第六章算法 next_permutation 比如:01342 -> 01423 -> 01432 方法:从尾端开始往前寻找两个相邻的元素,令第一个元素为*i,第二个元素为 ...
  • invalidate()函数的主要作用是请求View树进行重绘,该函数可以由应用程序调用,或者由系统函数间接调用,例如setEnable(), setSelected(), setVisiblity()都会间接调用到 ...
  • 下面是我翻译的内容,是根据我对文章的理解意译的,你就别挑哪里翻译的不对了,我的目的只是传达这个CSS技巧 许多网页设计师都喜欢,将两个或者多个容器等高的并排放置,并在里面展示每个容器的内容,就象经典表格布局中的单元格 ...
  • qte终于移植成功,但是在交叉编译自己写的程序是总是提示有错误,错误如下:In file included from main.cpp:3:./database.h:3: QSqlDatabase: No su ...
  • 题目:打印1000以内所有数的逆序数,如123的逆序数是321,23的逆序数是32,3的逆序数是3 ​分析:首先要打印出1000以内的数,要用到定数循环,其次,要判断数的位数对不同位数进行求出逆序数,用到分支判断 ​ ...
  • .验证帐号是否合法 验证规则:字母.数字.下划线组成,字母开头,6位.   ? function  checkUser(str){     var  re = /^[a-zA-z]\w{3,15}$/;     ...
  • 在Linux文件系统模型中,每个文件都有一组9个权限位用来控制谁能够读写和执行该文件的内容.普通文件大家都了解,这里说说目录的情况. 对于目录来说,执行位的作用是控制能否进入或者通过该目录,而不是控制能否列出它的内容 ...
  • Given a binary tree, determine if it is a valid binary search tree (BST). Assume a BST is defined as follows ...