In a design I'm using the TUSB2046B as an embedded USB hub for 4 downstream devices. The hub enumerates fine on a Windows machine and I can communicate with all devices.
However, the inclusion of this USB hub is for factory maintenance, setup and logging. In a typical application it is not used. The microcontroller on this board needs to know this state, because it will setup the communication devices correctly for "USB mode" (effectively 'freezing' the device for it's typical use). It is upmost critical that this signal is asserted correctly.
For this purpose I want to use the SUSPND output of the TUSB2046B. From my understanding of the datasheet, when the pin is low it means that the USB upstream link is active. When the pin is high it is inactive.
Unfortunately, when I power up my board with no USB cable attached, the SUSPND signal starts up low. I expect this to be high. When I enumerate the USB hub once and disconnect the USB cable, the signal resets to the correct high level.
A schematic of the USB hub section is posted below. I am aware the MCP130T is not ideally suited for this application, however I don't expect the USB cable to be plugged in while power is enabled. R244 and R296 are strapping resistors. At this moment I have removed R296 from the board, which means R244 should put the hub in FS mode.
Is this normal operation for the TUSB2046B?
Could the R244 pull-up cause the TUSB2046B to think an USB link is active? When I pull D+ low briefly, the SUSPEND status resets correctly to high. However, when I start up the hub with D+ pulled low, it puts SUSPEND into a low state.
Could it be something with the length of RST? I've tried putting the hub into reset, but it does not assert the SUSPEND high.
Thanks,
Hans