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.

TUSB2046B: No communication between USB Devices

Part Number: TUSB2046B
Other Parts Discussed in Thread: TPS2042

Hi all!

I've been facing an issue regarding to the TUSB2046B USB HUB. The PCB I have developed is attached to the USB Port of the RPI-Zero.

When i start the device, it seems the 5V is running smootly, 3V3 regulator also works. After 2-4 seconds after power-up I do see 5V on the USB outputs (USB1_5V and USB2_5V), I'm asuming the TUSB2046B and TPS2042 is starting up correctly then? Or am I missing something?

A side note: when i disconnect the RPI-Z, it seems not to be starting up? Do i need the Upstream USB0_DM and USB0_DP in order to activate the device?

When I connect a simple keyboard to the hub it doesn't get recognized I don't see anything happening when I press a key on my keyboard. When I attach the Keyboard directly to the RPI-Z I can type anything, that seems to work, but not with the USB-Hub.



I've already changed some few things:

- Add & Remove the 1K5 pull-up resistor on the USB_DP0 (R1)
- Add & Remove the 1K5 resistor (R19/R20) to XTAL2 (placed a solder bridge instead)
- Removed the 15K pull-up resistor to OC1 & OC2 (R15 & R16)
- Changed the 18pF (C11 & C12) to 27pF.

Where does it goes wrong? Is my schematic correct? It's based upon the provided reference schematic on the TI website.

thanks for any help in advance!

Best regards,

Klaas de Boer  |  Embedded System Engineer  |  KEY Electronica

USB-HUB.pdf

  • Hi Klaas,

    USB hubs are slave devices, they do not operate unless the upstream port is connected. When the hub is connected, what is the state of the suspend pin? Does the USB host load a driver for the hub?

    Regards,
    JMMN
  • When i connect the hub to the Raspberry PI-Zero, i do see that the 5V is activated, but any attached device (keyboard, mouse, usb ethernet module) doesn't work.

    When i measure the USB1_DP pin, i measure 3V3, measuring USB1_DM gives me 0V.

    Measuring the suspend pin:

    When I attatch a 5V power to the device, i see the suspend pin goes high, after some time i see it going to 0V, then it goes back to 3V3 Again. (see image).
    I dont know if the USB host is loading a driver tho, I'm asuming the RPI-Z is the host, it starts up (raspbian) and then i'm getting my login screen.
    Does the RPI-Z needs a specific driver in order to work?

    Anyhow. It's still not working tho.

    Thanks for any help in advance!

    Regards,

    KdB

  • A small update from my side:

    I've attached my USB-HUB to the PC at work (so not the Raspberry PI-Zero) and it seems to work without any issues!
    So now i'm wondering why it doesn't work with the Raspberry PI attached.
    Do I need drivers installed on the kernel of the Raspbian? Any knowledge of this?
  • Hi Klaas,

    Sorry, I don't have any knowledge on the Raspbian generic hub drivers.  One other hardware item to check is that the 5V supply to the hub is sufficient from the Rasberry Pi-Zero to power the downstream devices.

    Regards,

    JMMN

  • Hi!

    Thanks!

    Had a nice easter? :-)

    Well i've been running some tests with the RPi-Zero and something came up (see attached image).

    We see some notifies about over-current change/condition.. The hub seemed to work on my PC, but i got an error that the USB had a current-peak (port worked, but it can't deliver enough power).
    When we check the logs on the RPI, we did received this notify.

    Now i'm wondering what this is and how can i bypass this issue? Is my schematic / circuit correct?

    regards,

    Klaas

  • HI Klaas,

    Your schematic looks correct, but it seems like your 5V rail isn't strong enough. How much current can your 5V rail source? Can you try running 5V from a bench supply and see if the hub runs properly?

    Regards,
    JMMN
  • I have a 5V rail supply coming from a wall adapter (5V 2,1A max).
    That needs to be enough I guess.

    What will happen when I solder a 15k resistor on R13 and R14? :-)

    (Pull-up resistor on the PWR_ON)

    regards,

    Klaas

  • Hi Klaas,

    I wouldn't expect much impact since those outputs are push-pull and don't require an external pullup.

    Regards,
    JMMN
  • Hi Klaas,

    Do you have any update? Is it working?

    Regards,
    JMMN
  • Hi,

    I have soldered R13 and R14, did not gave me any better results,

    even though i have an external power supply, it's still not working straight.

    Even on my PC it still says: 
    Power surge on USB port Unknown USB device needs more more power than port can supply.

    I really don't know what i'm doing wrong here..

    regards,

    Klaas

  • Klaas,

    Are you seeing the overcurrent lines get asserted on the hub? Or are you seeing the 5V to the entire board go below 4.75V? Since the buspwr is tied low on the TUSB2046B, I think you are seeing a true overcurrent issue not a descriptor based issue.

    Regards,
    JMMN
  • Hi! Thanks for the reply!

    Voltage seems to be 5V... When i'm attaching it to a external supply i see the current usage at 25mA. I see 5V on the input (coming from external supply). and i see 5V on the USB output when the device is started up. 

    The Buspwr is indeed tied to the GND. Does it needs to be pulled up to 3V3?

    Can you describe the function of the buspwr? As far I know the bus is powered from external supply, so it's self powered? In that case i had to tie the busprw to the GND. Or did i misunderstood that part?

    "Power source indicator. BUSPWR is an active-high input that indicates whether the downstream ports source their power from the USB cable or a local power supply. For the bus-power mode, this terminal must be pulled to 3.3 V, and for the self-powered mode, this terminal must be pulled low. Input must not change dynamically during operation."


    Best Regards,

    Klaas

  • You have buspwr configured correctly. If the hub was marked as bus powered, the host could be generating an error because it had insufficient power budget for a bus-powered hub + devices. Since you have the hub configured as self-powered, the host is likely generating the overcurrent condition because it is seeing voltage droop on the host port or the TUSB2046B is reporting an overcurrent event.

    Regards,
    JMMN