USB-Serial: Programmed Configuration not Updated in Self-powered Mode - KBA231991
Why is the newer configuration programmed to USB-Serial device not updated even after power cycling the USB port?
Figure 1 shows a self-powered scenario, where the device VBUS/VCC pin is powered from the VBUS of the USB connector and VDDD/VCCIO pin of the USB-Serial device is not directly or indirectly powered from the VBUS of USB connector.
In the above scenario, when the USB-Serial device is disconnected from the host after programming, the internal core of USB-Serial device, which is powered through VDDD/VCCIO will still retain its previous configuration.
Note: VCC and VCCIO corresponds to part numbers CY7C65213 and CY7C65213A.
VBUS and VDDD corresponds to part numbers CY7C65211, CY7C65211A, CY7C65215, and CY7C65215A
Figure 1. Self-powered Configuration Scenario
For the newer programmed configuration to be updated, one of the following conditions should be met:
- The USB-Serial device VDDD/VCCIO pin should be power cycled.
- The USB-Device must be reset by asserting its Reset pin low for a minimum of 1 us.
- The USB-Serial Device must be reset from the host to which it is connected by using the Reset Device option in the USB-Serial Configuration utility (see Figure 2) or by issuing a CyResetDevice() call from an host application from which the device is accessed (see the Cypress USB-Serial API Documentation from the USB-Serial SDK).
Figure 2. USB-Serial Configuration Utility Reset Device Option
So, when a USB-Serial Device is in self-powered configuration as shown in Figure 1, that is, when the VDDD/VCCIO is powered using an internal sourcem and the internal source remains active when the board is not connected to host, the newly programed configuration will not be updated even after the USB is reconnected, until the device is reset.