USB3.0 Loopback抓包
2026-06-02
本文链接为:http://www.usbzh.com/article/detail-1683.html ,欢迎转载,转载请附上本文链接。
LoopBack配置
下面的SKP,Logical Idle和LoopBack Packets
- SKP:109-18886,1111-1887
- Logical Idle:103,108
- Loopback Packets:102,107

设备给主机:102=Burst批量突发传输→103=链路Idle空闲
主机给设备:107=Burst批量突发传输→108=链路Idle空闲
① 102:Burst突发传输(TP/Burst包簇)
Loopback模式下,PHY/控制器按预设Burst长度连发一串数据包:
- 由连续TP(Transaction Packet)拼接成一次Burst爆发,对应USB3数据包序列;
- 物理层持续发符号、链路处于活跃L0工作状态,无SKP填充长空闲。
② 103:链路Idle空闲期
一轮Burst发完后,控制器停止发包,进入链路空闲:
- 链路由有效数据切换为SKP有序集填充(USB3空闲填充码);
- 保持L0链路状态(Loopback一般不降功耗切L1/L2),仅空填充,对应抓包空闲帧103;
空闲时长由固件配置:Burst间隔周期(IPG,Inter-Packet Gap)决定。
2、补充Loopback特有细节
- Loopback包特征:收发同源(TX数据直接环回RX),Burst长度、空闲间隔是寄存器配置值,所以抓包呈现固定周期:Burst→Idle→Burst→Idle循环;
- 和普通IN/OUT批量传输区别:普通USB Bulk受主机调度、缓冲水位控制,Burst长度不规整;Loopback是硬件自主发包,分段边界整齐(102/103、107/108清晰切分);
- 链路状态:全程基本锁定L0,不会出现Link CMD切节电状态,空闲仅SKP填充。
3、快速校验小方法
- 统计102包总字节数 = 单次Burst配置长度;
- 统计103空闲时长 = IPG寄存器配置间隔;
两者和固件配置一致即可确认分段无误。
包统计
这两行是抓包软件按收发两个方向的总包计数:
890 packets:TX 发送总包(设备 PHY 往外发的包)
889 packets:RX 接收总包(线路收进来的包)
1、差 1 包的原因(Loopback 场景标配现象)
Loopback 是芯片 TX→片内环回→RX:
首轮 TX 先发 1 包,还没环回收到,RX 计数滞后 1;
抓包终止瞬间:最后一个 TX 包已经送出,但环回数据还没走完 PHY 链路、没被 RX 捕获,就出现 TX=890,RX=889。
USB3总线分析仪传输抓包分析





