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: 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
informacyjnych 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 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.
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.
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
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ł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ą.
Dopuszczalna 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
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 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 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 15.2).
Rysunek 15.2.
ZÅ‚Ä…cze USB
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 odzyskiwany3. 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 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 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ę odcinek 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 zapytaniem4 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. 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
zapytaniami 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
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 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
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
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 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 pier
wszego 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 wymo
gi (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 przy
padku SCSI), deklaracje Master/Slave, adresy portów I/O, kanałów DMA i nu
mery 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 ele
mentu sieci. Samokonfiguracja obejmuje również system "Hot Plugging", tzn.
dołączane i odłączane w trakcie pracy systemu kolejne urządzenia są automa
tycznie rozpoznawane i adresowane, a niezbędne do ich obsługi sterowniki uru
chamiane6 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
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ę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 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 zdobycie 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
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.
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:
Komputery PC dla bystrzakówInterfejsy sprzetowe komputerow PCKomputer PC w nowoczesnej firmiePoeci współcześni o roli poezji Powołaj się na przykładyBlokada zabezpieczająca do komputera PC (2)Architektura płyt głównych, standardy zasilania i typy obudów komputerów PCNetinstall Komputer PCKlawiatura komputera PCRegulacja obrotów wentylatora w komputerze PCWyprowadzenie zasilania 5VDC z komputera PCWyprowadzenie zasilania 5VDC z komputera PCMontaz komputera PC Ilustrowany podrecznikwięcej podobnych podstron