USB接口
绪论
bmAttributes的低两位指出端点的类型。见表1-6。其余的位保留给将来使用,应设
为0。
表1-6.端点类型代码n1
Tab.1-6EndpointTypeCode
符号名称值
0123
端点类型控制端点等时端点批量端点中断端点
USB—ENDPO哐m二RPE—CONTROL
USB—ENDPOINl婴PE—ISOCHRONOUS
USB—ENDPOIN^RPE—BULK
USB—ENDPOIN\弋NPE—INTERRUPT
种端点的可能值。
wMaxPacketSize值指出该端点在一个事务中能传输的最大数据量,表1.I列出了每
中断端点和等时端点描述符还有一个用于指定循检间隔时间的bInterval域,时间单位为毫秒。这个数指出主机以多长的周期循检这些端点,以查看是否有可能的数据传输。对于中断端点,该值的范围为l到255毫秒,代表两次循检间的最大时间间隔。对于等时端点,该值应该为1,因为帧周期固定为1毫秒,每帧都应该循检。
串描述符
设备、配置、端点描述符都可以包含一个指向人工可读串的指针。串本身以USB串描述符的形式保存在设备中,串字符使用Unicode编码。
typedefstruct_usB——STRING——DESCRIPTOR
{
UCHARbLength;
UCHARbDescriptorType;
WCHARbString[1];
)USB—STRING_DESCRIPTOR,PUSB—STRING_DESCRIPTOR;
bLength值根据串数据长度可变。bDescriptorType域的值应为3。bString域包含串数据本身。串的空结尾符应包含在描述符长度内。USB设备可以以多种语言支持串描述符。0号串描述符是设备所支持语言的标识符数组,它不是一个真正的串描述符。语言标识与Win32程序中使用的LANGID相同。如果向设备询问串描述符的某种未支持语言的表达,其结果在USB规范中没有规定,所以应该先读取串0数组。
1.3.6
USB设备枚举过程
要主机识别一个USB设备必须经过枚举的过程,主机使用总线枚举来识别和管理必要的设备状态变化。总线枚举过程如下‘2们:
(1)主机检测到有设备插入,总线复位
当设备与主机连接时,主机会检测到一个连接条件并且D+的数据线拉至Ves以上2.5us,主机就开始总线复位。
9