USB typu C - nowe możliwości

| Technika

Port USB jest obecnie nieodłącznym wyposażeniem współczesnych komputerów, a liczba dołączanych do niego urządzeń, takich jak myszy, klawiatury, drukarki, aparaty, modemy GSM, pamięci masowe, programatory, debuggery, ładowarki, cały czas rośnie. Ostatnio pojawił się nowy zmodernizowany standard - typ C. W połączeniu z nową specyfikacją negocjacji warunków zasilania dołączonego urządzenia Power Delivery (PD), znacznie usprawnia komunikację, obniża koszt i ułatwia zasilanie za jego pośrednictwem.

USB typu C - nowe możliwości

Wtyczka typu C ma grubość 2,4 mm przy szerokości 8,3 mm, co plasuje ją pomiędzy 1,8 mm USB micro-B a 4,5 mm USB typu A (rys. 1). Nowością jest też to, że połączenie działa poprawnie również po odwróceniu wtyczki w gnieździe o 180°. Typ C ma 24 styki, podczas gdy tradycyjny USB 2 ma ich 4, a USB 3 ma 9.

Rys. 1. Interfejsy w elektronice a USB typu C

Rys. 2. Odwracalne wtyczki w USB typu C

C umożliwia przesyłanie danych jednym kablem według różnych protokołów, jak Display Port, PCI Express czy Thunderbolt, a szybkość ich przesyłania jest dwukrotnie większa niż w USB 3.0 i dochodzi do 10 Gb/s w trybie USB 3.1 SuperSpeed+. Złącze USB typu C może dostarczać do 100 W mocy zasilającej, ilustruje to rysunek 2.

Sygnały w USB typu C

Rys. 3. Domyślne połączenia linii CC DFP/ UFP. Połączenie wtyczki typu C (np. pendrive) z gniazdem DFP (np. laptopem)

Rysunek 3 przedstawia zbiorczo, jakie sygnały są w gnieździe i we wtyczce USB typu C, a tabela 1 je opisuje.

Gniazdo USB typu C zawiera zarówno magistrale danych dla wersji 3.1 (linie TX i RX), jak i USB 2.0 (linie D+ i D-), magistralę zasilania USB (VBUS), masę (GND), sygnały komunikacyjne kanału konfiguracji (CC1 i CC2) oraz parę sygnałów dodatkowych (SBU) wymaganych do obsługi trybu Alternate.

Dla umożliwienia odwracalności połączenia gniazdo i wtyczka są całkowicie symetryczne. Wszystkie styki zasilania, masy i sygnałów są zdublowane zgodnie z osią symetrii odpowiednio na dolnym i górnym rzędzie, tak aby po obróceniu dalej pasowały do siebie. Niemniej we wtyczce typu C jest tylko jeden pin CC, łączący się z taką samą linią w gnieździe typu C.

Tabela 1. Sygnały USB w gnieździe typ u C

Druga (położona symetrycznie) linia została zastąpiona linią VCONN, przeznaczoną do zasilania chipu identyfikacyjnego kabla aktywnego (E-mark), który jest wymagany przy dużych mocach zasilania. Gdy wtyczka typu C zostanie odwrócona, jak pokazano na rysunku 2:

  • piny GND, linie USB 2.0 i magistrala zasilająca VBUS podtrzymują połączenia, gdyż odpowiadające im piny w górnym i dolnym rzędzie są w gnieździe zdublowane i trafiają w siebie w obu położeniach wtyczki.
  • styki VCONN i linie CC we wtyczce łączą się odpowiednio z pinami CC1 i CC2 gniazda, zależnie od orientacji wtyczki.
  • jeden z dwóch torów USB 3.1 uzyskuje poprawne połączenie, które musi zostać właściwie skonfigurowane przez kontroler.

Porty USB typu C

Rys. 4. Połączenia styków CC portu DRP

Specyfikacje USB type C i Power Delivery definiują różne przeznaczenie portu USB typu C w zależności od przepływu danych (funkcja danych), warunków zasilania PD (funkcja zasilania). Portami wg funkcji danych są:

  • Downstream Facing Port (DFP), czyli zwykle port USB typu C hosta, np. komputer PC lub hub, do którego urządzenie jest dołączone.
  • Upstream Facing Port (UFP): port USB typ 2 urządzenia (np. pendriva, monitora USB, czy myszy USB) albo port huba łączącego z hostem USB. Portami wg roli zasilania są:
  • źródło energii (Source): jest to port USB zasilający za pośrednictwem magistrali (VBUS),
  • odbiornik (Sink): jest to urządzenie USB zasilane z magistrali (VBUS).

Specyfikacja USB Power Delivery definiuje także podwójną funkcję urządzenia (odbiornik i źródło) Dual Role Port (DRP). Może być ona zmieniana dynamicznie podczas pracy (rys. 3-4, tab. 2).

Detekcja połączenia oraz orientacji wtyczki

Rys. 5. Sprawdzenie orientacji elementów połączenia

Specyfikacja USB typu C określa sposób sygnalizacji kontrolerowi funkcji pełnionej przez urządzenie oraz jego możliwości. Jest to realizowane za pomocą rezystorów dołączanych do linii konfiguracyjnych, które tworząc dzielnik napięcia, pozwalają na odczyt stopnia jego podziału i tym samym sygnalizację funkcji.

I tak UFP przyłącza do masy przez rezystory RD styki kanału konfiguracji CC1 i CC2, sygnalizując kontrolerowi, że jest urządzeniem podrzędnym, z kolei DFP za pomocą rezystorów podciągających RP do CC1 i CC2 sygnalizuje, że jest hostem. Z połączenia RD i RP powstaje dzielnik wykorzystywany do podejmowania decyzji przyłączania i odłączania urządzeń.

Tabela 2. Funkcje urządzenia DRP

Orientacja wtyczek typu C jest rozpoznawana w każdym z gniazd osobno. Kabel łączy tylko jeden z dwóch pinów CC gniazda (rys. 5), drugi zasila specjalny chip identyfikacyjny wymagany w kablach zdolnych do transmisji dużej mocy (VCONN) - EMCA.

W kablach z chipem pin VCONN gniazda jest bocznikowany do masy rezystorami RA. Zwykłe kable sygnałowe i na małą moc zasilania nie mają chipu i nie wymagają więc zasilania z linii VCONN i ten styk gniazdka pozostaje wówczas niepodłączony.

Rezystory RP i RD dołączane do linii CC pozwalają wykrywać włożenie wtyczki i jej orientację. W tym celu DFP i UFP sprawdzają, czy nie zmieniły się napięcia na liniach CC.

Tabela 3. Wybrane rodzaje wiadomości sterujących (Control Message) PD

Dodatkowo UFP monitoruje pojawienie się napięcia VBUS. DFP i UFP wykrywają także orientację wtyczek kabla na obu jego końcach za pomocą sprawdzenia, czy na obu liniach jest to samo napięcie, ponieważ tylko jeden ze styków CC jest z kablem połączony.

Po sprawdzeniu połączenia i określeniu orientacji wtyczek wolna linia CC zostaje przez DFP podłączona do VCONN, o ile kabel jest typu EMCA (z chipem). Typ takiego kabla jest wykrywany przez detekcję rezystora RD.

Zasilanie w trybie DRP

Rys. 6. Połączenie typu C pomiędzy dwoma DRP

USB typu C może działać jako DRP, a więc o podwójnej funkcjonalności, albo jako źródło, albo jako odbiornik energii. Sygnalizacja dokonuje się, gdy na linię CC dołączony zostaje rezystor podciągający RP (dla źródła) lub połączony z masą RD, gdy funkcjonuje jako odbiornik.

Początkowo urządzenie DRP zmienia cyklicznie swój stan pomiędzy DFP (przyłączając RP i odłączając RD) a UFP (odłączając RP i przyłączając RD), aby doprowadzić do właściwego połączenia styków CC, co obrazuje rysunek 6.

Host typu DRP (np. laptop) jest pomyślnie połączony z odbiornikiem (np. myszką), gdy pecet ma aktywne podciągnięcie RP do zasilania, a zasilana myszka ma aktywny RD ściągający potencjał do masy. Wtedy też laptop staje się dla danych DFP. W przeciwnym przypadku, a więc gdy np. laptop zostanie dołączony do ładowarki przez USB, wystawia RD (do masy), a zasilacz RP (do zasilania). Wtedy też laptop staje się UFP.

Gdy zostają ze sobą połączone dwa urządzenia typu DRP, początkowo relacja DFP do UFP zostaje ustalona przypadkowo. Oba DRP przerzucają swoje stany od DFP do UFP, jak na rysunku 6. Połączenie zostaje ustalone zgodnie z powstałym na jednym z połączeń CC dzielnikiem napięcia RP/RD.

Protokół Power Delivery

Rys. 7. PD w połączeniu USB typu C

Specyfikacja USB typu C pozwala na przesyłanie z DFP do UFP do 15 W mocy przez linie VBUS i GND. Moc ta może być przekazywana pomiędzy urządzeniami "tylko typ C bez obsługi PD" jedynie pod napięciem 5 V. Dodanie obsługi Power Delivery do sprzętu "tylko typ C" tworzy "typ C z PD", które może podwyższyć napięcie VBUS z 5 do maksimum 20 V, a maksymalne natężenie prądu może sięgnąć 5 A.

W środowisku "tylko typ C" graniczne natężenie prądu płynącego przez VBUS wyznacza podział dzielnika napięcia z wystawionych przez DFP i UFP wartości RP i RD. Dzielnik ten nie jest statyczny, DFP może dynamicznie zmieniać dopuszczalne natężenie prądu w zależności od wymagań i warunków ładowania (np. temperatury otoczenia), niemniej UFP musi zawsze monitorować stan dzielnika i zmieniać obciążenie VBUS.

To spore ograniczenie - nie ma tu negocjacji, nie mówiąc o niższych parametrach granicznych. Typ C z PD różni się tym, że dwukierunkowo negocjuje wartość napięcia VBUS i maksymalne natężenie prądu.

Przy stosowaniu USB PD do komunikacji pomiędzy portami USB typu C są wykorzystywane piny CC, a komunikacja następuje z użyciem kodu dwufazowego BMC (Bi-phase Mark Code), z użyciem którego wysyłane są komunikaty konfiguracyjne (PD Message). Rysunek 7 pokazuje, jak kontroler USB PD łączy się z linią CC. Na rysunku jest widoczny jeden tylko z pinów CC (ten, który jest połączony kablem).

Komunikacja w ramach protokołu Power Delivery

Rys. 8. Format wiadomości PD

Rysunek 8 przedstawia format wiadomości PD (PD Message). Pierwsze 64 bity (Preamble) to naprzemienny ciąg zer i jedynek, umożliwiający synchronizację odbiornika z częstotliwością taktowania (300 kHz). Następne 16-bitowe słowo (Adress lub Type) zawiera adres wiadomości.

Kolejne pole 16-bitowe zawiera nagłówek wiadomości, zakodowany tak jak na rysunku 8, z liczbą obiektów danych (data object count, #Data Objects). Jeśli liczba ta wynosi 0, jest to wiadomość sterująca, a jeśli od 1 do 7, to w wiadomości są dane.

Rys. 9. Pomyślnie zakończone negocjacje zasilania

Na końcu pakietu wysyłany jest 32-bitowa suma CRC, po której następuje kończący wiadomość 4-bitowy znacznik EOP (end of packet).

Jeśli obliczony CRC jest taki sam jak odebrany, to fizyczna warstwa urządzenia typu C przesyła wiadomość do warstwy protokołu, do zdekodowania. Szczegóły można znaleźć w specyfikacji USB PD, która definiuje dwa rodzaje wiadomości (tab. 3):

  • krótkie wiadomości sterujące,
  • pakiety danych informujące o możliwości i negocjowaniu zasilania, wymuszające Built In-Self Test (BIST).

Rys. 10. Połączenie przez kabel EMCA

Na rysunku 9 przedstawiono komunikaty przekazywane w trakcie pomyślnie zakończonych negocjacji pomiędzy dwoma urządzeniami obsługującymi PD, połączonymi kablem z chipem EMCA (rys. 10):

  • urządzenie DRP, które ustaliło się jako DFP, dzięki obecności rezystora RA wykrywa kabel EMCA. Pyta o dane kabla, wysyłając polecenie Discover-Identity,
  • kabel wysyła odpowiedź ze swoją charakterystyką Discover IdentityACK (rys. 10),
  • DFP także wykrywa obecność UFP dzięki RD i wysyła do UFP wiadomość o swojej możliwości dostarczania zasilania 5 V/3 A i 9 V/3 A,
  • UFP odpowiada przez polecenie Request, że wybiera 9 V/3 A,
  • DFP odpowiada przez Accept oraz PS_RDY komunikuje gotowość ustawienia takiego zasilania na VBUS.

Tabela 4. Reakcja portu na polecenie zamiany USB PD

Po wykryciu napięcia na VBUS UFP może rozpocząć numerowanie urządzeń.

Komunikacja SOP

Rys. 11. Komunikacja SOP

Komunikacja Power Delivery rozpoczyna się i kończy sekwencją specjalnych symboli, zwanych markerami kodu K wyznaczającymi granice pakietów. Są one stosowane w specjalnych funkcjach sterujących, jak na przykład reset.

Początek każdego pakietu PD rozpoczyna się od SOP - Start of Packet (rys. 11). Są one przesyłane linią CC.

Zamiana ról w USB-PD

Rys. 12. Zainicjowana przez DFP zamiana funkcji DR_SWAP

Zanim powstała specyfikacja USB PD, host USB (np. laptop) zawsze był źródłem zasilania, a urządzenie USB (np. mysz) zawsze odbiornikiem. Ładowanie akumulatora komputera-hosta było działaniem odrębnym.

Specyfikacja PD znacznie uprościła system i oddzielnie zdefiniowała role zasilania (VBUS jako źródło energii i odbiornik) i danych (host i urządzenie USB). Umożliwiła w ten sposób niezależne zamiany ról zasilania i danych. Przykładem może być notebook, który może ładować telefon lub być ładowany.

Rys. 13. Zainicjowana przez źródło zamiana funkcji PR_SWAP

Specyfikacja PD definiuje trzy rodzaje zamian pełnionej funkcji:

  • zamiana ról danych (DR_SWAP): zamiana funkcji DFP z UFP. Nie zmienia ona RP i RD na linii CC, ponieważ role zasilania portów pozostają niezmienione.
  • zamiana ról zasilania (PR_SWAP): zamiana funkcji źródła i odbiornika. Równocześnie następuje zamiana rezystorów RP i RD na linii CC.
  • zamiana VCONN (VCONN_SWAP): zamiana źródła VCONN (zasilanie chipu E-mark).

Tabela 4 ilustruje reakcje portu na trzy polecenia zamiany funkcji w USB PD. Na rysunku 12 przedstawiono sekwencję wiadomości inicjowanej przez DFP prowadzącej do zamiany DR_SWAP. Może ona zostać zainicjowana zarówno przez DFP, jak i przez UFP.

Rys. 14. Zainicjowana przez DFP zamiana VCONN_SWAP

Przykładem jest przypadek, gdy monitor (DRP) ze złączem USB typu C połączony z hostem ustala się początkowo jako DFP/źródło. Dostarcza wtedy zasilania. Dla właściwego działania monitor powinien zostać UFP z hostem DFP. Zamiana DR_SWAP może też zostać zainicjowana przez monitor.

Na rysunku 13 przedstawiono sekwencję wiadomości zakończonej zamiany PR_SWAP, zainicjowanej przez źródło. Za przykład posłużyła zamiana PR_SWAP, gdy monitor typu DRP połączony z laptopem DRP ustala się początkowo jako UFP/odbiornik.

W tym przypadku monitor najpierw pobiera moc zasilania od hosta. Dla umożliwienia monitorowi zasilania laptopa jest potrzebna zamiana PR_SWAP. Zamiana ta może być inicjowana zarówno przez monitor, jak i przez laptop.

Rys. 15. Wtyczka kabla aktywnego z odsłoniętym chipem

Na rysunku 14 przedstawiono sekwencję pomyślnie zakończonej zamiany VCONN_SWAP. Może ona być inicjowana zarówno przez źródło napięcia VCONN, jak i przez odbiornik. Jak widać na schemacie, oba źródła po komunikacie Accept będą przez chwilę aktywne równocześnie.

Jest tak dlatego, że nowe źródło VCONN zostaje uruchomione wiadomością Accept przed poleceniem PS_READY, a poprzednie zostaje poleceniem PS_READY wyłączone. Taka kolejność włączania VCONN, zgodnie ze specyfikacją USB-PD, zapewnia nieprzerwane zasilanie sterownika w kablu. Oprócz tego, połączeniu dwóch źródeł VCONN zapobiega wprowadzenie między nimi sumatora diodowego, wybierającego zasilanie z jednego tylko spośród nich. (KKP)

Zobacz również