Jetson NANO - USB3.0 two-port hub design

I am designing a custom carrier board for the NVIDIA Jetson NANO SoM. I am now in the USB section of the design. I am using the official design guide as well as the P3449_B01 concept schematic file as a reference for my design.
I already created the USB 2.0 flash/OTG (USB0). The next step is to create two USB 3.0 ports. The Jetson NANO only has one USB 3.0 interface (USBSS), this is why I decided to go with a Hub controller in my board.
The Hub controller IC I am using is the TUSB8020B by Texas Instruments, this is a two-port USB super speed hub controller IC.
I am concerned about how can this design will work meaning, after I finish the design and assemble the board, what should I do to be able to use this board with its 2x exposed USB 3.0 host only ports?


Orin Nano has got three USB3 ports. No hub required. I told you that Netson Nano is NRND.

For USB0 you should use an Type AB connector.

1 Like

Yes man you are right, but the Orin Nano is much more expensive as per the requirement of the product. This is why I am insisting on Jetson Nano.

Why can’t a micro USB B work?

Because of the ID line.
If you plug in a host (for flashing), the plug is a Micro B. The ID pin in a Micro B plug is always open, and the board will work as a device.
if you plug in a device, you need a Micro A plug. The id pin in a micro A plug is always tied to GND, and so the USB port switches to host mode.
In order to plug in both Micro A and Micro B plugs you need a MicroAB socket.

If you only need device operation, only then can you use a Type B socket. But then you also don’t need the load switch.

I am planning on using an OTG cable for host mode:


The OTG cable ties the ID pin to GND.
Something like this cable on amazon → click here

Micro B plug to USB A socket adapter cables are not compliant to the official USB standard. Yes, they exist just as USB-A plug to USB-A plug cables exist, but using them is poor engineering practice. Micro USB-AB is the correct and compliant socket to use in this case.

2 Likes

I will add that @fchkjwlsq is correct. 100% of all USB cables are one-way (though there is a trick/twist), whereby one end is always type-B (the device) and the other end is type-A (the host). There is no such thing as a cable which directly supports both host and device at each end (again, there is a twist on this story).

The OTG port (“On The Go”) has that ID pin. The port itself can fit either a micro type-A plug or a micro type-B plug because of its design, and the ID pin decides which version the computer will think of that cable as. OTG is not type-A nor type-B until the ID pin is correctly detected.

The type-C cable actually has two sets of USB cables. A given set is only host or only device (one set of wires is never bidirectional, it is always taking on the role of type-A at one end, and type-B at the other end, or vice-versa). Having two sets of cables is why a type-C can appear symmetrical, but this is not like an ethernet cable whereby it is a full duplex without distinguishing host versus device.

Any port designed as type-A and running in device mode is guaranteed to be a problem and is a violation of standards. Any type-B port behaving as a host is also a violation and asking for trouble.

If you have an OTG port, and you choose to not implement host mode during that ID pin detection type, that’s ok. If you have an OTG port, and you choose to not implement device mode during that ID pin detection type, then that too is ok. But you should not use a type-A port in device mode unless you are willing to live with the consequences (such as both trying to supply 5V in conflict with the other and failing in 100% of all cases not having a similar violation on the other end of the cable).

1 Like

Noted, thank you!
Can you please tell me if a 2x USB 3.0 ports using the TUSB8020B 2-port hub controller IC by TI can work for the Jetson NANO?
I am in the process of designing the hub.

Good to know, I will update the connector of my design. Thank you for the insight man

I can’t answer if that works, but hubs are supported. I just don’t know anything about the hub controller you speak of. I suspect it would work.

1 Like

Let’s see

This topic was automatically closed 14 days after the last reply. New replies are no longer allowed.