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.

TUSB2036: Implementation Settings for Host (PC) to Communicate w/ 2 MCU's via USB Transceiver

Part Number: TUSB2036

I have a customer asking about settings for the following implementation. (Checked DS and EVM documentation)

Like in the below image, they want to implement this HUB so that a HOST(PC) can communicate directly to two MCUs.

They want the PC to be able to select which MCU (USB Transceiver, DP/DM) to communicate with, then only communicate between those devices.

What are the guidelines / settings needed to implement this? Is this just based on the VID / PID settings? EEPROM? Is there an APP note, or anything?

  • Hi Darren,

    This is a higher level system question than can be addressed by a USB hub.  USB hubs are just slave devices that route packets based on the USB traffic from the USB host.  The customer application running on the USB host would have to determine which USB address (assigned at USB enumeration) to route data to / from. The customer could select the MCU based on VID/PID or the USB descriptors: usually a Product name, Manufacturer name, etc reported to the host at enumeration.

    Regards,

    JMMN

  • Hi JMMN,

    I was looking through the datasheet for how the TUSB2036 actually routes the data to the specific port, and I can't find anything.

    According to what I found in the USB 2.0 documentation, under the section on Hub Specification (Chapter 11), the hub architecture needs a "Hub Repeater", a "Hub Controller" and a "Transaction Translator".

    Section 8.2 in the TUSB2036 DS (functional diagram) lists a block for the "Hub Repeater", but there is no documentation on the functionality of this block. The USB2.0 specification says it is responsible for connectivity between upstream / downstream ports...

    But how exactly does this section of the device function?

    In other words, what kind of packet from the host, would the "Hub Repeater" recognize as being for a specific port, so that it could buffer/forward that packet to the correct "Port x Logic" block of the Functional Block, and thus onto the correct port?

    I want to know how the device does this, not a high-level system concept...

  • Hi Darren,

    I shouldn't have used the word "route" since USB 2.0 hubs don't truly route packets as you are thinking of it.  They broadcast all packets from the host to all enabled downstream ports and only the device being addressed responds, the hub then send the response back from the device to the host. 

    Also, as a side note, the TUSB2036 doesn't have a transaction translator since it is a full-speed hub, only high-speed hubs have those.

    Regards,

    JMMN