- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
This is a continuation of this thread.
I am considering replacing the Renesas USB host controller with FX3.
The device has two signals: "VBOUT" (external power output enabled) and "OVCUR0" (overcurrent detection).
I want FX3 to have a similar function. Can it be implemented in FX3? Especially, I think that overcurrent detection requires a fast response using as interrupts.
Thanks,
Tetsuo
Solved! Go to Solution.
- Labels:
-
USB Superspeed Peripherals
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hello Tetsuo san,
VBOUT is managed by the status register.
* bit9 of the device state control register [DVSTCTR0] on page 27 of the data sheet.
>> From this I understand that you want to configure a GPIO for enabling and disabling the VBUS. If yes, UsbHost example of the FX3 SDK implements the same functionality. You can refer to FX3 DVK schematics for the hardware implementation
OVCUR is managed by another status register.
* bit14/15 of the system configuration status register [SYSSTS0] on page 24 of the data sheet.
>> The registers mentioned in the datasheet are not available on Fx3 but you can use GPIO for this functionality. The interrupt mode in the GPIO configuration can be set as per the requirement.
For example if interrupt mode is set to CY_U3P_GPIO_INTR_BOTH_EDGE, interrupt will be generated when on both edges (H>L) and (L>H). A interrupt callback should be register to handle this GPIO interrupt. You can refer to GpioApp example of the FX3 SDK for better understanding.
Rashi
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hello Tetsuo san,
From the description I understand that FX3 is used as Embedded USB Host controller and the device connected to Fx3 has two signals VBOUT and OVCUR0. Based on the status of these signals (input to FX3) some handling needs to be done on FX3. Is my understanding correct?
If yes, please let me know what are the requirements for handling these signals on FX3 and for OVCUR0 how fast the response is required from FX3.
Rashi
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Rashi-san,
Please refer to the attached data sheet.
VBOUT is managed by the status register.
* bit9 of the device state control register [DVSTCTR0] on page 27 of the data sheet
OVCUR is managed by another status register.
* bit14/15 of the system configuration status register [SYSSTS0] on page 24 of the data sheet.
The procedure is as follows:
An interrupt is generated when the input status of the OVCUR pin changes at bit 15 of the interrupt status register 1 [INTSTS1] (page 57 of the data sheet).
Set the enable / disable of interrupt output in the interrupt enable register 2 [INTEN B2] (page 50).
When the input status of the OVCUR pin changes (L⇒H or H⇒L), "1" is displayed in bit15 of [INTSTS1], and the INT_N pin is asserted to control interrupts when INTENB2 allows it.
There was no speed regulation
I would like to use the I / O of CYUSB2014 to make these two signals behave similarly.
Thanks,
Tetsuo
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hello Tetsuo san,
VBOUT is managed by the status register.
* bit9 of the device state control register [DVSTCTR0] on page 27 of the data sheet.
>> From this I understand that you want to configure a GPIO for enabling and disabling the VBUS. If yes, UsbHost example of the FX3 SDK implements the same functionality. You can refer to FX3 DVK schematics for the hardware implementation
OVCUR is managed by another status register.
* bit14/15 of the system configuration status register [SYSSTS0] on page 24 of the data sheet.
>> The registers mentioned in the datasheet are not available on Fx3 but you can use GPIO for this functionality. The interrupt mode in the GPIO configuration can be set as per the requirement.
For example if interrupt mode is set to CY_U3P_GPIO_INTR_BOTH_EDGE, interrupt will be generated when on both edges (H>L) and (L>H). A interrupt callback should be register to handle this GPIO interrupt. You can refer to GpioApp example of the FX3 SDK for better understanding.
Rashi
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Rashi-san,
Thank you for your comment.
I will check it.
If details such as FW specifications are decided, I will consult again.
Thanks,
Tetsuo