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.

TUSB8020B: TUSB8020B USB2.0 No plug and play

Part Number: TUSB8020B
Other Parts Discussed in Thread: , TUSB8041

Tool/software:

I have USB2.0 and USB3.0 resources connected to the upstream port of the TUSB8020B.

 

(USB2.0 is connected using the ULPI transceiver USB3320C.)

 

In this case, USB2.0 communication is not established, so I would like some advice.

 

<When USB2.0 communication is OK>

 

When the system and HUB are started with a USB2.0 device connected.

When the USB3.0 resource of the upstream port is disabled and only USB2.0 is enabled.

 

<When USB2.0 communication is not possible> (Enable USB3.0 resource of upstream port)

 

When a USB2.0 device is connected after starting the HUB.

When the HUB is started with a USB2.0 device connected and communication is established then the USB2.0 device is unplugged and plugged back in.

 

The circuit is exactly as the reference circuit and I don't think there's any problem with it, but only GRSTZ is different. (In the reference circuit, only a 1uF capacitor has been added.)

 

My circuit takes the AND of the power-on reset (100msec or more) after the hardware is powered on and the reset by the processor (5msec), and connects it to GRSTZ.

 

In other words, after the 100msec power-on reset is released, the processor generates a 5msec reset pulse.

 

Is it possible that this is causing a problem?

 

USB 3.0 works without any problems.

 

If USB2.0 is not working, the USB2.0 communication waveforms (D+, D-) will not be observed on either the upstream or downstream side.

 

Since USB2.0 devices are HS/FS, D+ will be High and D- will be Low immediately after connection.

 

This problem may be similar to the thread "TUSB8020B-Q1: unable to enumerate devices with usb 2.0 when the divice is inserted into dowmstream of tusb8020".

 

Thank you in advance.

  • Hi  Toshihiko:

          For hub upstream port, both USB3 and USB2 should be connected.

         Can you just  connect USB2 soruce  to the hub and see if USB2 can be connected?

        If USB3 can be connected, then power sequence  should not be the problem.

    Regards

    brian

  • The upstream side is connected to the processor on the same board.

    I can enable/disable USB3.0 on the processor.

    <When USB3.0 is disabled>

    USB2.0 can be used without any problems and plug-and-play is possible.

    <When USB3.0 is enabled>

    USB2.0 works if it is started with the device connected, but it does not work if it is started with the device disconnected or if it is disconnected once. USB3.0 works without any problems.

    The datasheet says that GRSTZ should be kept at L level for 3 msec or more after VDD rises, but if a reset is applied during operation, how many msec of L level period is required? Is 3 msec or more sufficient?

    Thank you.

  • Can you send schematic for review?

    Best

    Brian

  • Due to our company regulations, we cannot send you a circuit diagram.

    Could you please answer the following?

    If a reset is applied during operation, how many msec should the L level period be? Would 3 msec or more be sufficient?

  • 3ms should be enough for  a reset  applied during operation,\

    Best

    Brian

  • Hello

    I have an additional question.

    Pin 4: PWRCTL1/BATEN1
    Pin 6: PWRCTL2/BATEN2

    These are not used and are left unconnected.

    These pins are PD, so if they are open, they are at L level, which means "0 = Battery charging not supported".

    Does this affect USB2.0 plug and play?

    Would it be better to set it to "1 = Battery charging supported"?

    By the way, the upstream connection is on-board, so it will not be interrupted.

    Thank you.

  • Hi  Toshihiko::

          PWRCTLx is to control downstream port, it should not affect upstream port  connection.

       Is this windoiws system or Linux system?

         Since host USB3 and USB2 is not from same port, they may not connected to  hub upstream   at same time.

       Can you send schematic for review?

    Best

    Brian

  • My circuit is a Linux system.

    When I was researching why USB2.0 plug and play was not possible, I learned something about the operation of the upstream side of the HUB.

    When I connected a USB2.0 device to the downstream side of the HUB, I found that a transaction occurs once in the ULPI data of the ULPI transceiver of the upstream USB2.0.

    I do not know much about this one transaction.

    After that, when I unplugged and plugged in the USB device, the transaction never occurred again.

    In other words, the moment I connected a USB2.0 device, the HUB detected the USB2.0 device, and it seems to have caused a change in the communication line (D+/D-) of the upstream USB2.0, causing a transaction of the ULPI transceiver.

    In other words, the problem may be with the upstream ULPI transceiver or the Linux system.

    Do you have any advice on this?

    Thank you.

  • Hi  Toshihiko::

       How  is USB_VBus pin oh Hub connected to? Always to  5v?

    Best

    brian

  • I don't think there will be any problems because the USB_VBus pin always inputs +5V, which is divided by 90.9k and 10k resistors.

  • Hi  Toshihiko:::

         Are there an USB port can be connected to external  hub?

        or can you monitor upstream DP/DM signal  when both USB3  and USB2 are connected.

           also monitor upstream DP/DM signal  when only USB2 is connected.

    Best

    Brian

  • Are there an USB port can be connected to external hub?

    I don't really understand this question.

    The upstream DP/DM signal was monitored when both USB3 and USB2 were connected.

    When a USB2.0 device is changed from "not connected" to "connected"

     Downstream port
       DP/DM    L/L → H/L

     Upstream port
       DP/DM    L/L → L/L

    Naturally, the DP of the downstream port changes from L to H.

    However, the DP of the upstream port does not change.

    This may be because the DP on the upstream side indicates that the HUB is USB2.0, so it may not be a problem.

    One thing I don't understand is that when a USB2.0 device is changed from "not connected" to "connected", the ULPI data of the ULPI transceiver connected to the previous stage changes even though the DP/DM of the upstream port does not change.

    The ULPI transceiver and HUB are connected only by DP/DM. How can the ULPI transceiver react when the DP/DM doesn't change?

    Also, the ULPI transceiver can only react once, right after going from "unconnected to connected", and it doesn't react after that.

    I can't provide a schematic on this forum, but would it be possible to email one to you directly?
    (If you let me know your email address, I might be able to send it to you.)

    Thanks.

  • Are there an USB port can be connected to external hub?

    I don't really understand this question.

    I mean if there is  an USB connector on the same board  so that you can plug an external USB hub to check if if USB2 and USB3 can be connected at the same time. I suspect the  Linux hub driver may have issue.

    Can you take waveform on hub upstream DP/DM when both USB3 and USB2 are connected  vs  only USB2 is connected when the board is power up.

    Best

    Brian

  • any update?

  • Hi Brian

    I'll tell you what I've confirmed.

    ① OK
    Connect an external hub and start the system with a USB2.0 and USB3.0 device connected to the downstream port of the external hub. 

    In that case, I found that the downstream side of the external hub can be plug-and-played with both USB2.0 and USB3.0.

    The DP/DM of the up port of the hub will initially be H(3V)/L(0V), and then communication will begin.

    ② OK
    Connect an external hub and start the system.

    (USB2.0 and USB3.0 devices are not yet connected to the downstream port of the external hub)

    The DP/DM of the up port of the hub will initially be H(3V)/L(0V), and then DP/DM will be H(0V)/L(0V) only once, but will remain H(3V)/L(0V) after that. Communication will not begin.

    After that, I found that plug and play is possible for both USB 2.0 and USB 3.0 devices when connected to the down port of the external hub.

    The DP/DM of the up port of the hub starts communication when USB 2.0 is connected.

    3. NG
    Start the system without connecting the external hub.

    The DP/DM of the up port of the hub will initially be H(3V)/L(0V), then it will be H(0V)/L(0V) only once, but will remain H(3V)/L(0V) after that. Communication will not start.

    After that, plug and play is still not possible for USB 2.0 and USB 3.0 devices when connected to the down port of the external hub.

    The DP/DM will initially remain H(3V)/L(0V).

    Thank you.

  • Hi  Toshihiko:

        Can we have a call  to  discuss the issue?

    Best

    Brian

  • Hello Brian

    I can only speak Japanese, so I can't make a phone call.

    Is there anything you're concerned about regarding this issue?

    Thank you.

  • Hi  Toshihiko:

       

    Connect an external hub and start the system

    the external hub mentioned above is not TUSB8020B, right?

    the external hub mentioned above is connected TUSB8020B downstream port or the other USB port from the system?

     It's better to  take a picture of waveform for above experiment.

    Best

    Brian

  • Hello Brian

    The external hub is not a TUSB8020B, but a general USB hub available on the market.

    The external hub is connected to the downstream port of the TUSB8020B, and is not connected to any other USB ports on the system.

    By the way, what do you mean by other USB ports on the system?
    My system only has USB ports using the TUSB8020B.

    I also found something new.

    If you start the system without connecting a USB2.0 to the downstream port of the hub, the USB2.0 connection cannot be recognized even if you connect a USB2.0 to the downstream port after that. (This is a phenomenon that has been reported before.)

    However, I found that the USB2.0 can be recognized the moment the GRSTZ of the TUSB8020B is reset and released when the USB2.0 is connected and not recognized.

    Does this mean that there is a problem with the way the reset is applied when the power is turned on?

    Should I try to extend the reset period from 3msec or more?

    On a different note, I would like to ask about the circuit diagram on page 9 of the "User's Guide" for the "TUSB8020BPHP REVA Evaluation Module" (SLLU196-March 2014).
    The resistance value of R6 connected to USB_R1 (pin 24) is listed as 9.09K, but the datasheet specifies 9.53K.
    Is the circuit diagram for the "TUSB8020BPHP REVA Evaluation Module" correct? Or is a 9.09K resistor okay?

    Thank you.

  • Hi Brian

    As I mentioned before, I think the problem in this forum with the following title is similar to this problem.

    "TUSB8020B-Q1: unable to enumerate devices with usb 2.0 when the divice is inserted into dowmstream of tusb8020"

    What was the conclusion of this problem?

    Thanks.

  • Hi Brian

    This is Ken from the previous question "TUSB8020B-Q1: unable to enumerate devices with usb 2.0 when the divice is inserted into dowmstream of tusb8020".

    Looking at the circuit diagram in this thread, the ID pin of the USB3320C (ULPI transceiver) connected to the upstream port of the HUB is connected to 3.3V, and as a USB3320C it is for a B device (not a host).

    Could this be the cause?

    Thank you.

  • Hi Brian.

    Sorry for asking so many questions.

    In my circuit, I use 90.9k and 10k resistors on USB_VBUS to connect it to the system's +5V.

    When the system boots up, this +5V comes up first, followed by +1.1V on VDD and +3.3V on VDD33. Could this be a problem?

    I'm curious about this, as I came across the following in the "TUSB8020B: Power switch" thread:

    ---------------------------------------------------------------------------------------------------------
    2. The hub does not require power switching to be enabled, but the USB_VBUS input of the hub is a detection input and should not be pulled high unless the host is active. We do recommend overcurrent protections be enabled on any exposed ports. .
        ↓
    " I've put 5V on the USB_VBUS of the hub (with a divider with resistors 90.9k and 10k as recommended). This 5V being also the power supply of the MCU (host), is it ok or should I introduce some sort of delay for the USB_VBUS of the hub, controlled by the MCU for example?
        ↓
    VBUS input controlled by the host. If that is not possible, adding a delay would be the next best option.
    ---------------------------------------------------------------------------------------------------------

    Does this mean that I need to add a capacitor in parallel with the 10k resistor on USB_VBUS to create a delay?

    Thanks

  • Hi  Toshihiko::

        It's better 5v for  USB_Det is on after  3.3v and 1.1v are stable and GRSTz goes high. if you can  do it.

         USB_R1 should be 9.53k,  but still be ok with 9.03k.

        

    This is Ken from the previous question "TUSB8020B-Q1: unable to enumerate devices with usb 2.0 when the divice is inserted into dowmstream of tusb8020".

    do you have a link for this  issue?

    Best

    Brian

  • Hi Brian

    The link is below.

    e2e.ti.com/.../tusb8020b-q1-unable-to-enumerate-devices-with-usb-2-0-when-the- divice-is-inserted-into-dowmstream-of-tusb8020?tisearch=e2e-sitesearch&keymatch=TUSB8020B-Q1%253A%2520unable%2520to%2520enumerate%2520devices%2520with%2520usb%25202.0%2520when%2520the%2520d ivice%2520is%2520挿入% 2520into%2520ダウンストリーム%2520of%2520tusb8020#

    Is this required?

       It's better 5v for  USB_Det is on after  3.3v and 1.1v are stable and GRSTz goes high. if you can  do it.

         USB_R1 should be 9.53k,  but still be ok with 9.03k.

        

    Thanks.

  • the link above may not the same issue.

    Is this required?

       It's better 5v for  USB_Det is on after  3.3v and 1.1v are stable and GRSTz goes high. if you can  do it.

         USB_R1 should be 9.53k,  but still be ok with 9.03k.

        

    It's not required, but  it's a good try.

    Best

    Brian

  • Hi Brian.

    I've just found out something new, so I'd like some advice.

    ① The up port is connected to USB2.0 (through a ULPI transceiver) and USB3.0, and both are enabled. As I've said before, in this case, plug and play of the down port's USB2.0 is not possible.

    However, if you disable the up port's USB3.0, plug and play of the down port's USB2.0 becomes possible.

    ② When an external USB-HUB is connected to the down port and started up, I found that there are some hubs that can plug and play the down port's USB2.0, and some that can't.

    USB3.0 compatible hubs...two are OK, one is not

    USB2.0 compatible hubs...one is not OK

    Thank you

  • This is additional information regarding question ① above.

    USB2.0 plug-and-play is possible if the USB3.0 up port is disabled by software.

    However, if I removed the AC coupling capacitors on the USB_SSTXP_UP/USB_SSTXM_UP and USB_SSRXP_UP/USB_SSRXM_UP, which are the communication lines between the host processor and the hub, and disconnected the communication lines between the host processor and the hub, plug-and-play was not possible.

    In other words, we found that whether USB2.0 plug-and-play is possible or not differs between disabling USB3.0 by software and disabling it by hardware.

    The only direct connection between the host processor and the hub is the SS transmit/receive line.

    Thank you.

  • "USB3.0 compatible hubs...two are OK, one is not

    USB2.0 compatible hubs...one is not OK"

    what does it mean?

    Best

    brian

  • I prepared 4 types of external hubs and connected each one one by one.
    I experimented to see if plug and play was possible when connecting a USB 2.0 device to the external hub.

    - 2 types of USB 3.0 external hubs were OK, 1 type of USB 3.0 external hub was NG
    - 1 type of USB 2.0 external hub was NG

    Whether plug and play was possible or not depended on the type of external hub.

    Thank you.

  • 1 type of USB 2.0 external hub was NG

    this make sense, it's same just plug a USb2 device.

    2 types of USB 3.0 external hubs were OK, 1 type of USB 3.0 external hub was NG

    all 3 USB3 hub should work, for the bad USB3 hub, can you check if the USB3 hub got recognized?

    Best

    Brian

  • When I connect all four types of external hubs to my circuit and start the system with a USB 2.0 device connected to the external hub, it works without any problems.

    When I say NG, I mean if you start the system without connecting USB 2.0, or if you disconnect the USB 2.0 device after the system has started and then reconnect it, it will not be recognized. (This is the state where you cannot do plug and play, as I explained at the beginning.)

    1 type of USB 2.0 external hub was NG
    this makes sense, it's the same just plug a USb2 device.
     →This does not mean that USB 3.0 devices are NG, but that you   
    cannot plug and play with USB 2.0 devices.

    Thank you.

  • I will summarize all above test and review with our system to see what is wrong.

    Regards

    Brian

  • Hi Brian

    Are there any conditions that cause this TUSB8020B HUB to suspend?

    My hypothesis is that the upstream host goes into suspend state, and the HUB goes into suspend state as well.

    On page 8 of the datasheet, there is a description of 7.7 Hub Input Supply Current, Suspend (USB2 host).

    My hypothesis is as follows:
    If you start the device with a USB2.0 device connected, communication continues and the device does not suspend. However, if you start the device without a USB2.0 device connected, communication does not continue and the host goes into suspend, which in turn suspends the HUB.
    The interface with the host when communication with the USB2.0 device does not continue varies depending on the HUB (manufacturer and type), and if there is a suspend setting on the host side, you will need to change it.

    Thank you.

  • I have a question about the internal registers of the HUB.

    This is the description of rmbl[1:0] in Table 11. Device Removable Configuration Register on page 17 of the datasheet.

    0 = The device attached to the port is not removable

    1 = The device attached to the port is removable

    I don't really understand the meaning of this register setting, but won't plug and play be impossible if this register value is not set to 1?

    Is this register unrelated to my problem?

    Thank you

  • The device attached to the port is removable:

      means the  device can plug and unplug.

    The device attached to the port is not removable:

      means the device is always connected to the downstream port on PCB and can not unplug.

    Best

    Brian

  • Hi Brian.

    I've been doing some research and I've solved the problem of not being able to plug and play USB2.0.

    I'll tell you how I solved it, so please let me know your thoughts.

    I changed the processing of the Linux HUB driver on the host processor and the problem was solved.

    The Linux USB2.0 HUB driver included TI's TUSB8041, so I read the source code of that driver and found a statement to disable suspend.
    (It seems that suspend is set to AUTO in general generic HUB drivers.)

    I added this statement to the source code to disable suspend, and now I can plug and play without any problems.

    Does the TUSB8020B have to be written in the same driver as the TUSB8041?
    Is the TUSB8020B not built into the standard Linux driver?

    Does the TUSB8020B not work with generic HUB drivers?

    Thanks.

  • Hi  Toshihiko:

      TUSB8020B should work with generic HUB drivers, but for this specific case, USB2 port is from separate port and maybe in suspend mode in default.

    Best

    Brian 

  • Hi Brian.

    The USB2.0 is connected to the up port of the HUB using the USB3320C, which is a ULPI transceiver.

    However, I have used this USB3320C in many other designs and have never had this problem. The problem only occurred when I combined it with the TSUB8020B.

    Will the TUSB8041 work with a generic HUB driver?
    Or do I need a dedicated driver?

    Is there any way to discover the true cause of this problem from this?

    Thank you.

  • Do you have TUSB8041 EVM  to try? TUSB8020B was developed earlier than TUSB8041

    Best

    Brian

  • I don't own a TUSB8041 EVM, so I can't test it.
    Is there anything you can do to see what I can try?
    Thanks.

  • Do you have any other USB3/2 hub to try? .

    Best

    Brian

  • Do you mean external hubs?

    I am developing the printed circuit board for the on-board hub, so I am not able to try other on-board hub devices.

  • got it.

    Anyway, you solved issue by changing firmware. 

    Regards

    Brian