欢迎FPGA工程师加入官方微信技术群

每次当插上鼠标或者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协议可以知道其含义了。下面按照自己来看协议 a、80,她表示的就是设备要发送数据给主机。b、06,就是获取描述符。c、00 01,和bRequest对应,就是            DEVICE,就是设备的描述符。d、00 00,zeroe、40 00,设备描述符长度 然后看IN包,就是设备把她的设备描述符发给了主机。  2、  复位 这个没什么好讲的了。

3、  设置地址

简单分析下,首先是setup事务,根据所发的数据和USB的协议可以知道05:02; 然后是一个IN事务。 4、  再次获取设备描述符这个是第2部分是一样的,就不再分析了。

5、  获取配置描述符

看第一行就知道了这个是GET_DESCRIPTOR,CONFIGURATION descriptor。下面还是看下具体的事务吧。

首先还是SETUP事务了,看数据80 06就可以知道了是设备要发描述符给主机,而02就表示configuration,就是配置描述符了,

接着就是IN事务,设备给主机发送数据了。具体的数据含义看下图。

最后就是OUT事务。

6、  获取接口、端点描述符

还是老方法,看SETUP事务,和上一个一样,是获取配置描述符,这里的配置描述符。

具体含义,看下面的图就明白了。

7、  获取字符串描述符

 这里就不多做分析了。  8、  选择设备配置这里,SETUP事务,主要是DEVICE 的 SET_CONFIGURATION。 好了,差不多USB的枚举就是这么回事了。

欢迎通信工程师和FPGA工程师关注公众号

FPGA微信技术群

欢迎大家加入全国FPGA微信技术群,这里有一群热爱技术的工程师,在这里可以一起交流讨论技术!

用手指按住就可以加入FPGA全国技术群哦

FPGA IP核服务:各类优质IP核服务商,服务到位,有保障!有需求的可以直接联系群主!

FPGA技术群平台自营:Xilinx Altera 镁光、三星、海力士、ADI TI ST NXP 等品牌的优势代理分销商,欢迎大家有需求随时发型号清单,我们将在第一时间为您提供最优竞争力的报价!价格低于您原有供应商5%以上!欢迎询价-直接把需求发给群主!

FPGA技术群官方鸣谢品牌:Xilinx、 intel(Altera)、microsemi(,Actel)、LattIC e,Vantis,Quicklogic,Lucent等

ip打包后如何加入 xilinx_科普!插上USB设备后电脑是怎么识别的呢?相关推荐

  1. 插上USB设备虚拟机不弹提示框

    提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 方法一.更改虚拟机USB协议 方法二.打开主机关于虚拟机USB服务 方法一.更改虚拟机USB协议 点开虚拟机设置,找到USB ...

  2. 已解决:PC插上串口工具后PC端口com那里有个黄色叹号,无法使用串口工具

    PC插上串口工具后PC端口com那里有个黄色叹号,无法使用串口工具 原文链接:http://blog.csdn.net/csdnhuaong/article/details/68945601 解决WI ...

  3. WIN10插上耳机拔掉后再插没声音的问题【已解决】

    关于插上耳机拔掉后再插没声音的问题 废话不多说,直接给解决方法: 打开Realtek高清晰音频管理器(一般在菜单栏里,如果还是找不到就直接用Cortana[如下图]搜索,输入"realtek ...

  4. 为什么mac插入了u盘没反应 苹果mac插上usb后怎么找到

    U盘使用简单,便于携带,几乎每个mac用户都有一个u盘.使用新的u盘的时候,你有没有遇到过mac插入了u盘没反应的情况呢?如果你是初次接触Mac电脑,使用u盘可能会手足无措,因为Mac系统和Windo ...

  5. 计算机无法识别华为usb设备,华为路由A1插上USB储存设备无法识别怎么办

    华为路由A1可以在插上USB储存设备(U盘.移动硬盘等)之后开启路由器的文件共享功能,将设备中的文件分享给连接到路由器wifi的用户.但如果插上USB储存设备后路由器无法识别怎么办,可能是什么原因,怎 ...

  6. 插拔usb设备计算机管理无反应,插拔USB设备引起死机蓝屏0x000000FE分析解决措施...

    我们操作电脑故障中最常见的那就是蓝屏,导致蓝屏的原因有很多,更新驱动.安装软件.系统补丁.甚至外接USB设备等等都会有可能导致蓝屏.今天介绍的蓝屏故障0x000000FE就是外接设备USB所引起的故障 ...

  7. CH340C使用5V供电时,通讯不正常,插上USB无反应怎么解决?

    当插上USB供电时,USB串口不识别,从USB串口芯片电路检查.检测引脚电压都正常,但就是串口识别不到.后猜测可能因为和MCU 供电电压不同导致电流从TX或者RX倒灌电流使串口芯片不正常.后改为CH3 ...

  8. USB通讯入门(二)CyUSB.inf文件修改后,设备管理器可以识别出USB设备,但Cypress USB Console没有任何显示

    Cypress提供的通用驱动程序是CyUSB.sys,对应的驱动信息文件是CyUSB.inf.通过CyUSB.inf文件安装通用驱动后,插入FX2LP开发板,计算机设备管理器和Cypress USB  ...

  9. win10——戴尔笔记本电脑插上耳机没有声音电脑外放

    解决办法: 打开任务管理器(ctrl + shift + esc),选择"启动",将"Realtek 高清晰音频管理器"禁用,再重启电脑,再插上耳机即可. 本人 ...

最新文章

  1. java io 结构_java 的IO类库的基本架构
  2. php中的var_dump()方法的详细说明
  3. 常见的C语言字符串操作
  4. 不可重入锁和可重入锁
  5. C#算法设计排序篇之08-计数排序(附带动画演示程序)
  6. 阿里云CentOS Linux 7安全基线检查
  7. SpringBoot 的属性配置文件
  8. 【PAT乙】1083 是否存在相等的差 (20分) map
  9. window安装python27和配置环境变量
  10. ps打开曲线的快捷键,ps合并图层的快捷键,ps色相饱和度快捷键,组合键【CTRL】+【B】,该组合键是用于调整色彩平衡。
  11. letsencrypt证书-管理工具certbot
  12. 【DL-安装遇错】解决出现 pip‘s dependency resolver does not currently take into account all the packages that..
  13. Golang中用到的的Websocket库
  14. 死理性派恋爱法:拒绝掉前面37%的人
  15. 想进入游戏建模行业,必须要了解的基础知识
  16. Java调用ffmepg+mencoder视频格式转换
  17. 一文带你了解什么是IP地址
  18. Django之强大后台xadmin的使用(一)
  19. 软考-架构师-第七章-系统规划 第二节 可行性研究与效益分析 (读书笔记)
  20. 利用python进行探索性数据分析(EDA):以Kaggle泰坦尼克号数据集为例

热门文章

  1. js固定表格行列_纯前端表格控件SpreadJS V14.0发布:组件化编辑器+数据透视表
  2. python的指针跟c的区别_ctypes中的LP_x*指针和*p指针有什么区别?(以及与结构的奇怪交互)...
  3. 干货 | 带你理解对比学习损失函数的性质以及温度系数的作用
  4. All in Linux:一个算法工程师的IDE断奶之路
  5. 你的模型真的陷入局部最优点了吗?
  6. 百度开源 FAQ 问答系统(AnyQ)安装---Linux(无docker)+小白编译AnyQ-dockerlinux[CentOs]
  7. 金融时报:人工智能在银行中的应用—对全球30家大型银行的调查
  8. 17 操作系统第四章 磁盘管理 磁盘的结构 磁盘调度算法 减少磁盘延迟时间的方法
  9. 编译过程中的链接地址对最终编译镜像文件的影响
  10. 849. 到最近的人的最大距离