usb 2.0枚举过程】的更多相关文章

转自:http://blog.csdn.net/myarrow/article/details/8270060 0. 枚举流程 • 连接了设备的 HUB 在 HOST 查询其状态改变端点 时返回对应的 bitmap,告知HOST 某个PORT状态发生了改变.    • 主机向 HUB 查询该PORT的状态,得知有设备连接,并知道了该设备的基本特性.     • 主机等待(至少 100mS)设备上电稳定,然后向 HUB 发送请求,复位并使能该PORT.    • HUB执行PORT复位操作,复位完…
USB主机在检测到USB设备插入后,就要对设备进行枚举了.为什么要枚举?枚举就是从设备读取各种描述符信息,这样主机就可以根据这些信息来加载合适的驱动程序,从而知道设备是什么样的设备,如何进行通信等. 枚举的过程: 1.  USB主机检测到USB设备插入之后,就会先对设备复位.USB设备在总线复位后其地址为0,这样主机就可以通过地址0和那些刚刚插入的设备通信.USB主机往地址为0的设备的端点0发送获取设备描述符的标准请求(这是一个控制传输的建立过程).设备收到该请求后,会按照主机请求的参数,在数据…
Windows 对USB设备的枚举过程流程图如图1所示: 图1 WP8的USB功能只支持一个配置,三个接口,也就是分别有如下的字段: 设备描述符的bNumConfigurations=1, 配置描述符的bNumInterfaces=3, 主要有3个接口:PTP.WINUSB.WINUSB Android是支持多USB配置描述符的,但是我们平时见到的手机都是一个配置的,接口数按照你在Android状态栏上选择的功能而定: 设备描述符的bNumConfigurations=1, 配置描述符的bNum…
1. 枚举是什么?        枚举就是从设备读取一些信息,知道设备是什么样的设备,如何进行通信,这样主机就可以根据这些信息来加载合适的驱动程序.调试USB设备,很重要的一点就是USB的枚举过程,只要枚举成功了,那么就已经成功大半了.        USB架构中, hub负责检测设备的连接和断开,利用其中断IN端点(Interrupt IN Endpoint)来向主机(Host)报告.在系统启动时,主机轮询它的根hub(Root Hub)的状态看是否有设备(包括子hub和子hub上的设备)连接…
USB枚举过程的详细流程 用户将一个USB设备插入USB端口,主机为端口供电,设备此时处于上电状态.主机检测设备.1>Hub使用中断通道将事件报告给Host.2>Host发送Get_Port_Status(读端口状态)请求,以获取更多的设备信息.3>集线器检测设备是低速运行还是高速运行,并将此信息送给主机,这是对Get_Port_Status请求的响应.4>主机发送Set_Port_Feature(写端口状态)请求给集线器,要求它复位端口. 5>集线器对设备复位.6>H…
枚举过程如下 #ifndef __USBCORE_H__ #define __USBCORE_H__ /* USB端点0 发送数据结构体*/ typedef struct _USB_EP_DATA { U8 *pData; U16 Count; } USB_EP_DATA; /* USB全局变量 */ extern U16 USB_DeviceStatus; extern U8 USB_DeviceAddress; extern U8 USB_Configuration; /* 端点0输出数据缓…
之前使用ST官方的库以及网络的资料,完成了使用USB HID类进行STM32和PC机的通讯.由于其他原因并没有深入的分析,虽然实现了功能,但是关于USB设备的枚举,以及具体的通讯方式都没有清晰的概念,所以现在回头重新学习USB相关知识.主要参考资料是<圈圈教你玩USB>.USB枚举过程图解,ST官方的USB HID例程. 一,USB数据包    1.    USB数据包分类     USB总线上的数据传输以包为基本的单位.USB协议规定了四种包:令牌包.数据包.握手包.特殊包.不同的包通过包中…
一 枚举过程之文字描述 ?主机集线器监视着每个端口的信号电压,当有新设备接入时便可觉察.(集线器端口的两根信号线的每一根都有15kΩ的下拉电阻,而每一个设备在D+都有一个1.5kΩ的上拉电阻.当用USB线将PC和设备接通后,设备的上拉电阻使信号线的电位升高,因此被主机集线器检测到.) ? 连接了设备的 HUB 在 HOST 查询其状态改变端点 时返回对应的 bitmap,告知HOST 某个PORT状态发生了改变.? 主机向 HUB 查询该PORT的状态,得知有设备连接,并知道了该设备的基本特性.…
转自:http://blog.csdn.net/myarrow/article/details/8270029 1. 枚举是什么?        枚举就是从设备读取一些信息,知道设备是什么样的设备,如何进行通信,这样主机就可以根据这些信息来加载合适的驱动程序.调试USB设备,很重要的一点就是USB的枚举过程,只要枚举成功了,那么就已经成功大半了.        USB架构中, hub负责检测设备的连接和断开,利用其中断IN端点(Interrupt IN Endpoint)来向主机(Host)报告…
一个USB设备有一个设备描述符,设备描述符里面决定了该设备有多少种配置,每种配置描述符对应着配置描述符:而在配置描述符中又定义了该配置里面有多少个接口,每个接口有对应的接口描述符:在接口描述符里面又定义了该接口有多少个端点,每个端点对应一个端点描述符:端点描述符定义了端点的大小,类型等等.由此我们可以看出,USB的描述符之间的关系是一层一层的,最上一层是设备描述符,下面是配置描述符,再下面是接口描述符,再下面是端点描述符.在获取描述符时,先获取设备描述符,然后再获取配置描述符,根据配置描述符中的…