阅读:890回复:0
枚举和控制传输的区别[原创]
今天想到这个问题。然后插了点资料。
我们平常称得枚举实际上应该叫总线枚举(bus enumation),在usb2.0官方白皮书中定义为Detecting and identifying USB devices. 更详细的定义是 Bus enumeration is the activity that identifies and assigns unique addresses to devices attached to a bus. Because the USB allows USB devices to attach to or detach from the USB at any time, bus enumeration is an on-going activity for the USB System Software. Additionally, bus enumeration for the USB also includes the detection and processing of removals.。所以枚举可以理解为是一种状态。但这种状态又有一点特殊,它不同于我们平常习以为常的,连接状态(Attached)、上电状态(Powered)、 缺省状态(Default)、 地址状态(Address)、 配置状态(Configured)、挂起状态(Suspended),后面这些在usb2.0官方白皮书里称为visiable state。 而控制传输是Used to configure a device at attach time and can be used for other device-specific purposes, including control of other pipes on the device.它是四种数据流类型中的一种。 所以两个是从不同角度讲的概念。我们平常把它们混起来是因为只注意到了它们的一些共同点而已。 像printer类中那些get port status 命令是控制传输,而不是枚举。 |
|