This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

TUSB4041I: 下游设备检测异常

Part Number: TUSB4041I

你好,

我们在板上用了TUSB4041I USB HUB芯片,发现有以下异常:

1. 主机端能正常检测到该USB HUB 设备

2. 如果USB HUB 下游端口没有接入任何设备时,以后下游端口再接入USB 设备,主机端都无法检测到这个设备

3. 如果USB HUB 在上电的时候下游端口已经有接入一个USB 设备,主机端能检测到这个设备,以后下游端口再接入其他USB 设备,主机端也能检测到这个设备。

麻烦帮忙看看这个问题,谢谢!

  • 您好,GRSTz引脚是怎么接的, 此引脚需要接1uF电容到地即可,不需要上拉。

    另外,上电时序是否满足Figure1 的上电时序? 

  • 感谢回复!

    我们检查了GRSTz引脚是接1uf 电容到地,上电时序也没有问题,电路图如下。
    很奇怪的是,如果usb hub 下游端口没有设备的时候才出现异常,如果带着一个设备上电,就正常,但是期间要是没有设备了,也会异常,不止在上电的时候。

    谢谢!

  • 您好, 应该是HUB进入suspend状态,根据USB 协议规定,如果主机检测到USB device之后, 需要100ms之内响应主机,比如进行数据传输.

    如果在100ms之内没有做出响应, HUB会自动进入suspend状态,导致主机无法识别到.

    您可以做以下验证, Pin13引脚定义如下,我看您电路是直接下拉的, 这样的话这个引脚使用的是enable auto charging功能. 我们现在使用它作为输出引脚, 来监测HUB的是否处于suspend状态, 配置寄存器 Additional Feature Configuration Register bit4=1, enable HUB在SS, HS的supend状态然后观察Pin13的引脚是否为高电平? 因为目前的最新版本datasheet我们可以看到Additional Feature Configuration Register bit4 为RSVD, 可能是打印有误,但是这个bit4的功能是enable 或disable output suspend.  

  • 你好,

    我们确定了是hub进入suspend状态导致的,在系统里禁用了USB  suspend 就正常了。考虑下功耗问题,我们也希望能用到hub  suspend 功能。 请问这个 suspend问题是什么导致的?是驱动问题吗?TI 有没有驱动提供?我们是Linux 4.19系统。

    谢谢!

  • 您好,suspend是USB协议规定的,如果在主机识别到USB device之后100ms之内没有响应主机, 那么hub会进入suspend状态.

    另外, TUSB4041 符合USB协议规范,所以Linux内核的HUB驱动程序会自动加载进去, HUB的驱动程序适合所有的HUB器件,所以TUSB4041不需要专门的驱动.

  • 明白,多谢!