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.

HD3SS3220: USB3.1 not working on both sides in DFP role with HD3SS3220

Other Parts Discussed in Thread: HD3SS3220

Tool/software:

I'm using a HD3SS3220 between a CPU with USB3.1 host capability and a standard USB type-C female connector. Here is the schematics:

HD3SS3220 is setup in DFP role. I plug a USB 3.1 dongle male (also sometimes called a key chain) in the female connector. I get on each side:

[ 2488.150629] usb 5-1: new SuperSpeed USB device number 17 using xhci-hcd
[ 2488.172203] usb 5-1: New USB device found, idVendor=05dc, idProduct=a833, bcdDevice=11.00
[ 2488.172209] usb 5-1: New USB device strings: Mfr=1, Product=2, SerialNumber=3
[ 2488.172212] usb 5-1: Product: USB Flash Drive
[ 2488.172215] usb 5-1: Manufacturer: Lexar
[ 2488.172217] usb 5-1: SerialNumber: AAZX1ZH78GMYMZH8
[ 2488.173503] usb-storage 5-1:1.0: USB Mass Storage device detected

[ 2514.298445] usb 4-1: new high-speed USB device number 11 using xhci-hcd
[ 2514.440032] usb 4-1: New USB device found, idVendor=05dc, idProduct=a833, bcdDevice=11.00
[ 2514.440039] usb 4-1: New USB device strings: Mfr=1, Product=2, SerialNumber=3
[ 2514.440043] usb 4-1: Product: USB Flash Drive
[ 2514.440045] usb 4-1: Manufacturer: Lexar
[ 2514.440048] usb 4-1: SerialNumber: AAZX1ZH78GMYMZH8
[ 2514.442257] usb-storage 4-1:1.0: USB Mass Storage device detected

So on one side, the dongle is recognized as USB3.1, on the other side, it's only recognized as USB 2.0. The dongle works on both sides as super-speed on my PC.

Where is the problem and what am I missing? How can I make it work as USB3.1 on both sides? For the records, PIN 11 as DIR is always high on both sides. There are more decoupling capacitors on 5V and VBUS is generated with AP22652.

Regarding the AC coupling capacitors, there are two caps close to the CPU, so before USBS_TX_N/P. My understanding is that the muxes inside HD3SS3220 are just gates without any logic so the part doesn't interfere with the need or not of AC coupling capacitors. As for the caps on the RX lines, "my understanding' is that it should be the dongle that should implement them (not completely sure about that: there is a similar question here but it doesn't help me).

  • Hello,

    If the HD3SS3220 is set as a DFP, then the ID pin needs to be used to control when VBUS is sent through the type-C connector. From what I can tell right now, the ID pin is not being controlled, and has been left floating.

    VBUS being sent through the connector is part of the CC negotiation process, where it should not be sent until a valid UFP device is seen connected to the HD3SS3220. Once a valid connection is seen, the ID pin will go low, which should then indicate to either the SOC via a GPIO or a VBUS switch that VBUS can be sent to the connector. If VBUS is not controlled properly, then USB3 will either only work in one direction, like you have it now, or not work at all.

    I would recommend routing the ID pin such that it can properly control VBUS.

    Thanks,

    Ryan

  • With this modification, I see now ID toggling with inverted VBUS_EN following this level. I also see DIR toggling upon inverted insertion (upside down). So CC are working well.

    Still, USB 3.1 recognition is still "flaky" across all my dongles: some work, others don't. I suspect this problem to be AC decoupling.

    I have two 0.1uF on TX lanes just around the CPU. Al traces are short. I have opened one of the keychain dongle and I see two 150 nF just before the dongle type-C male connector on their TX lanes (so my RX lanes). I have added 0.1uF caps on my TX lanes between HD3SS3220 and type-C female connector so I have 100nF before and after HD3SS3220 - it's not "perfect" because I had to cut the high-speed traces, I will redo a spin with proper caps footprints. Where should I put additional caps and which value?

  • Hello,

    It does sound like the AC coupling might be affecting it. The overall capacitance on a USB3 line should be 75nF-265nF. On the dongle side, it looks like they are using two 150nF in series to barely meet this requirement. For your TX lines, if you have two 100nF caps in series, then that would be putting your capacitance down to 50nF and out of spec. Are there any caps on the RX side of the dongle, where your TX lane is going into?

    If capacitance is an issue, it may be better to use one 220nF capacitor as opposed to a 100nF cap. This will give you more leeway if there is any capacitance in series with your TX lanes.

    You can place caps for the TX lane before the mux.

    Thanks,

    Ryan