Nendele kolmele tüübile vastamiseks kasutame tavalisi elektroonikaseadmeid: Allikas – laadija; Valamu – mobiiltelefon; DRP – sülearvuti või toitepank.
Kolme tüüpi seadmete puhul on teoreetiliselt 9 ühendamise kombinatsiooni. Peavad olema valed ühendusmeetodid (nt adapteri ühendamise adapter) või ühendusmeetodid, mis pole kindlad, kes on allikas (nt toitepank või sülearvuti). Niisiis, kuidas nii paljude kombinatsioonide puhul C-tüüpi kontroller liidest konfigureerib?
C-tüüpi kontroller viib kogu identifitseerimis- ja sideprotsessi lõpule olekumasina olekuvahetuse kaudu. Järgnevalt on toodud mitu olekumasina põhiolekut.
1. Unattached.SRC, allikas on ühendamata olekus
2. Unattended.SNK, valamu on ühendamata olekus
3. AttachWait.SRC, selle oleku eesmärk on allikal tagada, et CC1 ja CC2 jäävad pärast seadme ühendamist stabiilseks
4. AttachWait.SNK, selle oleku eesmärk on, et Sink tagaks, et CC1 ja CC2 jäävad pärast seadme ühendamist stabiilseks
5. Attached.SRC, Source määrab, et seade on edukalt ühendatud
6. Attached.SNK, Sink määrab, et seade on edukalt ühendatud
5. Try.SRC, see olek on selleks, et DRP-seade prooviks allika rolli vahetada
6. Try.SNK, see olek on selleks, et DRP-seade prooviks valamu rolli vahetada
1. stsenaarium Käitumise mehhanism allika ja valamu vahel (adapter ja mobiiltelefon)
Järgmine on käitumismehhanism, kui allikal on valamu seade ühendatud:
(1) Allikas ja Sink on mõlemad olekus Ühenduseta.SRC ja 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-->Lisatud.SRC; Allikas lülitab sisse VBUS-i ja VCONN-i.
(3) Sink detects VBUS, and the Sink state changes to Unattached.SNK --> AttachWait.SNK -->Lisatud.SNK
(4) After Source ja Sink on lisatud olekus
Allikas reguleerib Rp väärtust, et piirata valamu neelavat voolu
Sink tuvastab VBUS-i lubatud voolutugevuse määramiseks Rd pinge vRd
Allikas määrab CC jälgimise abil, kas valamu on lahti ühendatud. Kui see on lahti ühendatud, sisestatakse see Unattached.SRC
Valamu määrab, kas allikas on lahti ühendatud, jälgides VBUS-i pinget. Kui see on lahti ühendatud, sisestab see Unattached.SNK

2. stsenaarium Käitumise mehhanism allika ja DRP (laadija ja sülearvuti) vahel
Järgmine on käitumismehhanism, kui allikaga on ühendatud DRP-seade:
(1) Nii allikas kui ka DRP on ühendamata olekus
Allikas on olekus Unattached.SRC – DRP lülitub Unattached.SRC ja Unattached.SNK vahel
(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 -->Lisatud.SRC; Allikas lülitab sisse VBUS-i ja VCONN-i.
(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 -->Lisatud.SNK
(4) Pärast seda, kui allikas ja DRP on lisatud olekus
Allikas reguleerib Rp väärtust, et piirata DRP (st valamu) neelatavat voolu
DRP (st Sink) tuvastab pinge vRd Rd-l, et määrata VBUS-i poolt lubatud vool
Allikas määrab CC jälgimise abil, kas valamu on lahti ühendatud. Kui see on lahti ühendatud, sisestab see Unattached.SRC-DRP (st Sink) määrab, kas allikas on lahti ühendatud, jälgides VBUS-i pinget. Kui see on lahti ühendatud, sisestab see Unattached.SNK ja taastab selle lülitusmehhanismi Unattached.SRC ja Unattached.SNK vahel

3. stsenaarium DRP ja valamu vaheline käitumismehhanism (sülearvuti ja mobiiltelefon)
Järgmine on käitumismehhanism, kui DRP-l on ühendatud valamuseade:
(1) Nii DRP kui ka valamu on kinnitamata olekus
DRP lülitub Unattached.SRC ja Unattached.SNK vahel – valamu on olekus Unattached.SNK
(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 -->Lisatud.SRC; DRP (st Source) lülitab sisse VBUS ja VCONN.
(3) When the Sink detects VBUS, the Sink state changes to Unattached.SNK --> AttachWait.SNK -->Lisatud.SNK
(4) Pärast seda, kui allikas ja DRP on lisatud olekus
DPR (st allikas) reguleerib Rp väärtust, et piirata valamu neelavat voolu – valamu tuvastab pinge vRd Rd-l, et määrata VBUS-i poolt lubatud vool
DRP (st allikas) määrab CC jälgimise abil, kas valamu on lahti ühendatud. Kui see on lahti ühendatud, sisestab see faili Unattached.SRC ja taastab selle lülitusmehhanismi Unattached.SRC ja Unattached.SNK vahel
DRP (st Sink) määrab, kas allikas on lahti ühendatud, jälgides VBUS-i pinget. Kui see on lahti ühendatud, sisestab see Unattached.SNK

4. stsenaarium käitumismehhanism DRP ja DRP (toitepank ja sülearvuti) vahel
DRP ja DRP vaheliseks suhtluseks on kolm olukorda. Ühes olukorras otsustavad kaks seadet juhuslikult, kes on allikas või valamu; teises olukorras proovib üks DRP-dest Try.SRC mehhanismi kaudu otsustada olla Allikas; kolmandas olukorras proovib üks DRP-dest Try.SNK mehhanismi kaudu otsustada, et on valamu.
Järgmine on käitumismehhanism, kui DRP-seade on DRP-ga ühendatud.
1. stsenaarium:
(1) Mõlemad DRP-seadmed on ühendamata olekus
DRP#1 ja DRP#2 lülituvad juhuslikult Unattached.SRC ja Unattached.SNK vahel
(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 -->Lisatud.SRC; DRP#1 (st Source) lülitab sisse VBUS ja 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 -->Lisatud.SNK
(4) Pärast seda, kui allikas ja DRP on lisatud olekus
DPR#1 (st allikas) reguleerib Rp väärtust, et piirata DRP#2 poolt neelatud voolu (st valamu)
DRP#2 (st valamu) tuvastab Rd pinge vRd, et määrata VBUS-i poolt lubatud vool
DRP#1 (st allikas) määrab, kas valamu on CC jälgimise abil lahti ühendatud. Kui jah, sisestab see faili Unattached.SRC ja taastab oma lülitusmehhanismi Unattached.SRC ja Unattached.SNK vahel
DRP#2 (st Sink) määrab, kas allikas on lahti ühendatud, jälgides VBUS-i pinget. Kui jah, sisestab see faili Unattached.SNK ja taastab lülitusmehhanismi Unattached.SRC ja Unattached.SNK vahel

Juhtum 2:
(1) Mõlemad DRP-seadmed on ühendamata olekus
DRP#1 ja DRP#2 lülituvad juhuslikult Unattached.SRC ja Unattached.SNK vahel
(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 -->Lisatud.SRC; ; DRP#1 (st Source) lülitab sisse VBUS ja 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 -->Proovi.SRC; ja tõmbab CC tihvti üles
(5) DRP#1 no longer detects DRP#2 pulling down the CC pin, so the state changes to Attached.SRC --> UnattachWait.SNK -->AttachWait.SNK; ja lülitab välja VBUS-i ja VCONN-i ning lülitab CC viigu allatõmbetakisti
(6) DRP#2 detects that the CC pin is pulled up, so its state changes to Try.SRC -->Lisatud.SRC; ning lülitab sisse VBUS ja VCONN
(7) The state of DRP#1 changes to AttachWait.SNK -->Lisatud.SNK
(8) Pärast seda, kui allikas ja DRP on lisatud olekus
DPR#2 (st allikas) reguleerib Rp väärtust, et piirata DRP#1 poolt neelatud voolu (st valamu)
DRP#1 (st valamu) tuvastab Rd pinge vRd, et määrata VBUS-i poolt lubatud vool
DRP#2 (st allikas) määrab, kas valamu on CC jälgimise abil lahti ühendatud. Kui jah, sisestab see faili Unattached.SRC ja taastab oma lülitusmehhanismi Unattached.SRC ja Unattached.SNK vahel
DRP#1 (st Sink) määrab, kas allikas on lahti ühendatud, jälgides VBUS-i pinget. Kui jah, sisestab see faili Unattached.SNK ja taastab lülitusmehhanismi Unattached.SRC ja Unattached.SNK vahel

Kolmas juhtum on Try.SNK mehhanism, mis sarnaneb Try.SRC mehhanismiga ja mida siin ei kirjeldata.
5. stsenaarium Käitumismehhanism allika ja allika ning vajumise ja vajumise vahel
Nendel kahel kasutusjuhul on allikas ja valamu olekutes Unattached.SRC ja Unattached.SNK, seega puudub seadmete vahel toiteallikas.
Siiani oleme kasutusele võtnud mõned levinumad sidemehhanismid seadmete vahel. Eriti kahe DRP kahe rolliga seadme puhul kasutab C-tüüpi kontroller Try.SRC-d või Try.SNK-d normaalse toiteallika loogika loomiseks. Muidugi, kui ilmneb vale toiteloogika (näiteks sülearvuti laeb toitepanka), siis USB
PD-protokoll pakub ka Power Role Swap mehhanismi, mis vahetab toiteallika rolli PD-protokolli kaudu. Üksikasju vaadake USB-toitevarustuse spetsifikatsioonist.





