Universal Serial Bus

Z Wiki XperiaSite.pl
(Przekierowano z USB)
Skocz do: nawigacja, szukaj
USBlogo.png
Typ interfejsu Szeregowy
Budowa
Typ złącza A, B lub C
Długość magistrali 2 - 5 m
Liczba portów 2 - 6 (1.1)
2 - 8 (2.0)
2 - 10 (3.1)
Zasilanie
Max. napięcie 5 V
20 V (PB)
Max. natężenie 0,5 A (1.1, 2.0)
0,9 A (3.1)
1,5 A (BC)
5 A (PB)
Inne
Hot plugging Tak

Universal Serial Bus to przemysłowy standard definiujący typ kabli, portów oraz protokołów łączności, komunikacji i zasilania.

USB powstało, aby ustandaryzować łącznośc w akcesoriach komputerowych (klawiaturach, drukarkach, kamerach, przenośnych odtwarzaczah mediów, itp.) z komputerami PC. Od wersji 1.1 pozwalają one też na zasilanie podłączonych urządzeń energią elektryczną.

Nowy standard szybko zastąpiła całą gamę portów szeregowych i równoległych.

Standard obecnie znajduje się pod kontrolą organizacji USB Inplementers Forum.

Ogólnie

Na chwile obecną na rynku istnieją 3 typu złącz USB:

  • typ A,
  • typ B,
  • typ C.

Zazwyczaj uznaje się typ A jako standardowy, a B jako jego wariacje. Typ C jest najmłodszym i ma za zadanie ustandaryzować wszystkie rynki powiązane z portami USB. Oprócz tego mamy 3 typy wielkości:

  • standardowy - podstawowy typ złącz wykorzystywany m.in w pamięciach USB flash, myszkach, czy klawiaturach, pasuje do typowych portów w komputerach,
  • mini - typ wykorzystywany w starszych urządzeniach przenośnych ze względu na mniejszą powierzchnię niż typ standardowy,
  • micro - standard, który zastąpił mini jako ten wykorzystywany w urządzeniach mobilnych.

Port USB standardowy zawsze pozwala nie tylko na przesył danych, a także zasilanie. Porty mini i micro typowo pozwalają na przesył danych oraz bycie zasilanym, ale na zasilanie podłączonych urządzeń już nie. Porty na to pozwalające oznaczane są jako On-The-Go (OTG).
Porty typu standardowego i mini mają zazwyczaj żywotność do 1500 podłączeń, a micro nawet 5000.

Oprócz tego wyróżniamy 5 standardów prędkości przesyłu danych:

  • Low Speed (LS) - dostępny od wersji 1.0,
  • Full Speed (FS) - dostępny od wersji 1.0,
  • High Speed - dostępny od wersji 2.0,
  • SuperSpeed - dostępny od wersji 3.0 (3.1 gen 1),
  • SuperSpeed+ - dostępny od wersji 3.1 (3.1 gen 2).

Każde złącze może wspierać różne standardy, stąd wersja wcale nie informuje, że dany standard przesyłania będzie dostępny. Typy można poznać po kolorystyce, którą narzucają standardy (przykładowo SuperSpeed ii SuperSpeed+ są barwione na niebiesko).

Inaczej jak inne porty (np. Ethernet, czy HDMI), złącza USB są kierunkowe i zarówno pobieranie (upstream), jak i wysyłanie (downstream), pochodzą z jednego urządzenia typu host (choć nie zawsze). W ten sposób dostarczane jest zarówno zasilanie (jednak tylko poprzez piny pobierania), jak i przesył danych.

Historia

Rozwój standardu USB rozpoczął się w 1994, kiedy grupa firm (Compaq, DEC, IBM, Intel, Microsoft, NEC i Nortel) rozpoczęły poszukiwania rozwiązania pozwalającego na prostszy (i bardziej uniwersalny) sposób podłączania urządzeń do komputerów. Miało to pozwolić na zmniejszenie liczny dostępnych typów wejść oraz ułatwić konfigurację sprzętu.

Pierwszy przełom nastąpił w 1995 roku i ten rok uznaje się za początek powstania standardu USB. Rok później na rynku pojawił się standard USB 1.0. Microsoft dodał wsparcie dla niego do swojego systemu Windows 95 wraz z wydaniem OSR 2.1. Jednak dopiero standard 1.1, który pojawił się 2 lata później, stał się pierwszą ogólnie wykorzystywaną wersją USB. Rozwój wielkości pamięci przenośnych wymusił wzrost prędkości przesyłanych danych, co spowodowało pojawienie się w 2000 roku standardu oznaczonego jako 2.0, który w teorii pozwalał na do 40 razy szybszy przesył danych niż 1.1. Po 8 latach rozwój rynku wymusił kolejny wzrost prędkości i pojawił się standard '3.0, po którym podążyły 3.1.(2013) oraz 3.2(2017).

Wersje

Wersja Data wyjścia Maksymalna prędkość Komentarz
0.8 Grudzień 1994   Prerelease.
0.9 Kwiecień 1995   Prerelease.
0.99 Sierpień 1995   Prerelease.
1.0-RC Wrzesień 1995   Wersja testowa (Release Candidate).
1.0 Styczeń 1996 12 Mbit/s (Full Speed)  
1.1 Sierpień 1998 12 Mbit/s (Full Speed)  
2.0 Kwiecień 2000 480 Mbit/s (High Speed)  
3.0 Listopad 2008 5 Gbit/s (SuperSpeed) Nazywane też USB 3.1 Gen 1 i USB 3.2 Gen 1x1.
3.1 Lipiec 2013 10 Gbit/s (SuperSpeed+) Nazywane też USB 3.1 Gen 2 i USB 3.2 Gen 2x1.
3.2 Wrzesień 2017 20 Gbit/s (SuperSpeed+) Nazywane też USB 3.2 Gen 1x2 i USB 3.2 Gen 2x2.

Specyfikacje zasilania

Nazwa Data wyjścia Maksymalna moc Komentarz
Battery Charging 1.0 8 marca 2007 7,5 W = 5 V, 1,5 A  
Battery Charging 1.1 14 kwietnia 2009    
Battery Charging 1.2 7 grudnia 2010 25 W = 5 V, 5 A  
Power Delivery revision 1.0 (version 1.0) 5 lipca 2012 100 W = 20 V, 5 A Wykorzystuje protokół FSK po magistrali zasilającej (VBUS)
Power Delivery revision 1.0 (version 1.3) 11 marca 2014    
Type-C 1.0 11 sierpna 2014 15 W = 5 V, 3 A Nowy typ złącza oraz specyfikacja kabla.
Power Delivery revision 2.0 (version 1.0) 11 sierpna 2014 100 W = 20 V, 5 A Wykorzystuje protokół BMC w trybie komunikacji (CC) w kablach ze złączem typu C.
Type-C 1.1 7 maja 2015 15 W = 5 V, 3 A  
Power Delivery revision 2.0 (version 1.1) 7 maja 2015 100 W = 20 V, 5 A  
Power Delivery revision 2.0 (version 1.2) 25 marca 2016 100 W = 20 V, 5 A  
Power Delivery revision 3.0 (version 1.1) 12 stycznia 2017 100 W = 20 V, 5 A  

Standardy

USB 1.x

W styczniu 2995 pojawił się standard 1.0, który pozwalał na przesył danych w dwóch trybach - Low Speed (lub Low Bandwidth) o prędkości do 1,5 Mbit/s oraz Full Speed - 12 Mbit/s. Ze względu na czas oczekiwania oraz niską moc przesyłanego prądu, standard ten nie pozwala na wykorzystanie przedłużaczy, czy hubów. W miarę szybko na rynku pojawił się standard 1.1, przez co niewiele urządzeń wspiera standard 1.0.

Standardy USB 1.0 i 1.1 korzystały jedynie z 2 typów złącz - typu A oraz B o pełnej wielkości. Choć pojawił się też standard zminiaturyzowany złącza typu B, to standard powodował, że urządzenia z niego korzystające nie były widoczne przez urządzenie hostujące (np. komputer PC).

USB 2.0

Standard 2.0 przyniósł 3 tryb prędkości - oprócz LS i HS pojawił się takżeHigh Speed pozwalający na przesyłanie do 480 Mbit/s. Jednakże ze względu na ograniczenia, prędkość sygnału wynosiła maksymalnie do około 280 Mbit/s.

Część z innych modyfikacji wprowadzonych wraz ze standardem 2.0:

  • złącza typu mini A, mini B i micro B,
  • zaokrąglona faza w złączach typu mini B,
  • OTG (On-The-Go),
  • Battery Charging Specification.

USB 3.0

Standard USB w wersji 3.0 przyniósł kolejny tryb przesyłu danych - SuperSpeed pozwalający na osiągnięcie do 5 Gbit/s. Jednakże ze względu na problemy z szyfrowaniem 8b/10b w praktyce nie można osiągnąć przesyłu wyższego niż 4 Gbit/s, a specyfikacja ustala, że 3,2 Gbit/s jest wartością maksymalną.

Aby odróżnić ten standard od starszych, złącze oraz port są w kolorze niebieskim (wcześniej był to zazwyczaj kolor czarny, szary lub biały).

Nowy standard zwiększa także maksymalne natężenie wydawanego przez port prądu - z 150 do 900 mAh. A natężenie prądu podczas ładowania z urządzenia do tegoza

USB 3.1

W styczniu 2013 standard 3.0 został rozszerzony i uzyskał wsparcie dla przesyłu danych o prędkości SuperSpeed+ (lub SuperSpeed USB), czyli w teorii nawet do 10 Gbit/s przy wykorzystaniu jednego kanału przesyłowego.

Standard SuperSpeed+ otrzymał nazwę USB 3.1 Gen 2. A poprawiony SuperSpeed - 3.1 Gen 1.

USB 3.2

Standard USB 3.2 jeszcze bardziej rozwija prędkości uzyskiwane przy wykorzystaniu połączeń USB. Wraz z tym standardem rozwinięto poprzednie tryby SuperSpeed oraz superSpeed+, co, wraz z nowymi, dało aż 4 tryby SS:

  • USB 3.2 Gen 1x1 - standard SuperSpeed o specyfikacji takiej samej jak w USB 3.0 i USB 3.1 Gen 1 (3.1),
  • USB 3.2 Gen 1x2 - SuperSpeed+ o specyfikacji takiej samej jak w standardzie USB 3.1 Gen 2 (USB 3.1),
  • USB 3.2 Gen 1x2 - standard SuperSpeed+ o prędkości do 10 Gbit/s, ale przy wykorzystaniu 2 kanałów przesyłu danych,
  • USB 3.2 Gen 2x2 - szybszy SuperSpeed+ pozwalający na przesył maksymalnie o prędkości 20 Gbit/s, także wykorzystuje 2 kanały.

Klasy urządzeń

Funkcjonalność podłączonych urządzeń jest definiowana przesz ich klasy (oraz sterowniki lub moduły kernela/oprogramowania). Klasy definiowane są poprzez kod klasy wysyłany do urządzenia z funkcją hosta. Host następnie ładuje odpowiednie moduły oprogramowania.

Kod/Klasa Typ urządzenia Opis Komentarz
00h Urządzenie Nieokreślone Nieokreślone urządzenie.
Deskryptory interfejsu determinują klasę i potrzebę dodatkowego oprogramowania.
01h Interfejs Dźwięk Głośnik, mikrofon, karta dźwiękowa, MIDI
02h Urządzenie
Interfejs
Komunikacja i kontrola CDC Modem, karta sieciowa (Ethernet), karta WiFi, RS232.
Używane razem z 0Ah.
03h Interfejs Urządzenie wprowadzające typu HID Klawiatura, myszka, dżojstik
05h Interfejs Urządzenie wprowadzające typu PID Dżojstik
06h Interfejs Obraz
(PTP oraz MTP)
Kamera, skaner
05h Interfejs Drukarka Drukarka laserowa, drukarka atramentowa, maszyna CNC
08h Interfejs Pamięć masowa
(MSC oraz UMS)
Pamięć USB, czytnik kart pamięci, odtwarzacz audio, kamera cyfrowa, dysk zewnętrzny USB
09h Urządzenie Hub USB Hub USB
0Ah Interfejs CDC-Data Wykorzystywane z klasą 02h
0Bh Interfejs Inteligentne karty
(Smart Card)
Czytnik inteligentnych kart
0Dh Interfejs Zabezpieczenie danych Skaner linii papilarnych
0Eh Interfejs Wideo Kamera internetowa
0Fh Interfejs Urządzenie monitorujące zdrowie
(PHDC)
Pulsometr
10h Interfejs Dźwięk i wideo
(AV)
Kamera internetowa, telewizor, monitor
11h Urządzenie Bilbord Alternatywne połączenie urządzenia z portem USB typu C.
DCh Urządzenie
Interfejs
Urządzenie diagnostyczne Urządzenie testujące ze złączem USB
E0h Interfejs Kontroler bezprzewodowy Karta Bluetooth, Microsoft RNDIS
EEh Interfejs Zależne od aplikacji Mostek IrDA, Urządzenie testujące i mierzące (USBTMC), aktualizacja oprogramowania (USB DFU)
EFh Urządzenie
Interfejs
Różne Urządzenia ActiveSync
FFh Urządzenie
Interfejs
Zależne od producenta Różne urządzenia wymagające sterowników/modułów oprogramowania od producenta.

Pamięć masowa

Główna strona: Pamięć masowa USB

Tryb, w którym do podłączenia urządzenia USB do urządzenia hostującego wykorzystywany jest standard urządzeń typu MSC oraz UMS (08h). Działanie tego typu klasy jest podobne do działania standardów typu PATA, IDE, czy SATA, jednak USB posiada jedną zaletę brakującą tym standardom - urządzenie MSC lub UMS może zostać podłączone lub odłączone bez potrzeby restartu całego systemu na urządzeniu hostującym.

Urządzenie podłączone w tym trybie "oddaje" dostęp do pamięci urządzeniu hostującemu - pamięć jest z niego odmontowana (a więc staje się niedostępna), a następnie zamontowana na urządzeniu hostującym (co daje mu dostęp do całej udostępnionej pamięci).

Klasę tę wykorzystywano w systemie Android do wersji 4.0 Ice Cream Sandwich. Nieoficjalnie, na urządzeniach które na rynku pojawiły się z wersją 4.0 lub starszą, opcja ta dostępna jest przynajmniej do Androida 4.4 KitKat, a może i w nowszych wersjach.

Podobne zastosowanie jak ta klasa mają porty typu eSATA, ExpressCard, FireWire oraz Thunderbolt.

Picture Transfer Protocol

Główna strona: Picture Transfer Protocol

Protokół PTP jest protokołem pozwalającym jedynie na przesyłanie obrazów między urządzeniem hostującym a podłączonym do niego urządzeniem USB. Większość systemów nie wymaga dodatkowych sterowników, aby połączyć urządzenie w tym trybie.

Pamięć urządzenia połączonego jako USB PTP, nie jest na nim odmontowywana, tak więc dostęp do niej jest możliwy w tym samym momencie na nim, jak i nie hoście.

Tryb PTP jest dostępny także na urządzeniach z systemem Android.

Media Transfer Protocol

Główna strona: Media Transfer Protocol

Protokół MTP to rozwinięta wersja PTP. Jego działanie jest praktycznie identyczne, jednak nie ma ograniczenia co do rodzaju przesyłanych i udostępnianych plików.

Protokół ten jest częścią frameworka Windows Media oraz kluczową częścią usługi DRM oznaczonej jako WMDRM10-PD.

Tryb MTP zastąpił w systemie Android MSC/UMS. Pojawił się wraz z systemem w wersji 4.1 Jelly Bean, jako że wraz z tą wersją pojawiły się na rynku pierwsze urządzenia ze zunifikowaną pamięcią użytkownika (/data i /data/media).

Jego następcą miał być protokół Zune, jednak korzystał z niego jedynie system Windows Phone 7.

Urządzenie wprowadzające typu HID

HID (ang. Human interface devices) to urządzenia wskazujące. Są to przykładowo tablety (graficzne), klawiatury, myszki lub dżojstiki, które wcześniej wykorzystywały inne typy złączy (np. PS2, MIDI).

Standard USB HID jest kompatybilny ze standardem PS2, dzięki czemu, przy użyciu adaptera, możliwe jest podłączenie urządzenia jednego standardu do drugiego.

Device Firmware Upgrade

DFU to mechanizm pozwalający na łatwe zaktualizowanie urządzenia podłączonego kablem USB. Jego działanie zależy od samego producenta oraz urządzenia. W tym trybie urządzenie podłączone pozwala na programowanie w trybie PROM.

Tryb ten może także łatwo pozwolić na oszukanie hosta. Tzw. BadUSB pozwala na wykorzystanie kontrolera pamięci typu USB, aby imitować inny typ klasy.

Typy portów i wtyczek

Kompatybilność między wtyczkami a portami różnych standardów USB:

  WTYCZKA
A.png Ass.png B.png Bss.png Amini.png Bmini.png Amicro.png Bmicro.png Bmicross.png C.png
Typ A Typ A
SuperSpeed
Typ B Typ B
SuperSpeed
Typ A
mini
Typ B
mini
Typ A
micro
Typ B
micro
Typ B
micro SuperSpeed
Typ C
P
O
R
T
A.png Typ A Tak Bez wsparcia
dla SuperSpeed
Nie Nie Nie Nie Nie Nie Nie Nie
Ass.png Typ A
SuperSpeed
Bez wsparcia
dla SuperSpeed
Tak Nie Nie Nie Nie Nie Nie Nie Nie
B.png Typ B Nie Nie Tak Nie Nie Nie Nie Nie Nie Nie
Bss.png Typ B
SuperSpeed
Nie Nie Bez wsparcia
dla SuperSpeed
Tak Nie Nie Nie Nie Nie Nie
Amini.png Typ A
mini
Nie Nie Nie Nie Tak* Nie Nie Nie Nie Nie
ABmini.png Typ AB
mini
Nie Nie Nie Nie Tak* Tak* Nie Nie Nie Nie
Bmini.png Typ B
mini
Nie Nie Nie Nie Nie Tak Nie Nie Nie Nie
ABmicro.png Typ AB
micro
Nie Nie Nie Nie Nie Nie Tak Tak Nie Nie
Bmicro.png Typ B
micro
Nie Nie Nie Nie Nie Nie Nie Tak Nie Nie
micro B SuperSpeed Typ B
micro SuperSpeed
Nie Nie Nie Nie Nie Nie Nie Bez wsparcia
dla SuperSpeed
Tak Nie
C.png Typ C Nie Nie Nie Nie Nie Nie Nie Nie Nie Tak

*Istnieją, ale nowe urządzenia i kable z nich korzystające nie są już wspierane lub certyfikowane.

  WTYCZKA A
A.png B.png Amini.png Bmini.png Amicro.png Bmicro.png Bmicross.png C.png
Typ A Typ B Typ A
mini
Typ B
mini
Typ A
micro
Typ B
micro
Typ B
micro SuperSpeed
Typ C
W
T
Y
C
Z
K
A

B
A.png Typ A Tak* Tak Tak* Tak Tak* Tak Tak Tak
B.png Typ B Tak Nie Tak** Nie Tak* Nie Nie Tak
Amini.png Typ A
mini
Tak* Tak** Nie Tak** Nie Tak* Nie Nie
Bmini.png Typ B
mini
Tak Nie Tak** Tak* Tak* Nie Nie Tak
Amicro.png Typ A
micro
Tak* Tak* Nie Tak* Nie Tak Nie Nie
Bmicro.png Typ B
micro
Tak Nie Tak* Nie Tak Nie Nie Tak
Bmicross.png Typ B
micro SuperSpeed
Tak Nie Nie Nie Nie Nie Nie Tak
C.png Typ C Tak Tak Nie Tak Nie Tak Tak Tak

*Kable tego typu są niestandardowe, produkowane jedynie na potrzeby danego urządzenia.
**Istnieją, ale nowe urządzenia i kable z nich korzystające nie są już wspierane lub certyfikowane.