《USB技术入门教程》.pdfVIP

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

USB 技术入门教程 USB 如何检测到设备的插入 USB 主机是如何检测到设备的插入的呢? 首先,在USB 集线器的每个下游端口的D+和D-上,分别接了一个15K 欧姆的下拉电阻 到地。这样,在集线器的端口悬空时,就被这两个下拉电阻拉到了低电平。而在 USB 设备 端,在D+或者D-上接了1.5K 欧姆上拉电阻。对于全速和高速设备,上拉电阻是接在D+上; 而低速设备则是上拉电阻接在D-上。这样,当设备插入到集线器时,由1.5K 的上拉电阻和 15K 的下拉电阻分压,结果就将差分数据线中的一条拉高了。集线器检测到这个状态后,它 就报告给 USB 主控制 器(或者通过它上一 层的集线器报告给 USB 主控制器),这样 就检测到设备的插入 了。USB 高速设备先 是被识别为全速设备, 然后通过 HOST 和 DEVICE 两者之间的确 认,再切换到高速模 式的。在高速模式下, 是电流传输模式,这 时将D+上的上拉电阻 断开。 一个简单的实验: 只用一个上拉电阻接 在USB 的+5V 和D+或 者 D- 上,WINDOWS 也会提示发现新硬件, 但是无法找到驱动程 序。这时去设备管理 器里面看,有显示未 知 USB 设备,并且其 VID 和PID 为0 。根据 这个,我们可以简单 的判断设备是否枚举 成功。如下图所示, 分别是枚举不成功和 枚举成功的图。 USB 枚举的详细过程 USB 主机在检测到USB 设备插入后,就要对设备进行枚举了。为什么要枚举呢?枚举就 是从设备读取一些信息,知道设备是什么样的设备,如何进行通信,这样主机就可以根据这 些信息来加载合适的驱动程序。调试 USB 设备,很重要的一点就是 USB 的枚举过程,只要 枚举成功了,那么就已经成功大半了。 在说枚举之前,先大概说一下 USB 的一种传输模式——控制传输。这种传输在USB 中 是非常重要的,它要保证数据的正确性,在设备的枚举过程中都是使用控制传输。控制传输 分为三个过程:①建立过程。②可选的数据过程。③状态过程。建立(Setup )过程都是由 USB 主机发起,它开始于一个Setup 令牌包,后面紧跟一个DATA0 包。如果是控制输入传输, 那么数据过程就是输入数据;如果是控制输出传输,那么数据过程是输出数据。如果在设置 过程中,指定了数据长度为0 ,则没有数据过程。数据过程之后是状态过程。状态过程刚好 与数据过程的数据传输方向相反:如果是控制输入传输,则状态过程是一个输出数据包;如 果是控制输出传输,则状态过程是一个输入数据包。状态阶段用来确认所有的数据都已经正 确传输。 好了,下面我们来看看枚举的详细过程。 首先,USB 主机检测到USB 设备插入后,就会先对设备复位。设备复位后,USB 主机就 会对地址为 0 的设备发送获取设备描述符的标准请求。所有的USB 设备在总线复位后其地 址都为0 ,这样主机就可以跟那些刚刚插入的设备通过地址0 通信。主机在建立阶段发出获 取设备描述符的输入请求,设备收到该请求后,在数据过程将设备描述符返回给主机。主机 在成功获取到一个数据包的设备描述符后并且确认没有什么错误后 (注意:有些USB 设备 的端点0 大小不足18 字节(但至少具有8 字节),而标准的设备描述有18 字节,在这种情 况下,USB 设备只能暂时按最大包将部分设备描述符返回,而主机在成功获取到前面一部分 描述符后,就不会再请求剩下的设备描述符部分,而是进入设置地址阶段),就会返回一个 0 长度的状态数据包给设备。 然后主机再对设备复位一下,接下来就会进入到设置地址阶段。这时 USB 主机发出一 个设置地址的请求(建立过程,设置地址无数据过程),地址包含在建立包中,具体的地址 USB 主机会负责管理,它会分配一个唯一的地址给新的设备。USB 设备在收到地址后,返回 0 长度的状态包,主机收到0 长度的状态包之后,会返回一个ACK 给设备。设备在收到这个 ACK 之后,就可以启用新的地址了。这样设备就分配到了一个唯一的设备地址,以后主机就 通过它来进行访问该设备。 然后主机再次获取设备描述符,这次跟第一次可能有点不一样,这次需要获取完全部的 18 个字节的设备描述符。当然,如果你的端点0 缓冲大于18 字节的话,那就跟第一次的情 形一样了。 接下来,主机就会获取配置描述符。配置描述符总共为9 字节。主机在获取到配置描述 符后,根据里面的配置集合总长度,

文档评论(0)

ghfa + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档