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 SUSPND signal powers up low

Other Parts Discussed in Thread: TUSB2046B, MSP430F5659

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

  • Hello Hans,

    The SUSPND terminal is fully under the control of the host system, therefore, the correct usage of this pin is when the USB hub is properly enumerated by the host. As you commented, at power up the SUSPND pin is low, this is a expected behavior since the internal state machine remains this level until it receives commands from the USB host controller.  After 3 ms of downstream ports inactivity, the TUSB2046B will go into suspend.

    Regards,
    Joel

  • Thanks for the quick reply, I understand the complexities involved now with this signal.

    Because we're still in prototype stage I have rearranged the micro controller I/O pin to read in the VBUS signal level instead of the SUSPEND status. This may not be completely accurate to the USB suspend functionality, but at least allows us to continue testing the switching USB mode from/to operational mode.

    Thanks,

    Hans

  • hello,

    I am facing similar issue with USB HUB TUSB4041 which is interfaced to PC on upstream and one downstream connected to MSP430F5659 controller. On example CDC code C3 project execution the control goes to suspend. What could be the reason? I am not able to proceed further for data Rx/Tx.
    My device which is connected to HUB downstream used for system/device power as well as for data tx/rx. Is this could be the cause for the device suspend?

    I appreciate if some one could help me in resolving this issue, thanks in advance

    Nitesh
  • Hello,
    Can you elaborate more what do you mean by: "My device which is connected to HUB downstream used for system/device power as well as for data tx/rx" ?

    Regards
  • I mean device is used for both data transfer and power for my device including charging the battery. My device runs on battery before USB connection but on USB host connection/USB AC adapter connection it us es the USB power  for battery charging.

    Now coming to suspend issue, i started the USB analyzer, with that i found device enumeration failed message for my HUB. Not able to proceed.

    Please suggest what to do.

    I tested CDC project with external USB hub on my evaluation board TS-MSP430PZ100USB, it worked without any issue, device able to load the driver and able to Rx/Tx from both host and device.

    Same project if i load to my device, i am seeing device enumeration failed message on USB analyzer. 

    One more question:

    How to make .inf file using USB descriptor tool. I tried to change the PID and created the descriptor but on USB device connection to evaluation board it gave driver not loaded properly, in device manager i found it shows "unknown device" but if try to change the driver path it shows up access denied.

    Please help me in making new .inf file 

    Thanks,

    Nitesh

  • Please share your schematic and a block diagram of your implementation.
    Can you also share the usb traces?
    Regarding the .inf file you will have to go to the MSP Forum.
    Regards