Post on 23-Jan-2021
USBUniversal Serial Bus
OPRACOWAŁ: TOMASZ KARLA
POLITECHNIKA GDAŃSKA, WYDZIAŁ ELEKTROTECHNIKI I AUTOMATYKI, KATEDRA INŻYNIERII SYSTEMÓW STEROWANIA, PRZEMYSŁOWE SIECI INFORMATYCZNE, 2016
1
Plan wykładu• Czym jest USB?
• Potrzeba standaryzacji
• Podstawowe właściwości interfejsu USB
• USB 1.1/2.0• Schemat elektryczny
• Stany logiczne magistrali
• Kodowanie bitów
• Ramki
• Model komunikacyjny
• Transfery USB
• Zarządzanie magistralą USB
• Stany urządzenia USB
• Protokół komunikacyjny
• Wykrywanie błędów i kontrola transmisji
• Inne zagadnienia
• Wersje standardu• Wtyczki
• Różnice między USB 1.1/2.0 i 3.0/3.1
• Zastosowania • Konsumenckie
• Przemysłowe
POLITECHNIKA GDAŃSKA, WYDZIAŁ ELEKTROTECHNIKI I AUTOMATYKI, KATEDRA INŻYNIERII SYSTEMÓW STEROWANIA, PRZEMYSŁOWE SIECI INFORMATYCZNE, 2016
2
Czym jest USB?USB – Universal Serial Bus (uniwersalna szeregowa magistrala)
Standard definiujący kable, złącza i protokoły komunikacyjne w magistrali służącej do komunikacji i jako źródło zasilania dla urządzeń elektronicznych. Standard opracowany
Opracowany w 1994 przez firmy Compaq, DEC, IBM, Intel, Microsoft, NEC, and Nortel.
Obecnie rozwijany przez organizację non-profit USB Implementers Forum.
POLITECHNIKA GDAŃSKA, WYDZIAŁ ELEKTROTECHNIKI I AUTOMATYKI, KATEDRA INŻYNIERII SYSTEMÓW STEROWANIA, PRZEMYSŁOWE SIECI INFORMATYCZNE, 2016
3
Potrzeba standaryzacjiPrzed USB:
◦ Peryferia podłączane przez porty szeregowe lub równoległe, często wykorzystywano także autorskie rozwiązania (dedykowane kontrolery I/O)
◦ Każdy kontroler wymagał przypisania odpowiednich przerywań, obszaru pamięci I/O oraz kanału DMA (Direct Memory Access) co znacznie ograniczało ilość możliwych do podłączenia peryferii
◦ Większość portów pozwalała na podłączenie jednego urządzenia
◦ Wysokie koszty związane z dużą ilością niestandardowych rozwiązań
POLITECHNIKA GDAŃSKA, WYDZIAŁ ELEKTROTECHNIKI I AUTOMATYKI, KATEDRA INŻYNIERII SYSTEMÓW STEROWANIA, PRZEMYSŁOWE SIECI INFORMATYCZNE, 2016
4
Podstawowe właściwości interfejsu USB• „Gorące” podłączenie – możliwość podłączania urządzeń bez potrzeby wyłączania hosta oraz
automatyczne wykrywanie i konfigurowanie podłączonych urządzeń bez potrzeby ingerencji użytkownika
• Jeden typ złącza – wszystkie urządzenia podłączane są przez 4 kontaktowe złącze ( dwa kontakty dla linii danych, dwa kontakty zasilania)
• Duża liczba podłączanych urządzeń – wykorzystując huby USB do jednego kontrolera USB można podłączyć wiele urządzeń.
• Różne szybkości transmisji – od 1,5 Mb/s do 10 Gb/s
• Zasilanie – USB można wykorzystywać do zasilania urządzeń. Najczęściej wykorzystywane jest do tego celu USB 1.1/2.0, które pozwala na zasilanie napięciem 5V o maksymalnym natężeniu 500mA. Najnowsza odmiana zgodna ze standardem USB Power Delivery 2 pozwala na zasilanie napięciem 20V o natężeniu 5A
POLITECHNIKA GDAŃSKA, WYDZIAŁ ELEKTROTECHNIKI I AUTOMATYKI, KATEDRA INŻYNIERII SYSTEMÓW STEROWANIA, PRZEMYSŁOWE SIECI INFORMATYCZNE, 2016
5
Podstawowe właściwości interfejsu USB• Protokół komunikacyjny, detekcja błędów – wykorzystywany jest pakietowy protokół komunikacyjny. Żądania
przesłania danych dzielone są na transakcje, które zbudowane są z pakietów: kontrolnego, danych i potwierdzenia. Pakiety są zabezpieczone sumą kontrolną i transakcje są potwierdzane przez odbiorcę. W wypadku wykrycia błędu możliwe jest powtórzenie transakcji.
• Transfery USB – w standardzie zdefiniowane są 4 różne transfery: transfer kontrolny (control transfer), przerywaniowy (interrupt transfer), masowy (bulk transfer) i izochroniczy (isochronic transfer)
• Zasoby systemowe – w odróżnieniu od architektur ISA, EISA oraz PCI nie wymagane są przerywania (IRQ) ani deklaracja pamięci I/0.
• Niewielki koszt konstrukcji i implementacji
POLITECHNIKA GDAŃSKA, WYDZIAŁ ELEKTROTECHNIKI I AUTOMATYKI, KATEDRA INŻYNIERII SYSTEMÓW STEROWANIA, PRZEMYSŁOWE SIECI INFORMATYCZNE, 2016
6
Schemat elektryczny USB 2.0• Łącze transmisyjne oparte na obwodzie różnicowym
• Zasilanie przekazywane liniami Vcc (5V) i GND (masa)
• Trójstanowy nadajnik można zablokować sygnałem OE co oznacza blokadę portu
• Zmiana napięcia na liniach danych względem masy służy do sygnalizowania podłączenia lub odłączenia urządzeń, resetu urządzeń, początku (SOP) i końca (EOP) pakietu
•Do transmisji low-speed (1,5 Mb/s) można użyć kabli nieskręcanych i nieekranowanych, wyższe prędkości wymagają pary kabli skręcanych i ekranowanych
POLITECHNIKA GDAŃSKA, WYDZIAŁ ELEKTROTECHNIKI I AUTOMATYKI, KATEDRA INŻYNIERII SYSTEMÓW STEROWANIA, PRZEMYSŁOWE SIECI INFORMATYCZNE, 2016
7
Stany logiczne magistraliUSB 1.1/2.0:• 3 rodzaje prędkości transferu:• niska prędkość (low speed ) – 1,5 Mb/s
• pełna prędkość (full speed) – 12 Mb/s
• wysoka prędkość (high speed) – 480 Mb/s
• wszystkie urządzenia podłączane przez 4 kontaktowe złącza
• wszystkie urządzenia wysokiej prędkości najpierw są podłączane jako urządzenia pełnej prędkości
POLITECHNIKA GDAŃSKA, WYDZIAŁ ELEKTROTECHNIKI I AUTOMATYKI, KATEDRA INŻYNIERII SYSTEMÓW STEROWANIA, PRZEMYSŁOWE SIECI INFORMATYCZNE, 2016
8
Kodowanie bitów
Kodowanie NRZI (Non Return to Zero Inverted):- Na początku każdego bitu o wartości logicznej 0 następuje zmiana sygnału- Po każdych 6 kolejnych bitach o wartości 1 wstawiany jest bit o wartości 0- Po odebraniu sygnału i rozpoznaniu stanu bitów nadmiarowe bity są usuwane
Zastosowanie takiego kodowania eliminuje potrzebę przesyłania sygnału zegarowego
POLITECHNIKA GDAŃSKA, WYDZIAŁ ELEKTROTECHNIKI I AUTOMATYKI, KATEDRA INŻYNIERII SYSTEMÓW STEROWANIA, PRZEMYSŁOWE SIECI INFORMATYCZNE, 2016
9
Ramki• Dane przekazywane są w ramkach o czasie
trwania 1 ms dla małej i pełnej szybkości oraz mikroramkach dla wysokiej prędkości transmisji
• Czas pomiędzy dwoma kolejnymi pakietami SOF (Start Of Frame) nazywany jest ramką.
• Pakiet SOF oznacza początek ramki i zawiera 11 bitów danych i 5 bitów CRC. Dane reprezentują kolejne numery ramek zaś licznik ulega przepełnieniu co 2048 ms.
POLITECHNIKA GDAŃSKA, WYDZIAŁ ELEKTROTECHNIKI I AUTOMATYKI, KATEDRA INŻYNIERII SYSTEMÓW STEROWANIA, PRZEMYSŁOWE SIECI INFORMATYCZNE, 2016
10
Model komunikacyjny –część programowa
Sterownik urządzenia (klienta) - pośredniczy między aplikacją a sterownikiem USB. Przekazuje do niego żądania transferu zwane IRP (I/O Request Packet). Parametrami IRP są m. in. adres urządzenia, numer punktu końcowego, typ operacji(zapis/odczyt), typ transferu czy ilość danych.
Sterownik USB – przygotowuje wykonanie transferu zleconego przez sterownik klienta. Dzieli dane na transakcje dopasowane do rozmiaru bufora punktu końcowego. Dane dotyczące jego specyfikacji np. wielkości są przesyłane do sterownika USB w czasie procesu enumeracji w ramach deskryptorów.
Sterownik host-kontroler – generuje ramki zgodnie otrzymanymi danymi. W ramkach znajdują się poszczególne transakcje z dołączonymi do nich deskryptorami transferu. Zgodnie z nimi kontroler wykonuje odpowiednie transakcje.
Po stronie urządzenia jest zazwyczaj specjalizowanym oprogramowaniem systemu mikroprocesorowego, na którym oparto kontroler protokołu.
POLITECHNIKA GDAŃSKA, WYDZIAŁ ELEKTROTECHNIKI I AUTOMATYKI, KATEDRA INŻYNIERII SYSTEMÓW STEROWANIA, PRZEMYSŁOWE SIECI INFORMATYCZNE, 2016
11
Model komunikacyjny –część sprzętowa
Host kontroler – specjalizowany kontroler komunikacyjny wykonujący kolejne transakcje zgodnie z opisem zawartym w deskryptorze transferu oraz regułami pakietowego protokołu komunikacyjnego USB.
Hub główny – koncentrator wewnątrz stacji HOST, udostępnia zwykle kilka portów (co najmniej 2).
Po stronie urządzenia część sprzętowa składa się z układu nadawczo-odbiorczego oraz specjalizowanego układu SIE (Serial Interface Engine). Kontroler protokołu jest zazwyczaj mikrokontrolerem, systemem mikroprocesorowym lub DSP (Digital SignalProcessor)
POLITECHNIKA GDAŃSKA, WYDZIAŁ ELEKTROTECHNIKI I AUTOMATYKI, KATEDRA INŻYNIERII SYSTEMÓW STEROWANIA, PRZEMYSŁOWE SIECI INFORMATYCZNE, 2016
12
Transfery USBPrzekazywanie danych pomiędzy aplikacją a urządzeniem polega na odczycie lub zapisie danych do odpowiednich buforów urządzenia.
Bufory te nazywane są punktami końcowymi.
Każdy punkt końcowy określany jest przez kierunek przepływu danych (IN- z punktu końcowego do hosta, OUT – z hosta do punktu końcowego), rodzaj transferu realizowany z danym punktem oraz maksymalny rozmiar pakietu danych (MaxPacketSize).
System USB otwiera między poszczególnymi punktami końcowymi a aplikacją tzw. wirtualne kanały komunikacyjne (pipe).
Cztery tryby transferu:• Kontrolny (control transfer)
• Przerywaniowy (interrupt transfer)
• Izochroniczny (isochronous transfer)
• Masowy (bulk transfer)
Każdy z wymienionych trybów transferu wymaga innego kanału komunikacyjnego.
POLITECHNIKA GDAŃSKA, WYDZIAŁ ELEKTROTECHNIKI I AUTOMATYKI, KATEDRA INŻYNIERII SYSTEMÓW STEROWANIA, PRZEMYSŁOWE SIECI INFORMATYCZNE, 2016
13
Transfery USB• Transfer masowy – przewidziany do komunikacji z urządzeniami, do których zapisuje się lub odczytuje się duże ilości danych. Czas i regularność przekazywania danych nie są krytyczne. Ważna jest natomiast kontrola przekazywanych danych.
• Przerywaniowy - przewidziany do komunikacji z urządzeniami, do których zapisuje się lub odczytuje się niewielkie bloki danych jednak trzeba je wykonywać regularnie w ustalonych odstępach czasowych. Przykładem może być myszka i klawiatura.
• Izochroniczny – przewidziany do komunikacji z urządzeniami, do których zapisuje się lub odczytuje się bardzo duże ilości danych przy czym krytyczna jest regularność dostarczanych danych. Kontrola przekazywanych danych nie jest ważna. Przykładem jest streamowanie audio.
• Kontrolny – musi być obsługiwany przez każde urządzenie USB ponieważ jest przeznaczony do jego konfiguracji oraz nadzoru.
Transfery przerywaniowy i izochroniczny mają zarezerwowane pasmo 90% trwania ramki, 10% ramki zarezerwowane jest na transfery kontrolne. Transfery masowe wykonywane są tylko w wypadku wolnego pasma.
POLITECHNIKA GDAŃSKA, WYDZIAŁ ELEKTROTECHNIKI I AUTOMATYKI, KATEDRA INŻYNIERII SYSTEMÓW STEROWANIA, PRZEMYSŁOWE SIECI INFORMATYCZNE, 2016
14
Zarządzanie magistralą USBWszystkie transfery USB inicjowane są i odbywają się pod kontrolą hosta.
Host usiłuje jednocześnie realizować transfery z wieloma urządzeniami, tak aby jedno urządzenie nie zablokowało całej magistrali.
Priorytet mają transfery przerywaniowe i izochroniczne.
Kontroler hosta działając w myśl zasady „usilnych starań” (best effort) stara się w możliwie najkrótszym czasie realizować transfery.
POLITECHNIKA GDAŃSKA, WYDZIAŁ ELEKTROTECHNIKI I AUTOMATYKI, KATEDRA INŻYNIERII SYSTEMÓW STEROWANIA, PRZEMYSŁOWE SIECI INFORMATYCZNE, 2016
15
Stany urządzenia USB1. Podłączenie urządzenia do magistrali
◦ Włączenie zasilania
2. Urządzenie zasilone◦ Reset urządzenia◦ Przypisanie urządzeniu adres 0
3. Urządzenie w stanie domyślnym◦ Komunikacja host kontrolera z punktem końcowym
0 w celu skonfigurowania urządzenia◦ Przypisanie wolnego adresu z puli 1-127
4. Urządzenie zaadresowane◦ Odczyt deskryptorów◦ Konfiguracja urządzenia
5. Urządzenie skonfigurowane
POLITECHNIKA GDAŃSKA, WYDZIAŁ ELEKTROTECHNIKI I AUTOMATYKI, KATEDRA INŻYNIERII SYSTEMÓW STEROWANIA, PRZEMYSŁOWE SIECI INFORMATYCZNE, 2016
16
Protokół komunikacyjnyTransakcje zbudowane są z pakietów, przy czym typowa transakcja składa się z :
◦ Pakietu tokena
◦ Pakietu danych
◦ Pakietu potwierdzenia
Pakiet tokena informuje o rodzaju transakcji.
Pakiet danych służy do przesyłania danych.
Pakiet potwierdzenia jest częścią mechanizmu kontrolującego poprawność przesyłanych danych.
POLITECHNIKA GDAŃSKA, WYDZIAŁ ELEKTROTECHNIKI I AUTOMATYKI, KATEDRA INŻYNIERII SYSTEMÓW STEROWANIA, PRZEMYSŁOWE SIECI INFORMATYCZNE, 2016
17
POLITECHNIKA GDAŃSKA, WYDZIAŁ ELEKTROTECHNIKI I AUTOMATYKI, KATEDRA INŻYNIERII SYSTEMÓW STEROWANIA, PRZEMYSŁOWE SIECI INFORMATYCZNE, 2016
18
Wykrywanie błędów i kontrola transmisji◦ Kontrola poprawności pakietów – pola PID oraz CRC
◦ Ograniczenie czasowe oczekiwania na odpowiedź
◦ Przełączanie kolejnych pakietów danych
◦ Wykrywanie transakcji występujących po zakończeniu ramki
◦ Wykrywanie braku aktywności magistrali
POLITECHNIKA GDAŃSKA, WYDZIAŁ ELEKTROTECHNIKI I AUTOMATYKI, KATEDRA INŻYNIERII SYSTEMÓW STEROWANIA, PRZEMYSŁOWE SIECI INFORMATYCZNE, 2016
19
Inne zagadnienia◦ Deskryptory – służą do identyfikacji i konfiguracji urządzeń. Przedstawiają podstawową konfigurację
urządzenia (m. in. wielkość buforów punktów końcowych) oraz dostarczają informacji o samym urządzeniu np. obsługiwaną wersję USB czy też rodzaj urządzenia.
◦ Wykrywanie urządzeń i enumeracja - proces ten jest jednym z etapów podłączenia i konfiguracji urządzeń. Sprawdzane jest, czy są wystarczające zasoby aby możliwe było podłączenie kolejnego urządzenia, przypisuje mu się unikalny adres oraz odczytuje jego konfigurację oraz informacje.
◦ Rozkazy standardowe – 11 zdefiniowanych rozkazów, służących do nadzorowania pracy urządzeń podłączonych do magistrali USB. Zestaw ten może być uzupełniony o dodatkowe rozkazy określone przez producenta sprzętu
POLITECHNIKA GDAŃSKA, WYDZIAŁ ELEKTROTECHNIKI I AUTOMATYKI, KATEDRA INŻYNIERII SYSTEMÓW STEROWANIA, PRZEMYSŁOWE SIECI INFORMATYCZNE, 2016
20
Wersje standarduStandardy wg prędkości:• USB 1.1 – sierpień 1998 - oferuje prędkości Low Speed (1,5 Mb/s) oraz Full Speed (12 Mb/s)
• USB 2.0 – kwiecień 2000 - szybsza wersja standardu USB 1.1 o prędkości High Speed (480 Mb/s).
• Kompatybilna z USB 1.1
• USB 3.0 – listopad 2008 – nowa odmiana standardu, znacznie szybsza oferująca prędkość SuperSpeed (5 Gb/s), pozwala na zasilanie urządzeń o większej mocy, ostateczna oficjalna nazwa standardu to USB 3.1 Gen 1
• USB 3.1 – lipiec 2013 – ulepszona odmiana standardu USB 3.0 oferująca prędkość SuperSpeed+ (10 Gb/s), ostateczna oficjalna nazwa standardu to USB 3.1 Gen 2
Standardy wg mocy zasilania:• USB Battery Charging 1.2 – 5V, 1,5A
• USB Type-C 1.0 - 5V, 3A
• USB Power Delivery 2 (v1.1) - 20V, 5A
POLITECHNIKA GDAŃSKA, WYDZIAŁ ELEKTROTECHNIKI I AUTOMATYKI, KATEDRA INŻYNIERII SYSTEMÓW STEROWANIA, PRZEMYSŁOWE SIECI INFORMATYCZNE, 2016
21
Wtyczki
POLITECHNIKA GDAŃSKA, WYDZIAŁ ELEKTROTECHNIKI I AUTOMATYKI, KATEDRA INŻYNIERII SYSTEMÓW STEROWANIA, PRZEMYSŁOWE SIECI INFORMATYCZNE, 2016
22
USB 3.0/3.1 i USB 1.1/2.0 - różniceDodatkowe linie sygnałowe, łącznie 8 w porównaniu do 4.
Większe dopuszczalne obciążenie prądowe (900mA w porównaniu do 500mA).
Dodatkowe mechanizmy związane z obsługą urządzeń SuperSpeed/SuperSpeed+.
Nowa, symetryczna wtyczka typu C.
Selektywna komunikacja z wybranymi urządzeniami poprzez dodatkowe mechanizmy routingu danych.
Dwa nowe typy pakietów: Isochronous Timestamp Packet (ITP) oraz Link Management Packet (LMP)
Dual-Simplex zamiast Half-Duplex
POLITECHNIKA GDAŃSKA, WYDZIAŁ ELEKTROTECHNIKI I AUTOMATYKI, KATEDRA INŻYNIERII SYSTEMÓW STEROWANIA, PRZEMYSŁOWE SIECI INFORMATYCZNE, 2016
23
Zastosowania konsumenckie
POLITECHNIKA GDAŃSKA, WYDZIAŁ ELEKTROTECHNIKI I AUTOMATYKI, KATEDRA INŻYNIERII SYSTEMÓW STEROWANIA, PRZEMYSŁOWE SIECI INFORMATYCZNE, 2016
24
Zastosowania konsumenckieUżywany niemal w wielu urządzeniach, zarówno do zasilania jak i przesyłania danych:
◦ Urządzenia multimedialne ◦ telefony komórkowe, odtwarzacze MP3, DVD, Blu-ray
◦ Peryferia komputerowe ◦ myszki, klawiatury, drukarki, kamery i inne akcesoria
◦ Pamięci masowe ◦ przenośne dyski twarde, NAS, pendrive
◦ Urządzenia specjalizowane◦ kasy fiskalne, czytniki kart kodowanych, urządzenia muzyczne, urządzenia graficzne
◦ Adaptery z dodatkowymi układami◦ adaptery interfejsów: USB->Wifi, USB->Ethernet, USB->RS232, USB->Bluetooth
◦ zewnętrzne układy: karty graficzne USB, karty muzyczne USB, karty do przechwytywania obrazu, tunery DVBT
POLITECHNIKA GDAŃSKA, WYDZIAŁ ELEKTROTECHNIKI I AUTOMATYKI, KATEDRA INŻYNIERII SYSTEMÓW STEROWANIA, PRZEMYSŁOWE SIECI INFORMATYCZNE, 2016
25
Zastosowania przemysłowe
POLITECHNIKA GDAŃSKA, WYDZIAŁ ELEKTROTECHNIKI I AUTOMATYKI, KATEDRA INŻYNIERII SYSTEMÓW STEROWANIA, PRZEMYSŁOWE SIECI INFORMATYCZNE, 2016
26
Zastosowania przemysłoweGłówne zastosowania USB w przemyśle dotyczą:
◦ podłączania pamięci masowych do urządzeń przemysłowych (zapis danych z urządzeń takich jak oscyloskopy czy multimetry),
◦ używania USB jako interfejsu do konfiguracji urządzeń (programatory mikrokontrolerów),
◦ przesyłania strumieni danych audio i/lub wideo (kamery przemysłowe)
◦ podłączania urządzeń komunikacyjnych (radiomodemy, modemy GSM)
◦ zasilanie małych urządzeń
W przemyśle najpopularniejszą wersją USB są interfejsy USB 1.1/2.0, który wystarcza w większości zastosowań przemysłowych ale powoli wprowadzane są też USB w wersji 3.0/3.1, głównie tam gdzie wymagane są duże przesyły danych (pamięci masowe oraz strumieniowanie danych).
POLITECHNIKA GDAŃSKA, WYDZIAŁ ELEKTROTECHNIKI I AUTOMATYKI, KATEDRA INŻYNIERII SYSTEMÓW STEROWANIA, PRZEMYSŁOWE SIECI INFORMATYCZNE, 2016
27
BibliografiaWojciech Mielczarek, USB. Uniwersalny interfejs szeregowy, Wydawnictwo Helion, 2005
http://www.usb.org/developers/docs/usb20_docs/
http://www.moddiy.com/pages/USB-2.0-%7B47%7D-3.0-Connectors-%26-Pinouts.html
http://www.gaw.ru/pdf/interface/usb/USB%203%200_english.pdf
POLITECHNIKA GDAŃSKA, WYDZIAŁ ELEKTROTECHNIKI I AUTOMATYKI, KATEDRA INŻYNIERII SYSTEMÓW STEROWANIA, PRZEMYSŁOWE SIECI INFORMATYCZNE, 2016
28
Dziękuję za uwagę
POLITECHNIKA GDAŃSKA, WYDZIAŁ ELEKTROTECHNIKI I AUTOMATYKI, KATEDRA INŻYNIERII SYSTEMÓW STEROWANIA, PRZEMYSŁOWE SIECI INFORMATYCZNE, 2016
29