包间隔IPG
2026-05-06
本文链接为:http://www.usbzh.com/article/detail-1647.html ,欢迎转载,转载请附上本文链接。
IPG = Inter-Packet Gap(包间间隔),是USB协议里两个数据包之间必须保留的空闲时间/间隔字节,属于总线传输的强制开销,不是数据 payload。
1. 作用(为什么必须有IPG)
- 信号恢复:让收发器在两个包之间稳定电平、避免码间干扰(高速/全速都需要)。
- 总线反转:双向传输时(如IN→OUT),给设备/主机留出切换收发方向的时间。
- 时序合规:USB 2.0规范(§7.1.18.2)规定:
- 设备→主机:最小 8 bit 时间(=1字节)。
- 主机连续发:最小 88 bit 时间(≈11字节)。
2. 在USB开销里的定义
在Linux内核USB带宽计算(sched.h/uhci.h)里:
- IPG 固定按 1 字节(8 bit)算,是简化的经验值,不是协议精确值。
- 计入ISO/Interrupt事务的每包固定开销:
1字节 IPG = 包间间隔(总线空闲)
3. 和其他字段的关系(再对照一遍)
| 字段 | 大小 | 作用 |
|---|---|---|
| SYNC | 1字节 | 时钟同步 |
| PID | 1字节 | 包类型标识 |
| CRC16 | 2字节 | 校验 |
| EOP | 3bit | 包结束 |
| IPG | 1字节 | 包间空闲间隔(开销) |
4.总结
IPG就是两个USB包之间必须空出来的1字节“喘气时间”,用于信号稳定和总线切换,属于协议强制开销,所以内核带宽计算里必须算进去。
本文链接为:http://www.usbzh.com/article/detail-1647.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物理层的电信号





