标签:inf 插入 span ima 不能 字符串 bubuko point 16px
USB Device攻略
(USB Device 不能自己发送数据到USB Host,必须等USB Host问USB Device要数据才能回。)
一个USB物理设备一般可以包含多个USB 设备,这种叫USB复合设备,例如:USB Audio + USB HID设备,这种设备插入USB Host之后,会同时枚举出两个USB 设备。
插入USB Host的USB Device有以下6种状态:(插入、上电、缺省、分配地址、配置、挂起)
设备插入检测
主机通过DP/DM脚上的上拉电阻判断是否有设备接入,并由此判断该设备是全速、高速还是低速设备。
USB设备地址
每个USB设备都有唯一的设备地址,在枚举的时候由主机分配。地址是用来识别USB设备的,总共7bit,最多可以表示127个设备,其中地址0是所有USB设备的默认地址。USB设备一插入主机时,地址就是0,然后主机会尽快给它分配一个地址。
USB端点地址
USB设备中包含多个USB端点(Endpoint),每个端点有端点地址和端点类型。USB IP根据端点地址操作对应的USB端点。
USB支持4种传输类型(端点类型):控制传输、块传输、中断传输、等时传输。
一个USB设备中,可以有多个端点,每个端点的作用不同,所以需要端点地址来标识端点。端点地址由端点号+方向组成,端点号4-bit,方向1-bit。方向就是指IN 和OUT,代表数据传输的方向。IN代表该端点是负责发送数据到Host的,OUT代表该端点是负责从Host接收数据的。大家注意在USB中方向都是对USB Host而言的,就是说IN是指传输数据到USB Host, OUT是指USB Host传输数据到USB Device。
端点是有方向的,同一个端点地址可以同时支持IN和OUT,也可以只支持IN或者OUT。
USB的描述符
USB Host要识别USB device靠的就是各种USB 描述符:设备描述符、配置描述符、接口描述符、端点描述符、字符串描述符。
枚举时,USB Host会先要设备描述符,然后要配置描述符。要配置描述符的时候USB device要把接口描述符和端点描述符一起上传。
结构如下:
标签:inf 插入 span ima 不能 字符串 bubuko point 16px
原文地址:https://www.cnblogs.com/llw2017/p/9095429.html