一个device可以分为三层:
最下层作为bus interface传输和接收数据包。
中间层去处理bus interface 和endpoint 之间往来的数据。endpoint 是最终的数据提供者或消费者。在
endpoint 描述符用来标识endpoint的特征,比如endpoint 的传输类型,最大负载(MaxPacketSize), 数据
包的个数(Burst Size)。
最上层是串行总线提供的功能层,比如, 鼠标,摄像头interface.
这一章主要描述中间层的attribute 以及操作。
USB Device States
一个设备可以有很多可能的状态,其中一些是host 可以看到的,一些是device 内部的。这一节主要讲前一种情况。
Visible Device State
这一节描述了externally visible 的几种状态。下面这张图给出了一个小结。去spec 9.1.1.1 找。
Attached
attached 或者 detached 就是插上 和 拔下的意思,device 拔下后是什么状态,这个spec 不作定义。
这个spec 主要讲解一个设备插上时必要的操作以及属性。
Powered
Device 可以由外部电源给他供电,也可以从它所接在的hub上供电。靠外部供电的被称为self powered.
尽管self powered 也许在插上之前,就已经有电了,在还没插上之前,我们不能认为它在powered 状态。
self powered ,bus powered 这两各配置状态,有的device 支持这两种配置状态,有的只支持其中一种。
device 通过他的配置描述表去report 它的power source capability. device 也有可能在任意时候去这两种状态下
切换。