从零开始学USB(十五、USB的设备状态)

一、可见设备状态

 连接(Attached)

设备可以连接到HUB上或者从HUB上拔出.USB设备从总线上拨出后的状态在规范没定义,只说明一旦USB连到总线要求的操作以及属性。

上电(Powered)

 USB设备的电源可来自外部电源,也可从USB接口的集线器而来。电源来自外部电源的USB设备被称作自给电源式的(self-powered)。尽管自给电源式的USB设备可能在连接上USB接口以前可能已经带电,但它们直到连线上USB接口后才能被看作是加电状态(Powered state)。而这时候VBUS已经对设备产生作用了。

一个设备可能有既支持自给电源的,同时也支持总线电源式的配置。有一些支持其中的一种,而另一些设备配置可能只有在自给电源下才能被使用。设备对电源支持的能力是通过配置描述表(configuration descriptor)来反映的。当前的电源供给形式被作为设备状态的一部分被反映出来。设备可在任何时候改变它们的供电来源,比如说:从自给式向总线式改变,如果一个配置同时支持两种模式,那此状态的最大电源需求就是指设备在两种模式下从VBUS上获取电能的最大值。设备必须以此最大电源作为参照,而究竟处于何状态是不考虑的。如果有一配置仅支持一种电源模式,那么电源模式的改变会使得设备失去当前配置与地址,返回加电状态。如果一个设备是自给电源式,并且当前配置需要大于100mA电流,那么如果此设备转到了总线电源式,它必须返回地址状态(Address state)。自给电源式集线器使用VBUS来为集线控制器(Hub controller)提供电源,因而可以仍然保持配置状态(Configured state),尽管自给电源停止提供电源。

默认状态(Default)

设备上电后,它不响应任何总线处理,直到总线接收到复位信号为止。接收到复位信号后,用默认的地址可以对设备寻址。

当用复位过程完成后,USB设备在正确的速度下操作(即低速/全速/高速).低速和全速的数据选择由设备的终端电阻决定。能进行高速操作的设备决定它是否在复位的过程的一部分执行高速操作。

能进行高速操作的设备在全速的电气环境中操作时,必须能以全速成功复位。设备成功复位后,设备必须成功响应设备和配置描述符请求,并且返回适当的信息。当在全速下工作时,设备可能或者不能支持预定义的功能。

地址(Address)

所有的USB设备在加电复位以后都使用缺省地址。每一设备在连接或复位后由主机分配一个唯一的地址。当USB设备处于挂起状态时,它保持这个地址不变。

USB设备只对缺省通道(Pipe)请求发生响应,而不管设备是否已经被分配地址或在使用缺省地址。

配置状态( Configured )

在USB设备正常工作以前,设备必须被正确配置。从设备的角度来看,配置包括一个将非零值写入设备配置寄存器的操作。配置一个设备或改变一个可变的设备设置会使得与这个相关接口的终端结点的所有的状态与配置值被设成缺省值。这包括将正在使用(date toggle)的结点(end point)的 (Date toggle)被设置成DATA0。

挂起状态(Suspended)

为节省电源,USB设备在探测不到总线传输时自动进入中止状态。当中止时,USB设备保持本身的内部状态,包括它的地址及配置。

所有的设备在一段特定的时间内探测不到总线活动时必须进入中止态。不管设备是被分配了非缺省的地址或者是被配置了,已经连接的设备必须在任何加电的时刻随时准备中止。总线活动的中止可能是因为主机本身进入了中止状态。另外,USB设备必须在所连接的集线器端口失效时进入中止态。这就是所指的选择性中止(Selective suspend)。

USB设备在总线活动来到时结束中止态。USB设备也可以远程唤醒的电流信号来请求主机退出中止态或选择性中止态。具体设备具有的远程唤醒的能力是可选的,也就是说,如果一个设备有远程唤醒的能力,此设备必须能让主机控制此能力的有效与否。当设备复位时,远程唤醒能力必须被禁止。

 

 

二、设备状态可能的切换途径

从零开始学USB(十五、USB的设备状态)_第1张图片

 

三、设备状态

从零开始学USB(十五、USB的设备状态)_第2张图片

设备未连接到USB。 其他属性并不重要。
设备连接到USB,但未通电。 其他属性并不重要。
设备连接到USB并通电,但尚未重置。
设备已连接到USB并已通电且已重置,但尚未分配唯一的地址。 设备以默认地址响应。
设备连接到USB,已通电,已重置,并且已分配唯一的设备地址。 设备未配置。
设备连接到USB,已通电,已重置,具有唯一的地址,已配置且未暂停。 主机现在可以使用设备提供的功能。
设备至少连接到USB并且已通电,并且在3 ms内没有看到总线活动。 它也可能具有唯一的地址并配置使用。但是,由于设备被挂起,主机可能无法使用设备的功能。

 

你可能感兴趣的:(USB协议,从零开始学USB)