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.

AM3352 VBUS behavior

Other Parts Discussed in Thread: AM3352

Hi,

I have a question about USB0_VBUS on AM3352 device.

Voltage is generated in the USB0_VBUS being used as a USB host, when the USB device is not connected.

I have experimented with the following environment:

  - H/W : AM335x Evaluation Module

  - S/W : LINUXEZSDK-AM335X

 

Please check the attached file for the actual waveform.

 - USB0_VBUS waveform is blue

   - USB0_DRVVBUS waveform is light ble

Is this expected behavior of VBUS ?

 

Best Regards

Chi

  • Hi Chi,
     
    Is this the AM335X EVM board or a custom board?
    What is the version of EZSDK?
     
  • Hi, Biser

    Thank you always for your kindness help.

     

    I checked using AM335x EVM.

    and , EZSDK version is v05.06.00.

    Best Regards

    Chi

  • Something else - is DRVVBUS high all the time or low all the time? And do you have a jumper placed on J36?
  • DRVVBUS is always low, and J36 is not short.

    Best Regards

    Chi

  • Are you certain that you have DRVVBUS instrumented correctly? This VBUS pulsing (every 2s) is expected behavior, but is controlled by DRVVBUS which I don't see toggling on your plot.

    EDIT: I was incorrect. This pulsing is NOT controlled by DRVVBUS, but is instead controlled internally to the controller itself. DRVVBUS will not toggle but ~3V will be seen on VBUS every 2s.

  • A shunt should be used to short across J36 when operating as USB host.

    The USB specification requires a minimum VBUS capacitance of 120uF when operating as standard USB host.

    Regards,
    Paul

  • I checked on the U22 of AM335xEVM. USB0_VBUS is 8 pin of U22 and USB0_DRVVBUS is 4 pin of U22.

    Although DRVVBUS is not driven, It seems that USB0_VBUS is driving. 

    Is it considered possibility that VBUS is driven by USB0_VBUS (AM335x) ?

     

    Best Regards,

    Chi

     

  • USB0_VBUS is an input with a 40k ohm – 100k ohm load to ground when this port is operating as standard USB host. 

    This terminal can also source and sink current as defined by the USB OTG specification while performing VBUS pulsing SRP when this port is configured to operate as USB OTG B-device.

    Do you have the USB0_ID pin connected to ground which is required to tell the USB OTG controller to operate in host mode?

    Regards,
    Paul

  • Sorry, I was wrong description above.

    USB0_ID of TI-EVM is not connected to the ground and USB device, I think USB0 is not to operate as host.

    Do I understand correctly that VBUS output voltage has occurred, because I have been used as USB OTG ?

    If I use it as a Host or Peripheral mode, does(Should) not occur VBUS output voltage?

     

    Best Regards,

    Chi

  • Chi,

    I might be wrong, but the only reason I can think of why USB0_DRVVBUS is low is that you are probing at wrong place, as DK mentioned above. USB0_VBUS is driven by USB0_DRVVBUS on the EVM, so USB0_DRVVBUS _must_ be high when USB0_VBUS is high.

    Chi39519 said:
    Do I understand correctly that VBUS output voltage has occurred, because I have been used as USB OTG ?

    On the AM335x GP EVM, USB0 port is configured as OTG, by default if no device is plugged in, USB0 is in peripheral idle state, so there are 2sec pulses on USB0_VBUS to detect if a USB device is plugged in. While USB1 port is configured as Host (ID_pin is grounded), so you will see steady ~5V on USB1_VBUS.

    Chi39519 said:
    If I use it as a Host or Peripheral mode, does(Should) not occur VBUS output voltage?

    USB0 on EVM cannot be 'configured' as Host, since its ID_pin is not grounded. But USB0 can transit to Host state when a device is plugged in, because it is OTG.

    USB0 can be configured to Peripheral mode, in which case there is no 2s pulses on its VBUS. But this configuration is not recommended right now, since there are reports stating that this configuration has performance issue.

    If you want USB0 to work only in peripheral mode, you can still keep the OTG configuration in s/w, but only use B-type receptacle, so no USB device is able to plugged in, then modify kernel to disable the 2sec pulses.

  • Hi Bin Liu

     

    Thank you for your reply.

    I understood factors of VBUS pulse.

    So I have a final question.

    Is it not problem that conflict VBUS line by 2sec pulses on USB0_VBUS(AM335x) and 5V is supplied from USB host device.

     

    Best Regards,

    Chi

  • When USB0 is connected to a host port, the 2sec pulses will stop once USB0 is  enumerated and left b_idle state;

    And when USB0 is unplugged from the host port, the 2sec pulses will restart when USB0 is in b_idle state.

    Does this answer your question?

  •  

    Yes, My question is all clear.

    Thank you very much everyone.

     

    Best Regards

    Chi

     

  • Chi,

    I should also mention that the 2sec pulses will not cause any electrical problem, but it may fail the USB compliance test. So if your project uses the USB port only in peripheral mode in which case the pulses are not needed, and has to pass the USB compliance test, you can disable the pulses in kernel driver.