我现在做的一个项目出现这样一个情况,在我们的板子上通过USB总线接了一个USB接口的wifi模块,运行一段时间后(大概5分钟到半小时),就会出现wifi模块不再工作的情况,通过使用USB协议分析仪发现出现问题的时候USB总线上只有SOF帧,没有任何其他USB协议报文,看起来就像是EHCI控制器不再往device发数据了。但是通过插拔wifi模块,CPU的EHCI控制器能够检测到设备断开,再插入wifi模块,软件也能重新加载USB wifi模块;另外,如果通过软件写EHCI的port状态控制器的复位bit,也可以让EHCI控制器重新加载wifi模块,从这两个实验,我们怀疑CPU这边的USB host应该没有出现异常,而是device出现了问题(wifi模块挂死了?),我们同时也换过其他品牌的WIFI 模块,也有类似现象。
这个问题,我们怀疑过USB的电压、电流,但用示波器抓了出问题的瞬间,都没有发现异常,现在也有点怀疑是USB总线上出现干扰导致USB 设备suspend了,但这个还没有证实。
请问,论坛上有碰到类似问题的人吗?
谢谢 |