一,简介
在进行UAC2.0调试的过程中,使用USB monitor抓包工具抓取音频流数据出现数据错乱现象,本文对该问题进行分析记录。
二,问题记录及分析过程
2.1 先看下正常的抓包数据是什么样子:
从上图可以看出,USB主机发送一包后,等待约125us(USB 高速)后从机回复一包数据,大小均是48个字节。
2.2 再来看异常的数据是什么样的:
从上图可以看出,发送和接收不是一一对应的,并且还出现NAK(无回应)的情况。
2.3 问题分析
【分析思路】
虽然USBmonitor抓包数据出现异常,但是,与此同时用Audition录制得到的音频数据是正确的。所以怀疑是USB传输时波形质量差,导致USB monitor解析时识别有误,而电脑端口的USB波形识别容错率较大,能够把异常的波形识别出来。
【测试方法】
将板子USB接口重新加锡固定后,异常现象消失。
【结论】
USB monitor抓包异常,且电脑端Audition录制音频数据正确的原因为:硬件问题(USB接口焊接不良导致的音频信号质量差)。
【解决方法】
加固USB接口即可。
三,总结
本文主要记录了USB monitor使用过程中出现的抓包异常现象,供参考。欢迎小伙伴们一起讨论~~~