Dariusz I sem. Informatyka Luty, 2007 r.
(Systemy Operacyjne i sieci komputerowe)
„Złącze USB”
Wstęp
Współczesny komputer klasy PC otacza coraz większa sieć układów peryferyjnych. Lista urządzeń, które można podłączyć do komputera, stale rośnie, a początkujący użytkownicy poruszają się z coraz większym trudem w gąszczu najróżniejszych wtyczek i gniazdek.
Próby doprowadzenia do jednolitego standardu podejmowane były od dłuższego czasu w zespole powołanym do życia prze grupę firm założycielskich: Campaq, DEC, IBM, Inlet, Microsoft, NEC i Northern Telecom. Wspólnie rozwijany projekt nosił nazwę USB (Universal Serial Bus) i obiecywał możliwość podłączenia szerokiej gamy peryferiów PC do jednolitej, prostej i taniej magistrali. Po latach rozwoju i chłodnej akceptacji magistrala USB wkracza coraz odważniej na rynek PC, a przez ten czas doczekała się nawet swojej drugiej generacji.
Specyfikacja
Koncepcja magistral USB jest pod wieloma względami niezmiernie elastyczna. Projektanci starali się zagwarantować nowej technice maximum popularności, co oznaczało konieczność stosowania jej do szerokiej gamy urządzeń - od powolnych klawiatur do szybkich modemów, skanerów i kamer video. Stojące do dyspozycji pasmo przepustowe powinno być optymalnie wykorzystane, przy czym należało zagwarantować prawo dostępu do magistrali dla urządzeń wszelkich klas prędkości. Spełnienie tych podstawowych wymagań doprowadziło do utworzenia kanałów informacyjnych różnej przepustowości. W podstawowej wersji specyfikacji (USB 1.1) zaimplementowane zostały dwa kanały, LS i FS. Pierwszy (Low - Speed) oferuje pasmo
do 1,5 Mb/s, a drugi (Full - Speed) - do 12 Mb/s.
Technologia USB jest pod wieloma względami bardzo podobna do tej, którą posługuje się magistrala IDEE-1394/FireWire - obie oferują zbliżone parametry (Tabela 1.). konkurujące ze sobą techniki starają się zdominować różne dziedziny branży elektronicznej na rynku sprzętu powszechnego użytku. USB próbuje opanować sektor komputerowych urządzeń peryferyjnych, a IDEE-1394 chce zawładnąć dziedziną wymiany danych pomiędzy urządzeniami audiowizualnymi. Tendencję tę widać jeszcze bardziej wyraźnie w najnowszej wersji specyfikacji USB 2.0.
|
Topologia |
Szerokość pasma |
Liczba urządzeń |
Kabel/Dystans |
USB |
Drzewiasta |
Ver. 1.1: 1,5 i 12 Mb/s Ver. 2.0: 480 Mb/s |
127 |
5.0 m / 35 m |
IEEE-1394 |
Punkt - punkt |
Ver. 1394: 100/200/400 Mb/s Ver. 1394B: 800 Mb/s |
63 |
4.5 m / 72 m |
Tabela 1. porównanie standardów USB i IDEE-1394
Do wspólnych właściwości porównywanych rozwiązań zaliczyć należy następujące cechy:
Magistrale są typu szeregowego
Transfer danych odbywa się w formie pakietowej z wydzielonym kanałem o paśmie gwarantowanym
Magistrale konfigurują się automatycznie w trakcie pracy (Hot - Plugging), rozpoznawane jest zarówno pojawienie się nowych urządzeń, jak i ich znikanie
Implementowany jest automatyczny przydział adresów (Auto - ID), co uwalnia użytkownika od konieczności jakichkolwiek manipulacji przy urządzeniach
Nie ma potrzeby identyfikowania fizycznych zakończeń magistrali i instalacji terminatorów (Auto Termination).
Topologia
USB ma strukturę drzewiastą rozrastającą się z punktu początkowego, który stanowi kontroler USB (Host - Adapter), nazywany też rozdzielaczem głównym (Root Hub). Kontroler zlokalizowany jest przeważnie na płycie głównej PC, chociaż istnieją różne rozwiązania zewnętrzne np. SCSI/USB lub PCMCIA/USB. Wszystkie aktualnie produkowane chipsety mają już taki układ zintegrowany w obrębie członu South Bridge (ang. Mostek południowy), przy czym na ogół oferowanych jest kilka portów USB. Symboliczne drzewo architektury sieci przedstawiane jest tradycyjnie z korzeniem skierowanym ku górze (Rys 1.).
Rys 1. Drzewo urządzeń podłączonych do magistrali USB zgodnej ze specyfikacją 1.1
W miarę rozbudowy drzewa sieci od korzenia (poziom „0”) w dół, do każdego z gniazd podłączać można dowolne urządzenie końcowe (w terminologii USB określane mianem
„Node” lub „Function”) albo kolejny rozdzielacz (HUB).
Dopuszczalna liczba wszystkich urządzeń (wliczając w to rozdzielacze i Host - Adapter) nie może przekroczyć 128. specyfikacja zakłada określone czasy reakcji systemu, a z nich wynikają określone czasy propagacji sygnałów. Ze względu na tak przyjęte założenia narzucone zostały ograniczenia co do maksymalnej liczby poziomów, która nie może przekraczać siedmiu. Tym samym liczba połączonych ze sobą kaskadowo rozdzielaczy (jeżeli odliczymy poziom ostatni, który ich nie zawiera oraz poziom zerowy) nie może być większa od pięciu. Długość kabla łączącego urządzenie z rozdzielaczem nie może przekraczać 5 metrów, czyli żadne z urządzeń nie może być oddalone od szczytu piramidy o więcej niż 35 metrów.
Rozdzielacze stanowią układy aktywnie wzmacniające sygnały magistrali. Dysponują jednym portem zwróconym w kierunku wyższego poziomu (Upstream Port) oraz kilkoma portami ustawionymi w stronę poziomów niższych (Downstream Ports). Kolejne rozdzielacze zarysowują wyraźnie poziomy piramidy, na szczycie, której pracuje Host - Adapter. Na poziomie ostatnim obecne są już tylko urządzenia końcowe (Node, Functions). Funkcja rozdzielaczy nie ogranicza się jedynie do pomnażania gniazd USB. Zaopatrują one też w energię urządzenia pozbawione własnego zasilania, bowiem dopuszczalny pobór prądu z magistrali wynosi jedynie 500 mA.
Wszelkie akcje w sieci inicjowane są przez kontroler. Poszczególne urządzenia nie mają możliwości ani zwrócenia na siebie uwagi (tak jak to się dzieje z udziałem mechanizmem
przerwań IRQ), ani wysyłania danych w „ciemno”. Każdy z uczestników musi czekać, aż kontroler zwróci się do niego z zapytaniem (na określenie tego typu sterowania przyjęło się używać
terminu Polling) o potrzebę obsługi. Tak zdefiniowana procedura likwiduje co prawda możliwość kolizji, do których dochodzi w przypadku jednoczesnego nadawania przez wielu uczestników, pochłania jednak stosunkowo dużo pasma magistrali. Z oferowanych w trybie FS 12 Mb/s brutto pozostaje praktyce mniej niż 1 MB/s netto.
Rys 2. Kombinacja elementów architektury w wersjach 1.1 i 2.0
Wysyłanie zapytań do wszystkich możliwych urządzeń (maksymalnie 127) obciążyłoby zbyt mocno procesor systemowy i dlatego nie może być mu przypisane. Działalność tę bierze na siebie kontroler USB. On sam musi więc być urządzeniem porozumiewającym się z PC za pomocą przerwań. BIOS przydziela zwykle w tym celu Linię IRQ 10 lub IRQ 11. Host - Adapter obejmuje w posiadanie część przestrzeni adresowej I/O (wejścia/wyjścia).
Okablowanie
Urządzenia pracujące w kanale SF (12 Mb/s) posługują się ekranowaną skrętką. Dopuszczalna długość takiego kabla wynosi 5 metrów. Dla urządzeń klasy LS (1,5 Mb/s) przewidziano prosty czterożyłowy nieekranowany kabel o maksymalnej długości 3 metrów.
1 |
2 |
3 |
4 |
+5V |
GND |
+DATA |
-DATA |
Czerwony |
Czarny |
Biały |
Zielony |
RYS 3. Przekrój kabla połączeniowego USB
Niezależnie od tego, do jakiej prędkości kwalifikuje się dane urządzenie, połączenia odbywają się zawsze za pomocą tego samego zestawu łączy, płaskiego (typ A) dla portów zwróconych w stronę korzenia magistrali (Upstream) i kwadratowego (typ B) dla kierunku przeciwnego (Downstream).
Rys 4. Złącze USB (widok od strony gniazda)
Pin 1 |
Pin 2 |
Pin 3 |
Pin 4 |
+ 5V |
-DATA |
+DATA |
GND |
W niektórych przypadkach (raczej ze względów mechanicznych niż elektrycznych) pożądana jest możliwość oddzielenia przewodu od urządzenia. W takim miejscu korzysta się ze złącza typu B. Tego typu gniazdo może być zainstalowane jedynie w punktach zwróconych w stronę korzenia drzewa architektury sieci USB.
Rys 5. złącze USB (widok od strony gniazda)
Pin 1 |
Pin 2 |
Pin 3 |
Pin 4 |
+ 5V |
-DATA |
+DATA |
GND |
Różnicę w budowie mechanicznej złączy eliminują możliwość połączeń sprzecznych sprzecznych założeniami topologii (np. realizację pętli). Zróżnicowanie długości końcówek (styki zasilające wystają nieco ponad styki linii D+/D-) stanowi aspekt realizacji idei łączenia „na gorąco” (Hot Plugging). Dowolne urządzenie USB może być bez szkody dla sieci i siebie samego podłączone lub odłączone i nie trzeba przestrzegać żadnej specjalnej procedury (odłączanie zasilania, restartowanie i tym podobne).
Patrząc na szynę USB od strony sygnałów elektrycznych, należy ją zaliczyć do grupy magistral szeregowych prowadzonych od punktu do punktu (Point to Point Bus). Dane przesyłane są w ruchu dwukierunkowym za pomocą pary przewodów sygnałowych D+ i D-. Pozostałe dwie linie doprowadzają napięcie zasilające (+5V i masa). Modulowanie końcówek D+ i D- sygnałem różnicowym zwiększa odporność linii na zakłócenia zewnętrzne. Wzmacniacze wejściowe urządzeń USB ustawione są na wydzielenie różnicy sygnałów. Przebiegi szkodliwe nakładają się w jednakowym stopniu na obie linie D+ i D- i dlatego łatwo je wyeliminować. Magistrala USB 1.1 pracuje w zakresie napięć typowych dla układów CMOS; jedynka leży w obszarze pomiędzy 2,8V a 3,6V, a zero poniżej 0,3V. Nadawany sygnał ma, więc amplitudę około 1V, a napięcie różnicowe 2V. W stanie spoczynku linie utrzymywane są na poziomie D+ = +3 i D+ = 0V.
Szyna USB nie dysponuje żadnym przebiegiem taktującym. Impulsy synchronizujące zawarte są jednak w strumieniu danych i z niego odzyskiwane. Sygnał USB kodowany jest zgodnie z regułami określanymi jako NÓZI (Non Return to Zero Invert). Wszystkie trzy klasy prędkości
(LS/FS/HS) korzystają z tego samego schematu. Każde logiczne 0 wyzwala zmianę polaryzacji, a jak długo w ciągu impulsów wejściowych występują jedynki, kodowany przebieg jest stały. Stosowany algorytm zapewnia jednak obecność impulsów synchronizujących synchronizujących dowolnej sekwencji danych, nawet składających się z samych jedynek. Najpóźniej po sześciu jedynkach wprowadzony jest impuls 0 (Bit Stuffing). Tak, więc każde z urządzeń USB ma możliwość zsynchronizowania swojego wewnętrznego zegara, co najmniej raz na siedem taktów.
Protokół
Podłączenie do magistrali USB urządzenia muszą być jednoznaczne identyfikowane. Służy temu numer indentyfikacyjny ID nadawany przez kontroler USB (Host - Adapter). Tuż po uruchomieniu systemu (załączeniu napięć zasilających) każdy z układów ustawia swój identyfikator na zero. Kontroler przegląda całą magistrale odcinek po odcinku, aż do ostatniego poziomu i przydziela każdemu napotkanemu urządzeniu kolejny numer, na który składa się siedem bitów adresu urządzenia. (ADDR.), i cztery bity określające pod adres ENDP. W trakcie przeglądania sieci napotkane urządzenia informują kontroler o typie przetwarzanych przez siebie danych i o pożądanej szerokości pasma przesyłowego, który jest im potrzebny. Kontroler gromadzi te informacje. By je później wykorzystać do rozdziału pasma pomiędzy wszystkich chętnych. Przydział adresów (Bus Enumeration) nie musi być trwały, bowiem urządzenia mogą być odłączane i dołączane.
Oprócz konfigurowanego programowo ID układy peryferyjne USB wyposażone są w zaszyty na stałe w swej pamięci 5-cio bajtowy numer sprzętowy: 2 bajty stanowią oznaczenia producenta, 2 nazwę układu i 1 numer wersji. Dodatkowe informacje zawarte są w 3 - bajtowym identyfikatorze klasy, po jednym bajcie na klasę, podklasę i typ protokołu.
Fizyczna lokalizacja urządzenia w sieci nie ma znaczenia. Na poziomie aplikacji komunikacja odbywa się za pośrednictwem kanałów wirtualnych (Pipes), które tworzy kontroler USB (Host - Adapter), korzystając z wyłącznie z nadanego przez samego siebie adresu danego urządzenia. Protokół magistrali USB umożliwią obsługę 127 (adres zerowy kontroler przydziela sam sobie) urządzeń (7 - bitowe pole adresowe ADDR). Każde z nich może mieć do 16 podległych sobie końcówek (4 bity ENDP), reprezentujących poszczególne człony bardziej złożonych układów (Endpoints) takich jak np. część obrazowa i dźwiękowa w kamerach. Końcówka zerowa (Endpoint Full) stanowi obecny w każdym urządzeniu specjalny kanał sterujący (Control Pipe), poprzez który kontroler identyfikuje i konfiguruje całe urządzenie o adresie ADDR..
Łączna przepustowość magistrali rozdzielana jest w miarę potrzeb i możliwości. Kontroler tworzy wirtualne kanały przesyłowe określonego typu, o ustalonej szerokości i danym kierunku przepływu, a następnie oddaje je do dyspozycji wyznaczonym przez siebie urządzeniom. Uwzględnienie tak ustalonych priorytetów odbywa się wyłącznie poprzez regulacje częstotliwości rozsyłania pakietów Token. Prośba o dostęp do magistrali można zostać przez kontroler zignorowana, jeśli rezerwy pasma nie są wystarczające. Żadna z trwających właśnie transmisji nie jest jednak przerywana na korzyść innej.
Dużą rolę w sprawnym funkcjonowaniu sieci USB odgrywa buforowanie danych i to zarówno przez urządzenia oczekujące na dostęp, jak i przez kontroler. Czas oczekiwania na obsługę może być różny, a urządzenia nie może go przewidzieć. Rozmiary buforów lokalnych muszą być dobrane z dużym zapasem, tym większym, im większy strumień danych produkuje układ.
Pakiety
Wszelkie informacje przekazane poprzez magistrale USB transportowane są w formie pakietów, których początek i koniec opatrzony jest specjalnymi sygnaturami SOP (Start of Packet) i EOP (End of Packet). Sygnatury te stanowią kombinację ustalonych dla poszczególnych trybów sekwencji stanów K, J, SEO i specjalnego bajtu NRZI z siedmioma jedynkami (01111111). Warto wiedzieć, iż magistrala USB transmituje zawsze najpierw młodsze a później starsze bity. Tak samo traktowane są ciągi wielobajtowe - w pierwszej kolejności przesyłane są bajty mniej znaczące.
Każdy pakiet należy do jednego z czterech możliwych typów: Token, Data, Handshake i Special. Informacja o typie zawarta jest w nagłówku PID (Packet Indentifier), który przesyłany jest tuż po sygnaturze SOP. Nagłówek jest jednobajtowy, ale znacząca jest w zasadzie tylko jego połowa, bowiem 4 starsze bity stanowią zawsze negację 4 młodszych (PID/~PID).
Pakiet Token rozsyłany jest przez kontroler do wszelkich podłączonych do magistrali urządzeń. Pakiety Token i Data zabezpieczone są sumami kontrolnymi CRC o różnej długości
(5-cio bitowe dla Token i 16-to bitowe dla Data). Kody CRC umożliwiają nie tylko wykrywanie błędów, ale również ich korekcję (w pewnym stopniu).
Rys 6. struktura pakietu Token
Urządzenie żądające dostępu do magistrali odsyła odpowiedź pozytywną. W oparciu o zapamiętane w fazie inicjalizacji parametry kontroler sprawdza najpierw, czy dysponuje wolnym pasmem o niezbędnym wymiarze, a jeśli tak, rezerwuje je (pod uwagę brane są przy tym planowane transmisje synchroniczne). Po przyjęciu niezbędnych uzgodnień dochodzi do tworzenia kanału wirtualnego i wymiany danych w pakietach Data.
Rys 7. struktura pakietu Data
Poszczególne fazy komunikacyjne kwitowane są za pomocą pakietów potwierdzających Handshake przedstawionych na rysunku 8. reakcja systemu na wykrycie błędu zależy od stopnia uszkodzenia. Błędy proste (na pojedynczych lub co najwyżej podwójnych pozycjach bitowych) dają się naprawić za pomocą mechanizmów korekcyjnych, zawartych w sumach kontrolnych CRC. Wykrycie błędu transmisji asynchronicznej, którego nie da się w ten sposób skorygować, uruchamia procedurę obsługi polegającej na powtórnym przesłaniu uszkodzonego pakietu. Szczegóły implementacji obsługi błędów (ilość powtórzeń, realizacja w sprzęcie lub oprogramowaniu) zależą od danego systemu, bowiem specyfikacja USB pozostawia w tym zakresie szeroki margines swobody.
Rys 8. struktura pakietu Handshake
USB w praktyce
Od momentu uwzględnienia pierwotnej wersji specyfikacji upłynęło wiele lat. Liczba urządzeń wyposażonych w złącza USB stale rośnie, ale trudno mówić o całkowitej dominacji na korzyść innych magistral. Reakcja rynku na wprowadzane nowości nie była nigdy łatwa do przewidzenia. Poniższe zestawienie prezentuje główne cechy systemu, widziane pod kontem zastosowań praktycznych:
Wszystkie urządzenia USB wymagają specjalnej obsługi przez system operacyjny, który z kolei żąda dostarczenia i instalacji odpowiednich sterowników (sterowników ile nie znajdują się one już na liście wewnętrznej bazy danych systemu). Wyjątek stanowią w chwili obecnej klawiatury i myszy USB, dla których implementuje się na ogół elementarny system obsługi z poziomu BIOS-u (Legacy suport).
W obrębie całego systemu jest tylko jeden komplet gniazd i pasujących do nich wtyków (A i B). Pomylić się nie sposób, bowiem każdy wtyk można podłączyć do pierwszego napotkanego w okolicy gniazda. Rozdzielacze USB w formie samodzielnych układów nie są zbyt często spotykane. Ich funkcje integruje się najczęściej w dostosowanych do tego celu urządzeniach. Rozmnażanie gniazd następuje tam, gdzie umożliwia to miejsce, np. na ścianach bocznych klawiatur lub w podstawach i ścianach tylnych monitora itp.
Sieć USB jest samo konfigurująca i nie wymaga od użytkownika dodatkowych działań. Nie trzeba się troszczyć o terminatory w końcu magistrali (jak w przypadku SCSI), deklaracje Master - Slave, adresy portów I/O, kanałów DMA, i numery IRQ, ani określać parametrów transmisji. Host - Adapter bierze na siebie zarówno identyfikację, jak i właściwą konfigurację każdego elementu w sieci. Samo konfiguracja obejmuje również system Hot - Plugging, tzn. dołączone i odłączone w trakcie pracy systemu kolejne urządzenia są automatycznie rozpoznawane i adresowane, a niezbędne do ich obsługi sterowniki uruchamiane bez udziału użytkownika.
Nadrzędną cechą całego systemu jest jego elastyczność i niskie koszty realizacji. Obsługiwane mogą być jednocześnie urządzenia pracujące z małymi i dużymi prędkościami. Prędkościami Szczególności pokrywany jest zakres obejmujący przesyłanie danych audio video w różnych formatach kompresji (MPG - II), co jest bardzo ważne dla multimedialnej przyszłości całego przedsięwzięcia. Długość krążących w sieci pakietów może być regulowana, co podnosi możliwość racjonalnego wykorzystania jej zasobów. USB integruje w sobie także funkcje lokalnej sieci telefonicznej, ale aspekt ten nie doczekał się powszechnej akceptacji. W skład specyfikacji wchodzi specjalny protokół TAPI (Telephony Application Programming Interface). Oferowane są następujące usługi: faks, modem, mała centrala telefoniczna.
Stopień integracji USB w architekturze PC był przez długi czas niezadowalający i wyrażał się jedynie obecnością blaszki slotu z gniazdami USB na tylnej ściance komputera. Główną przeszkodą był brak implementacji magistrali przez
Windows 95. Rozpoznania i obsługa wchodzącego w skład PIIX3 kontrolera USB wymagały zdobycia odpowiedniego sterownika programowego. Dla Windows 95 odpowiedni plik skopiować należało z płyty CD, oznaczonej symbolem
Service Pack 3 (w katalogu /OSR2/USB_SUPP), zawierającej nakładki i uzupełnienia do systemu operacyjnego. Poprawna instalacja tego sterownika to jeszcze za mało, by cieszyć się USB. System operacyjny wiedział już, co prawda o obecności kontrolera, ale nie miał informacji o podłączonych do sieci urządzeniach. W tamtych czasach samo ich zdobycie nie było sprawą łatwą. Oprócz kilku pokazywanych na targach monitorów, klawiatur i myszy trudno było o szeroki materiał porównawczy. Przez dłuższy czas popularne było złośliwe tłumaczenie skrótu USB jako Useless Serial Bus (nieużyteczna magistrala szeregowa).
Pełna integracja USB w strukturach systemów operacyjnych nastąpiła wraz z wejściem na rynek systemu Windows 98, Windows 2000 i kolejnych.
Lista aktualnie oferowanych urządzeń USB jest dosyć obszerna. Z jednej strony mieści się na niej spora grupa układów implementujących samą magistralę, to jest kontrolerów kontrolerów rozdzielaczy. Pierwsze realizowane są zarówno formie kart rozszerzeń PCI jak i urządzeń zewnętrznych konwertujących z wszelkich dostępnych portów PC (szeregowych, równoległych, PCMCIA lub SCSI). Rozdzielacze mogą być wbudowane w monitor i w klawiatury, a czasem występują jako urządzenia wolnostojące. Coraz więcej układów peryferyjnych wyposażonych jest w złącza USB (często jako dodatkowy Inetrface).
Należą do nich następujące grupy produktów:
Klawiatury,myszy, drążki kierownicze, dygitalizery
Drukarki i skanery
Dyski twarde, napędy nośników wymiennych (np. ZIP) oraz napędy CD - ROM i nagrywarki
Modemy analogowe i cyfrowe, karty sieciowe
Urządzenia audiowizualne - kamery, głośniki mikrofony
Systemy zabezpieczeń (Dongle, Hardlock, rozpoznawanie linii papilarnych)
Czytniki różnych nowoczesnych kompaktów mediów (np. Flash, Smart, Menory Sick, różne karty kredytowe)
Przetworniki magistrali USB na inne systemy np. SCSI lub MIDI
Urządzenia komunikujące się bezpośrednio z człowiekiem (klawiatura, mysz itp.) noszą w nomenklaturze USB miano HID (Human Interface Device).
Windows 95
W tabeli 2. zebrano wszystkie znajdujące się niegdyś obiegu wersje systemu operacyjnego Windows 95. W drugiej kolumnie wpisano sekwencję identyfikującą pobraną z okna menadżera sprzętu. Sterowniki uzupełniające dla wersji OSR 2.0 dostarczają producenci sprzętu USB. Pakiet dystrybucyjny w wersji OSR 2.1 zawiera jeden plik dodatkowy (SUBSUPP.exe), a OSR 2.5 - dwa pliki (USBSUPP.exe i USBUPD2.exe).
Ze względu na funkcjonowanie sterowników nowych urządzeń w systemach operacyjnych rodziny Windows 95 odradza się korzystanie z tej wersji systemu na komputerach, które muszą obsługiwać wiele różnych urządzeń USB.
Windows 98/98SE
Systemy te oferują pełną obsługę magistrali USB. Windows 98 można nawet zainstalować na komputerze wyposażonym w urządzenia USB (mysz i klawiaturę). Należy zauważyć, że nie można zmienić jednocześnie klasycznej myszy i klawiatury na ich odpowiednik, podłączone do magistrali USB. Urządzenia te są martwe do czasu zainstalowania nowych sterowników system wymaga przecież potwierdzenia przez użytkownika w oknie dialogów. Najnowsze wersje BIOS-u oferują elementarną obsługę urządzeń USB (Legacy Suport) z poziomu sprzętu, bez konieczności instalacji jakichkolwiek sterowników (dotyczy myszy i klawiatury).
Wiele sterowników nowych urządzeń USB odmawia współpracy z wersją
Windows 98 wymagając, co najmniej wersji Windows 98SE. Aby można było w pełni efektywnie korzystać z urządzeń USB, zalecane jest korzystanie z wersji Windows 98SE lub ME.
Tabela 2. USB w wersjach Windows 95
Wersja MS Windows 95 |
Symbol |
Obsługa USB |
Windows 95 retail |
4.00.950 |
Brak możliwości |
Windows 95 OSR 1 |
4.00.950a |
Brak możliwości |
Windows 95 OSR 2.0 |
4.00.950b |
Możliwa po zainstalowaniu dodatkowych sterowników |
Windows 95 OSR 2.1 |
4.00.950b |
Wyposażenie standardowe |
Windows 95 OSR 2.5 |
4.00.950c (*) |
Wyposażenie standardowe |
(*) - jeżeli instalator nie rozpozna sprzętu USB i nie zainstalował sterowników, pokazywana jest wersja 4.00.950b
Windows NT
System ten charakteryzuje całkowity brak urządzeń USB ze strony firmy Microsoft. Natomiast niezależni producenci oprogramowania przygotowali sterowniki USB dla wybranych klas urządzeń.
Windows 2000/XP/2003
Systemy te w pełni obsługują standard USB, wraz z możliwością instalacji systemu na komputerze pozbawionym klawiatury AT lub PS/2.
USB 2.0
Pełna obsługa USB 2.0 implementowana jest przez system operacyjny Windows XP, tak więc od użytkownika nie wymaga się żadnych dodatkowych zabiegów. W przypadku
Windows 2000 sprawa nie jest taka prosta, bowiem system ten posługuje się innym modelem warstwowym protokołów wewnętrznych. Dla zapewnienia funkcjonowania urządzeń USB 2.0 konieczne jest zbudowanie równoległej ścieżki składającej się ze sterowników USBPORT.sys, USBHUB.sys i USBEHCI.sys (wszystkie dostarczone przez firmę Microsoft).
Microsoft przypadku zamiaru korzystania z urządzeń USB 2.0 należy zaktualizować system operacyjny za pomocą najnowszej dostępnej wersji pakietu Service Pack. Na podstawie zapewnień firmy Microsoft można przyjąć, iż żadne z wcześniejszych systemów operacyjnych tej firmy nie będą wyposażone w implementację USB 2.0.
Urządzenia USB.
Klawiatury
Zastosowanie klawiatury USB nie wnosi żadnych udogodnień funkcjonalnych. Zwolnione przerwanie klawiatury AT / PS/2 nie może być zazwyczaj wykorzystane przez inne urządzenia, zaś nowa klawiatura zajmuje gniazdo USB. Z tego powodu olbrzymia większość produkowanych płyt głównych wciąż ma klasyczne gniazdo PS/2, umożliwiające korzystanie z klawiatur PS/2.
Ciekawym pomysłem jest możliwość integrowania pasywnego koncentratora USB z klawiaturą, przez co możliwe staje się podłączenie urządzeń USB (np. myszy lub modułu pamięci USB) bezpośrednio do klawiatury, dzięki temu zmniejsza się plątanina kabli i zwiększa komfort pracy użytkownika. Nadal jest niewiele klawiatur na rynku wyposażonych w koncentratory USB, zaś podobną funkcjonalność można osiągnąć, korzystając z obudów komputerów wyposażonych w dodatkowe gniazda USB umieszczone na przedniej ścianie. Programy BIOS większości płyt głównych umożliwiają emulowanie klawiatury PS/2 za pomocą urządzenia USB, dzięki czemu możliwe jest obsługiwanie tych programów oraz innego oprogramowania nieprzystosowanego do technologii USB.
Myszki
Zastosowanie myszy USB zwalnia przerwanie IRQ 12 do zastosowań przez inne urządzenia (np. kontroler USB), kosztem uczucia jednego z niewielu dostępnych gniazd USB. Z tego powodu duża część produkowanych płyt głównych posiada nadal klasyczne gniazdo PS/2 umożliwiające korzystanie z myszy PS/2.
Myszy PS/2 czasem oferują lepszą rozdzielczość niż ich odpowiedniki USB. Gniazdo PS/2 umożliwia płynną regulację częstotliwości odczytywania stanu urządzenia od 60 Hz do 200 Hz, dzięki czemu możliwe jest dostosowanie płynności ruchu do preferencji użytkownika. Myszy USB pozbawione są możliwości regulacji.
Kontrolery gier
Kontrolery gier podłączone do magistrali USB charakteryzują się większą różnorodnością, niż ich odpowiedniki korzystające z portu Game Port. Kontrolery gier USB mogą być wyposażone w olbrzymią liczbę przycisków, osi ruchy i dodatkowych funkcji takich jak fizyczne sprzężenia zwrotne (ang. Force feedback), diody informujące o stanie urządzenia lub wyświetlacze LCD. Standaryzacja protokołu komunikacji z kontrolerami gier spowodowała, że możliwe jest obsługiwanie wielu podstawowych ich funkcji bezpośrednio przez sterowniki wbudowane s system Windows, bez konieczności instalowania dodatkowego oprogramowania.
Jedyną wadą kontrolerów gier USB jest brak zgodności z aplikacjami obsługującymi wyłącznie Port Game, jednak ograniczenie te dotyczy niemal wyłącznie starych gier, pracujących pod kontrolą systemu MS-DOS.
Dyski twarde
Kieszenie USB umożliwiają montaż dysku twardego IDE (w zależności od rozmiaru kieszeni : 2.5” lub 3.5”) i podłączenie go do komputera za pomocą przewodu USB. W zależności od wykorzystywanej wersji standardu USB dysk twardy może przesyłać dane z teoretyczną szczytową prędkością rządu 10 Mb/s (USB 1.1) lub 400 Mb/s (USB 2.0); dopiero USB 2.0 zapewnia zatem komfort pracy w jakimś stopniu porównywalny z bezpośrednim połączeniem IDE
(1 064 Mb/s dla ATA/133), choć w zależności od użytego rodzaju mostka USB - IDE maksymalny transfer sekwencyjny może być o połowę niższy od nominalnego transferu osiąganego przez dany dysk IDE.
Kieszenie USB czasem też są wyposażone w złącze FireWire, umożliwiające przyśpieszenie pracy dysku w przypadku, gdy komputer dysponuje gniazdem FireWire IDEE - 1394B (800 Mb/s) lub nie dysponuje gniazdem USB 2.0. Ponieważ USB jak i FireWire obsługują technologię
Hot - Plug, możliwe jest podłączenie i odłączenie dysku twardego czasie pracy systemu operacyjnego, bez konieczności wyłączania lub restartowania komputera.
Rozwój rynku kieszeni USB doprowadził do bardzo korzystnej sytuacji, w której większość urządzeń rozpoznawana jest jako standardowe urządzenie pamięci masowej USB
(ang. USB Mass Storage Device), dzięki czemu dysk twardy podłączony do komputera może być obsługiwany przez system Windows bez konieczności instalacji dodatkowych sterowników. Ponieważ magistrala USB również przez komputery Apple Macintosh, kieszenie USB mogą stanowić prostą metodę wymiany dużych ilości danych między komputerami klasy PC i Macintosh.
Korzystając z dysku twardego włożonego do kieszeni USB, należy pamiętać, by w czasie pracy nie wyłączać zasilania dysku ani nie rozłączać kabla USB. System Windows musi być powiadomiony o chęci odłączenia urządzenia i dopiero gdy zostanie wyświetlony odpowiedni komunikat, można odłączyć dysk twardy.
Moduły pamięci Flash EEPROM
Moduły pamięci Flash EEPROM wielkości zapalniczki, wkładane wprost w gniazdo USN, stają się obecnie niezwykle popularne i całkowicie zastępują klasyczne dyskietki, zagrażają nawet płytom CD - WR. Ich zaletą jest spora pojemność (w zależności od modelu: 64 MB, 128 MB,
256 MB, 512 MB, 1 GB lub nawet więcej), wysoka prędkość działania (w porównaniu do dyskietek
i napędów optycznych) oraz brak części mechanicznych, mechanicznych, a co za tym idzie - spora
wytrzymałość na częste zapisywanie, modyfikowanie i usuwanie zapisanych danych.
Rozwój rynku modułów USB doprowadził do korzystnej sytuacji, w której duża część urządzeń rozpoznawana jest jako standardowe urządzenie pamięci masowej USB (ang. USB Mass Storage Device), dzięki czemu moduł może być obsługiwany przez system operacyjny bez konieczności instalacji dodatkowych sterowników.
Korzystając z modułu pamięci Flash EEPROM, należy pamiętać, by w czasie pracy nie wyłączać zasilania ani nie rozłączać kabla USB. System Windows musi być powiadomiony o chęci odłączenia urządzenia i dopiero gdy zostanie wyświetlony odpowiedni komunikat, można odłączyć moduł pamięci. Nieprzestrzeganie tej reguły może spowodować utratę danych zapisywanych w tym momencie w pamięci lub wręcz uszkodzenie struktury logicznej systemu plików w pamięci (i, w konsekwencji, utratę wszystkich danych).
Napędy optyczne
Napędy optyczne USB to najczęściej standardowe jednostki IDE przyłączone do magistrali USB za pomocą kieszeni dostosowującej, dokładnie jak w przypadku dysków twardych. Twardych przypadku napędów dysponujących możliwością zapisu (nagrywarki CD-RW, nagrywarki DVD) złącze USB może jednak stanowić „wąskie gardło”, uniemożliwiające pełne wykorzystanie urządzenia.
Standard USB 1.1 zapewnia teoretyczna przepustowość maksymalną 12 Mb/s, co pozwala zapisywać płyty CD-R i CD-RW z prędkością maksymalną rzędu 10x. Licząc, że dostępna będzie połowa pasma, maksymalna prędkość zapisu spada do 4x lub 6x. o wiele lepiej jest w przypadku USB 2.0: maksymalna teoretyczna przepustowość 480 Mb/s umożliwia napędowi CD-RW zapisywanie płyty z prędkościami 52x, nawet przy założeniu, że dostępna jest tylko połowa pasma.
Czytniki kart pamięci i aparaty cyfrowe
Podłączone do magistrali USB aparaty cyfrowe i czytniki kart pamięci obsługiwane są podobnie jak moduły pamięci Flash EEPROM i wykrywane jako urządzenia USB Mass Storage. Dzięki temu możliwe jest korzystanie z aparatu fotograficznego jako czytnika kart pamięci, pobieranie zdjęć bezpośrednio z poziomu dowolnej aplikacji systemu Windows i zapisywanie na karcie pamięci nowych danych.
Korzystając z czytnika kart pamięci lub aparatu cyfrowego, należy pamiętać, by w czasie pracy nie odłączać urządzenie od magistrali USB. System musi byś powiadomiony o chęci odłączenia urządzenia dopiero gdy zostanie wyświetlony odpowiedni komunikat, można odłączyć urządzenie. Nieprzestrzeganie tej reguły może spowodować utratę danych zapisywanych w tym momencie w pamięci lub wręcz uszkodzenie struktury logicznej systemu plików w pamięci (i, w konsekwencji, utratę wszystkich danych).
Skanery
Skanery USB były jednymi z pierwszych masowo dostępnych urządzeń USB. Pierwsze modele korzystające z energooszczędnej technologii CIS, często nie wymagały nawet korzystania z odrębnego zasilacza, pobierając energię przewodami USB. Skanery CCD, oferujące wyższą jakość skanowanego obrazu, zazwyczaj posiadają odrębny zasilacz i nie mogą pracować beż zasilania sieciowego.
Zaletą skanerów USB jest możliwość łatwego przełączania skanera między kilkoma komputerami bez konieczności restartowania systemu operacyjnego oraz spora przepustowość łącza
(do 12 Mb/s dla USB 1.1 lub 480 Mb/s dla USB 2.0), przy zachowaniu nie wielkiego obciążenia procesora komputera. W porównaniu ze skanerami podłączonymi do portu równoległego stanowi to wielki postęp (port równoległy oferuje przepustowość 5Mb/s przy wielkim obciążeniu procesora).
Drukarki
Drukarki wyposażone w gniazdo USB stanowią większość na rynku drukarek. Dzięki wysokiej przepustowości łącza mogą one nieco sprawniej reagować na dane przesyłane przez komputer, mniej przy tym obciążając procesor centralny.
Niektóre modele drukarek - wyposażone zarówno gniazdo równoległe Centronics, jak i szeregowe USB - mogą być jednocześnie podłączone do dwóch komputerów. Zastosowanie złącza USB umożliwia też proste przełączanie między kilkoma znajdującymi się blisko siebie maszynami.
Sieci komputerowe
Na bazie interfejsu USB można zbudować niezwykle prostą sieć komputerową, łączącą ze sobą dwa komputery. Tego typu połączenie może być alternatywą dla klasycznego połączenia kablowego za pomocą złączy szeregowych lub równoległych - równoległych porównaniu z nimi oferowana jest wyraźnie większa przepustowość, przy niewielkim obciążeniu procesora. Podczas gdy za pomocą standardowego złącza szeregowego można uzyskać przepustowość rzędu 0,1 Mb/s, a złącza równoległego - od 1 do 5 Mb/s, miniaturowa sieć USB umożliwi przesyłanie danych z teoretyczną szczytową przepustowością rzędu 10 Mb/s (USB 1.1) lub 400 Mb/s (USB 2.0).
Realizacja tego typu połączenia wymaga korzystania ze specjalnego przewodu typu USB Link, zawierającego - oprócz dwóch przewodów z wtykami USB typu A - układ mostka
USB - USB, przekazującego dane między dwiema odrębnymi magistralami USB. Nie możliwe jest zbudowanie tego typu sieci przy pomocy standardowego kabla USB typu A-A
(wyjątkiem są niektóre modele płyt głównych wyposażone w funkcjonalność sieci lokalnej USB - w takim przypadku jednak łączone muszą być komputery wyposażone tylko w takie płyty główne).
Konieczność kupowania specjalnego, kosztownego urządzenia powoduje, że sieć USB jest droższa w realizacji i mniej funkcjonalna niż klasyczna sieć Ethernet. Przewód USB łączący dwa komputery jest jednak nieocenioną pomocą, jeżeli połączenie na mieć charakter tymczasowy lub awaryjny, a łączone komputery nie są wyposażone w karty sieciowe, posiadają natomiast działające złącza USB.
Opracowane na podstawie książki Piotr Matzger „Anatomia PC” 2004 Dariusz 2007
13
*
*
*
*
1
2
3
4
Skrętka przewodów sygnałowych
Linie zasilania
1
2
3
4
TYP A
1
2
3
4
TYP B
Upstream
Poziom „4”
Poziom „3”
Poziom „2”
Poziom „1”
Poziom „0”
NODE
NODE
NODE
NODE
NODE
NODE
HUB
HUB
HUB
NODE
NODE
HUB
NODE
HOST
(Root HUB)
NODE 1.1
NODE 1.1
NODE 1.1
HUB 2.0
HUB 1.1
NODE 1.1
NODE 1.1
Downstream
Poziom „3”
Poziom „2”
Poziom „1”
Poziom „0”
NODE 2.0
HOST 2.0
(Root HUB)
CRC 5
ENDP
5 bitów
ADDR
4 bity
7 bitów
8 bitów
~X*11
~X*11
1
0
X*
X*
0
1
~PID
PID
Kierunek
transmisji
CRC 5
16 bitów
DATA
0…1023
bajtów
8 bitów
~X*
~X*11
0
0
X*
X*
1
1
~PID
PID
Kierunek
transmisji
8 bitów
~X*
~X*11
0
1
X*
X*
1
0
~PID
PID
Kierunek
transmisji