您好,请教一个问题:关于TUSB9261这个芯片,在我们的设计中,我需要知道连接的信号是USB2.0还是USB3.0,所以使用的固件版本是v1.03。 但是在应用中,会出现概率性的连接失败,能否说说芯片检测连接的方式和过程,以及判断的依据。 以便我分析USB主机的问题或USB枚举过程中的哪个步骤异常。目前我们是通过读取GPIO的高低电平来判断USB是否已经识别成功,但是我们不知道你们这边判断USB是否识别成功的依据是什么?我们现在需要分析,非常希望你们可以帮忙解答。
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.
您好,请教一个问题:关于TUSB9261这个芯片,在我们的设计中,我需要知道连接的信号是USB2.0还是USB3.0,所以使用的固件版本是v1.03。 但是在应用中,会出现概率性的连接失败,能否说说芯片检测连接的方式和过程,以及判断的依据。 以便我分析USB主机的问题或USB枚举过程中的哪个步骤异常。目前我们是通过读取GPIO的高低电平来判断USB是否已经识别成功,但是我们不知道你们这边判断USB是否识别成功的依据是什么?我们现在需要分析,非常希望你们可以帮忙解答。
您好,判断是USB2.0还是3.0是上位机来控制的,比如PC和TUSB9261连接,如果PC的USB接口是USB3.0,那么TUSB9261的USB连接就是3.0的,如果PC的USB 接口是2.0的,那么TUSB9261的USB连接的就是2.0的。
抱歉可能我描述得不是很准确,我想问的是我们目前是通过读取GPIO7的高低电平来判断USB3.0信号是否识别到,这个GPIO的状态是TUSB9261固件内部去切换的,我想知道这个内部的判断识别成功与否的依据是什么?
您好,是的,GPIO7 可以监测是否或判断USB3.0的连接。
我看到英文E2E上有一个和您相同的帖子,美国工程师也已经给出详细回复,您可以参考下:
https://e2e.ti.com/support/interface-group/interface/f/interface-forum/1022434/tusb9261-how-to-detect-the-connection-between-usb2-0-and-usb3-0/3780675#3780675
我们在切换到USB3.0检测的时候,TUSB9261的debug UART口输出的信息如下,请问这些log信息怎么解读?能大致跟我们说下吗?或者有什么文档描述可以参考吗?谢谢。
========================================================
|| TUSB926x Firmware v1.03 [Sep 13 2013 17:02:30] ||
|| Device ID: 0x0000 ||
========================================================
Reset Flag(s): [Power-Up]
[0000000001] Datapath RAM Usage: 80208 / 81920 bytes.
[0000000001] Supported NCQ Depth: 32
[0000000001] U1/U2 Transistions: OFF
[0000000001] USB PHY Suspend: ON
[0000000001] SATA LPM: OFF
[0000000001] Device is Self-powered.
[0000000001] -> usb_hal_init()
[0000000001] USB Core Ver: 0x120a.
[0000000001] USB SSC is OFF.
[0000000051] -> usb_hal_connect()
[0000000051[0000000051] LTSSM state = (0x5) RX DETECT.
] -> ahci_init()
[0000000051] -> ahci_hba_reset()
[0000000065] USB Reset event occurred.
[0000000065] LTSSM state = (0x7) POLLING.
[0000000078] Connected at SUPER speed.
[0000000191] -> usb_hal_set_address() - addr: 0x1.
[0000000306] -> ahci_wait_complete() timed out! Rd: 0xfb000128 = 0x00000000, cmplt_val = 0x00000003.
[0000000306] -> ahci_port_reset(0)
[0000000361] -> ahci_wait_complete() timed out! Rd: 0xfb000128 = 0x00000000, cmplt_val = 0x00000003.
[0000000361] -> ahci_port_reset(0)
[0000000416] -> ahci_wait_complete() timed out! Rd: 0xfb000128 = 0x00000000, cmplt_val = 0x00000003.
[0000000416] -> ahci_port_reset(0)
[0000000471] -> ahci_wait_complete() timed out! Rd: 0xfb000128 = 0x00000000, cmplt_val = 0x00000003.
[0000000471] -> ahci_port_reset(0)
[0000000526] -> ahci_wait_complete() timed out! Rd: 0xfb000128 = 0x00000000, cmplt_val = 0x00000003.
[0000000526] -> ahci_port_reset(0)
[0000000581] -> ahci_wait_complete() timed out! Rd: 0xfb000128 = 0x00000000, cmplt_val = 0x00000003.
[0000000581] -> ahci_port_reset(0)
[0000000636] -> ahci_wait_complete() timed out! Rd: 0xfb000128 = 0x00000000, cmplt_val = 0x00000003.
[0000000636] -> ahci_port_reset(0)
[0000000691] -> ahci_wait_complete() timed out! Rd: 0xfb000128 = 0x00000000, cmplt_val = 0x00000003.
[0000000691] -> ahci_port_reset(0)
[0000000698] -> handle_usb_set_configuration() - val = 1.
[0000000704] -> handle_usb_set_interface() - num = 0, alt = 1.
[0000000704] -> ums_uas_reset()
[0000000746] -> ahci_wait_complete() timed out! Rd: 0xfb000128 = 0x00000000, cmplt_val = 0x00000003.
[0000000746] -> ahci_port_reset(0)
[0000000801] -> ahci_wait_complete() timed out! Rd: 0xfb000128 = 0x00000000, cmplt_val = 0x00000003.
[0000000801] -> ahci_port_reset(0)
[0000000856] -> ahci_wait_complete() timed out! Rd: 0xfb000128 = 0x00000000, cmplt_val = 0x00000003.
[0000000856] -> ahci_port_reset(0)
[0000000911] -> ahci_wait_complete() timed out! Rd: 0xfb000128 = 0x00000000, cmplt_val = 0x00000003.
[0000000911] -> ahci_port_reset(0)
[0000000966] -> ahci_wait_complete() timed out! Rd: 0xfb000128 = 0x00000000, cmplt_val = 0x00000003.
[0000000966] -> ahci_port_reset(0)
[0000001021] -> ahci_wait_complete() timed out! Rd: 0xfb000128 = 0x00000000, cmplt_val = 0x00000003.
[0000001271] -> ahci_wait_complete() timed out! Rd: 0xfb000128 = 0x00000000, cmplt_val = 0x00000003.
[0000001271] -> ahci_port_reset(0)
[0000001326] -> ahci_wait_complete() timed out! Rd: 0xfb000128 = 0x00000000, cmplt_val = 0x00000003.
[0000001326] -> ahci_port_reset(0)
[0000001381] -> ahci_wait_complete() timed out! Rd: 0xfb000128 = 0x00000000, cmplt_val = 0x00000003.
[0000001381] -> ahci_port_reset(0)
[0000001436] -> ahci_wait_complete() timed out! Rd: 0xfb000128 = 0x00000000, cmplt_val = 0x00000003.
[0000001436] -> ahci_port_reset(0)
[0000001491] -> ahci_wait_complete() timed out! Rd: 0xfb000128 = 0x00000000, cmplt_val = 0x00000003.
[0000001491] -> ahci_port_reset(0)
[0000001546] -> ahci_wait_complete() timed out! Rd: 0xfb000128 = 0x00000000, cmplt_val = 0x00000003.
[0000001546] -> ahci_port_reset(0)
[0000001601] -> ahci_wait_complete() timed out! Rd: 0xfb000128 = 0x00000000, cmplt_val = 0x00000003.
[0000001601] -> ahci_port_reset(0)
[0000001656] -> ahci_wait_complete() timed out! Rd: 0xfb000128 = 0x00000000, cmplt_val = 0x00000003.
[0000001656] -> ahci_port_reset(0)
[0000001711] -> ahci_wait_complete() timed out! Rd: 0xfb000128 = 0x00000000, cmplt_val = 0x00000003.
[0000001711] -> ahci_port_reset(0)
[0000001766] -> ahci_wait_complete() timed out! Rd: 0xfb000128 = 0x00000000, cmplt_val = 0x00000003.
[0000001766] -> ahci_port_reset(0)
[0000001821] -> ahci_wait_complete() timed out! Rd: 0xfb000128 = 0x00000000, cmplt_val = 0x00000003.
[0000001821] -> ahci_port_reset(0)
[0000001876] -> ahci_wait_complete() timed out! Rd: 0xfb000128 = 0x00000000, cmplt_val = 0x00000003.
[0000001876] -> ahci_port_reset(0)
[0000001931] -> ahci_wait_complete() timed out! Rd: 0xfb000128 = 0x00000000, cmplt_val = 0x00000003.
[0000001931] -> ahci_port_reset(0)
[0000001986] -> ahci_wait_complete() timed out! Rd: 0xfb000128 = 0x00000000, cmplt_val = 0x00000003.
[0000002236] -> ahci_wait_complete() timed out! Rd: 0xfb000128 = 0x00000000, cmplt_val = 0x00000003.
[0000002236] @Error: Timeout waiting for PHY Ready. P0SSTS = 0x00000000, P0SERR = 0x00000000.
[0000002236] -> ums_uas_init_queue_depth() - 32.
[0000002236] Connected to[0000002236] -> ums_uas_send_sense_iu() - cmd_index = 0, status = 0x02, tag = 0x1f, CDB[0] = 0x00, retry = N.
0 AHCI device(s).
[0000002239] -> ums_uas_send_sense_iu() - cmd_index = 11, status = 0x02, tag = 0x1f, CDB[0] = 0x00, retry = N.
抱歉回复晚了,在您提供的debug信息中,其中已经有提示connected at super speed 说明USB3.0 link成功了.
