对技术执着
分类: 嵌入式
2015-03-14 14:18:53
原文地址:USB设备 作者:luozhiyong131
USB设备分为诸如集线器、分配器或文本设备等种类。集线器类指的是一种提供USB连接点的设备,USB设备需要提供自检和属性设置的信息,USB设备必须在任何时刻执行与所定义的USB设备的状态相一致的动态。当设备被连接、编号后,该设备就拥有一个唯一的USB地址。设备就是通过该USB地址被操作的,每一个USB设备通过一个或多个管道与主机通讯。所有USB设备必须在零号端口上有一指定的管道,每个USB设备的USB控制管道将与之相连。通过此控制管道所有的USB设备都列入一个共同的准入机制,以获得控制操作的信息。
在零号端口上,控制管道中的信息应完整的描述USB设备、此类信息主要有以下几类:
·标准信息:这类信息是对所有USB设备的共同性的定义,包括一些如厂商识别、设备种类、电源管理等的项目。设备设置、接口及终端的描述在此给出。
·类别信息:此类信息给出了不同USB的设备类的定义,主要反映其不同点。
·USB厂商信息:USB设备的厂商可自由的提供各种有关信息,其格式不受该规范制约。此外,每个USB设备均提供USB的控制和状态信息。
USB设备有若干可能的状态,其中一些对于USB与主机(host)来说是外置的,而另外一些对USB设备来说是内置的,这里我们主要描述这些外置状态。
连接状态(Attached)
USB设备可被连接至IJUSB接口上或从接口断开,USB设备处在断开时的设备状态不在我们讨论之中。我们仅讨论那些处在连接状态的设备特性与操作。
加电状态(Powered)
USB设备的电源可来自外部电源,也可从USB接口的集线器而来。电源来自外部电源的USB设备被称作自给电源式的(self-powered)。尽管自给电源式的USB设备可能在连接上USB接口以前可能己经带电,但它们直到连线上USB接口后才能被看作是加电状态(Powered state)。而这时候VBUS己经对设备产生作用了。
一个设备可能有既支持自给电源的,同时也支持总线电源式的配置。有一些支持其中的一种,而另一些设备配置可能只有在自给电源下才能被使用。设备对电源支持的能力是通过配置描述表(configuration descriptor)来反映的。当前的电源供给形式被作为设备状态的一部分被反映出来。设备可在任何时候改变它们的供电来源,比如说:从自给式向总线式改变,如果一个配置同时支持两种模式,那此状态的最大电源需求就是指设备在两种模式下从VBUS上获取电能的最大值。设备必须以此最大电源作为参照,而究竟处于何种状态是不考虑的。如果有一种配置仅支持一种电源模式,那么电源模式的改变会使得设备失去当前配置与
地址,返回加电状态。如果一个设备是自给电源式,并且当前配置需要大于lOOmA电流,那么如果此设备转到了总线电源式,它必须返回地址状态(Addressstate)。自给电源式集线器使用VBUS来为集线控制器(Hub controller)提供电源,因而可以仍然保持配置状态(Configured state),尽管自给电源停止提供电源。
缺省状态(Default)
设备加电以后,在它从总线接收到复位信号之前不应对总线传输发生响应。在接收到复位信号之后,设备才由缺省地址处变为可寻址。
地址状态(Address)
所有的USB设备在加电复位以后都使用缺省地址。每一设备在连接或复位后由主机分配一个唯一的地址。当USB设备处于挂起状态时,它保持这个地址不变。US B设备只对缺省管道(Pipe)请求发生响应,而不管设备是否己经被分配地址或在使用缺省地址。
Configured(配置状态)
在USB设备正常工作以前,设备必须被正确配置。从设备的角度来看,非零值被写入设备配置寄存器。配置一个设备或改变一个可变的设备设置会使得与这个相关接口的终端结点的所有的状态与配置值被设成缺省值。这包括将正在使用(date toggle)的结点(end point)的(Date toggle)被设置成DATAO.
中止状态(Suspended)
为节省电源,USB设备在探测不到总线传输时自动进入中止状态。当中止时,USB设备保持本身的内部状态,包括它的地址及配置。
所有的设备在一段特定的时间内探测不到总线活动时必须进入中止态。不管设备是被分配了非缺省的地址或者是被配置了,己经连接的设备必须在任何加电的时刻随时准备中止。总线活动的中止可能是因为主机本身进入了中止状态。另外,USB设备必须在所连接的集线器端口失效时进入中止态。这就是所指的选择性中止(Selective suspend)。USB设备在总线活动来到时结束中止态。USB设备也可以远程唤醒的电流信号来请求主机退出中止态或选择性中止态。具体设备具有的远程唤醒的能力是可选的,也就是说,如果一个设备有远程唤醒的能力,此设备必须能让主机控制此能力的有效与否。当设备复位时,远程唤醒能力必须被禁止。