TUSB2046I: power supply operation

Part Number: TUSB2046I
Other Parts Discussed in Thread: TPS2044

Tool/software:

Hi everybody,

I'm developing an electronic board with a raspberry pi CM4. As, this one has only one USB port, I've put an USB hub (TUSB2046) on my board (you can find my schematic below).

I've several interrogations about it.

I did several measures (with nothing on USB port - no key, no cable). To precise, I've only plug my raspberry CM4, there is no OS or program on it for the moment.

Everytime, the input PWRON1 is @ 3V3, that means that the corresponding output is disabled. The OVRCUR1 is @ 0V (overcurrent is detected ?)

Are these values OK ? 

Should there be communication between raspberry CM4 and TUSB to have the right value on pins ? and the mesures that I've done are completely weird.

If someone can give me some clues, I'll be very happy.

Thank you

  • Hi fabricepeden:

         Does CM4 has hub driver?

         from schematic, need 1.5k pullup on DP0.

       Also need 22ohm resistor on DP0/DM0.

    Regards

    Brian

  • Hi Brian Zhou,

    Thank you for your suggestion, and I just check the datasheet and effectively on the figure 11, these two elements are suggested. I'll try it.

  • Please send update once you have new results.

    Best

    Brian

  • Hi Brian,

    I've added the 1.5k resistor. Concerning the supply voltage on USB, I have 5V, but as soon as I plug a device (mouse for example), the voltage goes down to 0.5V.

  • where did you add 1.5k? It should be on DP0 and pull up  to 3.3v.

    Best

    brian

  • Yes, it's what I do.

  • Do you have 22 ohm series resistor on DP0/DM0? Can you plug you board with hub  to any Windows PC and see TUSB2046 is detected  on USBtreeviewer or device manager?

    Best

    Brian

  • Thank you for your reply.

    Yes, I have put the two 22 ohm resistors on DP0/DM0. I've tried to connect my board on my computer and nothing happens.

    I have measured the voltage on one USB port (+5.0V), and as soon as I plug my mouse, the voltage goes down to something between 0.5 to 0.7V.

    The voltage is set by the TPS2044D. I've checked EN1 and OC1.

    The crystal is OK @ 6Mhz.

    I've also noticed something else. When I start my board, the USB voltage (measured on the 100µF capacitor) is +5V. But if I wait a few minutes, this one is going down slowly. After 5 minutes, the voltage is @ 4.6V power supply voltage on TPS2044 is @ 4.995V and it doesn't change). Maybe, the problem is with the TPS2044.

  • I have advanced a little bit. I have found this link : https://www.jeffgeerling.com/blog/2020/usb-20-ports-not-working-on-compute-module-4-check-your-overlays

    So, with USB activated, my voltage is @ 4.995V on my USB ports and it doesn't go down.

    Moreover, I have connected the reset pin of TUSB2046 on my µc to control it.

    For now, it doesn't work but it's better !

    Edit : I just noticed that my crystal starts to oscillate and after a few seconds, it stops.

    Edit : I have a diagnostic on the raspberry, the TUSB2046 is showed in the tool, so the link between TUSB2046 and raspberry is OK.

  • Good to know TUSB2046 can be detected on CM4.

    but it should work on windows system as well. Vbus voltage should be >4.75V, other wise the device connected will drop.

    Regadrs

    Brian

  • In the terminal of RPI CM4, I can see my TUSB2046 :

    cbox@raspberrypi:~ $ lsusb
    Bus 001 Device 002: ID 0451:2046 Texas Instruments, Inc. TUSB2046 Hub
    Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
    

    With my mouse connected :

    mesg | grep usb
    [    0.050298] usbcore: registered new interface driver usbfs
    [    0.050318] usbcore: registered new interface driver hub
    [    0.050337] usbcore: registered new device driver usb
    [    1.364075] usbcore: registered new interface driver lan78xx
    [    1.364113] usbcore: registered new interface driver smsc95xx
    [    1.390103] dwc2 fe980000.usb: supply vusb_d not found, using dummy regulator
    [    1.390173] dwc2 fe980000.usb: supply vusb_a not found, using dummy regulator
    [    1.440584] dwc2 fe980000.usb: DWC OTG Controller
    [    1.440598] dwc2 fe980000.usb: new USB bus registered, assigned bus number 1
    [    1.440612] dwc2 fe980000.usb: irq 30, io mem 0xfe980000
    [    1.440720] usb usb1: New USB device found, idVendor=1d6b, idProduct=0002, bcdDevice= 6.12
    [    1.440728] usb usb1: New USB device strings: Mfr=3, Product=2, SerialNumber=1
    [    1.440733] usb usb1: Product: DWC OTG Controller
    [    1.440737] usb usb1: Manufacturer: Linux 6.12.34+rpt-rpi-v8 dwc2_hsotg
    [    1.440740] usb usb1: SerialNumber: fe980000.usb
    [    1.441499] usbcore: registered new interface driver uas
    [    1.441533] usbcore: registered new interface driver usb-storage
    [    1.443637] usbcore: registered new interface driver usbhid
    [    1.443641] usbhid: USB HID core driver
    [    1.731512] usb 1-1: new full-speed USB device number 2 using dwc2
    [    1.927776] usb 1-1: New USB device found, idVendor=0451, idProduct=2046, bcdDevice= 1.25
    [    1.927793] usb 1-1: New USB device strings: Mfr=0, Product=0, SerialNumber=0
    [    2.032023] usb 1-1-port4: over-current change #1
    [    2.239979] usb 1-1-port4: over-current condition
    [    4.130871] usbcore: registered new interface driver brcmfmac
    [   76.297986] usb 1-1.1: new low-speed USB device number 3 using dwc2
    [   76.721409] usb 1-1.1: new low-speed USB device number 4 using dwc2
    [   77.085333] usb 1-1-port1: attempt power cycle
    [   77.672161] usb 1-1.1: new low-speed USB device number 5 using dwc2
    [   78.151597] usb 1-1.1: new low-speed USB device number 6 using dwc2
    

    So the link between both devices seems to be ok.

    When I plug a device on one of my three ports, nothing happens.

    So, I have some questions :

    - The USB hub has four ports but I only used three of them, does I need to connect the fourth port to my TPS2044 ?

    - My 5V on my USB connector is OK (When I plug my mouse, the voltage stays at 5V, so no problem), but the little LED under my mouse doesn't work, so I think communication between hub and mouse doesn't work.

    I've put a pull-up of 10k on each OCx input (even if the input is not used), and I have link all PWRON input with the TPS2044.

    I've checked the order of connections to be sure (+5/D-/D+/0V).

    Concerning the BUSPWR pin, I don't understand how I must connect it. I want that my board supplies the USB slaves, but I don't really understand which mode is self bus powered or bus powered ?

  • What I have done :

    - capacitors around crystal were 22pF, I changed them to 27pF

    - SUSPND pin is high (so IC is in suspend mode)

    - I have added RC on reset pin (15k + 1µF) - my reset sequence :

    - 1.5k resistor on DP+

    - EXTMEM is high and EEDATA is low

    - upstream port (very weird - but hub is recognized by cm4):

  • I just  found Cm4 system in lab and will test if TUSB2046 works fine or not.

    Best

    Brian

  • Hi Brian,

    Thank you, I wait results from your test.

  • Hi Brian,

    I've tested with a touchscreen and it works well.

    So i've found other informations on raspberry forum :

    https://forums.raspberrypi.com/viewtopic.php?t=246248

     TUSB2046B: Single or Multi Transaction Translator? 

    https://forums.raspberrypi.com/viewtopic.php?f=98&t=184456&p=1191613&hilit=tusb2046#p1191613

    Do you know if this problem has been solved ?

    If not, I think I'll use the USB2514 from microchip, it works well because it's mounted on CM4 IO board.

  • Do you know if this problem has been solved ?

    I don't think this issue was solved.

    Best

    brian