We gebruiken gangbare elektronische apparaten die overeenkomen met deze drie typen: Bron – oplader; Spoelbak – mobiele telefoon; DRP – laptop of powerbank.
Voor drie soorten apparaten zijn er in theorie 9 combinaties van onderlinge verbindingen. Er moeten verkeerde verbindingsmethoden zijn (zoals adapter die adapter verbindt) of verbindingsmethoden die niet zeker weten wie de bron is (zoals powerbank of laptop). Dus hoe configureert de Type-C-controller de interface voor zoveel combinaties?
De Type-C controller voltooit het gehele identificatie- en communicatieproces via de state switching van de state machine. Hieronder staan enkele hoofdstaten in de state machine.
1. Niet-aangesloten.SRC, Bron is in een niet-verbonden staat
2. Onbeheerd.SNK, Sink bevindt zich in een niet-verbonden staat
3. AttachWait.SRC, het doel van deze status is dat Source ervoor zorgt dat CC1 en CC2 stabiel blijven nadat het apparaat is aangesloten
4. AttachWait.SNK, het doel van deze status is dat Sink ervoor zorgt dat CC1 en CC2 stabiel blijven nadat het apparaat is aangesloten
5. Bijgevoegd.SRC, Bron bepaalt dat het apparaat succesvol is aangesloten
6. Bijgevoegd.SNK, Sink bepaalt dat het apparaat succesvol is verbonden
5. Try.SRC, deze status is voor het DRP-apparaat om te proberen de bronrol te wisselen
6. Try.SNK, deze status is voor het DRP-apparaat om te proberen de Sink-rol te wisselen
Scenario 1 Gedragsmechanisme tussen bron en ontvanger (adapter en mobiele telefoon)
Het volgende is het gedragsmechanisme wanneer Source een Sink-apparaat heeft aangesloten:
(1) Bron en Sink bevinden zich beide in de niet-gekoppelde staat Unattached.SRC en 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-->Bijgevoegd.SRC; Bron schakelt VBUS en VCONN in.
(3) Sink detects VBUS, and the Sink state changes to Unattached.SNK --> AttachWait.SNK -->Bijgevoegd.SNK
(4) Nadat de bron en de gootsteen in de gekoppelde staat zijn
De bron past de Rp-waarde aan om de door de Sink opgenomen stroom te beperken
Sink detecteert de spanning vRd op Rd om de stroom te bepalen die door VBUS wordt toegestaan
Source bepaalt of de Sink is losgekoppeld door CC te monitoren. Als de Sink is losgekoppeld, komt hij in Unattached.SRC
Sink bepaalt of de Source is losgekoppeld door de VBUS-spanning te bewaken. Als deze is losgekoppeld, gaat deze naar Unattached.SNK

Scenario 2 Gedragsmechanisme tussen Bron en DRP (oplader en laptop)
Het gedragsmechanisme wanneer de bron een DRP-apparaat heeft aangesloten, is als volgt:
(1) Zowel Source als DRP bevinden zich in de niet-gekoppelde staat
Bron bevindt zich in de status Unattached.SRC - DRP schakelt tussen Unattached.SRC en 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 -->Bijgevoegd.SRC; Bron schakelt VBUS en VCONN in.
(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 -->Bijgevoegd.SNK
(4) Nadat Source en DRP in de gekoppelde staat zijn
De bron past de Rp-waarde aan om de door DRP geabsorbeerde stroom te beperken (d.w.z. Sink)
DRP (d.w.z. Sink) detecteert de spanning vRd op Rd om de door VBUS toegestane stroom te bepalen
Source bepaalt of Sink is losgekoppeld door CC te monitoren. Als het losgekoppeld is, gaat het naar Unattached.SRC- DRP (d.w.z. Sink) bepaalt of Source is losgekoppeld door VBUS-spanning te monitoren. Als het losgekoppeld is, gaat het naar Unattached.SNK en herstelt het zijn schakelmechanisme tussen Unattached.SRC en Unattached.SNK

Scenario 3 Gedragsmechanisme tussen DRP en Sink (laptop en mobiele telefoon)
Het volgende gedragsmechanisme wordt toegepast wanneer DRP een Sink-apparaat heeft aangesloten:
(1) Zowel DRP als Sink bevinden zich in de niet-aangesloten staat
DRP schakelt tussen Unattached.SRC en Unattached.SNK - Sink bevindt zich in de Unattached.SNK-status
(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 -->Bijgevoegd.SRC; DRP (d.w.z. Source) schakelt VBUS en VCONN in.
(3) When the Sink detects VBUS, the Sink state changes to Unattached.SNK --> AttachWait.SNK -->Bijgevoegd.SNK
(4) Nadat de bron en DRP in de gekoppelde staat zijn
DPR (d.w.z. Source) past de Rp-waarde aan om de door de Sink opgenomen stroom te beperken - de Sink detecteert de spanning vRd op Rd om de door VBUS toegestane stroom te bepalen
DRP (d.w.z. Source) bepaalt of de Sink is losgekoppeld door CC te monitoren. Als deze is losgekoppeld, gaat deze naar Unattached.SRC en herstelt het zijn schakelmechanisme tussen Unattached.SRC en Unattached.SNK
DRP (d.w.z. Sink) bepaalt of de Source is losgekoppeld door de VBUS-spanning te bewaken. Als deze is losgekoppeld, gaat deze naar Unattached.SNK

Scenario 4 Gedragsmechanisme tussen DRP en DRP (Powerbank en Laptop)
Voor communicatie tussen DRP en DRP zijn er drie situaties. In de ene situatie beslissen de twee apparaten willekeurig wie de Source of Sink is; in de tweede situatie probeert een van de DRP's te beslissen de Source te zijn via het Try.SRC-mechanisme; in de derde situatie probeert een van de DRP's te beslissen de Sink te zijn via het Try.SNK-mechanisme.
Het gedragsmechanisme wanneer een DRP-apparaat is verbonden met het DRP, ziet er als volgt uit:
Scenario 1:
(1) Beide DRP-apparaten bevinden zich in de niet-verbonden toestand
DRP#1 en DRP#2 wisselen willekeurig tussen Unattached.SRC en 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 -->Bijgevoegd.SRC; DRP#1 (d.w.z. Source) schakelt VBUS en VCONN in.
(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 -->Bijgevoegd.SNK
(4) Nadat Source en DRP in de gekoppelde staat zijn
DPR#1 (d.w.z. Source) past de Rp-waarde aan om de stroom die door DRP#2 (d.w.z. Sink) wordt geabsorbeerd, te beperken
DRP#2 (d.w.z. Sink) detecteert de spanning vRd op Rd om de door VBUS toegestane stroom te bepalen
DRP#1 (d.w.z. Source) bepaalt of Sink is losgekoppeld door CC te monitoren. Als dat zo is, gaat het naar Unattached.SRC en herstelt het zijn schakelmechanisme tussen Unattached.SRC en Unattached.SNK
DRP#2 (d.w.z. Sink) bepaalt of Source is losgekoppeld door de VBUS-spanning te bewaken. Als dat zo is, gaat het naar Unattached.SNK en herstelt het zijn schakelmechanisme tussen Unattached.SRC en Unattached.SNK

Geval 2:
(1) Beide DRP-apparaten bevinden zich in de niet-aangesloten toestand
DRP#1 en DRP#2 wisselen willekeurig tussen Unattached.SRC en 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 -->Bijgevoegd.SRC; ; DRP#1 (d.w.z. Bron) schakelt VBUS en VCONN in.
(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 -->Probeer.SRC; en trek de CC-pin omhoog
(5) DRP#1 no longer detects DRP#2 pulling down the CC pin, so the state changes to Attached.SRC --> UnattachWait.SNK -->AttachWait.SNK; en schakelt VBUS en VCONN uit, en schakelt de pull-down weerstand op de CC pin
(6) DRP#2 detects that the CC pin is pulled up, so its state changes to Try.SRC -->Bijgevoegd.SRC; en schakelt VBUS en VCONN in
(7) The state of DRP#1 changes to AttachWait.SNK -->Bijgevoegd.SNK
(8) Nadat Source en DRP in de gekoppelde staat zijn
DPR#2 (d.w.z. Source) past de Rp-waarde aan om de stroom die door DRP#1 (d.w.z. Sink) wordt geabsorbeerd, te beperken
DRP#1 (d.w.z. Sink) detecteert de spanning vRd op Rd om de door VBUS toegestane stroom te bepalen
DRP#2 (d.w.z. Source) bepaalt of Sink is losgekoppeld door CC te monitoren. Als dat zo is, gaat het naar Unattached.SRC en herstelt het zijn schakelmechanisme tussen Unattached.SRC en Unattached.SNK
DRP#1 (d.w.z. Sink) bepaalt of Source is losgekoppeld door de VBUS-spanning te bewaken. Als dat zo is, gaat het naar Unattached.SNK en herstelt het zijn schakelmechanisme tussen Unattached.SRC en Unattached.SNK

Het derde geval is het Try.SNK-mechanisme, dat vergelijkbaar is met het Try.SRC-mechanisme en hier niet zal worden beschreven.
Scenario 5 Gedragsmechanisme tussen bron en bron en tussen gootsteen en gootsteen
In deze twee use cases bevinden zowel Source als Sink zich in de status Unattached.SRC en Unattached.SNK, waardoor er geen stroomvoorziening is tussen de apparaten.
Tot nu toe hebben we enkele algemene communicatiemechanismen tussen apparaten geïntroduceerd. Met name voor twee DRP dual-role apparaten zal de Type-C controller Try.SRC of Try.SNK gebruiken om te proberen normale voedinglogica te vestigen. Als de verkeerde voedinglogica optreedt (bijvoorbeeld een laptop laadt een powerbank op), zal de USB
Het PD-protocol biedt ook een Power Role Swap-mechanisme, dat de rol van de voeding via het PD-protocol omschakelt. Raadpleeg voor meer informatie de USB Power Delivery-specificatie.





