Използваме обикновени електронни устройства, за да съответстваме на тези три типа: Източник – зарядно устройство; Мивка – мобилен телефон; DRP – лаптоп или power bank.
За три вида устройства на теория ще има 9 комбинации на взаимно свързване. Трябва да има грешни методи за свързване (като адаптер за свързване на адаптер) или методи за свързване, които не са сигурни кой е източникът (като захранваща банка или лаптоп). И така, за толкова много комбинации, как контролерът Type-C конфигурира интерфейса?
Контролерът Type-C завършва целия процес на идентификация и комуникация чрез превключване на състоянието на крайната машина. Следват няколко основни състояния в държавната машина.
1. Unattached.SRC, източникът е в несвързано състояние
2. Unattended.SNK, Мивката е в несвързано състояние
3. AttachWait.SRC, целта на това състояние е източникът да гарантира, че CC1 и CC2 остават стабилни след свързване на устройството
4. AttachWait.SNK, целта на това състояние е Sink да гарантира, че CC1 и CC2 остават стабилни, след като устройството е свързано
5. Attached.SRC, Source определя, че устройството е успешно свързано
6. Attached.SNK, Sink определя, че устройството е успешно свързано
5. Try.SRC, това състояние е DRP устройството да се опита да превключи ролята на източник
6. Try.SNK, това състояние е за DRP устройство, за да се опита да превключи ролята на Sink
Сценарий 1 Механизъм на поведение между източник и приемник (адаптер и мобилен телефон)
По-долу е механизмът на поведение, когато източникът има свързано приемно устройство:
(1) Източникът и приемникът са в неприкрепено състояние Unattached.SRC и 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; Източникът включва VBUS и VCONN.
(3) Sink detects VBUS, and the Sink state changes to Unattached.SNK --> AttachWait.SNK -->Приложено.SNK
(4) След като източникът и приемникът са в прикачено състояние
Източникът регулира стойността на Rp, за да ограничи тока, погълнат от мивката
Sink открива напрежението vRd на Rd, за да определи тока, разрешен от VBUS
Източникът определя дали приемникът е прекъснат чрез наблюдение на CC. Ако е прекъснат, влиза в Unattached.SRC
Sink определя дали източникът е изключен чрез наблюдение на VBUS напрежението. Ако е прекъснат, влиза в Unattached.SNK

Сценарий 2 Механизъм на поведение между източник и DRP (зарядно устройство и лаптоп)
Следва механизмът на поведение, когато източникът има свързано DRP устройство:
(1) Както източникът, така и DRP са в неприкрепено състояние
Източникът е в състояние Unattached.SRC - DRP превключва между Unattached.SRC и 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; Източникът включва VBUS и 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 -->Приложено.SNK
(4) След като източникът и DRP са в прикачено състояние
Източникът регулира стойността на Rp, за да ограничи тока, погълнат от DRP (т.е. Sink)
DRP (т.е. Sink) открива напрежението vRd на Rd, за да определи тока, разрешен от VBUS
Източникът определя дали приемникът е прекъснат чрез наблюдение на CC. Ако е прекъснат, той влиза в Unattached.SRC-DRP (т.е. приемник) определя дали източникът е прекъснат чрез наблюдение на напрежението на VBUS. Ако е прекъснат, той влиза в Unattached.SNK и възстановява своя механизъм за превключване между Unattached.SRC и Unattached.SNK

Сценарий 3 Механизъм на поведение между DRP и Sink (лаптоп и мобилен телефон)
Следва механизмът на поведение, когато DRP има свързано устройство Sink:
(1) И DRP, и Sink са в незакрепено състояние
DRP превключва между Unattached.SRC и Unattached.SNK - Sink е в състояние 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 -->Attached.SRC; DRP (т.е. източник) включва VBUS и VCONN.
(3) When the Sink detects VBUS, the Sink state changes to Unattached.SNK --> AttachWait.SNK -->Приложено.SNK
(4) След като източникът и DRP са в прикачено състояние
DPR (т.е. източник) регулира стойността на Rp, за да ограничи тока, погълнат от мивката - мивката открива напрежението vRd на Rd, за да определи тока, разрешен от VBUS
DRP (т.е. източник) определя дали приемникът е прекъснат чрез наблюдение на CC. Ако е прекъснат, той влиза в Unattached.SRC и възстановява своя механизъм за превключване между Unattached.SRC и Unattached.SNK
DRP (т.е. приемник) определя дали източникът е изключен чрез наблюдение на VBUS напрежението. Ако е прекъснат, влиза в Unattached.SNK

Сценарий 4 Механизъм на поведение между DRP и DRP (Power Bank и лаптоп)
За комуникация между DRP и DRP има три ситуации. В една ситуация двете устройства решават кой е източникът или приемникът произволно; във втората ситуация един от DRP се опитва да реши да бъде източник чрез Try.SRC механизма; в третата ситуация един от DRP се опитва да реши да бъде Sink чрез Try.SNK механизма.
Следва механизмът на поведение, когато DRP устройство е свързано към DRP:
Сценарий 1:
(1) И двете DRP устройства са в несвързано състояние
DRP#1 и DRP#2 произволно превключват между Unattached.SRC и 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 (т.е. източник) включва VBUS и 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 -->Приложено.SNK
(4) След като източникът и DRP са в прикачено състояние
DPR#1 (т.е. източник) регулира стойността на Rp, за да ограничи тока, погълнат от DRP#2 (т.е. поглъщане)
DRP#2 (т.е. Sink) открива напрежението vRd на Rd, за да определи тока, разрешен от VBUS
DRP#1 (т.е. източник) определя дали приемникът е прекъснат чрез наблюдение на CC. Ако е така, той влиза в Unattached.SRC и възстановява своя механизъм за превключване между Unattached.SRC и Unattached.SNK
DRP#2 (т.е. приемник) определя дали източникът е изключен чрез наблюдение на напрежението на VBUS. Ако е така, той влиза в Unattached.SNK и възстановява своя механизъм за превключване между Unattached.SRC и Unattached.SNK

Случай 2:
(1) И двете DRP устройства са в незакрепено състояние
DRP#1 и DRP#2 произволно превключват между Unattached.SRC и 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 (т.е. източник) включва VBUS и 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; и издърпва нагоре CC щифта
(5) DRP#1 no longer detects DRP#2 pulling down the CC pin, so the state changes to Attached.SRC --> UnattachWait.SNK -->AttachWait.SNK; и изключва VBUS и VCONN и превключва падащия резистор на щифта CC
(6) DRP#2 detects that the CC pin is pulled up, so its state changes to Try.SRC -->Attached.SRC; и включва VBUS и VCONN
(7) The state of DRP#1 changes to AttachWait.SNK -->Приложено.SNK
(8) След като източникът и DRP са в прикачено състояние
DPR#2 (т.е. източник) регулира стойността на Rp, за да ограничи тока, погълнат от DRP#1 (т.е. поглъщане)
DRP#1 (т.е. Sink) открива напрежението vRd на Rd, за да определи тока, разрешен от VBUS
DRP#2 (т.е. източник) определя дали приемникът е прекъснат чрез наблюдение на CC. Ако е така, той влиза в Unattached.SRC и възстановява своя механизъм за превключване между Unattached.SRC и Unattached.SNK
DRP#1 (т.е. приемник) определя дали източникът е изключен чрез наблюдение на напрежението на VBUS. Ако е така, той влиза в Unattached.SNK и възстановява своя механизъм за превключване между Unattached.SRC и Unattached.SNK

Третият случай е механизмът Try.SNK, който е подобен на механизма Try.SRC и няма да бъде описан тук.
Сценарий 5 Механизъм на поведение между източник и източник и между приемник и приемник
В тези два случая на използване и източникът, и приемникът са в състояния Unattached.SRC и Unattached.SNK, така че няма захранване между устройствата.
Досега въведохме някои общи механизми за комуникация между устройствата. Специално за две DRP устройства с двойна роля, контролерът Type-C ще използва Try.SRC или Try.SNK, за да се опита да установи нормална логика на захранването. Разбира се, ако се появи грешна логика на захранването (например лаптоп зарежда захранваща банка), USB
PD протоколът също така осигурява механизъм за размяна на ролята на захранване, който превключва ролята на захранване чрез PD протокола. За подробности, моля, вижте спецификацията за USB захранване.





