5634


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 naj­róż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: Compaą, 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.

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 video. Uczynienie zadość temu podstawowemu wymaganiu doprowadziło do implementowania kanałów informacyj­nych o różnej przepustowości. W pierwszej fazie realizacji projektu oferowane są kana­ły o małej (Low Speed, do l ,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 transmitu­jąca dane z prędkością 500 Mb/s.

Nic nie stoi na przeszkodzie by korzystać wyłącznie z kanału Medium Speed. Wyodręb­nienie 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.

Rozdział 15. Złącze USB

Specyfikacja

Złącze USB 639


640

Anatomia PC



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 (PITO 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 (NODE1) lub kolejny rozdzielacz (HUB) — rysunek 15.1.


0x01 graphic

Rysunek 15.1.

Drzewo urządzeń podłączonych do magistrali USB

Poziom "O"

Poziom"!" Poziom "2" Poziom "3" Poziom "4" NODE

; NODE NODE l NODE


Dopuszczalna liczba wszystkich urządzeń nie może przekraczać 127. Rozdzielacze sta­nowią 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ę pozio­mów niższych (Down-stream Ports). Kolejne rozdzielacze zarysowują wyraźnie pozio­my 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łem2. 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ą. Dopuszczal­na długość takiego przewodu wynosi 5 metrów. Dla urządzeń klasy 1,5 MB/s przewi-

1 We wcześniejszych wersjach specyfikacji USB można spotkać używany zamiennie termin
function.

2 Dopuszczalny pobór prądu poprzez magistralę USB wynosi 500 mA.


Złącze USB 641


dziano prosty czterożyłowy i nieekranowany kabel o maksymalnej długości 3 m. Dla zminimalizowania szkodliwego promieniowania ograniczono czasy narastania przebie­gów impulsowych do wartości 75 - 300 ns. Maksymalna liczba odcinków łączących po­ziomy piramidy wynosi 7. Tak więc najbardziej odległy rozdzielacz nie może znajdować się dalej od punktu szczytowego niż 35 m. Ograniczenie to nałożone jest ze względu na czas przebiegu pakietów i wyznaczony przez specyfikację minimalny czas reakcji sys­temu.

Niezależnie od tego do jakiej klasy prędkości kwalifikuje się dane urządzenie, połącze­nie odbywa się zawsze przy użyciu tego samego wtyku (rysunek 15.2).

0x08 graphic
Rysunek 15.2.

Złącze USB

Zróżnicowanie długości końcówek (styki zasilające wystają nieco ponad linię ograni­czenia 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. Wzmacnia­cze wejściowe urządzeń USB nastawione są na wydzielenie różnicy sygnałów. Prze­biegi 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 stru­mieniu danych i z niego odzyskiwany3. Każde logiczne O wyzwala zmianę polaryzacji. Specjalny algorytm kodowania zapewnia obecność impulsów synchronizujących w do­wolnej sekwencji danych, nawet składającej się z samych 1. Najpóźniej po sześciu l wprowadzany jest impuls O (Bit Stuffmg). Tak więc każde z urządzeń USB ma moż­liwość zsynchronizowania swojego wewnętrznego zegara co najmniej raz na siedem taktów.

Procedura znana jest pod nazwą NRZI (Non Rerurn to Zero Invert).


642 Anatomia PC



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 kon­troler USB (Host Adapter). Tuż po uruchomieniu systemu (załączeniu napięć zasila­jących) każdy z układów ustawia swój ID=0. Kontroler przegląda najpierw całą magistralę odcinek po odcinku aż do ostatniego poziomu i przydziela każdemu napotka­nemu 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 ty­pie 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 wyko­rzystać 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 zapytaniem4 o potrzebę obsługi. Tak zde­finiowana procedura likwiduje co prawda konieczność eliminacji kolizji, do których do­chodzi 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. Oprócz tego 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 Ox6000-Ox601F lub OxE400-OxE41F.

Kontroler rozsyła w regularnych odstępach czasu specjalne pakiety (Token) z zapyta­niami do kolejnych urządzeń (rysunek 15.3).

Rysunek 15.3. 8bitów 8bitów 3bity 5bitów

pift 1 1'

ENDP

ł

ĆRCS

" "ł '

l

ft|l[x[xji|o|x|x| J

|_

Struktura pakietu Token

4 Dla określenie tego typu sterowania przyjął się angielskojęzyczny termin „Polling".


Złącze USB 643

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 dyspo­nuje 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 pa­kietach o ustalonej wcześniej strukturze (rysunek 15.4).


16 bitów

Rysunek 15.4. «bH6w o ...n bitów

PID

BATA I CROW

0|0[x|x| t j llxfx|

Struktura pakietu Data


Poszczególne fazy komunikacyjne kwitowane są przy pomocy specjalnych pakietów potwierdzających (rysunek 15.5).

Rysunek 15.5. 8bilćw

-PH>

Struktura pakietu

Handshake

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 uczest­nikó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


644 Anatomia PC

(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 rezerwuje5 fragment pasma w regularnych wycinkach czasowych. Przekaz izochroniczny ma priorytet nad trans­misją 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 zo­staną w pełni wykorzystane, trudno jest ocenić już teraz. Reakcja rynku na wprowa­dzane nowości nie była nigdy łatwa do przewidzenia.

5 W specyfikacji USB algorytm przydziału ukrywa się pod nazwą „Enhanced TDM.

6 Automatyka wbudowana w system operacyjny sięga zakresu Hot-Plugging. Dla urządzeń
odłączonych od sieci usuwa się również „na gorąco" ich sterowniki.


Złącze USB 645

racjonalnego wykorzystania jej zasobów. USB integruje w sobie ponadto funkcje lokalnej sieci telefonicznej7. W skład specyfikacji wchodzi specjalny protokół TAPI (Telephony Application Programming Interface). Oferowane są następu­ją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 Win­dows 958 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 zdo­bycie nie będzie sprawą łatwą. Oprócz kilku pokazywanych jedynie na targach i dostępnych w prospektach monitorów9, klawiatur i myszy trudno jest o szeroki materiał porównawczy. Każde z tych urządzeń wymaga własnego sterownika programowego10 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 97 i Windows NT 5.0

Sam pomysł USB i stowarzyszone z nim rozwiązania są niezwykle nowoczesne i przy­jazne dla użytkownika. Nowa magistrala, jak każda nowa idea, która zamierza przynaj­mniej 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.

7 Skutkiem obecności w grupie firm założycielskich kanadyjskiego koncernu Northern
Telecom.

8 Funkcjonuje tylko w wersji 950b.

9 W przypadku monitorów, USB można rozpatrywać jedynie w charakterze magistrali kontrolnej
(regulacja, zarządzanie systemem poboru mocy). Strumień danych video (ponad l Gb/s)
przewyższa znacznie możliwości tego systemu.

10 Znormalizowane funkcje elementarne (choćby te do pierwszego kontaktu z kontrolerem)
nie wymagają żadnych specjalnych sterowników. Dopiero działania specyficzne dla danego
urządzenia wspomagane są przez specjalne programy obsługi.



Wyszukiwarka

Podobne podstrony:
5634
05 akcyza PCC,od nieruchom, transportid 5634 ppt
5634

więcej podobnych podstron