Hi,
We are running into some trouble attempting to use the TUSB2046B on our USB 1.1 bus. At the moment we have the hub connected to a windows 7 machine for testing. The hub is running in self-powered mode using a 48 Mhz clock. Our design is based on the IT reference schematic as well as the datasheet specifications. Our problem is with the following from the FAQ:
Do we have pull-up on DP0 or DM0, and what is the difference between the two implementations ? According to the USB specification, you must connect a pull-up resistor of 1.5 kΩ on D+ for a full-speed device or on D– for a low-speed device.
When we connect the 1.5 kΩ resistor to D- for low-speed devices our test units as well as the controller do not recognize the hub. However, if we move the resistor the D+ input the unit becomes functional. Any ideas why this is happening as we are using a low-speed bus ??
(Schematic can be provided to IT employee upon request)
Thank you,
Just a quick update, so the hub functions properly under windows but once we connect it to our embedded Linux controller the hub is recognized, however, when a memory stick is plugged in, the ~USB_PORTX_PWRON and the ~USB_PORTX_OVERCUR are not asserted. Lastly we have tested the firmware with a standard hub on the usb 1.1 and it functions properly. Any help would be much appreciated.
Hello Alex,
I recommend you to populate the pull-up on D+, anyway it is going to be compatible with low-speed controllers.
Does the problem on Linux occur also when you configure the hub as a full-speed device?
Can you share your schematics for review?
Regards.
Hi Elias,
Thank you very much for the timely response, we swapped the chip which was being used for the Linux controller and now all is well with the pull-up on D+.