详解usb枚举流程.docxVIP

  1. 1、本文档共6页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多

??

?

??

详解usb枚举流程

?

??

?

?

?

?

?

?

?

???

?

?

?

?

?

?

?

0.枚举流程

?连接了设备的HUB在HOST查询其状态改变端点时返回对应的bitmap,告知HOST某个PORT状态发生了改变。

?主机向HUB查询该PORT的状态,得知有设备连接,并知道了该设备的基本特性。

?主机等待(至少100mS)设备上电稳定,然后向HUB发送请求,复位并使能该PORT。

?HUB执行PORT复位操作,复位完成后该PORT就使能了。现在设备进入到defalut状态,可以从Vbus获取不超过100mA的电流。主机可以通过0地址与其通讯。

?主机通过0地址向该设备发送get_device_descriptor标准请求,获取设备的描述符。

?主机再次向HUB发送请求,复位该PORT。

?主机通过标准请求set_address给设备分配地址。

?主机通过新地址向设备发送get_device_descriptor标准请求,获取设备的描述符。

?主机通过新地址向设备发送其他get_configuration请求,获取设备的配置描述符。

?根据配置信息,主机选择合适配置,通过set_configuraTIon请求对设备而进行配置。这时设备方可正常使用。

1.GET_DESCRIPTOR

总线复位及向默认地址0发送GET_DESCRIPTOR指令包,请求设备描述。如(图一)所示:

(图一)

1)Index[4-5]:表示USB插入总线复位

2)Index[7-8]:表示主机向默认地址发送GET_DESCRIPTOR指令包,详细信息也抓出来了,如(图二)所示:

(图二)

3)Index[15-17]:表示设备向主机发送设备描述数据Index[16]

4)Index[18-19]:表示主机完成GET_DESCRIPTOR指令后,给设备发送一个空应答;

2.SET_ADDRESS

再次复位总线及向设备发送SET_ADDRESS指令包,设置设备地址。如(图三)所示:

(图三)

1)Index[22-23]:表示再次总线复位,该复位自动完成,不是手工插拔USB完成

2)Index[25-27]:表示主机向默认地址发送SET_ADDRESS指令包,详细信息如(图四)所示:

(图四)

3)Index[29-31]:表示设备完成SET_ADDRESS指令后,给主机发送一个空应答;

3.GET_DESCRIPTOR《请求设备描述》

向第二步设定的设备地址发送GET_DESCRIPTOR指令包,请求设备描述。如(图五)所示:

(图五)

1)Index[33-35]:表示主机向地址01发送GET_DESCRIPTOR指令包,详细信息见(图六)

(图六)

2)Index[41-43]:表示设备向主机发送设备描述数据Index[42]

3)Index[45-47]:表示设备向主机发送设备描述数据Index[46]

4)Index[48-50]:表示主机完成GET_DESCRIPTOR指令后,给设备发送一个空应答;

4.GET_DESCRIPTOR《请求配置描述》

向第二步设定的设备地址发送GET_DESCRIPTOR指令包,请求配置描述。如(图七)所示:

(图七)

1)Index[52-54]:表示主机向地址01发送GET_DESCRIPTOR指令包,详细信息见(图八)

(图八)

2)Index[57-59]:表示设备向主机发送配置描述数据Index[58]

3)Index[60-62]:表示主机完成GET_DESCRIPTOR指令后,给设备发送一个空应答;

5.读取完整设备描述及配置描述

重复向第二步设定的设备地址发送GET_DESCRIPTOR指令包,取完所有设备描述及配置描述;

6.SET_CONFIGURATION

向第二步设定的设备地址发送SET_CONFIGURATION指令包,设置配置描述。如(图九)所示:

(图九)

1)Index[139-141]:表示主机向地址01发送SET_CONFIGURATION指令包,详细信息见(图十)

(图十)

2)Index[143-145]:表示设备完成SET_CONFIGURATION指令后,给主机发送一个空应答

至此,枚举过程结束,设备可通过驱动与主机通信了。

以上的USB枚举过程是根据现有特定设备捕获得到,并不完整涉及到USB协议的所有指令包,如GET_STATUS指令包、CLEAR_FEATURE指令包、SET_FEATURE指令包、SET_DESCRIPTOR指令包、GET_CONFIGURATION指令包、GET_INTERFA

您可能关注的文档

文档评论(0)

177****5771 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档