什么叫USB枚举?USB接口标准请求

接口/总线/驱动

1139人已加入

描述

先说一下什么叫USB枚举,设备接入主机后被主机识别,主机为设备供电,此时主机和设备使用默认的地址0通讯,直到主机重新分配地址。枚举过程中前一段使用缺省的地址0,后一段使用主机分配的地址。所谓枚举就是主机向设备要数据,这些数据描述了设备的属性,比如厂商,供电情况,有多少配置,接口属性及数量,端点属性及数量,字符描述信息等等,不同设备描述信息不同。

这些信息就是通过标准请求来获得的。我们在使用usb设备的时候有时候电脑弹窗出现“未知设备”,这就是电脑没有获取到设备的描述信息,不知道它是什么设备,更谈不上为它加载驱动了。

USB标准请求通过SETUP事务下发到设备端,请求出现在SETUP事务的DATA0数据包中,注意此处必须是DATA0,共有8个字节。标准请求是为了获取或者设置设备参数,比如获取描述符,设置地址,设置配置等。以下是SETUP数据包格式

上位机

bit7代表传输方向

bit5bit6请求类型,是标准请求,类请求,还是厂商自定义请求

bit0-bit4请求接受者,是设备,接口,端点,还是其他

其他参数见下面表格,表格中罗列了标准请求种类

上位机

以下表格是标准请求码,在bRequest字段中传输

上位机

以下是描述符类型列表,在wValue字段传输,经常会用到。描述符的种类比较多,后文在所详细介绍。

上位机

以上标准请求经常在USB枚举中见到,在传输过程中也能出现,比如虚拟串口设备,上位机打开关闭串口时会有类请求下发波特率等参数。

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分