HD3SS3220: USB-C Device not enumerating in USB 3.0 mode and undefined behavior

Part Number: HD3SS3220
Other Parts Discussed in Thread: TPS2000E, TPS2556

Tool/software:

Hi,

We designed a USB-C endpoint for our SOM based system based on the HD3SS3220 IC. I am attaching circuit as below:

In this configuration, any device connected to the USB-C port got enumerated in USB2.0 mode only. It should be noted we have directly connected the 5V bus to the USB-C power pins without any usb power switches.

After going through multiple forum posts it became apparent that because the IC was seeing voltage on the VBUS_DET pin before any device was being connected to the USB-C port the RX/TX connections were not going through. 

As a test we removed the 900K resistor (R88) from the VBUS_DET pin, after this the devices were being enumerated in USB3.0 mode (we are using USB3.0 cameras at the moment).

We are aware we need a usb power switch connected to the ID pin as shown in the application notes and EVK schematics, and that VBUS_DET will be connected to the USB-C power pins through the 900K resistor. 

The question I wanted to ask is that is the short-term workaround okay? Or is it violating any USB specs we should be aware of? Also, is this an undefined behavior and we shouldn't count on it to work like this consistently in future revisions?

Any insights will be welcome

  • Hi Najam,

    As a test we removed the 900K resistor (R88) from the VBUS_DET pin, after this the devices were being enumerated in USB3.0 mode (we are using USB3.0 cameras at the moment).

    For a DFP application, which it looks like you're using, you can leave VBUS_DET floating. This pin is only used for a UFP application, where the HD3SS3220 needs to be able to detected when a DFP is connected.

    The question I wanted to ask is that is the short-term workaround okay? Or is it violating any USB specs we should be aware of? Also, is this an undefined behavior and we shouldn't count on it to work like this consistently in future revisions?

    Exactly, I would not rely on this. Typically, VBUS is sent when the ID pin is pulled low as part of the CC negotiation process. Because the ID pin is not being utilized and VBUS is being sent at all times, it will cause the CC negotiation process to be affected, resulting in either one side of the cable working, or no USB3 connection at all. I would strongly recommend adding a power switch for VBUS that is controlled by the ID pin, or connecting the ID pin to the SOC to use that to control VBUS.

    Thanks,

    Ryan

  • Hi Ryan,

    Thanks for the insight on the issue.

    If possible can you please review the changes we have done and verify that they look okay?

    We have pulled up the ID pin with a 200k resistor. Added a buffer IC at ID pin and a USB power switch after it (TPS2000E, active low). The TPS2000E will drive V_USB to the USB-C connector and V_USB is driving the VBUS_DET pin via a 900KOhm resistor. We used 2A switch just to be on the safe side, we have a rated load of 1A at the moment on the USB-C port.

    If there are any changes to design please do tell.

    Best Regards,

    Najam

  • Hi Najam,

    Changes seem good to me.

    As for the switch though, I noticed you have the CURRENT_MODE pin pulled-up for 5V/3A advertisement. In the scenario where 3A is being pulled, won't this cause issues with the switch?

    Thanks,

    Ryan

  • Hi Ryan,

    Just to be safe, we will replace TPS2000E with TPS2556 (Adjustable current, active low EN) with ILIM set to 3A. Will these changes be okay?

    Thanks again for the guidance.

    Best Regards,

    Najam

  • Hi Najam,

    I believe that should work, yes. I don't have any other notes otherwise.

    Thanks,

    Ryan

  • Hi Ryan,

    Great, thanks a lot for the guidance and help! Much appreciated.

    Best Regards,

    Najam