链路管理包
2026-06-01
本文链接为:http://www.usbzh.com/article/detail-1676.html ,欢迎转载,转载请附上本文链接。
LMP(Link Management Packet) 是USB 3.0协议栈链路层定义的一种特殊数据包,用于管理两个直连端口之间的链路状态,不携带任何有效载荷数据。
- 链路管理包不携带任何数据,故不会进入事务层。
- 链路管理包不携带地址信息,因此也不会能被路由(LMP 根本不会“跨集线器传播”),它被严格限制在两点之间的一小段链路(主机↔Hub 或 Hub↔Device)。
链路管理包结构
由于Type字段的Bit0~4表示类型,其Bit5~8表示子类型
| Value | Type of LMP (英文) | 中文名称 | 功能说明 |
|---|---|---|---|
| 0000b | Reserved | 保留 | 未使用,预留未来扩展 |
| 0001b | Set Link Function | 设置链路功能 | 配置或启用链路层的特定功能(如U1/U2使能) |
| 0010b | U2 Inactivity Timeout | U2不活动超时 | 协商链路进入U2状态前的空闲等待时间 |
| 0011b | Vendor Device Test | 厂商设备测试 | 进入供应商自定义的测试模式(工厂/调试用) |
| 0100b | Port Capability | 端口能力 | 查询或报告端口的支持能力(速度、功能等) |
| 0101b | Port Configuration | 端口配置 | 配置端口的运行参数(如链路速度、方向) |
| 0110b | Port Configuration Response | 端口配置响应 | 对Port Configuration LMP的应答,确认配置结果 |
| 0111b | Precision Time Management | 精准时间管理 | 时间戳同步,用于端到端延迟测量和时钟对齐 |
| 1000b-1111b | Reserved | 保留 | 未使用,预留未来扩展 |
链路管理包的功能
1.链路设备电源管理
LGO_U作用:主机通知设备即将进入指定的低功耗状态。
| LMP类型 | 含义 | 行为 |
|---|---|---|
| LGO_U1 | 准备进入U1 | 链路将进入浅睡眠,快速唤醒 |
| LGO_U2 | 准备进入U2 | 链路将进入深睡眠,更低功耗但唤醒慢 |
| LGO_U3 | 准备进入U3 | 链路将进入挂起状态,功耗极低 |
LAU和LXU作用:设备对LGO命令的响应确认。
- 设备收到LGO_U1/U2后,回复LAU表示可以进入
- 设备收到LGO_U1/U2后,回复LXU表示拒绝进入
- LMMA与LGO_U[x]、LAU握手配合,保证链路两端同时进入相同的电源状态。
工作流程:
- 主机发送LGO_Ux命令
- 设备端回应LAX表示同意,回应LXU表示拒绝
- 如果设备同意,主机发送LMMA确保电源状态同步
LGO_U1
LGO_U2
LGO_U3
以让某个设备进入U2/U3为例(U1类似):
- 主机软件层构造一个标准SET_FEATURE请求(事务层包,包含目标设备的地址)
- 该包经主机Controller → Hub(事务层包可以路由穿越Hub)
- Hub解析到这个包:
- 确认目标是某个下游端口上的设备
- Hub自己决定向该端口发送LMP(LGO_U2/U3)
- Hub收到下游设备的LAU应答后
- Hub再向主机返回事务层的状态包(告诉主机:已进入U2/U3)
2. U2 Inactivity Timeout (0010b) — U2不活动超时
用途:协商链路在U1空闲多久后自动进入U2状态。
为什么需要:
- U1的进入超时通常较短(微秒级)
- U2的进入超时可以配置得更长(毫秒级),避免频繁进出U2导致延迟惩罚
格式示意:
| 字段 | 内容 |
|---|---|
| LMP Type | 0010b |
| Timeout Value | 超时阈值(单位通常为微秒或毫秒) |
主机可以发送这个LMP来告知设备:”如果链路上没有数据传输超过X时间,我们就进U2。”
3. Vendor Device Test (0011b) — 厂商设备测试
用途:让设备进入供应商自定义的测试模式。
使用场景:
- 芯片量产测试:快速验证PHY功能
- 故障调试:进入特定内部状态,输出诊断信息
- 合规性预测试:在送USB-IF认证前,厂商自己先用专有模式测一遍
特点:
- 功能由厂商自定义(USB规范不规定具体行为)
- 通常只在开发/调试/生产阶段使用,正常用户不会遇到
类比:手机的”工程模式”(拨号输入##4636##)
4. Port Capability (0100b) — 端口能力
用途:查询(或报告)端口的支持能力。
- LinkSpeed
- Num HP Buffers

5. Port Configuration (0101b) — 端口配置
用途:配置端口的运行参数。
- LinkSpeed

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
USB3.2超高速协议规范





