Tool/software:
AM335 USB overcurrent drvvbus can't recover it. how can I control the drvvbus or power on enable again?
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.
Tool/software:
AM335 USB overcurrent drvvbus can't recover it. how can I control the drvvbus or power on enable again?
Hello fang.jijun
Thank you for the query.
AM335 USB overcurrent drvvbus can't recover it. how can I control the drvvbus or power on enable again?
I need you to provide additional inputs.
If this is a custom board, i will need the schematics to verify.
Regards,
Sreenivasa
Hello fang.jijun
Please refer below section from the TRM
16.2.1 VBUS Voltage Sourcing Control
When any of the USB controllers assumes the role of a host, the USB is required to supply a 5V power source to an attached device through its VBUS line. In order to achieve this task, the USB controller requires the use of an external power logic (or charge pump) capable of sourcing 5V power. A USB_DRVVBUS is used as a control signal to enable/disable this external power logic to either source or disable power on the VBUS line. The control on the USB_DRVVBUS is automatic and is handled by the USB controller. The control should be transparent to the user so long as the proper hardware connection and software initialization are in place. The USB controller drives the USB_DRVVBUS signal high when it assumes the role of a host while the controller is in session. When assuming the role of a device, the controller drives the USB_DRVVBUS signal low disabling the external charge pump/power logic; hence, no power is driven on the VBUS line (in this case, power is expected to be sourced by the external host). Note that both USBs are self-powered and the device does not rely on the voltage on the VBUS line sourced by an external host for controller operation when assuming the role of a device. The power on the VBUS is used to identify the presence of a Host. It is also used to power up the pull-up on the D+ line. The USB PHY would continually monitor the voltage on the VBUS and report the status to USB controller.
Refer below FAQ for the TRM link
Regards,
Sreenivasa
Can I control drvvbus pin to change the power state (power on and off) of USB devices using commands in the file system?
Hello fang.jijun
Thank you.
Can I control drvvbus pin to change the power state (power on and off) of USB devices using commands in the file system?
Are you able to provide additional information on the configuration include the software you are using?
Regards,
Sreenivasa
Hello fang.jijun
Thank you.
Are you able to share the hardware implementation details for a quick review?
regards,
Sreenivasa
Hardware show as following. drvvbus will control the enable pin for power on, how can i control drvvbus pin to power on and off the usb device
Hello fang.jijun
Thank you.
Let me assign to the expert.
Can you please confirm the development environment you are using to reassign.
Regards,
Sreenivasa
Hello fang.jijun
Thank you.
Let me assign to the expert.
Regards,
Sreenivasa
Hi Jijun,
First of all, does your board has a minimum 120uF capacitor on the VBUS line close to the USB connector?
If the USB connector's terminal capacitance is too large, it may cause poor timing of short-circuit/over current protection. My question is, if I do not use DRVVBUS and directly use high level enable the chip with the enable signal, the chip will automatically restore power after the short-circuit fault disappears. However, if I use DRVVBUS as the enable signal, the short-circuit protection does not automatically recover. How should I control the power-up by setting drvvbus signal?
Hi Jijun,
If the USB connector's terminal capacitance is too large, it may cause poor timing of short-circuit/over current protection.
I am a software guy, and don't know much about the protection problem you mentioned. But the >=120uF CAP is required by the USB2.0 Specifications. In the whole life of AM335x, I am not aware of any customer complaining about the protection problem.
My question is, if I do not use DRVVBUS and directly use high level enable the chip with the enable signal, the chip will automatically restore power after the short-circuit fault disappears. However, if I use DRVVBUS as the enable signal, the short-circuit protection does not automatically recover.
Again, if you have the 120uF CAP on VBUS, the VBUS voltage drop (VBUS overcurrent) problem shouldn't happen.
How should I control the power-up by setting drvvbus signal?
Linux doesn't provide an interface to directly control the DRVVBUS signal.