PSoC5LP USB interface connection to embedded USB hub

Tip / Sign in to post questions, reply, level up, and achieve exciting badges. Know more

cross mob
WaRa_4824346
Level 1
Level 1
10 questions asked 10 sign-ins 5 replies posted

A PSoC5LP controls power supply sequencing for an FPGA.  The PSoc5LP measures and reports current and voltage on the FPGA's power rails as well as FPGA die temperature to a host system via a USB to UART bridge. 

The PSoC5LP's USB interface is permanently connected to a CY7C65642 embedded USB hub.  No USB cables are ever inserted or removed.  However, aggressive power management is being done. Power to most of the system is removed unless the system is operational.  The embedded USB hub will be powered off when the system is idle.

The PSoC5LP is powered from +3.3V continuously from an "always on" power supply.  The PSoC5LP is performs power management by turning power off and on to the rest of the system.  The PSoC5LP will power the entire system up from idle after a period of time has elapsed or by an external wake up signal.

Questions:

1.  What is the proper way to connect power and USB signals to the PSoC5LP so that a "self powered" USB interface is created? Many other MCUs have a "VBUS" input to monitor USB bus voltage.  I don't see that on the PSoC5LP.

2.  Should the PSoC5LP's USB interface be "re-initialized" after power to the embedded USB hub is applied to mimic the insertion of a USB cable?  If so, how?

Thanks for your help dealing with these USB "corner cases"!

Wayne

 

 

 

 

0 Likes
1 Solution
Ekta_N
Moderator
Moderator
Moderator
750 replies posted First like given 250 solutions authored

Hello Wayne,

1. It is possible to monitor VBUS in case of PSoC 5LP as well.

To do that open the USBFS component configuration box and goto the advanced setting:

Ekta_0-1610947357143.png

By default the VBUS monitoring is unchecked, you need to select it to enable VBUS monitoring.

IO pin internal to the Component – the VBUS pin is added inside the USBFS
Component. The input state of this IO is returned by USBFS_VBusPresent() function. The
polling method should be used to monitor VBUS. The pin drive mode is High Impedance
Digital but could be changed using the pin-specific function,
USBFS_VBUS_SetDriveMode()

IO pin external to the Component – vbusdet input terminal is exposed by the USBFS
Component. A digital input Pin Component must be connected to vbusdet terminal.
General use case for this option is to detect the VBUS using the port specific interrupt
logic on the IO pin rather than periodically reading the pin state. The input state of this IO
is returned by USBFS_VBusPresent() function. This option is set by default if VBUS
monitoring is enabled

2.  Should the PSoC5LP's USB interface be "re-initialized" after power to the embedded USB hub is applied to mimic the insertion of a USB cable?  If so, how?

Do you want to mimic the insertion of the USB cable to check the voltage monitoring functionality?

You need start the USBFS component only once.  But depending upon the functionality it might be required to check if there is any change in the configuration of the USBFS component by using the USBFS_IsConfigurationChanged() and USBFS_GetConfiguration() functions.

Best Regards

Ekta

View solution in original post

0 Likes
1 Reply
Ekta_N
Moderator
Moderator
Moderator
750 replies posted First like given 250 solutions authored

Hello Wayne,

1. It is possible to monitor VBUS in case of PSoC 5LP as well.

To do that open the USBFS component configuration box and goto the advanced setting:

Ekta_0-1610947357143.png

By default the VBUS monitoring is unchecked, you need to select it to enable VBUS monitoring.

IO pin internal to the Component – the VBUS pin is added inside the USBFS
Component. The input state of this IO is returned by USBFS_VBusPresent() function. The
polling method should be used to monitor VBUS. The pin drive mode is High Impedance
Digital but could be changed using the pin-specific function,
USBFS_VBUS_SetDriveMode()

IO pin external to the Component – vbusdet input terminal is exposed by the USBFS
Component. A digital input Pin Component must be connected to vbusdet terminal.
General use case for this option is to detect the VBUS using the port specific interrupt
logic on the IO pin rather than periodically reading the pin state. The input state of this IO
is returned by USBFS_VBusPresent() function. This option is set by default if VBUS
monitoring is enabled

2.  Should the PSoC5LP's USB interface be "re-initialized" after power to the embedded USB hub is applied to mimic the insertion of a USB cable?  If so, how?

Do you want to mimic the insertion of the USB cable to check the voltage monitoring functionality?

You need start the USBFS component only once.  But depending upon the functionality it might be required to check if there is any change in the configuration of the USBFS component by using the USBFS_IsConfigurationChanged() and USBFS_GetConfiguration() functions.

Best Regards

Ekta

0 Likes