首页 > 技术知识 > 正文

为什么USB3.0口过流保护芯片去掉,会导致某些 USB3.0 U盘上电启动不识别

USB3.0口去掉过流保护芯片,发现一款台电科技的USB3.0的U盘插着上电后,不能被识别。造成这个问题的原因是控制器处于USB3.0的时间太短,USB3.0的U盘还未初始化完全导致识别失败

图USB3.0 U盘启动识别流程 海思USB3.0设计注意事项

去掉过流保护芯片的USB3.0控制器,会先进入USB2.0状态,再reset后进入USB3.0状态。这样,控制器处于USB3.0状态的时间T2远远小于有过流保护芯片直接进入USB3.0状态的时间T1,导致u盘的状态还没有准备好,最终host端发送命令失败。解决方法是在drivers/usb/core/hub.c文件中将HUB_ROOT_RESET_TIME的值延长为100即可:

#define HUB_ROOT_RESET_TIME 100;

猜你喜欢