每次当插上鼠标或者u盘的时候,电脑是怎么知道是什么设备的呢?这里用到的就是枚举了。枚举,其实就是让host认识这个usb涉笔,并且为该设备准备资源,建立好主机和设备之间的数据传递机制。usb设备枚举过程可以分为8个部分:1、 获取设备描述符2、 复位3、 设置地址4、 再次获取设备描述符5、 获取配置描述符6、 获取接口、端点描述符7、 获取字符串描述符8、 选择设备配置
先看一下上篇文章看的usb鼠标枚举的包吧。那样更加明显易懂。
1、 获取设备描述符
这次传输方式是控制传输,她由5个事务组成,分别是setup、in、in、in、out。
首先看第一个事务即setup事务的data数据,根据其数据再根据usb协议中的setup协议可以知道其含义了。下面按照自己来看协议
2、 复位
3、 设置地址
4、 再次获取设备描述符这个是第2部分是一样的,就不再分析了。
5、 获取配置描述符
看第一行就知道了这个是get_descriptor,configuration descriptor。下面还是看下具体的事务吧。
首先还是setup事务了,看数据80 06就可以知道了是设备要发描述符给主机,而02就表示configuration,就是配置描述符了,
接着就是in事务,设备给主机发送数据了。具体的数据含义看下图。
最后就是out事务。
6、 获取接口、端点描述符
还是老方法,看setup事务,和上一个一样,是获取配置描述符,这里的配置描述符。
具体含义,看下面的图就明白了。
7、 获取字符串描述符
这里就不多做分析了。8、 选择设备配置
这里,setup事务,主要是device的set_configuration。好了,差不多usb的枚举就是这么回事了。
无人机、滑轮和绞盘组成了一套“高科技”走私装置
AN-2033: 校准光学烟雾和气雾剂检测模块
乐视最新消息:贾跃亭败走美国 乐视手机永远缺货?孙宏斌的齐天大圣梦在地产
三方共同开发的物联网标签SoC样品将于7月开始出货
人类的2.0版本:失败的器官将被更好的高科技产品替代
电脑是如何识别你插上了USB设备
快速测定环氧当量的方法
用数据可视化软件做电商用户行为分析
支付宝VS微信,支付补贴大战!支付宝补贴最高可达4888元,微信最高88元
2021年2月VR/AR行业市场分析发展报告
七腾防爆智能四足机器人的详细介绍
电动车销量破50万 宝马在电动化上再进一步
微软新闻网页将启用人工智能机器人编辑
时控开关怎么调?时控开关怎么设置开关时间?
高通骁龙855处理器将成为安卓产品标配,仍不支持5G
OpenAI未来几年需要投资数十亿美元用于大规模云计算 吸引和留住人才
功率半导体器件:IGBT模块和IPM模块的定义及区别
LED灯具照明主要竞争方向
魅蓝note5:魅族优秀千元机代表, 前置指纹, 比小米更值得买
基于准谐振型软开关的高频开关电源变换器