0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

电脑是如何识别你插上了USB设备

FPGA之家 来源:未知 2019-07-14 10:25 次阅读

每次当插上鼠标或者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的枚举就是这么回事了。

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

    关注

    59

    文章

    7435

    浏览量

    258183
  • 电脑
    +关注

    关注

    15

    文章

    1602

    浏览量

    67298
  • Host
    +关注

    关注

    0

    文章

    30

    浏览量

    34434

原文标题:科普!插上USB设备后电脑是怎么识别的呢?

文章出处:【微信号:zhuyandz,微信公众号:FPGA之家】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    STM32L475安装好ST-Link驱动,电脑设备管理器中完全识别不到安装的ST-Link,怎么解决?

    关于STM32L475 ST-Link使用请教一个问题我安装好ST-Link驱动插上供电USB及供电USB电脑设备管理器中完全
    发表于 03-19 06:31

    平板电路板插上USB升级

    平板电路板插上USB升级是电脑显示无法识别的u***设备,该怎么修
    发表于 01-06 11:14

    获取USB的PID,VID,及读写

    USB设备插上电脑,如何识别USB设备是否
    发表于 06-06 10:09

    请问电脑如何识别设备

    我想问大家一个问题:在用eclipse开发好android应用程序以后,想要把程序下载到手持式设备里去,只需用USB线把电脑设备连接上即可,那么我想问一下,
    发表于 05-16 07:45

    GPRS模块连接电脑显示无法识别

    我把模块插上电源,打开电源后,用USB借口连接到电脑上,电脑显示无法识别,资源管理器里其他设备
    发表于 06-10 04:35

    串口显示无法识别USB设备

    原子哥求救啊:我的板子 现在出现问题了啊之前在一个电脑上 是好的!但是现在换了一个电脑插上串口线后就是显示无法识别USB
    发表于 04-10 01:50

    STM32F103无法识别USB设备的原因是什么?

      现象  1、F103mini开发板下载‘触控鼠标教程后‘插上USB线,上位机显示无法识别USB设备,等待1~2秒后自动
    发表于 06-23 14:40

    电脑插上USB为什么会没有反应

    1.在KEIL编译时先选择不适用microlib 编译一遍,此时插上USB电脑会显示未识别USB。2.选择使用microlib再编译一遍,
    发表于 08-05 06:02

    CH340N插上USB后,电脑提示无法识别USB是什么原因?

    电路图如图,插上USB后,电脑提示无法识别USB。驱动已装。
    发表于 07-11 06:01

    CH334U插上电脑识别是什么原因?

    用5个CH334U做一个16接口的hub,插上电脑识别,提示未知设备,获取描述符失败,期间识别到过US
    发表于 09-27 06:50

    我的JLINK灯变绿了,无法识别设备

    我的JLINK前几天用的好好的,今天插上突然灯变绿了,不能识别芯片,而且电脑不能识别设备。我在网上搜索解决办法,先擦除,总之经过一系列操作,
    发表于 01-11 14:05

    NUC120芯片USB连接电脑后,电脑无法识别设备怎么解决?

    跪求大神帮助啊!搞了一个周了,电脑一直不识别啊! 遇到问题:程序代码完全按照NUC120的实例写的,下载到板子,USB线连接电脑电脑无法
    发表于 06-14 11:51

    USB设备无法识别怎么办

    USB设备无法识别怎么办   当你想用闪存或移动硬盘来和电脑交换数据时,但插上USB口时你却发
    发表于 04-19 13:03 1.1w次阅读

    APM32F103VCT6S_USB_MAC电脑无法识别USB设备

    APM32F103VCT6S_USB_MAC电脑无法识别USB设备
    发表于 11-09 21:04 0次下载
    APM32F103VCT6S_<b class='flag-5'>USB</b>_MAC<b class='flag-5'>电脑</b>无法<b class='flag-5'>识别</b><b class='flag-5'>USB</b><b class='flag-5'>设备</b>

    电脑无法识别usb设备怎么解决

    Android系统插上USB连接到电脑,提示"无法识别USB设备"
    的头像 发表于 10-10 16:20 2943次阅读
    <b class='flag-5'>电脑</b>无法<b class='flag-5'>识别</b>的<b class='flag-5'>usb</b><b class='flag-5'>设备</b>怎么解决