VBUS Monitoring for Self-Powered Devices – KBA86920 | Cypress Semiconductor
Support & Community
VBUS Monitoring for Self-Powered Devices – KBA86920
How can you monitor VBUS for a self-powered device? Is there any recommended circuit for this?
Answer: For a self-powered device design, you need to make sure that the device monitors VBUS and disables or enables the pull-up on the data line accordingly. A bus-powered design does not require VBUS monitoring because it cannot drive the bus when disconnected.
For the USB Full Speed (USBFS) component, there is an option to enable VBUS monitoring in the Configure ‘USBFS’ window (Figure 1). Please select the Advanced Tab and then check Enable VBUS Monitoring.
Figure 1. Enabling VBUS Monitoring
This will add a VBUS monitor pin to the design if the Internal VBUS option is selected. When the External VBUS option is selected, the Digital Input Pin Component should be placed on the schematic and must be connected to the VBUSDET input terminal. You can then use the API USBFS_VBusPresent() to determine VBUS presence for self-powered devices. Please check the Full Speed USB (USBFS) Component Datasheet for more on this API.
Figure 2 is a sample schematic on how to connect VBUS to a GPIO pin.
Figure 2. Connecting VBUS to a GPIO Pin