Fault Protection Schemes in CCG3PA - KBA231886
- Subscribe to RSS Feed
- Mark as New
- Mark as Read
- Bookmark
- Subscribe
- Printer Friendly Page
- Report Inappropriate Content
Version: **
CCG3PA is Cypress’s USB Type-C Controller targeted for power adapter and power bank applications. CCG3PA supports various fault protections schemes such as over-voltage, under-voltage and over-current protection. The chip can also support over-temperature protection with an external thermistor on a GPIO routed to internal ADC.
The following fault protection schemes can be implemented in CCG3PA. When a fault is encountered, the port disable state is invoked to prevent the system from damage. The following occur in the port disable state:
- Type-C port terminations from CC and D+/- lines are removed.
- Provider/Consumer FETs based on current port role are turned off.
1.1 Overvoltage Protection (OVP)
OVP is implemented for both Type-C port power roles (source and sink). Overvoltage is a fault condition when VBUS exceeds a preset level. During PD negotiation between port partners, the operational VBUS level is negotiated. After the PD negotiation, CCG3PA monitors VBUS in both source and sink roles. If VBUS exceeds the pre-defined threshold, OVP condition is executed.
1.1.1 Firmware parameters
- OV_ENABLE: Enable or disable OVP.
- OV_THRESHOLD: The percentage threshold above VBUS to be treated as an OV fault.
- OV_DEBOUNCE: The time duration before declaring an OV fault.
- OV_RETRY_COUNT: Specifies the number of tries before disabling the port.
1.1.2 Implementation
CCG3PA has a programmable resistor divider and a dedicated comparator for detecting OVP. VBUS is divided using the resistor divider and is routed to the comparator while the other terminal of the comparator is connected with a reference voltage. If VBUS exceeds the threshold, the comparator trips and an interrupt is generated.
As soon as the OV condition is signaled, the firmware disables the port and re-enables it after a pre-defined time. If the OV condition still exists, it goes through the disable-enable cycle again. This is repeated for a specific number of retries after which the port is temporarily disabled; it can be re-enabled through a hard reset/power cycle or by disconnecting/reconnecting the port partner.
1.2 Undervoltage Protection (UVP)
UVP is implemented only for the “source” port power role. UVP is implemented only for the “source” port power role. Undervoltage is a fault condition where VBUS drops below the operational level. After the PD negotiation between port partners, CCG3PA monitors the VBUS level; if VBUS falls below the threshold, a UVP condition is declared.
1.2.1 Firmware Parameters
- UV_ENABLE: Enable or disable UVP.
- UV_THRESHOLD: The percentage threshold below VBUS to be treated as a UV fault.
- UV_DEBOUNCE: Time duration before declaring a UV fault.
- UV_RETRY_COUNT: Specifies the number of tries before disabling the port.
1.2.2 Implementation
Similar to OVP, CCG3PA has a dedicated comparator to detect UVP.
The resistor divider provides the divided VBUS which is routed to the comparator while the other terminal of the comparator is the reference voltage. If VBUS drops below the UVP threshold, the comparator trips and an interrupt is generated.
On receiving the UVP signal, the firmware disables the Type-C port and re-enables it after a specified time interval. This cycle of disable-enable is repeated for a specified number of retries after which the port is completely disabled; it can be enabled through a hard reset/power cycle or by disconnecting/reconnecting the sink.
1.3 Overcurrent Protection (OCP)
OCP is implemented only for the “source” port power role.
Overcurrent is a fault condition when the current consumption is larger than intended.
During power contract negotiation, current is negotiated between port partners. CCG3PA monitors the current levels, and if it exceeds the threshold level, an OCP condition is declared.
1.3.1 Firmware Parameters
- OC_ENABLE: Enable or disable OC protection.
- OC_THRESHOLD: The percentage threshold above nominal operating current to be treated as an OC fault.
- OC_DEBOUNCE: The time duration before declaring an OC fault.
- OC_RETRY_COUNT: Specifies the number of tries before the port is shut down. A retry count of 255 implies infinite retries.
1.3.2 Implementation
CCG3PA has a dedicated comparator and a low-side current sense amplifier (LSCSA) for OCP detection. An external sense resistor Rsense is placed in series with load.
The Rsense resistor is placed across the CSP pin and GND, while LSCSA senses Vsense across Rsense. This is amplified and routed to the comparator where it is compared with the reference voltage. The reference voltage and amplifier gain are related to the target current.
When the current consumption exceeds the threshold, the comparator trips and the OC fault is signalled.
On receiving the OC fault signal, the firmware disables the Type-C port and re-enables it after a specified time interval. This cycle of disable-enable is repeated for a specified number of tries after which the port is completely disabled and can be enabled only through a hard reset/power cycle or by disconnecting/reconnecting the port partner.
1.4 Overtemperature Protection (OTP)
OTP is implemented for both Type-C port power roles (source and sink). CCG3PA requires an external thermistor to enable this protection.
Overtemperature is a fault condition when the temperature of the system exceeds a pre-defined threshold value.
1.4.1 Firmware Parameters
- OT_ENABLE: Enable or disable OTP.
- OT_THERM_TYPE: Specifies whether a Negative Temperature Co-efficient (NTC) or Positive Temperature Co-efficient (PTC) thermistor is being used.
- OT_VOLT_NOMINAL: GPIO voltage at nominal room temperature.
- OT_VOLT-CUTOFF: GPIO voltage at cut-off temperature.
- OT_VOLT_RESTART: GPIO voltage at restart temperature.
- OT_DEBOUNCE: Specifies the time interval before declaring an OT fault.
- OT_POLL_PERIOD: Periodic polling interval for OT fault.
1.4.2 Implementation
CCG3PA uses an external thermistor to monitor system temperature. A fixed resistor is used along with the thermistor to build a resistor divider circuit. The voltage across the thermistor is routed to CCG3PA over a GPIO, and sensed through the internal ADC.
Reference: See the CCGx Power SDK User Guide.