Biz ushbu uchta turga mos keladigan umumiy elektron qurilmalardan foydalanamiz: Manba - zaryadlovchi; Lavabo - mobil telefon; DRP - noutbuk yoki quvvat banki.
Uch turdagi qurilmalar uchun nazariy jihatdan o'zaro bog'lanishning 9 ta kombinatsiyasi bo'ladi. Noto'g'ri ulanish usullari (masalan, adapterni ulash adapteri) yoki Manba kimligini aniq bo'lmagan ulanish usullari (masalan, quvvat banki yoki noutbuk) bo'lishi kerak. Shunday qilib, juda ko'p kombinatsiyalar uchun Type-C kontroller interfeysni qanday sozlaydi?
Type-C kontrolleri davlat mashinasining holatini almashtirish orqali butun identifikatsiya va aloqa jarayonini yakunlaydi. Quyida davlat mashinasining bir nechta asosiy holatlari keltirilgan.
1. Unattached.SRC, Manba ulanmagan holatda
2. Unattended.SNK, Sink ulanmagan holatda
3. AttachWait.SRC, bu holatning maqsadi Manba uchun qurilma ulangandan keyin CC1 va CC2 barqarorligini taʼminlashdir
4. AttachWait.SNK, bu holatning maqsadi Sink uchun qurilma ulangandan keyin CC1 va CC2 barqaror turishini taʼminlashdir.
5. Attached.SRC, Manba qurilma muvaffaqiyatli ulanganligini aniqlaydi
6. Attached.SNK, Sink qurilmaning muvaffaqiyatli ulanganligini aniqlaydi
5. Try.SRC, bu holat DRP qurilmasi uchun Manba rolini almashtirishga harakat qiladi
6. Try.SNK, bu holat DRP qurilmasi uchun Sink rolini almashtirishga harakat qiladi
Stsenariy 1 Manba va Sink o'rtasidagi xatti-harakatlar mexanizmi (adapter va mobil telefon)
Source Sink qurilmasi ulangan bo'lsa, quyidagi xatti-harakatlar mexanizmi:
(1) Manba va Sink ikkalasi ham biriktirilmagan holatda. Unattached.SRC va 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-->biriktirilgan.SRC; Manba VBUS va VCONN-ni yoqadi.
(3) Sink detects VBUS, and the Sink state changes to Unattached.SNK --> AttachWait.SNK -->biriktirilgan.SNK
(4) Source va Sink biriktirilgan holatda bo'lgandan keyin
Resurs sink tomonidan so'rilgan oqimni cheklash uchun Rp qiymatini sozlaydi
Sink VBUS tomonidan ruxsat etilgan oqimni aniqlash uchun Rd ustidagi vRd kuchlanishini aniqlaydi
Manba CC monitoringi orqali Sinkning uzilganligini aniqlaydi. Agar u uzilgan bo'lsa, u Unattached.SRC ga kiradi
Sink VBUS kuchlanishini kuzatish orqali Manbaning uzilganligini aniqlaydi. Agar u uzilgan bo'lsa, u Unattached.SNK ga kiradi

Stsenariy 2 Manba va DRP o'rtasidagi xatti-harakatlar mexanizmi (zaryadlovchi va noutbuk)
Manbaga DRP qurilmasi ulanganda quyidagi xatti-harakatlar mexanizmi keltirilgan:
(1) Manba ham, DRP ham biriktirilmagan holatda
Manba Unattached.SRC holatida - DRP Unattached.SRC va Unattached.SNK o'rtasida almashadi
(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 -->biriktirilgan.SRC; Manba VBUS va VCONN-ni yoqadi.
(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 -->biriktirilgan.SNK
(4) Manba va DRP biriktirilgan holatda bo'lgandan keyin
Manba DRP (ya'ni, Sink) tomonidan so'rilgan oqimni cheklash uchun Rp qiymatini sozlaydi.
DRP (ya'ni Sink) VBUS tomonidan ruxsat etilgan oqimni aniqlash uchun Rd ustidagi vRd kuchlanishini aniqlaydi
Manba CC monitoringi orqali Sinkning uzilganligini aniqlaydi. Agar u uzilgan bo'lsa, u Unattached-ga kiradi. SRC- DRP (ya'ni Sink) VBUS kuchlanishini kuzatish orqali Manba uzilganligini aniqlaydi. Agar u uzilgan bo'lsa, u Unattached.SNK-ga kiradi va Unattached.SRC va Unattached.SNK o'rtasida o'tish mexanizmini tiklaydi.

3-stsenariy DRP va sink o'rtasidagi xatti-harakatlar mexanizmi (noutbuk va mobil telefon)
DRP sink qurilmasi ulangan bo'lsa, quyidagi harakat mexanizmi mavjud:
(1) DRP ham, Sink ham ulanmagan holatda
DRP Unattached.SRC va Unattached.SNK o'rtasida almashadi - Sink Unattached.SNK holatida
(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 -->biriktirilgan.SRC; DRP (ya'ni Manba) VBUS va VCONN-ni yoqadi.
(3) When the Sink detects VBUS, the Sink state changes to Unattached.SNK --> AttachWait.SNK -->biriktirilgan.SNK
(4) Manba va DRP biriktirilgan holatda bo'lgandan keyin
DPR (ya'ni Manba) sink tomonidan so'rilgan oqimni cheklash uchun Rp qiymatini sozlaydi - Sink VBUS tomonidan ruxsat etilgan oqimni aniqlash uchun Rd ustidagi vRd kuchlanishini aniqlaydi.
DRP (ya'ni Manba) CC monitoringi orqali Sinkning uzilganligini aniqlaydi. Agar u uzilgan bo'lsa, u Unattached.SRC ga kiradi va Unattached.SRC va Unattached.SNK o'rtasida o'tish mexanizmini tiklaydi.
DRP (ya'ni, Sink) VBUS kuchlanishini kuzatish orqali Manbaning uzilganligini aniqlaydi. Agar u uzilgan bo'lsa, u Unattached.SNK ga kiradi

4-stsenariy DRP va DRP (Power Bank va Laptop) o'rtasidagi xatti-harakatlar mexanizmi
DRP va DRP o'rtasidagi aloqa uchun uchta holat mavjud. Bir vaziyatda ikkita qurilma tasodifiy manba yoki cho'kma kimligini hal qiladi; ikkinchi holatda, DRPlardan biri Try.SRC mexanizmi orqali Manba bo'lishga qaror qilishga harakat qiladi; uchinchi holatda, DRPlardan biri Try.SNK mexanizmi orqali Sink bo'lishga qaror qilishga harakat qiladi.
DRP qurilmasi DRP ga ulanganda quyidagi xatti-harakatlar mexanizmi keltirilgan:
1-stsenariy:
(1) Ikkala DRP qurilmasi ham ulanmagan holatda
DRP#1 va DRP#2 tasodifiy Unattached.SRC va Unattached.SNK o'rtasida almashadi.
(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 -->biriktirilgan.SRC; DRP#1 (ya'ni Manba) VBUS va VCONN-ni yoqadi.
(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 -->biriktirilgan.SNK
(4) Manba va DRP biriktirilgan holatda bo'lgandan keyin
DPR#1 (ya'ni Manba) DRP#2 (ya'ni, Sink) tomonidan so'rilgan oqimni cheklash uchun Rp qiymatini sozlaydi.
DRP#2 (ya'ni Sink) VBUS tomonidan ruxsat etilgan oqimni aniqlash uchun Rd ustidagi vRd kuchlanishini aniqlaydi.
DRP#1 (ya'ni Manba) CC monitoringi orqali Sinkning uzilganligini aniqlaydi. Agar shunday bo'lsa, u Unattached.SRC ga kiradi va Unattached.SRC va Unattached.SNK o'rtasida o'tish mexanizmini tiklaydi.
DRP#2 (ya'ni, Sink) VBUS kuchlanishini kuzatish orqali Manba uzilganligini aniqlaydi. Agar shunday bo'lsa, u Unattached.SNK-ga kiradi va Unattached.SRC va Unattached.SNK o'rtasida o'tish mexanizmini tiklaydi.

2-holat:
(1) Ikkala DRP qurilmasi ham ulanmagan holatda
DRP#1 va DRP#2 tasodifiy Unattached.SRC va Unattached.SNK o'rtasida almashadi.
(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 -->biriktirilgan.SRC; ; DRP#1 (ya'ni Manba) VBUS va VCONN-ni yoqadi.
(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; va CC pinini tortadi
(5) DRP#1 no longer detects DRP#2 pulling down the CC pin, so the state changes to Attached.SRC --> UnattachWait.SNK -->AttachWait.SNK; va VBUS va VCONN-ni o'chiradi va CC pinidagi pastga tushadigan rezistorni o'zgartiradi
(6) DRP#2 detects that the CC pin is pulled up, so its state changes to Try.SRC -->biriktirilgan.SRC; va VBUS va VCONN-ni yoqadi
(7) The state of DRP#1 changes to AttachWait.SNK -->biriktirilgan.SNK
(8) Manba va DRP biriktirilgan holatda bo'lgandan keyin
DPR#2 (ya'ni Manba) DRP#1 tomonidan so'rilgan oqimni cheklash uchun Rp qiymatini sozlaydi (ya'ni, Sink)
DRP#1 (ya'ni, Sink) VBUS tomonidan ruxsat etilgan oqimni aniqlash uchun Rd ustidagi vRd kuchlanishini aniqlaydi.
DRP#2 (ya'ni Manba) CC monitoringi orqali Sinkning uzilganligini aniqlaydi. Agar shunday bo'lsa, u Unattached.SRC ga kiradi va Unattached.SRC va Unattached.SNK o'rtasida o'tish mexanizmini tiklaydi.
DRP#1 (ya'ni, Sink) VBUS kuchlanishini kuzatish orqali Manba uzilganligini aniqlaydi. Agar shunday bo'lsa, u Unattached.SNK-ga kiradi va Unattached.SRC va Unattached.SNK o'rtasida o'tish mexanizmini tiklaydi.

Uchinchi holat Try.SNK mexanizmi bo'lib, u Try.SRC mexanizmiga o'xshaydi va bu erda tasvirlanmaydi.
5-stsenariy Manba va manba o'rtasidagi va cho'kma va cho'kma o'rtasidagi xatti-harakatlar mexanizmi
Ushbu ikkita foydalanish holatida Source va Sink ikkalasi ham Unattached.SRC va Unattached.SNK holatlarida bo'ladi, shuning uchun qurilmalar o'rtasida quvvat manbai yo'q.
Hozirgacha biz qurilmalar o'rtasida ba'zi umumiy aloqa mexanizmlarini joriy qildik. Ayniqsa, ikkita DRP ikki rolli qurilmalar uchun Type-C kontroller normal quvvat manbai mantig'ini o'rnatishga harakat qilish uchun Try.SRC yoki Try.SNK dan foydalanadi. Albatta, noto'g'ri quvvat manbai mantig'i paydo bo'lsa (masalan, noutbuk quvvat bankini zaryad qiladi), USB
PD protokoli PD protokoli orqali quvvat manbai rolini almashtiruvchi Power Role Swap mexanizmini ham taqdim etadi. Tafsilotlar uchun USB quvvat yetkazib berish spetsifikatsiyasiga qarang.





