0 Transmisja szeregowa USB

background image

Transmisja

szeregowa USB

background image

1

1. Magistrala USB - wprowadzenie


Magistrala USB początkowo miała służyć jedynie do przesyłania informacji z

wykorzystaniem linii telefonicznej. Stworzono zatem w tym celu standardowy interfejs.
Szybko okazało się jednak, że doskonale nadaje się on do podłączania komputerowych
urządzeń peryferyjnych. Opis uniwersalnej magistrali szeregowej (USB 1.1) z dnia 23
września 1998r. stał się podstawowym standardem stosowanym przy dołączaniu urządzeń
współpracujących z komputerem. Dotychczas masowo stosowany był port równoległy LPT
(Centronix, tzw. ”port drukarki”) oraz RS-232, którego historia sięga jeszcze lat
sześćdziesiątych ubiegłego stulecia. Według nowego standardu dane można było przesyłać z
szybkością 1,5Mb/sec (tzw. ”mała częstotliwość”) lub 12Mb/sec (tzw. ”pełna
częstotliwość”). USB bardzo szybko się rozpowszechniła. Za jej pośrednictwem zaczęto
podłączać klawiatury, myszy oraz manipulatory, czyli urządzenia pracujące z ”małą
częstotliwością”. Z ”pełnej częstotliwości” korzystano głównie podczas pracy z linią
telefoniczną oraz przesyłając pliki audio. W polskiej literaturze często spotkać można
ż

artobliwe rozszyfrowanie skrótu USB, brzmiące „USuń Bałagan”. Niewątpliwie wygoda

połączeń, małe i wąskie wtyki połączeniowe, drzewiasta struktura magistrali, a także
możliwość zasilania urządzeń bezpośrednio z gniazda USB wpłynęły na błyskawiczne
rozpowszechnienie standardu i jednoczesne coraz częstsze odstępowanie przez producentów
nowych urządzeń od standardu RS-232. Dotyczyło to szczególnie domowych urządzeń
peryferyjnych.

Gwałtowny rozwój techniki mikroprocesorowej w przeciągu ostatnich lat i ogromny

postęp techniczny w dziedzinie audio-video zmusiły do opracowania szybszej wersji USB,
która pozwoliłaby przesyłać dane dodatkowo z urządzeń wideo. Rok 1999 często nazywa się
rokiem DVD, więc należało stworzyć nowy standard obsługujący urządzenia rejestrujące
obraz i dźwięk. Słusznie przypuszczano, że w przeciągu nadchodzących lat w tym kierunku
odnotowywać będziemy gwałtowny rozwój techniki. Sprzyjały też temu powolne tendencje
odchodzenia od magnetycznych nośników informacji ( taśmy ferromagnetyczne,
magnetowidy, kamery VHS itp.) oraz rozpowszechnianie odpowiadających im cyfrowych
urządzeń o zbliżonych funkcjach, wykorzystujących coraz częściej pamięci statyczne.
Kolejnym powodem skłaniającym firmy do opracowania standardu pozwalającego przesyłać
obrazy w czasie rzeczywistym był też spadek cen za usługi internetowe (przewidywano
zainteresowanie klientów kamerami internetowymi) oraz rozwój telefonii komórkowej,
dążący do stworzenia w przyszłości możliwości przesyłania obrazów. Tak więc już 27
kwietnia 2000 roku czołowi producenci urządzeń komputerowych i telekomunikacyjnych
(Compaq, Hewlett-Packard, Intel, Lucent Technologies, Microsoft, NEC i Philips) ogłosili
kolejną normę („Universal Serial Bus Specification Revision 2.0”), która zakładała
możliwość przesyłania po magistrali USB danych z dodatkową, 40-krotnie większą od
dotychczasowej, maksymalną prędkością (czyli 480 Mb/sec!). Norma ta zakładała pełną
kompatybilność z urządzeniami USB 1.1, tzn. by w jednej sieci obok urządzeń
przesyłających strumienie bitów z szybkością 480 Mb/sec mogły pracować takie, które
przesyłają dane z szybkością 1,5Mb/sec lub 12Mb/sec. W celu odróżnienia używanych dla
USB 1.1 określeń szybkości ”low speed” i ”full speed”, obecną największą szybkość dla
USB 2.0 nazwano ”high speed” . Nowa norma określiła także budowę układów
sprzęgających, a także zawarto w niej informacje o programach obsługi urządzeń wejścia-
wyjścia oraz opis konstrukcji koncentratorów i głównego sterownika magistrali USB.
Powiązania komputera macierzystego z urządzeniami peryferyjnymi opisane zostały z
zachowaniem podziału na różne szczeble hierarchii. W warstwie fizycznej przedstawiono

background image

2

współdziałanie układów sprzęgających, w warstwie logicznej organizacje przepływu danych
pomiędzy oprogramowaniem systemowym i urządzeniami logicznymi, a w warstwie
funkcjonalnej sposób w jaki programy wykonywane na komputerze macierzystym odwołują
się do funkcji realizowanych przez urządzenia wykonawcze.

Początkowo podstawową wadą koncepcji USB był brak możliwości wykorzystania

łącza USB do bezpośredniej transmisji danych pomiędzy dwoma komputerami lub dwoma
urządzeniami peryferyjnymi. W ramach rozwoju standardu USB w grudniu 2001 roku
powstała dodatkowo specyfikacja urządzeń ”USB On-The-Go”. Stanowi ona rozszerzenie
standardowej, pozwalając na komunikację pomiędzy urządzeniami bez pośrednictwa
komputera. Tutaj także wprowadzono tzw. ”mniejsze wtyczki”. Wszystko to związane było
głównie z rosnącą popularnością mikroprocesorowych urządzeń mobilnych.

Rys. 1. Zastrzeżone znaki charakteryzujące rodzaj transmisji urządzenia (od lewej: USB 1.1,

USB 1.1 On-The-Go, USB 2.0, USB 2.0 On-The-Go, Wireless USB)

Wireless USB oznacza bezprzewodową magistralę USB zgodną z USB 2.0, gdzie

warstwa fizyczna wykorzystuje łącze radiowe.

Warto dodać, że producenci sprzętu elektronicznego często na produktach

zaprojektowanych w czasach istnienia wyłącznie USB pierwszej generacji, a
wyprodukowanych już po opublikowaniu normy USB 2.0, umieszczają napis ”USB 2.0”. Nie
oznacza to w większości przypadków możliwości osiągania parametrów charakteryzujących
USB 2.0, lecz kompatybilność, co jest rzeczą oczywistą, biorąc pod uwagę założenia
standardu. Warto więc dokładnie czytać dane techniczne urządzeń, a nie sugerować się
napisami na opakowaniach, które często są tylko chwytami marketingowymi.

background image

3

2. Hierarchia magistrali USB


Magistralę USB 2.0 wykorzystuje się w trybie synchronicznym do średniej i szybkiej

transmisji oraz w asynchronicznym do wolnej. Komputer macierzysty pełni funkcję jednostki
zarządzającej magistralą, która ma strukturę hierarchiczną . Jego system operacyjny
kontroluje magistralę, tak więc dowolne urządzenie może przesłać dane na szynę USB tylko i
wyłącznie po otrzymaniu zezwolenia od systemu operacyjnego. System kontroluje magistralę
na bieżąco, więc możliwe jest dołączanie i odłączanie urządzeń komunikujących się z
komputerem przez USB bez ponownego uruchamiania systemu operacyjnego. Stąd
określenie ”plug’n’play”, oznaczające gotowość urządzenia do pracy zaraz po podłączeniu
do magistrali. Wcześniej muszą być jednak zainstalowane w systemie sterowniki urządzenia,
o ile ich nie zawierał.

Główny koncentrator umieszczony jest w komputerze macierzystym. Sieć tworzy się

kaskadowo, a maksymalna liczba koncentratorów w kaskadzie nie może być większa niż
pięć. Dzięki układom umieszczonym w koncentratorach, nowo podłączone urządzenie ma
ograniczenie podawanej do niego mocy do 0,5 W. Dopiero pod kontrolą programu obsługi
magistrali moc dostarczana do urządzenia może być zwiększona do 2,5 W. Urządzenia
podłączane do magistrali USB muszą ponadto mieć możliwość przechodzenia w stan
uśpienia, w którym ich pobór prądu z magistrali nie przekracza 500µA.

USB 2.0 dzięki operacji SPLIT eliminuje zakłócenia mogące powstać przy obecności

urządzeń przesyłających w sieci dane z ”małą” lub ”pełną” szybkością (USB 1.1). Operacja
polega na ”inteligentnym” lokalizowaniu określonych urządzeń w sieci i przesyłaniu danych
z koncentratorów, i ile można, z maksymalną szybkością, a tylko od urządzenia do
koncentratora dane podawane są z szybkością urządzenia USB 1.1. Podczas korzystania z
różnych koncentratorów należy zatem pamiętać o poprawnej kolejności ich połączeń.



background image

4

3. Struktura magistrali

3.1. Wa

ż

ne terminy i skróty stosowane w opisie normy

1.

Akceptacja ( ACK – Acknowledgment ) – pakiet potwierdzający bezbłędny odbiór
danych, wysyłany przez komputer dla operacji IN, bądź urządzenie dla operacji OUT,
SETUP lub PING.

2.

Brak akceptacji ( NACK – Negative acknowledgment ) – pakiet wysyłany wyłącznie
przez urządzenie w przypadku braku gotowości do wysłania danych lub informujący
o braku akceptacji odebranych danych.

3.

Cykliczna kontrola nadmiarowa ( CRC – Cyclic redundancy check ) – nadmiarowe
bity kontrolne, służące do kontroli poprawności przesyłanych w polu roboczym
danych. Bity te umieszczane są w polu sumy kontrolnej, sąsiadującym z polem
roboczym.

4.

Ewidencja urządzeń USB ( USB Enumeration ) – detekcja i identyfikacja urządzeń
podłączonych do magistrali.

5.

Faza operacji (Phase) – zapowiedź, przesył danych lub odpowiedź.

6.

Funkcja (Function) – funkcja pełniona przez urządzenie przyłączone do magistrali
USB.

7.

Główny sterownik ( Host controller) – układy interfejsowe komputera i związane z
nimi oprogramowanie.

8.

Identyfikator pakietu (PID = Packet ID) – pole na początku pakietu danych,
zawierające ośmiobitowy zakodowany typ pakietu.

9.

Klient (Client) – program użytkowy odwołujący się za pośrednictwem
oprogramowania systemowego do określonej funkcji realizowanej przez urządzenie
wykonawcze.

10.

Kod odwrotny bez powrotu do zera ( NRZI – Non return to zero inverted ) –
samosynchronizująca metoda transmisji szeregowej wykorzystana w USB.

11.

Komunikat (Message) – postać informacji przesyłanej potokiem sterującym. W tym
trybie pierwszym w sekwencji jest pakiet zapowiedzi SETUP. Zawiera on informację
o rodzaju i kierunku przesyłania danych.

12.

Kontrola dostępu ( PFC – Ping flow control ) – używana dla USB 2.0 (480 Mb/sec)
kontrola dostępności punktu końcowego dla operacji zapisu.

13.

Kontrola sekwencji pakietów danych (Data toggles) – mechanizm kontrolujący
naprzemienność parzystych i nieparzystych pakietów informacji. Sprawdza on
zgodność identyfikatorów PID (DATA0 i DATA1) ze stanem przełączników
ustawianych w nadajniku i odbiorniku.

14.

Mikroramka ( Microframe ) – 125-mikrosekundowy przedział czasu pomiędzy
kolejnymi SOF ( Start of frame) dla dużej częstotliwości przysyłu danych (480
Mb/sec).

15.

Preambuła ( PRE - Preamble) – pakiet poprzedzające dane dla urządzeń powolnych.
Dzięki niemu koncentratory rozpoznają do jakiego urządzenia przesyłane są dane.

16.

Operacja dzielona (SPLIT Transaction) – operacja polegająca na szybkim przesyłaniu
przez koncentrator danych odebranych z powolnego urządzenia.

17.

Operacja magistralowa (Transaction) – inicjowany przez komputer cykl przesłania
informacji.

18.

Pakiet (Packet) – blok danych przygotowany do transmisji. Składa się z pola
identyfikatora, pola roboczego i bitów kontrolnych.

background image

5

19.

Początek ramki ( SOF – Start of frame ) – początek ramki lub mikroramki, w
zależności od szybkości transmisji danych.

20.

Pole synchronizacji (SYNC Field) – zakodowana w NRZI postać siedmiu lub
trzydziestu jeden ( high speed ) zer zakończonych jedynką, poprzedzająca każdy
pakiet danych przesyłany magistralą. Pole to służy do dostrajania urządzeń
odbierających informacje z magistrali.

21.

Potok ( Pipe ) – abstrakcyjny obiekt, za pośrednictwem którego program przesyła
informację z bufora komputera do urządzenia wykonawczego.

22.

Program obsługi magistrali ( USBD – USB driver ) – część systemowego
oprogramowania komputera, obsługująca program typu Klient.

23.

Program obsługi sterownika magistrali ( HCD – Host controller driver ) – część
systemowego oprogramowania komputera dostosowującego dane do postaci
wymaganej na magistrali lub odwrotnie, wydzielającego dane robocze z pakietów
odebranych z USB.

24.

Przekaz izochroniczny (Isochronous transfer) – jeden z czterech sposobów
przesyłania danych magistralą USB. Polega na ciągłej, izochronicznej transmisji,
umożliwiającej zachowanie zależności czasowych pomiędzy kolejnymi próbkami
sygnału analogowego.

25.

Przekaz masowy (Bulk transfer) – jeden z czterech sposobów przesyłania danych
magistralą USB. Stosowany do asynchronicznego przesyłania dużych pakietów
danych.

26.

Przekaz przerwaniowy (Interrupt transfer) – jeden z czterech sposobów przesyłania
danych magistralą USB. Urządzenie wykonawcze co jakiś czas przesyła do
komputera niewielkie porcje danych, np. zgłoszenie potrzeby obsługi.

27.

Przekaz sterujący ( Control transfer) – jeden z czterech sposobów przesyłania danych
magistralą USB. Asynchroniczna, inicjowana przez oprogramowanie komputera
łączność, polegająca na przesyłaniu komunikatów, wykorzystywana typowo przy
przesyłaniu deskryptorów konfiguracji, rozkazów i słów stanu.

28.

Punkt kontrolny ( Control Endpoint ) – para punktów końcowych (wejściowy i
wyjściowy ) o tym samym numerze. Wykorzystywane są one przez potok sterujący.

29.

Punkt końcowy ( Endpoint ) – jednoznacznie określony cel lub źródło danych
przesyłanych po USB.

30.

Punkt końcowy zablokowany ( STALL – Endpoint stalled) – pakiet z informacją od
urządzenia USB o blokadzie punktu końcowego. Wymagana jest interwencja
komputera macierzystego. Informacja taka nigdy nie może być wysyłana przez
komputer!

31.

Ramka ( Frame ) - przedział czasu (1 ms) na magistrali pracującej z małą lub pełną
szybkością, obejmujący serię operacji pomiędzy kolejnymi SOF.

32.

Stan J – jeden z dwóch stanów magistrali, reprezentujących wartość logiczną
strumienia bitów, przeciwny do K.

33.

Stan K – jeden z dwóch stanów magistrali, reprezentujących wartość logiczną
strumienia bitów, przeciwny do J.

34.

Strumień (stream) - jednokierunkowy, przesyłany magistralą ciąg bitów.

35.

Sygnały logiczne o szybko narastających zboczach, tzn. o czasie narastania 4-20ns.

36.

Sygnały logiczne o wolno narastających zboczach, tzn. o czasie narastania 75-300ns.

37.

Urządzenie (Device) – urządzenie wykonawcze lub koncentrator.

38.

Urządzenie czynne (Active device) – urządzenie dostępne, z włączonym zasilaniem.

39.

Wstawianie bitów ( Bit stuffing ) - wstawianie po sześciu jedynkach zera –
przeprowadzane przed kodowaniem NRZI.

background image

6

40.

Zapowiedź ( Token Packet ) – pakiet wysyłany przez komputer macierzysty,
mówiący o tym, jakiego rodzaju operacja zostanie wykonana na magistrali (SETUP,
IN, OUT).

41.

Zerowanie (Reset) – sygnalizowane przez ustalenie napięcia na liniach D+ i D-
poniżej 0,8 V na co najmniej 10ms. Urządzenie po resecie jest podłączone do
magistrali, lecz nie ma jeszcze przydzielonego adresu i ustalonej konfiguracji.

42.

Znacznik końca pakietu ( EOF - End of packet ) – po nim na magistrali ustala się stan
jałowy.

43.

Znacznik początku pakietu ( SOP – Start of packet ) – po nim magistrala przechodzi
ze stanu jałowego w stan K, od którego rozpoczyna się pole synchronizacji pakietu.

3.2. Kodowanie danych metod

ą

NRZI

Dane przesyłane na magistralę USB są zakodowane kodem NRZI ( tzw. kod

odwrotny bez powrotu do zera, z ang. non-return-zero inverted ). Bity podawane są w
kolejności od najmniej do najbardziej znaczących. Nie ma potrzeby przesyłania impulsów
zegarowych, ponieważ NRZI jest kodem samosynchronizującym. Jedynka logiczna jest w
nim reprezentowana przez brak zmiany, zero natomiast przez zmianę poziomu na liniach D+
i D-. Jeszcze przed zakodowaniem, po każdych sześciu jedynkach wstawiane zostaje zero.
Robi się to w celu ochrony pętli PLL przed zablokowaniem.

Rys. 2. Kodowanie metodą NRZI

Rys. 3. Mechanizm wstawiania zer przed kodowaniem


Przed wstawieniem bitów i kodowaniem NRZI do każdego pakietu danych dołączony

zostaje bajt synchronizacji ( SYNC, składający się z siedmiu jedynek i zera )

background image

7

3.3. Cz

ęść

elektryczna magistrali

3.3.1 Przewód USB


Kabel magistrali USB zawiera cztery przewody. Są to dwie linie do przekazywania

danych: D+ i D- oraz dwie zasilające : VBUS (5 V) i GND. Dla urządzeń przesyłających po
magistrali strumień bitów z pełną lub dużą szybkością stosuje się linie danych w postaci
ekranowanej skrętki. W urządzeniach pracujących z małą szybkością ( klawiatury, myszy,
manipulatory ) można stosować zwykły kabel bez ekranowania, jednak jego długość nie
powinna być większa niż 3m.

Rys. 4. Przewód USB

Przewody magistrali USB są zakończone od strony komputera wtykiem typu A, z

drugiej wtykiem typu B, o ile nie są połączone z urządzeniem na stałe (np. klawiatury,
myszy).

Rys.5. Rodzaje wtyczek (gniazd) USB - przekroje


Rys.6. Najczęściej spotykane złącza USB (typu A – po lewej, typu B – po prawej)

W przenośnych pamięciach, odtwarzaczach plików muzycznych itp. często zrezygnowano z
przewodu umieszczając jedynie wtyk typu A w obudowie urządzenia. Chcąc podłączyć takie
urządzenie do komputera można to zrobić wkładając ten wtyk bezpośrednio do gniazda USB
lub zastosować przedłużacz.

Przewody od strony urządzenia mogą być zakończone wtykami typu B różnego

rodzaju. Producenci chcą często skłonić w ten sposób użytkowników ich produktów do
zakupu oryginalnych kabli połączeniowych lub związane jest to z dużą miniaturyzacją
urządzenia i brakiem możliwości umieszczenia w jego obudowie tradycyjnego gniazda dla
wtyku B. Dotyczy to głównie cyfrowych aparatów fotograficznych, kamer video, telefonów
komórkowych, palmtopów itd. Tradycyjny wtyk typu B stosowany jest natomiast często w
drukarkach, skanerach, modemach itd.

background image

8

3.3.2. Elektryczna reprezentacja bitów

Bity w obrębie pakietu danych są reprezentowane przez jeden z dwóch stanów: J w

NRZI odpowiada stanowi wysokiemu, K natomiast jest stanem przeciwnym. W zależności
od szybkości z jaką przesyłane są magistralą strumienie danych, stany J i K mają różną
reprezentacją na różnicowych liniach sygnałowych D+ i D-.

Podczas transmisji z małą szybkością (1,5 Mb/sec) stan J reprezentowany jest przez

napięcie różnicowe (D+) – (D-) < -200mV, natomiast stan K przez napięcie (D+) – (D-)
>200mV. W praktyce zmianą stanów uzyskuje się przez zamianę potencjałów panujących na
liniach sygnałowych.

Podczas transmisji z pełną szybkością obowiązuje już odwrotna logika. Stan J

reprezentowany jest przez napięcie różnicowe (D+) – (D-) >200mV, natomiast stan K przez
napięcie (D+) – (D-) <-200mV.

Przy dużej szybkości transmisji danych obowiązuje logika jak dla pełnej szybkości,

lecz zaostrzono wymagania co do napięcia różnicowego. Tak więc stan J jest reprezentowany
przez napięcie różnicowe (D+) – (D-) >300mV, a stan K przez napięcie (D+) – (D-)<-
300mV.

Jak widać, o szybkości transmisji mówią różnice potencjałów na liniach danych, a o

aktualnym stanie ( J lub K ) ich znak.

Dodatkowo magistrala może znajdować się w stanie jałowym lub aktywnym. O tym

decyduje natomiast bezwzględne napięcie panujące na liniach danych odniesione względem
masy. Przy ustalonym poziomie logicznym, napięcie na jednej linii sygnałowej musi być
większe od 0,8 V. Początek pakietu SOP jest sygnalizowany wysterowaniem magistrali ze
stanu jałowego (w czasie którego ustalają się a magistrali różnice napięć charakterystyczne
dla danej szybkości przesyłu danych ) do stanu K. Jest to pierwszy bit pola synchronizacji.

W przypadku transmisji 1.5Mb/sec i 12Mb/sec bajt synchronizacji SYNC to

zakodowany w NRZI ciąg siedmiu zer zakończonych jedynką, któremu odpowiada ciąg
KJKJKJKK (jako że zeru odpowiada zmiana stanu na liniach sygnałowych). Ograniczeniem
pakietu jest EOP, sygnalizowany poprzez sprowadzenie obu linii sygnałowych na okres
dwóch bitów poniżej poziomu 0,8 V względem masy. Zanim magistrala przejdzie w stan
jałowy, konieczne jest po tym ustalenie na magistrali na czas trwania jednego bitu stanu J.

Tabela 1. Potencjały dla stanu jałowego magistrali USB 2.0


Nieco inaczej sygnalizuje się początek pakietu przy transmisji 480Mb/sec. Ciąg

SYNC jest tu 31-bitowy: KJKJKJKJKJKJKJKJKJKJKJKJKJKJKJKK. Na końcu pakietu
danych umieszcza się natomiast zakodowany w NRZI bajt składający się z zera i siedmiu
jedynek. Tu jednak nie obowiązuje zasada polegająca na dokładaniu zera po każdych sześciu
jedynkach. Zgodnie z zasadami kodowania, zero i siedem jedynek uzyskuje się poprzez
zmianę ostatniego stanu jaki panował na magistrali podczas przesyłania informacji (zero) a
następnie przytrzymanie zmienionego stanu na okres odpowiadający trwaniu siedmiu
jedynek, jako że jedynkom odpowiada brak zmiany stanu. Jeśli ostatni bit informacji był
reprezentowany przez stan K, to mieć będziemy JJJJJJJJ (K->J – zero, JJJJJJJ – siedem
jedynek), po których na magistrali ustali się stan jałowy ( D+ i D- na poziomie GND ).

background image

9

Rys.7. Początek transmisji USB

Rys.8. Sygnalizacja końca pakietu dla małej i pełnej transmisji

3.4. Warstwy USB


USB posiada warstwę fizyczną, logiczną oraz funkcjonalną. Na najniższym

poziomie, tzn. w warstwie fizycznej, znormalizowany został interfejs magistrali, za
pośrednictwem którego są nadawane i odbierane pakiety danych. W warstwie logicznej
omawiana jest organizacja przepływu danych pomiędzy urządzeniem logicznym, a
należącym do oprogramowania systemowego programem obsługi magistrali. Abstrakcyjnym
obiektem służącym do przesyłania informacji jest potok. Pomimo złożoności warstwy
fizycznej (drzewiasta architektura) komputer macierzysty łączy się z każdym z urządzeń,
jakby było podłączone bezpośrednio do portu we-wy. W warstwie funkcjonalnej
uwidocznione są natomiast wyłącznie relacje pomiędzy urządzeniem wykonawczym, a
programem Klient, który się do niego odwołuje. Z jego poziomu obsługa urządzeń
wykonawczych jest niezależna od przydzielonego im miejsca w przestrzeni adresowej.

W normie USB opisano cztery kategorie składowych systemu. Są to :


1. Program Klient, odwołujący się za pośrednictwem oprogramowania systemowego

USB do określonej funkcji urządzenia wykonawczego.

2. Oprogramowanie systemowe, obejmujące programy obsługi magistrali i sterownika

w ramach systemu operacyjnego.

3. Oprogramowanie i układy interfejsowe komputera macierzystego.

4. Urządzenie USB, czyli koncentrator lub urządzenie wykonawcze.

3.5. Przepływ danych


O przepływie danych decyduje program Klient, związany z funkcją pełnioną przez

urządzenie wykonawcze. Rozpatrywany jest przepływ danych z bufora komputera do
punktów końcowych, którymi są jednoznacznie rozpoznawalne części urządzeń

background image

10

zewnętrznych. Program Klient przesyła informacje wykorzystując potok. Każdy punkt
końcowy jest określony przez:
- parametry dostępu do magistrali,
- wymagane pasmo transmisji danych,
- adres punktu końcowego ( numer punktu i kierunek transmisji ),
- rozmiar pola roboczego w największym obsługiwanym pakiecie,
- sposobu obsługi błędów,
- rodzaju transmisji.
Wszystkie te elementy muszą być uwzględniane w programie odnoszącym się do danego
punktu końcowego. Do czasu skonfigurowania punkty końcowe pozostają w stanie
nieokreślonym, będąc niedostępnymi dla komputera macierzystego. Zgodnie z normą w
każdym urządzeniu musi znajdować się punkt końcowy o numerze zero. Za pośrednictwem
tego punktu inicjowana jest praca urządzeń logicznych oraz ustalana ich konfiguracja.
Punkty te konfigurowane są natychmiast po podłączeniu urządzenia do zasilania i linii
danych magistrali USB. Urządzenie może posiadać maksymalnie 16 punktów końcowych
(dla pełnej i dużej szybkości) lub 3 (dla małej szybkości) łącznie z punktem zerowym.

3.5.1. Potok – rodzaje


Potok to abstrakcyjny obiekt realizujący przepływ danych pomiędzy programem

Klient a urządzeniem wykonawczym. Układy związane z magistralą nie badają treści
przesyłanych przez niego informacji, te są istotne jedynie z punktu widzenia programu
sterującego funkcjami urządzenia wykonawczego.

Wyróżnia się dwa rodzaje potoku:


1. Potok danych – jednokierunkowy strumień bitów nieistotnych dla systemu. Za jego
pomocą realizowane są przekazy przerwaniowe, umożliwiające urządzeniom USB okresową
wymianę danych z komputerem macierzystym. Potok danych wykorzystywany jest także w
przekazach masowych ( stosowanych do przekazywania informacji ze zmienną szybkością,
dostosowaną do aktualnie dostępnego pasma transmisji) i izochronicznych (służących do
przesyłania danych w funkcji ściśle powiązanej z czasem, np. przekaz dźwięku) .
2. Potok sterujący – informacje przesyłane w obu kierunkach, posiadające ściśle określony
format. Wykorzystywany jest przy konfiguracji urządzeń USB. Przesyłane nim komunikaty
odwołują się zerowego punktu końcowego

3.5.2. Strumie

ń


Strumieniem nazywamy ciąg bitów o określonym kierunku transmisji, przesyłanych

potokiem. Ich wartości nie są istotne dla warstwy logicznej i fizycznej magistrali. Każdy
strumień musi mieć oddzielny punkt końcowy w urządzeniu wykonawczym ze względu na
kierunek przepływu danych. Bity danych opuszczają potok w tej samej kolejności, w której
zostały do niego wprowadzone. Strumień jest przypisany do jednego programu Klient. Nie
ma zatem problemu konieczności systemowej kontroli, czy różne programy Klient
(wysyłając strumień danych) nie chcą odwołać się do tego samego potoku.

Normalnie nie ma możliwości przesłania do określonego punktu końcowego

kolejnego strumienia, jeśli obsługa poprzedniego nie zostanie zakończona. Komputer może
jednak przerwać transmisje w momencie zaistnienia błędów w komunikacji. Punkt końcowy

background image

11

może w pewnym stopniu kontrolować przepływ danych przesyłając negatywną odpowiedź
NAK. Sygnalizuje on w ten sposób brak gotowości do nadawania. Nie oznacza to jednak
odrzucenia zgłoszenia żądania dostępu do urządzenia ( IRP – I/O requet packet ). Podczas
obsługi tego samego zgłoszenia NAK może być przesyłany wielokrotnie. Nie oznacza on też
wystąpienia błędu.

3.6. Tryby przesyłania danych


W normie USB 2.0 zdefiniowane zostały cztery tryby przesyłania danych: przekazy

sterujące, przerwaniowe, izochroniczne i masowe. Aby zrealizować transmisję danych należy
wykonać szereg operacji magistralowych. Każda z takich operacji wymaga przesłania
informacji sterujących a następnie danych właściwych. Na początku każdej informacji z
komputera macierzystego wysyłana jest informacja adresowana do określonego punktu
końcowego urządzenia wykonawczego. Następnie zostaje przesłanych kilka pakietów
danych, po czym odbiornik musi przesłać informację o poprawnym zakończeniu transmisji.

3.6.1. Przekazy steruj

ą

ce


Obsługa przekazów sterujących jest obowiązkowa. Przesyłają one żądania i odbierają

informacje o stanie bądź konfiguracji urządzenia wykonawczego. W deskryptorze punktu
końcowego ( w polu wMaxPacketSize ) zapisana jest maksymalna długość pakietu danych
jaki może być odebrany lub wysłany na magistralę przez urządzenie podczas przekazu
sterującego. Zgodnie z normą, mogą to być 8, 16, 32 lub 64 bajty. W praktyce urządzenia
pracujące z dużą szybkością powinny móc obsłużyć najdłuższe pakiety, natomiast urządzenia
pracujące z małą szybkością przesyłają co najwyżej 8 bitów.

Rys. 9. Kolejne etapy przekazu sterującego


SETUP zawiera zakodowaną informację żądania dostępu do informacji sterujących.

W etapie transmisji danych dane przesyłane są tylko w jednym kierunku, zgodnie z
założeniami potoku, strumienia i przypisanego mu jednego punktu końcowego. Ostatnim
etapem przekazu sterującego jest etap statusu. Od poprzedniego etapu odróżnia go zmiana
kierunku transmisji.

background image

12

Rys.10. Przepływ informacji w przekazach sterujących

Urządzenie w czasie etapu transmisji lub statusu ma prawo informować komputer o

zajętości. Ten ponawia wtedy komunikację. W przypadku operacji SETUP urządzenie nie
może przesyłać takiej informacji. Albo przesyła ACK ( jest gotowe do pracy ) albo odrzuca
uszkodzony pakiet nie przesyłając żadnej informacji. Wysyłany na koniec transmisji
komunikat stanu może sygnalizować jedna z następujących sytuacji: wykonanie operacji
zakończyło się pomyślnie, czegoś brakuje do poprawnego zakończenia sekwencji operacji
lub urządzenie wciąż jeszcze jest zajęte wykonywaniem operacji.

Czas dostępny dla tego

trybu przesyłania danych zmienia się zależnie od liczby urządzeń aktualnie dołączonych
do magistrali i jak często zgłaszane są przekazy danych. Dlatego też nie można przewidzieć
jak długo trwać będzie przekaz sterujący skierowany do określonego punktu końcowego

.


Tabela 2. Komunikaty o wykonaniu przekazu sterującego

3.6.2. Przekazy przerwaniowe


Przekazy przerwaniowe polegają na tym, że łączność z danym punktem

końcowym nawiązywana jest okresowo w równych, wcześniej zaprogramowanych
odstępach czasu (cykliczne odpytywanie urządzeń peryferyjnych, przerwania w określonych
odstępach czasu).

background image

13

Częstotliwość ponawiania takich przekazów ustalana jest podczas inicjacji potoku

przerwaniowego. Do tego celu wykorzystywana jest informacja zawarta w opisie
punktu końcowego (w polu bInterval). Urządzenia wykorzystujące pełną częstotliwość
transmisji mogą mieć ustawione wartości z przedziału od 1 ms do 255 ms,
przesyłające natomiast z małą częstotliwością - jedna z wartości od 10 ms do 255 ms.
Protokół przepływu danych i parametry magistrali ograniczają liczbę przekazów
przerwaniowych możliwych do umieszczenia w ramce, wynoszącą do 71 pakietów 8-
bajtowych, przesyłanych przez urządzenia pracujące z szybkością transmisji 12Mb/sec.
Dla urządzeń działających z szybkością 1.5Mb/sec, liczba ta jest ograniczona do 6-ciu
pakietów 8-bajtowych.

Rys. 11. Przepływ danych w przekazach przerwaniowych

Obsługa przerwania charakteryzuje się błyskawicznym przekazywaniem danych o

niewielkim rozmiarze (często jest to kilka bitów). Pozwala ono na bardzo szybkie
powiadomienie kontrolera o konieczności obsługi przerwania zgłoszonego przez dołączone
do USB urządzenie zewnętrzne, np. mysz komputerową. Jeśli np. mysz oczekuje na obsługę,
to po otrzymaniu pakietu identyfikatora IN z kontrolera (komputera) wyśle do niego dane.
Poprawnie wykonana transmisja zostanie potwierdzona pakietem ACK. Jeśli kontroler chce
przesłać dane np. do myszy, wysyła na magistralę pakiet OUT oraz dane do urządzenia.
Mysz z kolei po poprawnym odbiorze danych wysyła ACK lub przy błędnym zakończeniu
transmisji pakiet NACK lub STALL.

3.6.3. Przekazy izochroniczne


Przekaz izochroniczny przenosi jednokierunkowy strumień danych. Ten tryb

pracy ma zapewnić stała szybkość transmisji niezależnie od wielkości ruchu
generowanego na magistrali. Transmisję izochroniczną stosuje się do przesyłania danych
audiowizualnych, zwłaszcza sygnałów głosowych i wideofonicznych, czyli takich, w których
wymagany jest stały przepływu pakietów, docierających do odbiornika w równych
odstępach czasu i w kolejności nadania.

W ramce (przy pełnej częstotliwości) można zmieścić maksymalnie 88 8-

bajtowych pakietów operacji izochronicznych, a przy dużej częstotliwości, podczas

background image

14

trwania jednej mikroramki, magistralą USB 2.0 można przesłać 163 8-bajtowe pakiety
danych.

W normie nie sprecyzowano sposobu kontroli przebiegu transmisji danych

przesyłanych izochronicznie. Urządzeniom, wykorzystującym ten przekaz, w systemie
USB zagwarantowano jedynie dostęp do magistrali bez opóźnień ponad wyznaczony limit
(uważa się, że podczas prowadzonej „na żywo” transmisji danych audiowizualnych
opóźnienia w przekazach pakietowych między skrajnymi punktami transmisji nie
powinny przekraczać: 50 ms dla danych obrazowych i 150 ms dla fonii) oraz stałą
częstotliwość przepływu danych w potoku, bez podejmowania próby ratowania danych
przez ponawianie transmisji w momencie wykrycia błędów.

Rys. 12. Przepływ danych w przekazach izochronicznych

Rezerwacja kanału transmisji izochronicznej przez kontroler USB odbywa się na

podstawie deklaracji złożonej przez urządzenie na etapie konfiguracji magistrali. W tym
trybie błędy nie są korygowane, bowiem brak tu pakietów potwierdzających ACK. Transfer
ten ma jednak pierwszeństwo przed transmisją asynchroniczną. Oparty na zapytaniach
kontrolera systemu przydział pasma w kanale asynchronicznym mógłby spowodować
niedopuszczalne opóźnienia zakodowanych sygnałów wizyjnych lub dźwiękowych, a tym
samym zdyskwalifikować całkowicie sens przekazów izochronicznych.

3.6.4. Przekazy masowe


Przekazy masowe stosuje się do przesyłania dużych porcji danych, jeśli

dopuszczalna jest przy tym zmienność czasu transmisji.
Przekaz taki składa się z jednej lub kilku operacji IN albo OUT. Dla danych w pakietach
przekazów masowych można deklarować maksymalną wielkość pola roboczego
wynoszącą 8, 16, 32 lub 64 bajty. Nie jest jednak wymagane aby wielkość pola
danych zawsze osiągała zadeklarowana wartość. Ten tryb przesyłania danych może być
wykorzystywany jedynie w urządzeniach pracujących z pełną częstotliwością.
Przepustowość magistrali umożliwia ulokowanie w ramce do 71 ośmiobajtowych pakietów
przekazów masowych.

background image

15

Rys. 13. Przepływ danych w przekazach masowych

Ten sposób transmisji gwarantuje powtarzanie pakietów uszkodzonych, zapewniając

bardzo dużą niezawodność i spójność przekazywanych danych. Nie gwarantuje on jednak
określonej przepustowości i limitu czasu transmisji, bowiem obie te wartości zależą od
chwilowej aktywności magistrali USB. Nie stanowi to jednak tu żadnego problemu,
ponieważ typowe zastosowanie trybu masowego to obsługa pamięci masowych, odbiór
danych ze skanera bądź wysyłanie do drukarki.

background image

16

4. Rodzaje pakietów


W normie opisującej USB 2.0 w części „Protokół komunikacyjny” wyspecyfikowano

strukturę pakietów danych przesyłanych za pośrednictwem linii D+ i D- magistrali.
Informacje przesyłane zostają na magistralę począwszy od LSB do MSB, zapełniając bufor
pamięci począwszy od najniższego adresu. Każdy pakiet poprzedza ciąg bitów
synchronizujących SYNC, a kończy znacznik końca pakietu EOP ( End of packet ). Ostatnie
dwa bity synchronizacji KK wyznaczają poziom odniesienia dla bitów w użytkowej części
pakietu danych, na początku której znajduje się identyfikator - PID.

Typowy pakiet, pomijając pola SYNC i EOP, składa się z identyfikatora (PID), pola

roboczego (zawierającego dane lub instrukcje sterujące) oraz bitów kontrolnych CRC.

Rys. 14. Część użytkowa pakietu

Pole PID składa się z czterobitowego kodu rodzaju pakietu i czterech bitów

kontrolnych. Punkt końcowy urządzenia wykonawczego powinien ignorować pakiet, jeśli nie
jest przystosowany do obsługi danego rodzaju pakietu bądź nadesłany pakiet jest
uszkodzony. Za uszkodzony pakiet uważa się taki, w którym wartości kolejnych bitów
kontrolnych nie są negacją bitów kodu rodzaju pakietu.

Magistralą USB przesyłane są cztery rodzaje pakietów danych. Są to zapowiedzi,

dane, odpowiedzi i pakiety specjalne. Każdy rodzaj ma swój 4-bitowy identyfikator.

Tabela 3. Rodzaje pakietów ( strzałka oznacza kierunek transmisji )

background image

17

4.1. Pakiety zapowiedzi


Pakiety zapowiedzi informują o rodzaju nadchodzących informacji (IN, OUT,

SETUP). Na końcu takiego pakietu umieszczone jest 5-bitowe pole cyklicznej kontroli
nadmiarowej CRC5. Kontrolą CRC objęte jest pole robocze (pole PID ma swoje bity
kontrolne). Łącznie część użytkowa pakietu zapowiedzi ma 3 bajty. Jeśli przesyłany
pakiet zostanie rozpoznany właśnie jako pakiet zapowiedzi, a po 3 bajtach nie zakończy
się EOP, to musi on być unieważniony.

Szczególnie ważnym pakietem zapowiedzi jest przesyłany w jednakowych odstępach

czasu SOF ( Start of frame, co 1,00 ms ±0,0005 ms - dla małej i pełnej szybkości i co 125
µs ±0,0625 µs - dla dużej szybkości ). W przypadku zmiany szybkości transmisji (SPLIT,
retransmisja danych odebranych przez koncentrator z małą szybkością) SOF może być także

background image

18

generowany w koncentratorze. W 11-bitowym polu roboczym umieszczane są kolejne
numery ramek. Po przepełnieniu (7FFh) zliczanie następuje od początku. Przy szybkich
transmisjach danych (ramki o kolejnych numerach co 1 ms) dodatkowo „przypominany” jest
numer bieżącej ramki co 125µs. Stąd też uznaje się, że w jednej ramce mieści się osiem
mikroramek o tym samym numerze.

Rys.15. Ramki i

mikroramki

Za pomocą pozostałych pakietów zapowiedzi (11-bitowe) przesyłane są

siedmiobitowe adresy urządzenia (stąd do magistrali USB można dołączyć 127 urządzeń)
oraz czterobitowe adresy jego punktu końcowego (dlatego też poza zerowym punktem
końcowym w urządzeniu wykonawczym może istnieć 15 dodatkowych punktów).

4.2. Pakiety danych


Pole robocze pakietu danych składa się z maksymalnie 8 bajtów dla małej,

1023 bajtów dla pełnej i 1024 bajtów dla dużej częstotliwości przesyłu danych . Liczba
bajtów w polu roboczym musi być całkowita.

Rys.16. Format pakietu danych

Podczas transmisji wielokrotnych, tzn. takich, w których duże pakiety danych zostały

podzielone na mniejsze porcje, przesyłane w kolejnych ramkach danych, sprawdza się
naprzemienność parzystych i nieparzystych pakietów. Do kontroli służą identyfikatory PID
(DATA0 i DATA1) oraz oddzielne dla odbiornika i nadajnika jednobitowe przełączniki.
Przełączniki te zmieniają stan po poprawnie wykonanej funkcji pełnionej przez nadajnik lub
odbiornik.

4.3. Pakiety odpowiedzi


Pakiety odpowiedzi składają się wyłącznie z identyfikatora PID zakończonego EOF.

Rodzaj odpowiedzi zawarty jest w typie pakietu. Jako odpowiedź może być przesłany ACK,
NAK, STALL lub NYET. Znaczenie skrótów i możliwości wysyłki określonego pakietu
zostały opisane w rozdziale 2.3.1. Warto pamiętać, że wyróżnia się odpowiedzi na operację
IN, OUT lub SETUP. W przypadku punktów końcowych transmitujących z duża
częstotliwością zwykły mechanizm powstrzymywania transmisji za pomocą odpowiedzi

background image

19

NAK jest niewystarczający. Stosowany jest zatem bardziej złożony protokół PING, w
którym dodatkowo wykorzystywana jest odpowiedź NYET

.

4.4. Pakiety specjalne


Wśród pakietów specjalnych wyróżniamy trzy zapowiedzi i jedną odpowiedź.

Informacje poprzedzone zapowiedzią PRE adresowane są do urządzeń wykonawczych
pracujących z małą szybkością. Koncentrator otrzymujący informację z zapowiedzią PRE
uaktywnia mechanizm wolno narastających zboczy, by mógł bezbłędnie przekazać taką
informację do wolnego urządzenia. Mechanizm ten zostaje wyłączony wraz z otrzymaniem
znacznika EOP. Nie istnieje niebezpieczeństwo błędnego odczytania pakietu z zapowiedzią
PRE, bowiem wolno zmienne bity nie mogą utworzyć kombinacji, która zostałaby
zinterpretowana jako poprawna w ramach transmisji z pełną szybkością. Dane przekazywane
z wolnych urządzeń przez koncentratory w górę sieci są traktowane na równi z danymi
przesyłanymi z pełną lub dużą częstotliwością.

Kolejnym pakietem specjalnym jest 24-bitowa zapowiedź PING. Służy ona do

sprawdzania dostępności urządzenia wykonawczego w celu wykonania operacji OUT przy
pracach z dużą szybkością. Ma ona zabezpieczyć przed niepotrzebnym zajmowaniem
magistrali podczas braku gotowości urządzenia do wykonania zadania. Do momentu
uzyskania gotowości program sterujący wstrzymuje wysłania danych do urządzenia. Na
zapowiedź PING punkt końcowy odpowiada wysyłając ACK lub NAK.

Następnym pakietem specjalnym jest 4-bajtowy SPLIT. Poprzedza on operację

SPLIT, polegającą na retransmisji z dużą szybkością danych, pochodzących z wolnego
urządzenia. Wyróżniamy dwa rodzaje pakietu SPLIT: rozpoczynający i kończący
retransmisję.

Rys. 17. Pakiet rozpoczynający SPLIT (SSPLIT)

Rys. 18. Pakiet kończący SPLIT (CSPLIT)

5. Kontrola poprawno

ś

ci przesyłania danych


Poprawność komunikacji jest kontrolowana na kilka sposobów. Od strony odbiornika

sprawdza się, czy po sekwencji sześciu jedynek wstawiane jest zero oraz analizowane są
wartości bitów kontrolnych PID oraz sum kontrolnych CRC. W przypadku wystąpienia błędu
odbywa się powtórzenie wysyłki nie odebranych poprawnie danych. Może zaistnieć jednak
sytuacja, w której dane odebrane są poprawnie, ale przekłamana zostanie informacja o
poprawnym odebraniu danych, przesyłana do nadajnika. Wtedy nadajnik, ”myśląc”, że dane
nie zostały odebrane, ponawia ich wysyłkę, w efekcie czego te same dane dochodzą do
odbiornika drugi raz. Mówimy wtedy o retransmisji ( nie należy mylić z retransmisją

background image

20

SPLIT!). Aby wyeliminować zjawisko przypadkowego wielokrotnego odbioru tych samych
danych, sprawdzana jest zgodność identyfikatorów PID (DATA0 i DATA1) oraz
przełączników odbiornika i nadajnika.

Istnieje jeszcze mechanizm cyklicznej kontroli nadmiarowej (CRC). Przed

wstawieniem zer po każdych sześciu jedynkach i przed kodowaniu NRZI są dodatkowo
umieszczane w polu sumy kontrolnej bity nadmiarowe CRC. Mechanizm kontroli CRC jest
skuteczny zarówno przy przekłamaniach jedno jak i dwubitowych, a polega on na
traktowaniu sekwencji bitów jako wielomianu ze współczynnikami 0 lub 1. Do
wygenerowanie bitów CRC stosowany jest wielomian G(x). Operacja polega na dopisaniu do
sumy kontrolnej odpowiadającej przesyłanemu ciągowi bitów takiej sumy, by całość dzieliła
się bez reszty przez wielomian generacyjny G(x). Jeśli przy dzieleniu wystąpi reszta, oznacza
to błąd transmisji danych.

W systemie USB stosuje się dwa rodzaje kontroli CRC: pięciobitową sumę kontrolną

CRC5 dla zapowiedzi i szesnastobitową CRC16 dla pakietów danych. Postaci wielomianów
generacyjnych dla tych przypadków zostały dokładnie określone w normie USB 2.0.
Najczęściej stosowany wielomian generacyjny ma postać CRC16 = X16 + X15 + X2 + 1.

6. Rodzaje operacji


Wyróżniamy operacje ustawiania, zapisu, odczytu i operacje izochroniczne. W

ostatniej mamy do czynienia tylko z pakietem zapowiedzi i pakietem danych, w pozostałych
obowiązują zapowiedź, pakiet danych i odpowiedź, przesyłana w kierunku przeciwnym do
kierunku przesyłania danych.

Urz

ą

dzenia do obsługi transmisji szeregowej USB


Magistrala USB należy do różnicowych, a względne stany linii danych określają

wartości logiczne oraz mówią o szybkości transmisji. Bezwzględne poziomy napięć na
liniach sygnałowych informują natomiast o tym, czy magistrala jest zajęta, czy też znajduje
się w stanie jałowym. Aby móc zatem zbudować urządzenie do komunikacji po magistrali
USB potrzebny jest bardzo skomplikowany hardware, posiadający wbudowane bardzo
dokładne źródła napięciowe, pozwalające zrealizować linie D+ i D-. Tak więc nie jest już
możliwe łatwe napisanie programu realizującego magistralę USB, tak jak można to zrobić
dla I

2

C lub UART (stosując dodatkowo przetwornicę np. MAX232 lub MAX202)

dysponując stosunkowo prostym mikrokontrolerem. Chcąc budować urządzenie USB
projektant musi też dodatkowo dysponować sterownikami, dzięki którym będzie mógł
wymieniać dane pomiędzy programem Klient a urządzeniem przyłączonym do magistrali.
Dodatkowy wymóg stanowi duża szybkość przesyłania danych po USB, zatem wybrany do
projektu mikroprocesor musi mieć możliwość pracy z odpowiednio dużą częstotliwością.

Na rynku elektronicznym istnieje wiele mikrokontrolerów, które można wykorzystać

jako trzon nowo powstającego urządzenia. Producenci wyraźnie podają w notach
aplikacyjnych, czy zaimplementowany hardware do obsługi magistrali USB jest zgodne ze
standardem 1.1 czy 2.0. Należy pamiętać, że pojawienie się mikrokontrolerów
przystosowanych do obsługi USB 2.0 wcale nie eliminuje starszych wersji produktów.
Kompatybilność USB 2.0 z wcześniejszym standardem daje nam gwarancję poprawnego
działania urządzenia, zatem do obsługi wolnozmiennych procesów można bez problemu
wykorzystać tańszy mikrokontroler pracujący w standardzie USB 1.1

Istnieją także autonomiczne układy obsługujące warstwę fizyczną magistrali USB.

Przesyła się do nich jedynie dane do wysyłki (lub odczytuje odebrane informacje) i

background image

21

uaktywnia odpowiednie funkcje przeprowadzane na szynie USB. Są to moduły, które
podłączone do komputera z zainstalowanymi sterownikami są gotowe do pracy.


Wyszukiwarka

Podobne podstrony:
Asynchroniczna transmisja szeregowa
Mikroprocesory transm szeregowa
787 Instrukcja PSI transmisja szeregowa id 46026 (2)
Pytania dodatkowe na zajęcia laboratoryjne z KSPD, Budowa, właściwości i zastosowania pomiarowe inte
Transmisja szeregowa i równoległa, Informatyka, Diagnostyka i Naprawa Komputerów
fras,systemy wbudowane L, Transmisja szeregowa?51
2008.04.17 Transmisja szeregowa synchroniczna i asynchronicz, informatyka
Laboratorium 5 transmisja szeregowa
787 W03 Transmisja szeregowa
Transmisja szeregowa synchroniczna i asynchroniczna
Laboratorium Techniki Mikroprocesorowej Układy transmisji szeregowej, programowa transmisja szereg
Asynchroniczna transmisja szeregowa
Jak rysować przebiegi asynchronicznej transmisji szeregowej
USB Uniwersalny interfejs szeregowy komusb
USB Uniwersalny interfejs szeregowy komusb
USB Uniwersalny interfejs szeregowy
USB Uniwersalny interfejs szeregowy 2

więcej podobnych podstron