客户在使用CYUSB3304的过程中发现了一些问题。
当一个USB3.0设备在拔掉的过程中,晃动幅度过大,歪斜着拔出来,有时会造成以下现象:
再插入另一个USB2.0设备时会报错,或是没有反应。
用示波器看D+D-,有拉高,但是没有握手信号。
断电重启可恢复,对CYUSB3304复位,可恢复。
实验发现:
将 RXN 和 RXP 短路会造成以上现象。
在短路的过程中,如果接口上插上的是USB2.0设备,那么短路后,反复插拔USB2.0设备,可以识别,USB3.0设备不能识别。
在短路的过程中,如果接口上插上的是USB3.0设备,那么短路后,反复插拔USB3.0设备,可以识别,USB2.0设备不能识别
直接使用CPU的USB3.0接口没有这个现象。
已解决! 转到解答。
只提供个方向吧
这种对 unexpected behavior 的处理,需要首先抓一下 USB 通信的协议包,明确 USB HUB 本身和 几个下行口的状态,
有些状态可能需要外部电路的辅助恢复。
将 RXN 和 RXP 短路会造成以上现象。
在短路的过程中,如果接口上插上的是USB2.0设备,那么短路后,反复插拔USB2.0设备,可以识别,USB3.0设备不能识别。
在短路的过程中,如果接口上插上的是USB3.0设备,那么短路后,反复插拔USB3.0设备,可以识别,USB2.0设备不能识别
用RXN 和 RXP 短路来模拟慢插拔,就会有以上的问题,RXN 和 RXP 是起到什么作用?
短路TXN和TXP就不会有不能识别的现象。
如字面意思,RXN和RXP是SuperSpeed receive minus和SuperSpeed receive plus
即使是短路,也只是一瞬间的问题,这两个脚在硬件上短路的情况下插入USB设备识别有问题我觉得并不是什么问题。
并且USB插座的这个设计也是保证了在完全插入的情况下,RXN和RXP是不可能短在一起的。
就算是某次插入造成了短路,你们完全拔出来(也就是清除短路)再插进去还会有问题吗?我这里没有办法复现你们所说的问题
就算是某次插入造成了短路,你们完全拔出来(也就是清除短路)再插进去还会有问题吗?
是的,还是有问题,只要短路过,USB2.0的握手信号就出不来。
如我之前所说,我们的板子没有这个现象
你说的这些操作异常的现象,是在 客户自己画的 板子上测试的吗?
是的。。。客户上行口直接接的板子上的CPU
是的,客户的板子上
发自我的iphone
只提供个方向吧
这种对 unexpected behavior 的处理,需要首先抓一下 USB 通信的协议包,明确 USB HUB 本身和 几个下行口的状态,
有些状态可能需要外部电路的辅助恢复。