Detailed configuration process between Type-C devices

Jul 30, 2024Leave a message

We use common electronic devices to correspond to these three types: Source – charger; Sink – mobile phone; DRP – laptop or power bank.

For three types of devices, there will be 9 combinations of interconnection in theory. There must be wrong connection methods (such as adapter connecting adapter) or connection methods that are not sure who is the Source (such as power bank or laptop). So for so many combinations, how does the Type-C controller configure the interface?

The Type-C controller completes the entire identification and communication process through the state switching of the state machine. The following are several main states in the state machine.

1. Unattached.SRC, Source is in an unconnected state

2. Unattended.SNK, Sink is in an unconnected state

3. AttachWait.SRC, the purpose of this state is for Source to ensure that CC1 and CC2 remain stable after the device is connected

4. AttachWait.SNK, the purpose of this state is for Sink to ensure that CC1 and CC2 remain stable after the device is connected

5. Attached.SRC, Source determines that the device is successfully connected

6. Attached.SNK, Sink determines that the device is successfully connected

5. Try.SRC, this state is for DRP device to try to switch Source role

6. Try.SNK, this state is for DRP device to try to switch Sink role

Scenario 1 Behavior mechanism between Source and Sink (adapter and mobile phone)

The following is the behavior mechanism when Source has Sink device connected:

(1) Source and Sink are both in the unattached state Unattached.SRC and Unattached.SNK

(2) Source detects that there is a pull-up resistor on the CC end of the Sink, and the Source state changes to Unattached.SRC --> AttachWait.SRC--> Attached.SRC; Source turns on VBUS and VCONN.

(3) Sink detects VBUS, and the Sink state changes to Unattached.SNK --> AttachWait.SNK --> Attached.SNK

(4) After Source and Sink are in the attached state

Source adjusts the Rp value to limit the current absorbed by the Sink

Sink detects the voltage vRd on Rd to determine the current allowed by VBUS

Source determines whether the Sink is disconnected by monitoring CC. If it is disconnected, it enters Unattached.SRC

Sink determines whether the Source is disconnected by monitoring the VBUS voltage. If it is disconnected, it enters Unattached.SNK

33

Scenario 2 Behavior mechanism between Source and DRP (charger and laptop)

The following is the behavior mechanism when the Source has a DRP device connected:

(1) Both Source and DRP are in the unattached state

Source is in the Unattached.SRC state - DRP switches between Unattached.SRC and Unattached.SNK

(2) Source detects that there is a Sink pull-up resistor on the CC end, then the Source state changes to Unattached.SRC --> AttachWait.SRC --> Attached.SRC; Source turns on VBUS and VCONN.

(3) When DRP switches to Unattached.SNK and detects that the CC pin is pulled up, the DRP state changes to Unattached.SNK --> AttachWait.SNK --> Attached.SNK

(4) After Source and DRP are in the attached state

Source adjusts the Rp value to limit the current absorbed by DRP (i.e. Sink)

DRP (i.e. Sink) detects the voltage vRd on Rd to determine the current allowed by VBUS

Source determines whether Sink is disconnected by monitoring CC. If it is disconnected, it enters Unattached.SRC- DRP (i.e. Sink) determines whether Source is disconnected by monitoring VBUS voltage. If it is disconnected, it enters Unattached.SNK and restores its switching mechanism between Unattached.SRC and Unattached.SNK

44

Scenario 3 Behavior Mechanism between DRP and Sink (Laptop and Mobile Phone)

The following is the behavior mechanism when DRP has a Sink device connected:

(1) Both DRP and Sink are in the unattached state

DRP switches between Unattached.SRC and Unattached.SNK - Sink is in the Unattached.SNK state

(2) When DRP switches to Unattached.SRC and detects that the CC pin has a pull-down resistor, the DRP state changes to Unattached.SRC --> AttachWait.SRC --> Attached.SRC; DRP (i.e. Source) turns on VBUS and VCONN.

(3) When the Sink detects VBUS, the Sink state changes to Unattached.SNK --> AttachWait.SNK --> Attached.SNK

(4) After the Source and DRP are in the attached state

DPR (i.e. Source) adjusts the Rp value to limit the current absorbed by the Sink - the Sink detects the voltage vRd on Rd to determine the current allowed by VBUS

DRP (i.e. Source) determines whether the Sink is disconnected by monitoring CC. If it is disconnected, it enters Unattached.SRC and restores its switching mechanism between Unattached.SRC and Unattached.SNK

DRP (i.e. Sink) determines whether the Source is disconnected by monitoring the VBUS voltage. If it is disconnected, it enters Unattached.SNK

55

Scenario 4 Behavior Mechanism between DRP and DRP (Power Bank and Laptop)

For communication between DRP and DRP, there are three situations. In one situation, the two devices decide who is the Source or Sink randomly; in the second situation, one of the DRPs tries to decide to be the Source through the Try.SRC mechanism; in the third situation, one of the DRPs tries to decide to be the Sink through the Try.SNK mechanism.

The following is the behavior mechanism when a DRP device is connected to the DRP:

Scenario 1:

(1) Both DRP devices are in the unconnected state

DRP#1 and DRP#2 randomly switch between Unattached.SRC and Unattached.SNK

(2) When DRP#1 switches to Unattached.SRC and detects that the CC pin is pulled down by DRP#2, the state of DRP#1 changes to Unattached.SRC--> AttachWait.SRC --> Attached.SRC; DRP#1 (i.e. Source) turns on VBUS and VCONN.

(3) When DRP#2 switches to Unattached.SRC and detects that the CC pin is pulled up, the state of DRP#2 changes to Unattached.SNK --> AttachWait.SNK --> Attached.SNK

(4) After Source and DRP are in the attached state

DPR#1 (i.e. Source) adjusts the Rp value to limit the current absorbed by DRP#2 (i.e. Sink)

DRP#2 (i.e. Sink) detects the voltage vRd on Rd to determine the current allowed by VBUS

DRP#1 (i.e. Source) determines whether Sink is disconnected by monitoring CC. If so, it enters Unattached.SRC and restores its switching mechanism between Unattached.SRC and Unattached.SNK

DRP#2 (i.e. Sink) determines whether Source is disconnected by monitoring VBUS voltage. If so, it enters Unattached.SNK and restores its switching mechanism between Unattached.SRC and Unattached.SNK

66

Case 2:

(1) Both DRP devices are in the unattached state

DRP#1 and DRP#2 randomly switch between Unattached.SRC and Unattached.SNK

(2) When DRP#1 switches to Unattached.SRC and detects that the CC pin is pulled down by DRP#2, the state of DRP#1 changes to Unattached.SRC--> AttachWait.SRC --> Attached.SRC; ; DRP#1 (i.e. Source) turns on VBUS and VCONN.

(3) When DRP#2 switches to Unattached.SRC and detects that the CC pin is pulled up, the state of DRP#2 changes to Unattached.SNK --> AttachWait.SNK

(4) DRP#2 is in AttachWait.SNK and wants to switch to the Source role. The state of DRP#2 changes to AttachWait.SNK --> Try.SRC; and pulls up the CC pin

(5) DRP#1 no longer detects DRP#2 pulling down the CC pin, so the state changes to Attached.SRC --> UnattachWait.SNK --> AttachWait.SNK; and turns off VBUS and VCONN, and switches the pull-down resistor on the CC pin

(6) DRP#2 detects that the CC pin is pulled up, so its state changes to Try.SRC --> Attached.SRC; and turns on VBUS and VCONN

(7) The state of DRP#1 changes to AttachWait.SNK --> Attached.SNK

(8) After Source and DRP are in the attached state

DPR#2 (i.e. Source) adjusts the Rp value to limit the current absorbed by DRP#1 (i.e. Sink)

DRP#1 (i.e. Sink) detects the voltage vRd on Rd to determine the current allowed by VBUS

DRP#2 (i.e. Source) determines whether Sink is disconnected by monitoring CC. If so, it enters Unattached.SRC and restores its switching mechanism between Unattached.SRC and Unattached.SNK

DRP#1 (i.e. Sink) determines whether Source is disconnected by monitoring VBUS voltage. If so, it enters Unattached.SNK and restores its switching mechanism between Unattached.SRC and Unattached.SNK

77

The third case is the Try.SNK mechanism, which is similar to the Try.SRC mechanism and will not be described here.

Scenario 5 Behavior Mechanism between Source and Source and between Sink and Sink

In these two use cases, both Source and Sink are in the Unattached.SRC and Unattached.SNK states, so there is no power supply between devices.

So far, we have introduced some common communication mechanisms between devices. Especially for two DRP dual-role devices, the Type-C controller will use Try.SRC or Try.SNK to try to establish normal power supply logic. Of course, if the wrong power supply logic occurs (for example, a laptop charges a power bank), the USB

PD protocol also provides a Power Role Swap mechanism, which switches the power supply role through the PD protocol. For details, please refer to the USB Power Delivery Specification.

 

 

 

Send Inquiry

Home

teams

E-mail

Inquiry