usb基础知识简介
- Usb集线器:其实就是 hub
- USB Hub:指的是一种可以将一个USB接口扩展为多个,并可以使这些接口同时使用的装置。
- USB Hub种类:USB2.0 HUB、USB3.0 HUB与USB3.1 HUB。
- USB Hub特点:仅仅能扩展出更多的接口,不能扩展带宽,带宽共享1个USB主控制器
- USB协议规定,在设备未配置之前,可以从VBUS上最多获取100mA的电流,在配置之后最多可以获取500mA的电流。
Usb通信协议和速度的关系
usb协议类型 | 通信速度 |
1.0 | 1.5Mbps |
1.1 | 12Mbps |
2.0全速 | 12Mbps |
2.0高速 | 480Mbps |
3.0 | 5Gbps |
usb设备功能的确定
Usb主控制器,根据设备在枚举时的描述符信息,来确定设备的功能,加载对应的设备驱动程序
USB描述符的种类:
- 设备描述符
- 配置描述符
- 接口描述符
- 端点描述符
- 字符串描述符
usb数据传输
Usb在总线上的传输的最基本单位是包,但是用户不能随意的使用包来传输数据,必须按照一定的关系把这些不同的包组织成事务才能传输。所以USB一次通信的过程是事务。
主机和设备实现完整的1次通信,可以是1次事务(批量,中断,同步),也可以是多次事务(控制传输)。
通信包又是有很多域构成。
他们之间的包含关系如下:
传输-〉事务-〉包-〉域
以控制传输为例:获取设备描述符是通过控制传输实现,见下图
获取设备描述符控制传输(通过3个事务来完成):
建立过程事务
- 令牌包:setup
- 数据包:DATA0;8字节的设备标准请求
- 握手包
数据过程事务
- 令牌包:In
- 数据包:DATA0;主机给设备发送数据
- 握手包
状态过程事务
- 令牌包:out
- 数据包:DATA0;主机给设备发送数据
- 握手包