• USB概念介绍


    USB概念

    1. 概念

    USB是通用串行总线(Universal Serial Bus),分为HOST/DEVICE两个角色,所有的数据传输都由主机主动发起,而设备只是被动的负责应答。例如,在读数据时,USB先发出读命令,设备收到该命令后,才返回数据。比如我们的PC跟鼠标通讯,我们的PC是作为USB host角色,鼠标是作为USB device角色来工作。

    2. USB接口种类介绍

    目前我知道的有几种USB种类:type-A,type-B,type-C,mini usb,macro usb,apple lightning,分别如下图:

    USB Type A:该标准一般适用于个人电脑PC中,是应用于最广泛的接口标准

    USB Type B:一般用于3.5寸移动硬盘、以及打印机、显示器等连接

    USB Type C:USB Type C这个接口名称是在USB 3.1时代之后出现的,该接口的亮点在于更加纤薄的设计、更快的传输速度(最高10Gbps)以及更强悍的电力传输(最高100W)。Type-C双面可插接口最大的特点是支持USB接口双面插入,主要面向更轻薄、更纤细的设备(未来可能统一手机平板的接口,取代Micro USB接口)。

    总结说来USB Type-C具有以下特点:

    1) 最大数据传输速度达到10Gbit/秒,也是USB 3.1的标准;

    2) Type-C接口插座端的尺寸约为8.3mm×2.5mm纤薄设计;

    3) 支持从正反两面均可插入的“正反插”功能,可承受1万次反复插拔;

    4) 配备Type-C连接器的标准规格连接线可通过3A电流,同时还支持超出现有USB供电能力的“USB PD”,可以提供最大100W 的电力。

    一般用于数码相机、数码摄像机、测量仪器以及移动硬盘等移动设备

    在USB2.0时代,Micro USB口出现了,这是USB 2.0标准的一个便携版本,Mini USB的下一代规格,比早期部分手机使用的Mini USB接口更小。这种接口是我们最常见的接口,我们手机的充电接口就是Micro USB接口。

    苹果的自研发USB接口,但是听说苹果要转战TYPE-C

    一般的USB,比如type a,typa b都有4根线

    其中D+,D-是传输数据使用,但是像MINI USB,MACRO USB会多出一跟ID线,用于OTG

    像typc-C,apple lightning接口,引脚很多,我们不列举了

    3.USB设备的插入检测和速度检测

    在USB设备插到USB 主机的时候,主机会通过上拉电阻去检测插入的是什么设备,一般采用1.5K的上拉电阻,在USB设备端上拉电阻接到D+的时候,那么此设备就是高速或者全速设备,在1.5K的上拉电阻接到D-的时候,那么此设备就是低俗设备,那我们的板子是接到D+,所以在插入到USB主机的时候,我们的板子告诉主机我们是高速或者全速设备。

    二. USB枚举过程

    再说枚举详细过过程之前,我们先来普及下descriptor的知识

    一个设备有且只有一个device descriptor,有1个或者多个configuration descriptor,每个configuration descriptor下面有1个或者多个interface descriptor,每个interface descriptor下面有1个或者多个endpoint descriptor.

    1.获取descriptor的封包格式

    图片来源USB2.0 9.3

    2.Get device descriptor request & response分析

    2.1 Get device request的格式

    对应的usb封包如下:

    2.2 Get device descriptor response

    格式如下:

    usb封包如下:

    3.Get configure descriptor request & response分析

    3.1 Get configure descriptor req的格式

    usb抓包如下:

    3.2 Get configure descriptor response的格式

    抓包如下:

    3.3 interface的格式

    usb的封包的如下:

    3.4 endpoint的格式

    抓包如下:

    三.传输类型

  • 相关阅读:
    spring中AbstractApplicationContext的refresh()
    中职生学习动机的激发与培养研究-以汽车运用与维修专业为例
    vue pc商城---最终篇
    【多媒体技术与实践】课堂习题汇总(Chp1~Chp3)
    【笔者感悟】笔者的学习感悟【九】
    Redux学习与使用
    Java面试题--spring boot
    开源框架(四):mybatis 两种开发方式 映射开发与注解开发
    java毕业生设计预约挂号系统演示录像2021计算机源码+系统+mysql+调试部署+lw
    jenkins安装-linux
  • 原文地址:https://blog.csdn.net/XiaoXiaoPengBo/article/details/126907327