太阳集团tcy8722

当前位置: 首页 >应用方案 >技术应用 >

USB2.0设备如何与主机建立连接教程

1、USB的诞生背景

USB未诞生之前,各种设备要连接到计算机上,都需要通过各自不同各类的接口。如键盘、鼠标使用PS/2接口;打/复印机使用DB-25并行端口;串口使用DE-9串行端口。而且以上接口大多不可热插拨,每次添加设备都需要重启计算机。一种易于使用、低成本、高传输速率、灵活协议、支持扩展的新总线诞生了,他就是USB总线——通用串行总线Universal Serial Bus)。

2、USB标准的发展演变史

USB通信传输协议的制定组织是USB-IF,成员有因特尔、微软、惠普、苹果等。从 1996 年的第一代 USB 1.0 开始到现在最新的 USB4,中间迭代了很多版本,也经历过多次改名。其标准主要包括以下几个版本,而本文的内容也是基于USB2.0的标准编写的。

A) USB1.0

B) USB2.0

C) USB3.0

D) USB3.1

E) USB3.2

F) USB4

3、USB总线的系统结构

USB系统分为两部分——USB主机、USB设备,当然还有他们之间的连接。结构如下图:

USB系统结构1

USB总线拓扑结构示意图如下:

USB总线拓扑结构示意图

USB2.0标准设备共分为两类:USB2.0全速设备(FULL SPEED)和USB2.0高速设备(HIGH SPEED),两者区别如下:

a、度:全速最高支持12Mbps、高速最高支持480Mbps;

b、上拉电阻:USB2.0标准为区分全速和高速设备,协议规定分别在D+D-上接一个1.5K的上拉电阻。其中,全速设备上拉电阻位于D+、高速设备位于D-;

USB2.0标准设备3

4、USB主机与从机建立连接的过程(枚举)如下:

设备插入(通过上拉电阻确定设备接入,且区分是全速设备还是高速设备)

主机供电

初始化设备

获取设备描述符

再复位

分配地址(以下操作使用新的设备地址)

再次获取设备描述符

获取配置描述符

获取字符串描述符

根据上面获取的配置,配置设备

配置完成即可开始通信

转换为以下更通俗易懂的过程:

当设备连上后:

主机:你是啥设备啊?

设备:0x12 0x01 0x00 0x02……设备描述符

主机:你都有些什么配置(功能)啊?

设备:0x09 0x02……配置描述符(包括接口描述符、端点描述符、功能描述符等)

(主机通过上一步所读取配置描述符,了解设备如项功能所使用的接口和端点)

主机:你有几个接口啊?

设备:0x09 0x04 0x00……接口描述符

主机:每个接口都用哪些端点啊?

设备:0x07 0x05 0x82……端点描述符

主机:我知道啦,那我们开始传输数据吧。

设备:好的。

至此,整个连接过程建立完成,主机设备间可以开始通信。

注意:USB连接以及通信过程中,所有通信发起者都是USB主机,设备只能被动响应。

4、枚举过程中各种描述符

各种描述符之间的关系图:

4各种描述符之间的关系图

设备描述符

5设备描述符

配置描述符

6设备描述符

接口描述符

7设备描述符

端点描述符

8端点描述符

字符串描述符

9字符串描述符

注:以上图片参考来自网络

今天的分享就到这里啦,太阳集团tcy8722人每一天都致力于更好的助力物联化、智能化、自动化的发展,提升资源利用率,更多产品更多资料,感兴趣的小伙伴可以登录我们的官网进行了解,还有客服小姐姐在线答疑哦!



太阳集团tcy8722