文章目录
- 一、USB的三种速率及状态切换图
- 1. **附加(Attached)**
- 2. **供电(Powered)**
- 3. **复位(Reset)**
- 4. **地址设置(Addressed)**
- 5. **配置(Configured)**
- 6. **挂起(Suspended)**
- 状态转换示意:
- 额外说明:
- 状态说明:
- 二、USB如何区分是什么设备连接上来了?
- 1. **D+ 和 D- 的作用**
- 2. **上拉电阻的作用**
- **设备速率区分**
- 3. **主机如何检测设备速率**
- 4. **电平解释**
- 5. **设备检测过程的总结**
- 图示:
- 三、低速/全速信号电平,高速信号电平
一、USB的三种速率及状态切换图
USB(通用串行总线)根据传输速率分为三种主要的速率:
-
低速(Low-Speed, LS):
- 速率:1.5 Mbps(每秒1.5兆比特)
- 应用:主要用于低带宽设备,如键盘、鼠标等简单的外设。对于数据传输要求不高的设备,低速是比较合适的选择。
- 特点:功耗较低,数据传输速度较慢。
-
全速(Full-Speed, FS):
- 速率:12 Mbps(每秒12兆比特)
- 应用:常见于中等带宽要求的设备,如打印机、摄像头等设备。全速USB提供了比低速更快的数据传输能力。
- 特点:适合大多数外设,性能和功耗之间的平衡较好。
-
高速(High-Speed, HS):
- 速率:480 Mbps(每秒480兆比特)
- 应用:适用于高带宽设备,如外置硬盘、视频设备、音频接口等。高速USB大幅提升了数据传输的能力,能够满足较大数据量的传输需求。
- 特点:功耗相对较高,但数据传输速度大幅提高,常见于USB 2.0标准。
这三种速率体现了USB在不同场景下的灵活性,适用于从简单设备到复杂、高速传输设备的广泛应用场景。
USB(通用串行总线)设备在工作过程中,会经历一系列状态转换。这些状态帮助设备与主机(Host)协调通信,确保数据稳定传输。常见的USB状态转换如下:
1. 附加(Attached)
- 设备通过物理连接插入USB接口。
- 主机感知到设备插入,USB开始上电(Vbus检测),进入下一步。
2. 供电(Powered)
- 设备在物理连接的基础上获取电源。
- 设备可以通过USB的5V电源线获取电力,但尚未进行任何数据传输。
- 设备仅在此时获得供电,尚未进行任何初始化或通信。
3. 复位(Reset)
- 主机检测到新设备并发送复位信号(通过拉低数据线信号)。
- 复位阶段设备会重新初始化所有USB状态和端点配置。
- 复位后,设备准备与主机开始通信。
4. 地址设置(Addressed)
- 主机为设备分配一个唯一的USB地址(从复位后的状态进入地址设置)。
- 设备在此状态下具备通信能力,但未分配具体的功能或任务,不能进行正常的数据传输。
- 主机通过发送“Set Address”命令为设备分配地址。
5. 配置(Configured)
- 设备完成地址分配后,主机会请求设备描述符,了解设备的能力(例如端点、类驱动、功能等)。
- 设备被主机识别后,主机会发送“Set Configuration”命令,配置设备。
- 设备进入Configured状态后,开始正常工作,并能进行数据传输。
6. 挂起(Suspended)
- 如果主机长时间没有发起任何通信请求(通常超过3ms),设备会进入低功耗的挂起状态以节省电力。
- 在挂起状态下,设备仍保持连接但停止大部分功能,等待主机唤醒。
- 主机可以通过发送信号(如Resume信号)唤醒设备。
状态转换示意:
Attach↓Powered↓Reset↓Addressed↓
Configured ←→ Suspended
额外说明:
- Error Recovery(错误恢复):如果设备在数据传输过程中出现错误或主机发送复位信号,设备会返回Reset状态,重新初始化,进行错误恢复。
状态说明:
- Powered:设备已通电,但尚未初始化通信功能。
- Addressed:设备被主机识别,并分配了地址,但尚未配置完成。
- Configured:设备完成配置,可以正常通信。
- Suspended:设备进入低功耗模式,等待主机唤醒。
这些状态转换是USB设备和主机通信的基本流程,保证了设备的识别、配置、通信以及功耗管理。
二、USB如何区分是什么设备连接上来了?
USB 使用 D+ 和 D- 这两根数据线,并通过检测它们的电平和上拉电阻,来区分连接的设备类型和速率。USB协议规定了不同类型的设备和速率如何通过这两根数据线与主机通信。
1. D+ 和 D- 的作用
- D+ 和 D- 是USB数据传输的两根差分信号线,它们用于传递数据信号。
- USB设备通过在这两根线上的电平变化来表示数据。
- 主机通过检测设备在 D+ 和 D- 线上的初始状态,判断设备的类型和速率。
2. 上拉电阻的作用
每种USB速率的设备会在 D+ 或 D- 上使用上拉电阻(一般为1.5 kΩ)来区分设备的类型。通过这个上拉电阻的连接,主机可以在设备插入后自动识别设备的速率。
设备速率区分
-
低速设备(Low-Speed, LS):
- 在 D- 数据线上接入一个 1.5kΩ 的上拉电阻。
- 当主机检测到 D- 的电压被拉高到 Vbus 电平时,它就知道连接的设备是一个低速设备(1.5 Mbps)。
-
全速设备(Full-Speed, FS):
- 在 D+ 数据线上接入一个 1.5kΩ 的上拉电阻。
- 当主机检测到 D+ 的电压被拉高到 Vbus 电平时,它就知道连接的设备是一个全速设备(12 Mbps)。
-
高速设备(High-Speed, HS):
- 高速设备最初也是通过全速模式进行连接的,也就是说,初始时 D+ 线上有上拉电阻,表现为全速设备。
- 然后,主机会通过专门的握手信号(称为“高速握手”)来请求设备进入高速模式(480 Mbps)。
- 如果设备支持高速模式,它会响应主机的握手信号,并切换到高速模式。如果不支持高速模式,则继续以全速模式通信。
3. 主机如何检测设备速率
当设备插入USB接口时,主机通过以下几个步骤来检测设备的类型:
- 设备插入检测:主机监测到 D+ 或 D- 线上有电压变化,表明有设备连接。
- 识别上拉电阻:
- 主机通过监测哪一根线上有上拉电阻拉高来判断设备的速率:
- D+ 上拉电阻 → 全速设备。
- D- 上拉电阻 → 低速设备。
- 主机通过监测哪一根线上有上拉电阻拉高来判断设备的速率:
- 高速握手(仅适用于高速设备):如果是全速设备,主机会尝试发起高速握手信号,设备响应则进入高速模式。
4. 电平解释
USB协议使用以下两种电平:
- 差分信号:传输数据时,USB设备通过 D+ 和 D- 上的差分信号来发送数据,差分信号传输抗干扰能力强。
- 静态电平:主机根据D+和D-的数据线静态电平(即没有差分信号传输时的状态)来判断设备类型。例如,设备插入时上拉电阻造成的电压变化是静态电平的表现。
5. 设备检测过程的总结
- 当USB设备插入主机时,主机会检测 D+ 和 D- 线上是否有电压被拉高。
- 根据上拉电阻的连接位置,主机会确定设备是低速(D- 上拉)还是全速(D+ 上拉)设备。
- 如果是全速设备,主机会尝试与设备握手,询问其是否支持高速模式,进而决定是否切换到高速传输模式。
图示:
| D+ | D-
----------------+-----+-----
低速 (LS) | 0 | 1.5kΩ 上拉
全速 (FS) | 1.5kΩ 上拉 | 0
高速 (HS) | 1.5kΩ 上拉 | 0 (初始),后续握手切换
通过这种方式,USB能够自动识别连接设备的速率,并进行相应的配置。这种机制确保了设备和主机之间的正确通信,并最大化了USB的兼容性。
USB收发器电路:
三、低速/全速信号电平,高速信号电平
USB协议中的各种状态和信号电平定义了数据传输的机制和设备的行为。差分信号(D+ 和 D-)在线上的电平变化用于表示不同的状态,如逻辑0、1以及控制信号。
根据下图中的表格我们就可以知道USB在这几种状态的时候D+和D-分别表现的电平状态是什么了。
低速/全速信号电平:
高速信号电平