Overcurrent recovery on CYUSB33004 takes 30 seconds or more

Tip / Sign in to post questions, reply, level up, and achieve exciting badges. Know more

cross mob
Soup_Wagon
Level 1
Level 1
First like received First reply posted First question asked

We have implemented a power switch architecture using the CYUSB3304, that is similar to figure 17 of the AN94150 App Note ("Designing a SuperSpeed Hub..."), without the recommended Q1 MOSFET.

In our design we have 4 USB ports and each port has its own USB power switch.  The 4 power switches are enabled by a common PWR-EN signal from the CYUSB3304 and the over-current flags out of the power switches are tied together as a common flag back to the CYUSB3304.  The 4 power switches receive 5V from a local 5V regulator. The power switches are set to trip at 500mA.

When we create an overcurrent condition, by putting a programmable load on the 5V pin on the USB port, the power switch asserts the OVRCURR pin on the CYUSB3304. In response, the CYUSB3304 switches off the power by de-asserting PWR_EN, which in turn makes the power switch de-assert OVRCURR.

Next, we assume that the CYUSB3304 should periodically check if the overcurrent condition is resolved, by re-asserting PWR_EN and monitoring OVRCURR.

HOWEVER we find that this re-try process takes a very long time and is indeterminate:

When the overcurrent condition is removed, the power enable pin takes a variable amount of time to return to the high state. This time was found to be anywhere between 2 seconds (2 to 5 seconds a few times) and 4.25 minutes (once). Most attempts took 10 to 30 seconds but quite a few were over 1 minute.

In practice, this means that the USB on our product will be disabled for 10-30 seconds after an overcurrent condition - up to 4 minutes.

Is this normal behaviour for the CYUSB3304? If not, what can we do to address this?  We would also like a description of the over-current recovery process; the datasheet does not mention it.

0 Likes
1 Solution
Sananya_14
Moderator
Moderator
Moderator
750 replies posted 500 replies posted 250 solutions authored

Hello,

Since you are using ganged power switching mode, the PWREN will be de-asserted by HX3 to switch off power on all the four ports when there is an overcurrent event on any port. It also sends an interrupt to the host to notify that the overcurrent event occurred and now the power is turned off for the ports. Following this, the host will check for the overcurrent event and enable power for the ports again if it is cleared. So, the time for PWREN assertion depends on the host and HX3 wont enable it on its own unless it is reset or power cycled. Please refer to section 10.13.5 of the USB 3.2 spec for a more detailed explanation.

To further confirm this, please take USB traces using a hardware analyzer such as LeCroy on the upstream port of the hub and verify if the PWREN assertion matches the SetPortFeature command from the host.

Best Regards,
Sananya

 

 

 

View solution in original post

2 Replies
Sananya_14
Moderator
Moderator
Moderator
750 replies posted 500 replies posted 250 solutions authored

Hello,

Since you are using ganged power switching mode, the PWREN will be de-asserted by HX3 to switch off power on all the four ports when there is an overcurrent event on any port. It also sends an interrupt to the host to notify that the overcurrent event occurred and now the power is turned off for the ports. Following this, the host will check for the overcurrent event and enable power for the ports again if it is cleared. So, the time for PWREN assertion depends on the host and HX3 wont enable it on its own unless it is reset or power cycled. Please refer to section 10.13.5 of the USB 3.2 spec for a more detailed explanation.

To further confirm this, please take USB traces using a hardware analyzer such as LeCroy on the upstream port of the hub and verify if the PWREN assertion matches the SetPortFeature command from the host.

Best Regards,
Sananya

 

 

 

Soup_Wagon
Level 1
Level 1
First like received First reply posted First question asked

Hello Sananya, thank you so much for your knowledgeable reply. This was very helpful, and pointed us in the right direction.