USB2.0低速、全速高速的EOP结束包
2026-04-20
本文链接为:http://www.usbzh.com/article/detail-1610.html ,欢迎转载,转载请附上本文链接。
USB 2.0 的包结束符(End of Packet, EOP)在电气层面上是一个特定的总线状态序列,其具体实现在“低速/全速”与“高速”模式下有本质区别。
核心区别在于:
1. 低速与全速模式下的 EOP
这是 USB 1.x 定义的经典 EOP 结构,在 USB 2.0 规范中为了兼容性而被保留。
- 电气定义:发送端驱动 SE0(Single-Ended 0,即 D+ 和 D- 均为低电平)状态。
- 时序要求:SE0 状态必须维持 2 个位周期(Bit Times)的长度。
- 结束序列:在 2 个周期的 SE0 结束后,总线还需要切换为 J 状态(Idle 空闲状态)并维持 1 个位周期,随后总线恢复高阻态(由上下拉电阻维持空闲电平),标志整个包的传输结束。
波形示意(全速模式为例):
- 逻辑状态:数据结束 -> [SE0 维持 2 个位周期] -> [J 状态维持 1 个周期] -> Idle。
2. 高速模式下的 EOP
高速模式(480 Mbps)的信号机制与低速/全速完全不同,其 EOP 定义更为复杂。
- 电气定义:高速模式下总线空闲时为 SE0 状态(区别于低速/全速的 J 状态),因此不能单纯依靠 SE0 来标记结束。
- 协议机制:高速模式的 EOP 通常通过强制违反 NRZI 编码规则或特定的数据序列来实现。虽然在数据包层面仍称为 EOP,但在物理层上,它表现为一个精确时序控制下的差分信号结束序列。
- 数据包特点:高速模式的数据包(Packet)以 Sync(同步域,32 位)开始,以 EOP(8 位字节,但有个别例外如 SOF 后 EOP 可长达 4 字节)结束。对于软件开发人员而言,高速 EOP 的处理较为复杂,通常由硬件控制器自动完成。
普通包 EOP:1 字节 01111111
用于:
这些包短,所以 EOP 只需要 1 字节 就够:
0 1111111
- 开头 0 是为了 NRZI 跳变对齐
- 后面 7 个 1 → 触发位填充错误 → EOP
高速微帧 SOF 的 EOP:5 字节连续 1
用于:高速 Microframe SOF(微帧包)
USB2.0 高速 SOF 是一个较长、特殊的包,协议规定它的 EOP 不是 1 字节,而是5 字节的全1序列:
01111111 11111111 11111111 11111111 11111111
- 第 1 字节依然是
01111111 - 后面继续跟 4 字节全 1
- 总共一大串连续 1 → 依然是位填充错误
- 作用依然是:告诉接收器“包结束了”
为什么 SOF 要 5 字节?
因为高速 SOF 要同步整个总线、时序要求更严格,
需要更长、更明显的结束序列,仅此而已。
3. 总结对比表
| 特性 | 低速 (Low Speed) / 全速 (Full Speed) | 高速 (High Speed) |
|---|---|---|
| 传输速率 | 1.5 Mbps / 12 Mbps | 480 Mbps |
| EOP 关键特征 | SE0 (D+/D- 均为低电平) | 复杂的信号结束序列 (基于电流驱动与阻抗匹配) |
| EOP 持续时间 | 2 个位周期 (Bit Times) | 逻辑上的 1 个字节长度,物理时序极短 |
| 空闲状态 (Idle) | J 状态 (全速:D+高;低速:D-高) | SE0 状态 (D+/D- 均低) |
| 总线电压摆幅 | 约 3.3V (使用 1.5k 上拉电阻) | 约 400mV (使用 45 欧姆/22.5 欧姆阻抗匹配) |
4. 额外知识:高速模式是如何识别的?
高速设备并非一开始就使用高速 EOP。当一个高速设备插入 USB 2.0 主机时,它首先会被识别为全速设备(通过 D+ 线的 1.5k 上拉电阻)。
只有在主机发出 Reset 信号(SE0 持续 10ms 以上)后,设备与主机会通过 Chirp K 和 Chirp KJ 握手信号进行协商。协商成功后,双方才会断开上拉电阻并切换到高速模式(此时信号电压降至 400mV),并使用上述的高速 EOP 机制进行通信。
本文链接为:http://www.usbzh.com/article/detail-1610.html ,欢迎转载,转载请附上本文链接。
HID人机交互QQ群:564808376
UAC音频QQ群:218581009
UVC相机QQ群:331552032
BOT&UASP大容量存储QQ群:258159197
STC-USB单片机QQ群:315457461
USB技术交流QQ群2:580684376
USB技术交流QQ群:952873936 USB技术交流3:1031974172
USB2.0物理层的电信号





