Rozdział 16 Złącze USB


Rozdział 16.
Złącze USB



Współczesny komputer PC otacza się coraz gęstszą siecią układów peryferyjnych. Kilkanaście lat burzliwego rozwoju tej gałęzi techniki doprowadziło do wypracowania wspaniałego chaosu. Lista urządzeń, które można podłączyć do komputera stale rośnie a początkujący użytkownicy poruszają się z coraz to większym trudem w gąszczu najróżniejszych wtyczek i gniazdek. "Nawet najbardziej doświadczeni narażeni są na omyłkowe zamiany kabli.
Próby doprowadzenia do jednolitego standardu prowadzone są od dłuższego czasu w zespole powołanym do życia przez grupę firm założycielskich: Compaq, DEC, IBM, Intel, Microsoft, NEC i Northern Telecom. Wspólnie rozwijany projekt nosi nazwę USB (Universal Serial Bus*) i obiecuje możliwość podłączenia szerokiego zakresu peryferiów PC do jednolitej, prostej i taniej magistrali.
Specyfikacja
Koncepcja złącza USB jest pod wieloma względami niezmiernie elastyczna. Tkwiąca w samym założeniu uniwersalność wymaga dostosowania do szerokiej gamy urządzeń: od powolnych klawiatur do szybkich modemów i kamer wideo. Uczynienie zadość temu podstawowemu wymaganiu doprowadziło do implementowania kanałów informacyjnych o różnej przepustowości. W pierwszej fazie realizacji projektu oferowane są kanały o małej (Low Speed, do 1,5 MB/s) i średniej (Medium Speed, do 12 MB/s) prędkości przesyłania. W drugim etapie rozwoju powstać ma wersja High Speed USB transmitująca dane z prędkością 500 Mb/s.
Nic nie stoi na przeszkodzie by korzystać wyłącznie z kanału Medium Speed. Wyodrębnienie kanału 1,5 MB ma aspekt wyłącznie ekonomiczny liczna grupa powolnych urządzeń (mysz, klawiatura itp) musiałaby być wyposażana w szybki interfejs USB. Nowej magistrali i tak nie jest łatwo wyprzeć dotychczasowe rozwiązania, każdy wzrost kosztów zmniejsza dodatkowo szansę na powodzenie całego projektu.
Topologia
USB ma strukturę drzewiastą rozrastającą się z punktu początkowego, który stanowi umieszczony na płycie PC kontroler USB. Płyty główne z procesorem Pentium bazujące na układach scalonych firmy Intel mają już taki kontroler wkomponowany w strukturę mostu PCI2ISA (PIIX3 lub nowszego PIIX4). Oferuje on dwa gniazda USB.
W miarę rozbudowy sieci od poziomu "O" w dół, do każdego z gniazd podłączać można dowolne urządzenie końcowe (NODE) lub kolejny rozdzielacz (HUB) rysunek 16.1.
Dopuszczalna liczba wszystkich urządzeń nie może przekraczać 127. Rozdzielacze stanowią układy aktywne wzmacniające sygnały magistrali. Dysponują jednym wyjściem w kierunku wyższego poziomu (Up-stream Port) i kilkoma wejściami w stronę poziomów niższych (Down-stream Ports). Kolejne rozdzielacze zarysowują wyraźnie poziomy piramidy, na szczycie której pracuje Host-Kontroler. Na poziomie ostatnim obecne są już tylko urządzenia końcowe. Funkcja rozdzielaczy nie ogranicza się jedynie do pomnażania gniazd USB. Zaopatrują one również w napięcie zasilania urządzenia nie dysponujące własnym źródłem. Klasyczny przykład stanowi wbudowany w klawiaturę rozdzielacz aktywny dostarczający energii dla podłączonej do niego myszy.
Okablowanie
Urządzenia pracujące w kanale 12 MB/s posługują się ekranowaną skrętką. Dopuszczalna długość takiego przewodu wynosi 5 metrów. Dla urządzeń klasy 1,5 MB/s przewidziano prosty czterożyłowy nieekranowany kabel o długości do 3 m. Dla zminimalizowania szkodliwego promieniowania ograniczono czasy narastania przebiegów impulsowych do wartości 75 - 300 ns. Maksymalna liczba odcinków łączących poziomy piramidy wynosi 7. Tak więc najbardziej odległy rozdzielacz nie może znajdować się dalej niż 35 m
od punktu szczytowego. Ograniczenie to nałożone jest ze względu na czas przebiegu pakietów i wyznaczony przez specyfikację minimalny czas reakcji systemu.
Niezależnie od tego do jakiej klasy prędkości kwalifikuje się dane urządzenie, połączenie odbywa się zawsze przy użyciu tego samego wtyku (rysunek 16.2).
Zróżnicowanie długości końcówek (styki zasilające wystają nieco ponad linię ograniczenia styków przewodów sygnałowych) stanowi fragment realizacji idei Hot Plugging łączenia na gorąco. Dowolne urządzenie USB może być bez szkody dla sieci i siebie samego podłączane i odłączane bez konieczności przestrzegania żadnej specjalnej procedury (odłączenie zasilania, reset lub tym podobne).
Patrząc na złącze USB od strony sygnałów elektrycznych należy je zaliczać do grupy magistral szeregowych prowadzonych od punktu do punktu. Dane przesyłane są w ruchu dwukierunkowym przy pomocy pary przewodów sygnałowych D+ i D-. Pozostałe dwie linie doprowadzają napięcie zasilające (+5 V 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 nastawione 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ć. Poziom dla nadawanych sygnałów wyznaczony został na około l V (napięcie różnicowe 2 V). Odbiornik musi jednak w sposób pewny odławiać różnicę 0,2 V (margines bezpieczeństwa). W stanie spoczynku linie utrzymywane są na poziomie D+ = +3 V i D- = O V.
Magistrala nie dysponuje linią podającą sygnał taktujący. Sygnał zawarty jest w strumieniu danych i z niego odzyskiwany. Każde logiczne O wyzwala zmianę polaryzacji. Specjalny algorytm kodowania zapewnia obecność impulsów synchronizujących w dowolnej sekwencji danych, nawet składającej się z samych 1. Najpóźniej po sześciu l wprowadzany jest impuls O (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ół
Każdy z podłączonych w danej chwili do magistrali układów musi być jednoznacznie identyfikowany. Do tego celu służy numer identyfikacyjny 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 ID = 0. Kontroler przegląda najpierw całą magistralę od-
cinek po odcinku aż do ostatniego poziomu i przydziela każdemu napotkanemu urządzeniu kolejny numer ID. Na numer ten składa się jeden bajt adresu urządzenia (ADDR) i trzy dodatkowe bity na określenie położenia wewnętrznego w ramach urządzenia (ENDP, Endpoint).
Oprócz konfigurowalnego programowo ID układy peryferyjne USB wyposażane są w zaszyty na stałe w swej pamięci 5-bajtowy numer sprzętowy: dwa bajty stanowią oznaczenie producenta, dwa nazwę układu i jeden numer wersji. Dodatkowe informacje zawarte są w 3-bajtowym identyfikatorze klasy: po jednym bajcie na klasę, podklasę i typ protokołu.
W trakcie wstępnego przeglądania sieci napotkane urządzenia informują kontroler o typie przetwarzanych przez siebie danych i o pożądanej szerokości pasma przesyłowego, które potrzebują do dyspozycji. Kontroler gromadzi te informacje, by je później wykorzystać do rozdziału pasma pomiędzy wszystkich chętnych.
Wszelkie akcje w sieci USB 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 mechanizmu przerwań) ani wysyłania danych "w ciemno". Każdy z uczestników musi czekać, aż kontroler zwróci się do niego z zapytaniem o potrzebę obsługi. Tak zdefiniowana procedura likwiduje co prawda konieczność eliminacji kolizji, do których dochodzi w przypadku jednoczesnego nadawania przez wielu uczestników, pochłania jednak stosunkowo dużo mocy obliczeniowej na organizację biegu jałowego. Samo wysyłanie zapytań do wszystkich możliwych 127 uczestników mocno obciąża średnich rozmiarów procesor i nie może być pozostawione w gestii CPU.
Działalność tą bierze na siebie Host-Adapter USB. On sam musi więc być urządzeniem porozumiewającym się z PC przy pomocy przerwań. W zależności od producenta płyty głównej, zajmowana jest linia IRQ10 lub IRQ11. Ponadto Host-Adapter obejmuje w posiadanie część przestrzeni adresowej I/O. W tej sprawie prawie każda płyta ma swoje zdanie, często powtarza się jednak zakres Ox6000h - 0x601 Fh lub 0xE400h - 0xE41 Fh.
Kontroler rozsyła w regularnych odstępach czasu specjalne pakiety (Token) z zapytaniami do kolejnych urządzeń (rysunek 16.3).

Pakiety zabezpieczane są sumami kontrolnymi CRC. Stosowane kody umożliwiają nie tylko wykrywanie błędów ale również ich korekcję (do dwóch uszkodzonych bitów w chronionym obszarze).
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 izochroniczne). Po przyjęciu niezbędnych uzgodnień dochodzi do utworzenia kanału wirtualnego (Pipę) i wymiany danych w pakietach o ustalonej wcześniej strukturze (rysunek 16.4).
Rysunek 16.4.

Poszczególne fazy komunikacyjne kwitowane są przy pomocy specjalnych pakietów potwierdzających (rysunek 16.5).
Odmienne struktury nagłówków PID pozwalają na jednoznaczną identyfikację typu pakietu. Gdy wszystkie zaplanowane pakiety zostaną przesłane, kanał jest likwidowany a jego pasmo oddawane do dyspozycji kontrolera.
Sumaryczna przepustowość magistrali rozdzielana jest w miarę potrzeb i możliwości. Kontroler tworzy przy tym wirtualne kanały przesyłowe (Pipes) o różnej szerokości i różnym kierunku przepływu informacji, które stawia do dyspozycji wyznaczonym przez siebie urządzeniom. Uwzględnienie istniejących priorytetów może się odbywać wyłącznie na drodze zaburzenia równomierności rozsyłania pakietów Token. Prośba o dostęp do magistrali może zostać przez kontroler zignorowana jeśli rezerwy pasma nie są wystarczające. Żadna z trwających właśnie transmisji nie jest przerywana na korzyść innej. Asynchroniczny charakter przesyłania danych nie wymaga natomiast od uczestników trzymania się jakiejkolwiek określonej prędkości, w szczególności maksymalnie wyznaczonej dla danego strumienia.
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ądzenie nie jest w stanie go przewidzieć. Rozmiary buforów lokalnych muszą być dobrane z dużym zapasem, tym większym im większy strumień danych produkuje układ.
Specyfikacja USB przewiduje oprócz zwykłej transmisji asynchronicznej również przekaz izochroniczny. Ten typ przesyłania stworzony został dla potrzeb zastosowań multimedialnych. Istnieją bowiem urządzenia, dla których zaopatrzenie na czas w dane (lub ich odbiór) jest sprawą życia i śmierci. Klasyczne przykłady to mikrofon, głośniki
lub kamera. Przepełnienie (lub wyczerpanie) buforów wewnętrznych narusza ciągłość przekazu. System przydziału oparty na zapytaniach kontrolera nie zawsze gwarantuje dojście do głosu na czas. Dla tego typu układów kontroler rezerwuje fragment pasma w regularnych wycinkach czasowych. Przekaz izochroniczny ma priorytet nad transmisją asynchroniczną. Dla potrzeb innych chętnych stoi w tym czasie do dyspozycji jedynie reszta pasma.
USB w praktyce
USB oferuje, w porównaniu do stosowanych dotychczas złączy, szereg zalet, które zestawione w poniższych punktach dają obraz jego potencjalnych możliwości. Czy zostaną w pełni wykorzystane, trudno jest ocenić już teraz. Reakcja rynku na wprowadzane nowości nie była nigdy łatwa do przewidzenia.
W obrębie całego systemu jest tylko jeden rodzaj gniazda i pasującego do niego wtyku. Pomylić się nie sposób, bowiem każdy wtyk można podłączyć do pierwszego napotkanego w okolicy gniazda. Nie należy się natomiast spodziewać szerokiej obecności rozdzielaczy (NODE) jako samodzielnych układów. Ich funkcje zostaną zintegrowane w dostosowanych do tego celu urządzeniach USB. Rozmnażanie gniazd będzie odbywało się tam, gdzie pozwoli na to miejsce: na ścianach bocznych klawiatur, w podstawach i ścianach tylnych monitorów itp. Integracja rozdzielaczy w urządzeniach niskiej prędkości nakłada wyższe wymogi (ekranowana skrętka) na przewód połączeniowy z kolejną warstwą: dołączone do rozdzielacza urządzenie USB może być klasy 12 MB/s.
Sieć USB jest samokonfigurująca i nie wymaga od użytkownika dodatkowych działań. Nie trzeba się troszczyć o terminatory końców 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 (złącze szeregowe). Host-Adapter bierze na siebie zarówno identyfikację jak i właściwą konfigurację każdego elementu sieci. Samokonfiguracja obejmuje również system "Hot Plugging'', tzn. dołączane i odłączane 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 prędkością kilku kB/s oraz te produkujące strumień do 12 MB/s. Pokrywany jest więc zakres obejmujący przesyłanie danych w formacie MPEG-II (8-10 MB/s) rzecz bardzo ważna dla multimedialnej przyszłości całego przedsięwzięcia. Długość kursujących w sieci pakietów może być regulowana co podnosi możliwość niezmiernie racjonalnego wykorzystania jej zasobów. USB integruje w sobie ponadto funkcje
lokalnej sieci telefonicznej. W skład specyfikacji wchodzi specjalny protokół TAPI (Telephony Application Programming Interface). Oferowane są następujące usługi: fax, modem oraz mała centrala telefoniczna. Gniazdo USB może być też używane do podłączenia innego komputera, na przykład laptopa w celu szybkiej wymiany danych z maszyną macierzystą.
Na zakończenie kilka uwag o wadach USB. Stopień integracji mechanizmów USB w stosowanych obecnie systemach operacyjnych jest delikatnie mówiąc niewielki. Obecność blaszki slotu z gniazdami USB na tylnej ściance komputera PC to jeszcze nie wszystko. Samo rozpoznanie i obsługa wchodzącego w skład PIIX3 kontrolera USB wymaga zdobycia sterownika programowego. Dla Windows 95 odpowiedni plik znaleźć można na płytce CD oznaczonej symbolem Service Pack 3 (w katalogu \OSR2\USB_SUPP) zawierającej poprawki i uzupełnienia do systemu operacyjnego. Poprawna instalacja tego sterownika to jeszcze za mało by cieszyć się USB. System operacyjny wie już co prawda o obecności kontrolera ale nie wie nic o podłączonych do sieci urządzeniach. Samo ich zdobycie nie będzie sprawą łatwą. Oprócz kilku pokazywanych jedynie na targach i dostępnych w prospektach monitorów , klawiatur i myszy trudno jest o szeroki materiał porównawczy. Każde z tych urządzeń wymaga własnego sterownika programowego a te są w chwili obecnej nieosiągalne. Pełna integracja USB w strukturach systemów operacyjnych ma nastąpić wraz z wejściem na rynek systemów Windows 98 i Windows 2000
Sam pomysł USB i stowarzyszone z nim rozwiązania są niezwykle nowoczesne i przyjazne dla użytkownika. Nowa magistrala, jak każda nowa idea, która zamierza przynajmniej częściowo zrewolucjonizować świat, rodzi się z trudem a i dzieciństwo też ma niełatwe. Krążące tu i ówdzie złośliwe tłumaczenie skrótu USB jako "Useless Serial Bus" (Nieużyteczna Magistrala Szeregowa) nie jest niestety całkowicie pozbawione sensu.

Wyszukiwarka

Podobne podstrony:
rozdzial (16)
Siderek12 Tom I Część III Rozdział 16
rozdzial& (16)
Rozdział 16 Rozwój społeczny i rozwój osobowości w wieku średnim
rozdział 16 Względność pojęcia czasu
Dom Nocy 09 Przeznaczona rozdział 16 17 TŁUMACZENIE OFICJALNE
Dom Nocy 09 Przeznaczona rozdział 16 17 TŁUMACZENIE OFICJALNE
Rozdział 16
Tom II rozdziały 16 20
Wings of the wicked rozdział 16
17 rozdział 16 yvfz6z3wpvhesr3lt3t2djsx6eaatd7elcjsjqq

więcej podobnych podstron