Part Number:TUSB4041I
你好,
我们在板上用了TUSB4041I USB HUB芯片,发现有以下异常:
1. 主机端能正常检测到该USB HUB 设备
2. 如果USB HUB 下游端口没有接入任何设备时,以后下游端口再接入USB 设备,主机端都无法检测到这个设备
3. 如果USB HUB 在上电的时候下游端口已经有接入一个USB 设备,主机端能检测到这个设备,以后下游端口再接入其他USB 设备,主机端也能检测到这个设备。
麻烦帮忙看看这个问题,谢谢!
Kailyn Chen:
您好,GRSTz引脚是怎么接的, 此引脚需要接1uF电容到地即可,不需要上拉。
另外,上电时序是否满足Figure1 的上电时序?
,
c z:
感谢回复!
我们检查了GRSTz引脚是接1uf 电容到地,上电时序也没有问题,电路图如下。很奇怪的是,如果usb hub 下游端口没有设备的时候才出现异常,如果带着一个设备上电,就正常,但是期间要是没有设备了,也会异常,不止在上电的时候。
谢谢!
,
Kailyn Chen:
您好, 应该是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.
,
c z:
你好,
我们确定了是hub进入suspend状态导致的,在系统里禁用了USB suspend 就正常了。考虑下功耗问题,我们也希望能用到hub suspend 功能。 请问这个 suspend问题是什么导致的?是驱动问题吗?TI 有没有驱动提供?我们是Linux 4.19系统。
谢谢!
,
Kailyn Chen:
您好,suspend是USB协议规定的,如果在主机识别到USB device之后100ms之内没有响应主机, 那么hub会进入suspend状态.
另外, TUSB4041 符合USB协议规范,所以Linux内核的HUB驱动程序会自动加载进去, HUB的驱动程序适合所有的HUB器件,所以TUSB4041不需要专门的驱动.
,
c z:
明白,多谢!