Hey folks, I'm working on a USB hub design for an embedded project. It can either be bus powered or self-powered. In either case the input voltage is 5V.
I've checked a lot of reference designs from hub IC manufacturers and haven't found a good example of proper power switching to prevent back-feeding through the upstream USB port. In my search I've found many end-users complaining of upstream backfeeding damaging their computers.
With the same voltage on both the powered and upstream ports there doesn't seem to be an easy way to detect which connector is powered. I've looked at using back-to-back P-MOSFETs to make a load disconnect without backfeed. But the issue remains that once the internal 5V rail is powered, it's not possible to know where the power is coming from. Diodes of course are not the answer because the full input voltage is needed for the downstream ports.
The only thing I can think of is to use a higher input voltage on the external DC port, and then just use a local buck regulator... it would be easy then to detect the buck input voltage and just disconnect the upstream VBUS in that case. But I would prefer the external DC port to just be a second USB socket for a number of reasons.
Does anyone know of a better way?
Thanks!