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] /]# ...
一周排行
  • 在零日检测中使用基于异常的监控,向大家介绍了两种基本的基于异常的检测技术,以及多种异常分析模型,最后还提到了BDA.译文中有几处翻译本人认为并不确切,如果有兴趣,可以看看原文. 文中对这两种基本的异常检测技术的称呼是 ...
  • 上一节当中我们说道抽象类,抽象类当中的方法可以是抽象的也可以是非抽象的,那么当抽象类中所有方法都是抽象的时候,我们就可以把它重新定义为接口.代码示例: 1 abstract class Animal 2 { 3 4 ...
  •   想学jQuery,听说<锋利的jquery>挺好,想找个PDF下载看看,但是没找到,不过找到了实例源码.csdn的下载频道里发现的.   借用了一下可以在这里下载:<锋利的jquery>实 ...
  • 直接调用方法:  例如调用cate          <ul class="nav">              <php>               $cate = M ...
  • 相信每个互联网用户都利用杀毒软件查杀过病毒,那么一次查杀要多久?十分钟?一小时?十小时?或者……你电脑直接死机了?查杀分析病毒是一个复杂的过程,往往计算机用户都会专门抽出一段时间用来病毒查杀,以保证查杀速度.但是自从 ...
  •   postMessage()方法 http://developer.51cto.com/art/201209/355177.htm http://blog.csdn.net/pigpigpig4587/articl ...
  • VMware安全产品vShield共包括vShield Zones.vShield App.vShield Edge.vShield Endpoint以及VShield Manager共五个套件,为虚拟数据中心安全架 ...
  • 近年来手机爆炸致人死伤事件时有发生,这让手机电池的稳定性和安全性成为消费者关注的焦点.手机电池的爆炸都是由手机电池引起.如何选用一块安全可靠的电池,如何正确使用手机电池,降低事故发生呢? 在买手机或者换手机电池时,导 ...
  •         1 int i = 0; 2 AcEdCommandIterator* iter = nullptr; 3 for (iter = acedRegCmds->iterator(); !iter- ...