USB介绍
Posted 浩瀚之水_csdn
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了USB介绍相关的知识,希望对你有一定的参考价值。
一、usb通信基础知识
描述
目前了解了usb通信层面的一些基础知识如下。如果有空还要再了解hid报告描述符及协议的数据包波形。
1.1,USB的一些基本概念
1. 管道(Pipe) 是主机和设备端点之间数据传输的模型,共有两种类型的管道:无格式的
流管道(Stream Pipe)和有格式的信息管道(Message Pipe)。任何USB 设备一旦上电就存在
一个信息管道,即默认的控制管道,USB 主机通过该管道来获取设备的描述、配置、状态,并
对设备进行配置。
2. 端点(Endpoint)是USB 设备中的可以进行数据收发的最小单元,支持单向或者双向的数据传
输。设备支持端点的数量是有限制的,除默认端点外低速设备最多支持2 组端点(2 个输入,2
个输出),高速和全速设备最多支持15 组端点。
3. 接口(Interface) 。应用软件通过和设备之间的数据交换来完成设备的控制和数据传输。通常
需要多个管道来完成数据交换,因为同一管道只支持一种类型的数据传输。用在一起来对设备进
行控制的若干管道称为设备的接口。
4. 设备和端点之间关系: 一个USB 设备可以包括若干个端点,不同的端点以端点编号和方向区分。
不同端点可以支持不同的传输类型、访问间隔以及最大数据包大小。除端点0 外,所有的端点只支
持一个方向的数据传输。端点0 是一个特殊的端点,它支持双向的控制传输。管道和端点关联,和
关联的端点有相同的属性,如支持的传输类型、最大包长度、传输方向等。
5. 描述符(Descriptor) 描述设备的属性(Attributes)。 它本身是一个数据结构, 第一个字节表示
描述符的大小(字节数), 第二个字节表示描述符的类型(Type)。 描述符的种类有:
1) 设备描述符(Device), 描述一个设备的一般信息。
2) 设备修饰描述符(Device_Qualifier), 描述一个高速设备在其它速度下该如何变化的信息。
3) 配置描述符(Configuration), 描述一个特定的设备配置, 如接口的数目等。 一个USB设备有
一个或多个配置描述符。 每个配置有一个或多个接口并且每个接口有0个或多个端点。
4) 其它速度配置描述符(Other_speed_configuration), 描述高速设备在其它可能的速度下的
一个配置。
5) 接口描述符(Interface), 描述一种配置中的一个特定的接口。
6) 端点描述符(Endpoint), 描述主机需要的去决定端点所需带宽的信息。 这个描述符只能附加
在GetDescriptor()或GetDescriptor()请求中传送, 不能单独传送。 端点0没有此描述符。
7) 字符串描述符(String), 第0个字符串描述符指定设备支持的语言, 其它的描述符则各包含
一个UNICODE字符串。 设备描述符, 配置描述符 和 接口描述符可能会包含字符串描述符。
6. USB设备请求(USB Device Request) 请求是从主机通过控制管道发送到设备。
标准的设备请求有:
1) Clear Feature
2) Get Configuration
3) Get Descriptor
4) Get Interface
5) Get Status
6) Set Address
7) Set Configuration
8) Set Descriptor
9) Set Feature
10) Set Interface
11) Synch Frame
1.2,协议层
从字段(Field)和包(Packet)的定义开始,从底向上地展示USB(Univeral Serial Bus)协议。有:同步字段,包字段格式,包标识符字段,地址字段,端口字段,数据字段等等。
1.3,包字段格式
描述标记,数据和握手包的字段格式。包中位的定义是以未编码的数据格式给出。为了清楚起见,在此不考虑NRZI编码和位填充(Bit Stuffing)的影响。所有的包都分别有包开始(Start-of-Packet)和包结束(End-of-Packet)分隔符。包开始(SOP)分隔符是同步字段的一部分,而包结束(EOP)分隔符在第7章有所描述。
1.4,usb协议的大致过程如下:
当USB设备接上或从USB设备移开的时候,主机启动一个被称作总线标识(bus enumeration)的进程,来标识并管理设备状态的改变,当USB设备接上一个加电端口时,系统当采取以下操作:
1.USB设备所连的集线器通过其通向主机的状态改变通道向主机,汇报本USB设备已连接上。(参照11.13.3节)。此时,USB设备处于加电状态,它所连接的端口是无效的。
2.主机通过寻问集线器决定此次状态改变的确切含义。
3.主机一旦得知新设备已连上以后,它至少等待100ms以使得插入操作的完成以及设备电源稳定工作。然后主机发出端口使能及复位命令给那个端口。具体这些事件发生的顺序及时间判定请参看7.1.7.1节及图7-19。
4.集线器将发向端口的复位信号持续10ms(见11.5.15节)。当复位信号撤消后,端口已经有效了。这时USB设备处于缺省状态,并且可从VBUS汲取小于100mA的电能,所有设备寄存器及状态已经被复位,设备可对缺省地址产生响应。
5.主机给设备分配一个唯一的地址,设备转向编址状态。(Address state)。
6.在USB设备接受设备地址之前,它的缺省控制通道(Default Control Pipe)在缺省地址处自然是可寻址的,主机通过读取设备描述表,判决设备缺省通道的实际净数据负载。
7.主机从设备读取配置信息要从配置0读到配置n-1,其中n为配置个数,此操作须花费几个毫秒。
8.基于从设备取来的配置信息及设备如何被使用的信息,主机给设备一个配置值,此刻,设备就处于配置状态(Configured state)并此配置有关的所有端节点,都按照配置各就各位,USB设备现在可以从VBUS得到描述中所要求的电量了。从设备的角度来讲,它已经准备就绪了。
当UBS设备被取走时,集线器同样会通知主机,断开一个设备连接会使得设备所连接的端口无效,一收到断开通知后,主机就会更新的拓扑信息。
二、USB通信速度
由于市场的混乱,和不良奸商的忽悠,大多数人根本搞不清USB3.0和USB3.1。USB 3.1 Gen1就是USB 3.0。而USB 3.1 Gen2才是真正的USB3.1。USB 2.0的最大传输带宽为480Mbps(即60MB/s),USB 3.0(即USB 3.1 Gen1)的最大传输带宽为5.0Gbps(625MB/s),USB 3.1 Gen2的最大传输带宽为10.0Gbps(虽然USB 3.1标称的接口理论速率是10Gbps,但是其还保留了部分带宽用以支持其他功能,因此其实际的有效带宽大约为7.2Gbps)。USB 2.0为四针接口,USB 3.0和USB 3.1为九针接口。
USB 3.1是最新的USB规范,该规范由英特尔等大公司发起。与现有的USB技术相比,新USB技术使用一个更高效的数据编码系统,并提供一倍以上的有效数据吞吐率(USB IF协会)。它完全向下兼容现有的USB连接器与线缆。
USB3.1 LOGO
USB 3.1兼容现有的USB3.0软件堆栈和设备协议、5Gbps的集线器与设备、USB 2.0产品。
拥有Thunderbolt技术的英特尔也欢迎USB 3.1标准的成形。USB 3.1包含了USB 3.0的大部分特性 [2] 。USB 3.1作为下一代的USB传输规格,通常被称为“SuperSpeed+”,将在未来替代USB 3.0。 [3]
规范制定历程
2008年11月12日USB 3.0推出之后,SuperSpeed带来了5Gbps高速传输效能,附加提供5V/0.9A电源。随着传输速率的要求提高,加上也希望能提升供电能力,2013年1月6日USB IF协会(USB Implementers Forum)正式宣布要推出新的USB 3.0加强版(即USB 3.1)。2013年7月31日宣布正式开始研发SuperSpeed 10Gbps,2013年12月3日USB 3.0 Promoter Group正式宣布USB 3.1诞生。到了2014年6月份Computex Taipei 2014,ASMedia第一家正式展示原生USB 3.1晶片,实现SuperSpeed+,也就是SuperSpeed 10Gbps速率。 [4]
USB3.0 超高速模式: 5.0Gb/s 实际3.2Gb/s 900mA
USB3.1 超超高速模式:10Gb/s实际7.2Gb/s 20V/2A-仅限于Type-A/B 12V/3A-Type-C
三、usb3.1和3.0的区别
USB3.1和3.0在数据传输、电力供应以及画面传输方面存在区别。功率方面,USB3.0支持4.5W功率,而USB3.1升级到了100W;传输速度方面,USB3.0最高可达5.0Gbps,而USB 3.1最高可达10Gbps;影音传输方面,USB3.1新增了对USB A/V的支持。以下是详细介绍:
1、在数据传输方面,USB 3.1接口的连续读写速度在500MB/s到600MB/s左右,最高成绩甚至可以突破700MB/s,而USB 3.0接口方面,其连续读写速率大概在300MB/s到400MB/s左右;
2、在电力供应方面,相比USB 3.0,USB3.1将供电标准由5V/0.9A提升至20V/5A,100W的功率使USB 3.1能够极大提升设备的充电速度;
3、在画面传输上,USB 3.1新增了USB A/V影音传输技术,拥有9.8Gbps频宽,轻松支持高分辨率和高帧率显示画面还有HDCP影像加密技术,而USB3.0则无法做到这一点。
四、USB3.2 介绍
随着数据传输技术的不断进步,USB标准化组织USB-IF早在2019年就宣布推出了全新的USB 3.2。在你经历了USB1.1、USB2.0以及USB3.0的更新迭代之后;在你绞尽脑汁弄明白了USB3.1中还分为USB3.1 Gen1和USB3.1 Gen2之后,USB3.2,它也来咯!
首先是大家最熟悉的USB 3.0,能提供5Gbps的传输速度,比USB 2.0的速度快上数倍,在实际设备应用中被称为“USB SuperSpeed”
直到USB-IF再度推出拥有10Gbps传输速度的USB 3.1,当时官方将USB 3.0改名为「USB 3.1 Gen 1」,而你们熟悉的「USB 3.1 Gen 2」就是传输速度能达到10Gbps的USB 3.1。
再到后来,传输速度达20Gbps的USB 3.2诞生,USB-IF又公布了新的命名规范,官方将现有的USB 3.0、USB3.1 一律改名为USB 3.2,并以Gen 1、Gen 2及Gen 2×2作区分。
具体是:将USB 3.0改名为「USB 3.2 Gen 1」、USB 3.1改名为「USB 3.2 Gen 2」,而将能够使用两个USB Type-C Rx/Tx 针脚的USB 3.2改名为「USB 3.2 Gen 2×2」。
来细细说一下USB 3.2,采用TYPE-C接口可以两面使用,传输速度能够提升至20Gbps,原生支持多通道,通道翻倍性能优势明显。至于为什么USB 3.2被叫做USB 3.2 Gen 2x2呢?原因是它使用了上下所有的数据针脚,让数据速度能够加倍。
参考:
1. USB通信接口介绍_千里沽山的博客-CSDN博客_usb通信
3. 百度安全验证
以上是关于USB介绍的主要内容,如果未能解决你的问题,请参考以下文章