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.

AM2612: How to detect Host without VBUS pin

Part Number: AM2612

Tool/software:

Hi,

 

AM2612 doesn’t have a VBUS pin.

 

When using the USB of AM2612 in device mode, how should the connection to the host be determined ?

 

Thanks and regards,

Hideaki

  • Apologies for the delay,

    The USB controller on AM261x is self-powered, and does not rely on the VBUS line for voltage in device mode.

    You can read more on the VBUS Voltage sourcing in the TRM, in section 13.2.2.3.3 VBUS Voltage Sourcing Control.

    For an example of how USB can be set up, the AM261x LaunchPad User's Guide has a section detailing the connections of the USB peripheral.

    Regards,

    Susan

  • Hi Susan,

    Thank you for your answer. They understood that the USB controller is self-powered. Could you tell them how USB controller on AM261x know whether the host is connected or not ?

    Thanks and regards,

    Hideaki

  • Hello,

    AM261x devices use software to set whether or not a host is connected (TRM section 6.1.3.2.8 USB Global Configuration explains this some). For the actual physical connections, we use a USB Power Distribution Switch that feeds the VBUS signal from the USB connecter to a GPIO pin. You can see this connection in the LaunchPad User's guide:

    The USB Device Driver and the SOC Porting Layers are what configure and support USB device operation.

    Regards,

    Susan

  • Hi Susan,

    Thank you for your reply, but they would like to confirm a little more.

    .

    For the actual physical connections, we use a USB Power Distribution Switch that feeds the VBUS signal from the USB connecter to a GPIO pin. You can see this connection in the LaunchPad User's guide:

    Regarding the actual physical connections which you mentioned above, is it the connection from OC pin of USB Power Distribution Switch to GPIO64 on AM261x in the above Figure 2-36 ? They cannot find this description of USB Device Mode in the LaunchPad User's guide.

    According to the following description in the LaunchPad User's guide, this connection from OC pin to GPIO64 is used for overcurrent detection in the USB Host mode.

    This connection is used for the both USB host detection in the USB Device mode and overcurrnet detection in the USB Host mode ?

    Regards,

    Hideaki

  • Hello,

    I will confirm with the designer on Monday, as he is out this week.

    Thank you,

    Susan

  • Hi Susan,

    Did you get the feedback from the designer ?

    The customer has to finished as soon as possible.

    Thanks and regards,

    Hideaki

  • Hello,

    Apologies for the delay, I spoke with one of our designers, but the actual owner is still out until tomorrow. I sent him a few messages to follow up as soon as he is back on the exact implementation on our LaunchPad.
    For AM261x, we do not use an ID pin to determine host or device operation nor do we have a dedicated VBUS pin to indicate when there is a HOST connected. Since we use software to source the VBUS valid signal, I would tie a GPIO (the exact GPIO should be determined by your set up/application) to the VBUS rail on the USB port through a voltage divider. You can then use the GPIO to set VBUS_VALID when high.

    Regards,

    Susan 

  • Hi Susan,

    Thank you for your reply.

     

    Since we use software to source the VBUS valid signal, I would tie a GPIO (the exact GPIO should be determined by your set up/application) to the VBUS rail on the USB port through a voltage divider. You can then use the GPIO to set VBUS_VALID when high.

     

    Since the customer wants to know which GPIO pin is used on LaunchPad, please let us know once designers is back.

    Thanks and regards,

    Hideaki

  • I will let you know as soon as I hear back.

    Thank you,

    Susan

  • Hi Susan,

    We really need an answer as soon as possible. Also, accurate precise answer is needed, because we corrected our answer several times.

     

    In my understanding, AM261x LaunchPad doesn’t use GPIO to detect the Host connection. Am I correct ?

    If correct, how do the Example codes in MCU+ SDK detect the Host connection from only two lines of DP and DM ?

    https://software-dl.ti.com/mcu-plus-sdk/esd/AM261X/10_02_00_15/exports/docs/api_guide_am261x/EXAMPLES_USB.html

     

    Thanks and regards,

    Hideaki

  • Hello,

    I apologize, I had a few discussions with the EVM designers and with the software/SDK teams over this and learned that I was misinformed about the USB power circuitry. From those discussions, we concluded that our AM261x EVMs are not laid out to detect HOST connection. 
    Speaking with the software teams, our USB drivers set VBUS_VALID as always HIGH, meaning that when in DEVICE mode, the AM261x USB controller considers the HOST always connected. It would be up to a user to make sure the HOST is connected before communication. This is unfortunately an oversight in our EVMs.
    For HOST detection, the implementation is the same as what I mentioned a few days ago: 
    Connect the VBUS line from the USB port to a GPIO on the AM261x device, making sure to use a voltage divider to meet the input voltage and current limitations of the AM261x device. 
    From there, you can choose to poll for a valid signal on that pin or set up an interrupt for any signal change to configure VBUS_VALID as set (for connected HOST) or cleared (for no connected HOST).
    The exact GPIO pin you choose is going to be entirely dependent on your application and what priority level you need/want for USB, and should be addressed separately.

    This is a very basic diagram showing the VBUS detection connection only:

    Regards,
    Susan