37_42.PDF

(403 KB) Pobierz
Konwerter USB<->RS232, część 1 - AVT-5080
Konwerter USB<−>RS232
Konwerter USB<−>RS232,
część 1
AVT−5080
Przedstawiamy pierwsz¹
w†polskiej prasie
elektronicznej aplikacjÍ
uk³adu, ktÛry - jesteúmy tego
pewni - zrewolucjonizuje
wspÛ³czesn¹ elektronikÍ
popularn¹. Jest to scalony,
dwukierunkowy konwerter
USB<->RS232, za pomoc¹
ktÛrego moøna do³¹czyÊ do
PC-ta lub McIntosha dowolne
urz¹dzenie zewnÍtrzne i†to
bez koniecznoúci pisania
w³asnych driverÛw....
Same zalety!
Juø od d³ugiego czasu dobie-
gaj¹ zewsz¹d g³osy, øe najwyøsza
pora, aby w†amatorskich projek-
tach zagoúci³y interfejsy USB. Tym
bardziej, iø w†úwiecie akcesoriÛw
komputerowych sta³y siÍ one juø
standardem. Producenci nie ustaj¹
w†wysi³kach, øeby wdraøaÊ nowe,
coraz szybsze wersje tego inter-
fejsu, natomiast dotychczasowe
porty szeregowe i†rÛwnoleg³e maj¹
wkrÛtce znikn¹Ê z†ìpok³aduî PC,
dziel¹c los napÍdÛw 5†1/4î czy
magistrali ISA.
Dotychczas jednak wysoka z³o-
øonoúÊ systemu USB w†po³¹cze-
niu z†niewielk¹ dostÍpnoúci¹ po-
trzebnych podzespo³Ûw dla indy-
widualnego klienta oraz ca³kowi-
tym brakiem polskojÍzycznej lite-
ratury stawia³a przed elektronika-
mi-amatorami barierÍ trudn¹ do
pokonania.
Na rys. 1† pokazano strukturÍ
po³¹czenia USB. Pozwala ona oce-
niÊ, ile wyspecjalizowanych me-
chanizmÛw kryje siÍ np. za naj-
zwyklejszym zapaleniem LED-a na
w³asnej prototypowej p³ytce za
pomoc¹ samodzielnie napisanej
aplikacji dla PC. Rysunek ten jest
tylko orientacyjny - na jego pod-
stawie bardzo ogÛlnie opiszemy
zasady dzia³ania USB (pe³ne spe-
cyfikacje to co najmniej kilkaset
stron - s¹ dostÍpne na stronie
www.ep.com.pl w†dziale Down-
load>Dokumentacje ). Zaczniemy
od strony sygna³Ûw przesy³anych
kablem.
Standardowy kabel po³¹czenio-
wy USB ma 4†øy³y: dwie z†nich
przekazuj¹ zasilanie (masa oraz
+5V), nastÍpne dwie to para prze-
nosz¹ca rÛønicowy sygna³ danych.
Sygna³ ten pe³ni kilka jednoczes-
nych funkcji:
- przesy³a dane w†postaci stru-
mienia bitÛw,
- synchronizuje oscylatory pod³¹-
czonych urz¹dzeÒ z†oscylatorem
g³Ûwnego kontrolera (PC),
- wyznacza pocz¹tek i†koniec pa-
kietu,
- przekazuje ø¹danie programowe-
go zerowania,
- detekcja do³¹czenia urz¹dzenia
do magistrali.
StrumieÒ bitÛw jest kodowany
w†systemie NRZI: poszczegÛlnym
sekwencjom bitÛw odpowiada
zmiana lub brak zmiany poziomu
(czyli w†parze rÛønicowej zmiana
polaryzacji lub jej pozostawienie
- rys. 2 ):
- ci¹g zer prze³¹cza poziom przy
kaødym bicie,
- ci¹g jedynek pozostawia poziom
bez zmian,
- para 1†0†prze³¹cza poziom,
- para 0†1†pozostawia poziom bez
zmiany.
Magistrala nie posiada oddziel-
nego sygna³u zegarowego. Kaøde
pod³¹czone urz¹dzenie dysponuje
w³asnym oscylatorem do spraw-
dzania kolejnych bitÛw z†4-krot-
nym oversamplingiem (nadprÛb-
kowaniem) - dla szybkoúci prze-
sy³u danych wynosz¹cej 12 Mbd
konieczny bÍdzie wiÍc zegar
o†czÍstotliwoúci 48 MHz. Oscyla-
tor jest synchronizowany (pÍtl¹
PLL) z†przebiegiem sygna³u w†ma-
Elektronika Praktyczna 9/2002
37
P R O J E K T Y
32275982.038.png 32275982.039.png
Konwerter USB<−>RS232
Rys. 1. Budowa połączenia USB
danych przeznaczonych dla
EPx),
- pakiet DATA0 - do urz¹dzenia
(dane),
- pakiet ACK - z†urz¹dzenia (pa-
kiet danych przyjÍty prawid³o-
wo),
albo odczytu danych przez kom-
puter:
- pakiet IN - do urz¹dzenia (wy-
úlij pakiet danych przez EPx),
- pakiet DATA0 - z†urz¹dzenia
(urz¹dzenie wysy³a dane),
- pakiet ACK - do urz¹dzenia
(pakiet danych dotar³ prawid³o-
wo).
Elementarna transakcja musi
zawieraÊ siÍ w†obrÍbie pojedyn-
czej 1-ms ramki.
Z†kolei odpowiednio zgrupo-
wane zespo³y transakcji tworz¹
cztery rÛøne typy transferÛw.
Transfery rÛøni¹ siÍ poza tym
sposobem obs³ugiwania przez
komputer w†zakresie kontroli b³Í-
dÛw i†przyznawania priorytetÛw
w†dostÍpie do magistrali:
1. Control - uøywany do roz-
poznawania i†konfigurowania
urz¹dzenia.
2. Interrupt - uøywany do
sprawdzania statusu urz¹dzenia
i†wykrywania jego ewentualnych
ø¹daÒ obs³ugi. Termin ìprzerwa-
nieî w†nazwie jest nieco myl¹cy,
zw³aszcza dla elektronikÛw przy-
zwyczajonych do systemu prze-
rwaÒ w†mikrokontrolerach. Urz¹-
dzenie USB samo z†siebie nie
moøe rozpocz¹Ê øadnego transfe-
ru, moøe jedynie przes³aÊ na
øyczenie hosta odpowiedni¹ in-
formacjÍ. Komputer sprawdza cyk-
licznie do³¹czone urz¹dzenia ( pol-
ling ) i†w†razie potrzeby podejmuje
odpowiedni¹ akcjÍ. CzÍstotliwoúÊ
pollingu jest ustalana w†trakcie
pocz¹tkowej konfiguracji, ale nie
moøe przekraczaÊ czÍstotliwoúci
ramek (1 kHz). Wszelkie dzia³ania
wymagaj¹ce szybszej reakcji na
sygna³y zewnÍtrzne powinny byÊ
wiÍc realizowane samodzielnie
przez urz¹dzenie.
3. Bulk - uøywany do przesy-
³ania duøych blokÛw danych (ang.
bulk - wielkoúÊ, objÍtoúÊ, masa)
z†dok³adn¹ kontrol¹ poprawnoúci
- stosowany np. w†drukarkach czy
skanerach.
4. Isochronous - stosowany do
przesy³ania ci¹g³ego strumienia
danych w†przypadkach gdzie po-
prawnoúÊ jest mniej istotna niø
gistrali. D³uøszy brak zmiany po-
ziomu sygna³u (wystÍpuj¹cy w†ko-
dzie NRZI przy ci¹gu kolejnych
bitÛw ì1î) moøe spowodowaÊ ze-
rwanie tej synchronizacji. Dlatego
wprowadzono rozdzielanie ci¹gu
jedynek dodatkowym bitem ì0î
(po kaødych 6†jedynkach) - tzw.
bit stuffing - rys. 3 .
Wszelkie informacje USB s¹
przesy³ane w†formie pakietÛw. Po-
cz¹tek pakietu jest oznaczony jako
pierwsza zmiana poziomu przy
wyjúciu ze stanu spoczynkowego
( idle ) magistrali. Potem nastÍpuje
blok synchronizacji (ci¹g bitÛw 0
zakoÒczony 1), nastÍpnie blok
danych. Koniec pakietu jest syg-
nalizowany dwubitowym stanem
SE0 (skrÛt od single-ended 0† -
obie linie pary rÛønicowej na
poziomie niskim). Przebieg sygna-
³Ûw dla pakietu jest pokazany na
rys. 4 .
Struktura pakietu zawsze za-
wiera blok synchronizacji oraz
zaraz po nim bajt identyfikatora
pakietu - PID (4 bity okreúlaj¹
PID, nastÍpne 4†s¹ negacj¹ PID,
co pozwala na kontrolÍ popra-
wnoúci). Dalsza zawartoúÊ zaleøy
od typu pakietu (moøe mieÊ
d³ugoúÊ od 0†do 1025 bajtÛw).
Stosowane pakiety przedstawiono
w† tab. 1 . Z†wymienionych pakie-
tÛw sk³adane s¹ wszystkie, wy-
stÍpuj¹ce w†USB, elementarne
transakcje. Moøe to byÊ np. trans-
akcja wys³ania danych z†kompu-
tera:
- pakiet OUT - do urz¹dzenia
(przygotuj siÍ do otrzymania
38
Elektronika Praktyczna 9/2002
32275982.040.png 32275982.041.png 32275982.001.png 32275982.002.png 32275982.003.png 32275982.004.png 32275982.005.png 32275982.006.png
 
Konwerter USB<−>RS232
Tab. 1. Zestawienie pakietów stosowanych w USB
PID Typ Kategoria Zawartość i funkcja
0101 SOF token Start−of−frame: jest wysyłany co 1 ms (zapewnia to dodatkową
(kontrolny)synchronizację oraz pozwala na wykrywanie zawieszenia magistrali .
Składa się z 11−bitowego kolejnego numeru ramki (frame) oraz
5−bitowego kontrolnego CRC.
1101 SETUP token Priorytetowy pakiet kontrolny służący do podstawowego nadzoru
(kontrolny)i konfiguracji − składa się z 7−bitowego adresu urządzenia,
4−bitowego adresu EP0 i 5−bitowego CRC.
nych i†czÍsto typowych elemen-
tÛw sk³adowych). ZbiÛr interfej-
sÛw tworzy z†kolei konfiguracjÍ,
ktÛrych teø moøe byÊ kilka (ale
tylko jedna moøe byÊ aktywna).
Jak widaÊ na rys. 5, klient
(czyli oprogramowanie korzystaj¹-
ce z†obs³ugi USB oferowanej przez
system operacyjny), ktÛry dostaje
do dyspozycji logiczne kana³y
komunikacji z†interfejsem urz¹dze-
nia USB, nie musi nic ìwiedzieÊî
o†wczeúniej opisywanych mecha-
nizmach wykonawczych niøszego
poziomu. W†systemie Windows
oprogramowanie klienta obejmuje
sterownik ( driver ) konkretnego
urz¹dzenia (lub klasy urz¹dzeÒ
zbliøonych funkcjonalnie) oraz ap-
likacjÍ uøytkownika. Sterownik -
przypisany do interfejsu urz¹dze-
nia USB - potrafi go skonfiguro-
waÊ wed³ug konkretnych moøli-
woúci i†potrzeb oraz odpowiednio
siÍ z†nim komunikowaÊ. Jedno-
czeúnie umoøliwia stosowanie
w†aplikacji uøytkownika typowych
dla systemu funkcji wejúcia/wyj-
úcia danych. Oprogramowanie mo-
øe teø obejmowaÊ dodatkowe bib-
lioteki udostÍpniaj¹ce rozmaite ko-
mendy obs³ugi oraz konfiguracji
urz¹dzenia w†postaci zestawu czy-
telnych i†prostych w†korzystaniu
funkcji. Natomiast uniwersalny
sterownik systemowy USB potrafi
siÍ skomunikowaÊ z† endpointem
0†dowolnego urz¹dzenia. Jest to
niezbÍdne w†chwili pod³¹czenia
do magistrali, kiedy system ope-
racyjny nie ma jeszcze øadnych
danych o†do³¹czanym urz¹dzeniu
i†potrzebuje wspÛlnego, dok³adnie
1001 IN
token Inicjalizuje przesył danych z urządzenia do PC − skład jw. z tym,
(kontrolny)że może być adresowany dowolny dostępny w urządzeniu
endpoint (EP x).
0001 OUT token
Inicjalizuje przesył danych z PC do urządzenia. Skład jw.
(kontrolny)
0011 DATA0 dane
Pakiet składa się z ciągu 0 − 1023 bajtów danych oraz
16−bitowego kontrolnego CRC. Dwa typy pakietu są wprowadzone
dla dodatkowej kontroli: nadajnik wysyła przemiennie typ 0 i 1, 
co umożlliwia sprawdzanie, czy żaden pakiet nie zaginął.
1011 DATA1 dane
0010 ACK handshake Potwierdzenie prawidłowego odbioru − pakiet zawiera tylko
identyfikator.
1010 NAK handshake Zgłoszenie chwilowej zajętości urządzenia − transakcja jest
ponawiana w następnej ramce. Urządzenie nie ma prawa
odpowiedzieć NAK na pakiet SETUP − musi wtedy przerwać
wszelkie inne operacje i obsłużyć transakcję kontrolną.
1110 STALL handshake Zgłoszenie braku możliwości obsługi konkretnej komendy
(np. wpisu danych do nieistniejącego w urządzeniu endpointu).
1100 PRE specjalny Używany przy konfigurowaniu połączenia małej prędkości (1,5 Mb/s).
INNE rezerwa rezerwa
zachowanie sta³ego w†czasie ( izo-
chronicznego ) przep³ywu. W†tym
celu juø na poziomie elementarnej
transakcji pominiÍta jest kontrola
b³ÍdÛw i†pakiety potwierdzeÒ oraz
uøywa siÍ maksymalnego rozmia-
ru pakietÛw danych. Obszar wy-
korzystania to przede wszystkim
urz¹dzenia audio i†wideo. Przy-
k³adem urz¹dzenia korzystaj¹cego
z†izochronicznego trybu przesy³a-
nia danych jest karta düwiÍkowa
USB, ktÛr¹ opisaliúmy w†EP3/99.
Aby dalej omawiaÊ wykorzys-
tanie tych transferÛw, naleøy siÍ
zapoznaÊ z†logiczn¹ struktur¹ po-
³¹czenia USB. Jest ona ogÛlnie
przedstawiona na rys. 5 . Podsta-
wowym pojÍciem jest tutaj end-
point (juø wspomniany w†opisach
pakietÛw) - czyli punkt koÒcowy.
Endpoint jest zakoÒczeniem lo-
gicznego kana³u przesy³ania da-
nych w†stronÍ komputera - hosta
(EP IN) lub w†stronÍ urz¹dzenia
(EP OUT). Drugi koniec takiego
kana³u (nazywanego rurk¹ - pipe )
jest wejúciem lub wyjúciem da-
nych dla oprogramowania urucho-
mionego na hoúcie . Kaøde - nawet
najprostsze - urz¹dzenie musi po-
siadaÊ co najmniej jeden end-
point : EP0 (IN oraz OUT) o†jed-
noznacznie okreúlonej charakte-
rystyce, ktÛry obs³uguje podsta-
wowe transfery kontrolne. Dalsze
endpointy mog¹ juø mieÊ charak-
terystyki dopasowane do potrzeb
realizowanej funkcji (np. maksy-
malny rozmiar pakietu, typ trans-
feru itd.). Zestaw endpointÛw two-
rzy interfejs.
W†bardziej z³oøonych urz¹dze-
niach interfejsÛw moøe byÊ kilka
(kaødy odpowiada za okreúlony
wycinek funkcjonalnoúci urz¹dze-
nia - pozwala to na uzyskanie
znacznego skomplikowania przy
uøyciu mniejszych, juø sprawdzo-
Rys. 2. Kodowanie NRZI
Rys. 3. Bit stuffing
Elektronika Praktyczna 9/2002
39
32275982.007.png 32275982.008.png 32275982.009.png 32275982.010.png 32275982.011.png 32275982.012.png 32275982.013.png 32275982.014.png 32275982.015.png 32275982.016.png 32275982.017.png 32275982.018.png 32275982.019.png 32275982.020.png 32275982.021.png 32275982.022.png 32275982.023.png 32275982.024.png 32275982.025.png 32275982.026.png 32275982.027.png
Konwerter USB<−>RS232
Rys. 4. Przebieg sygnału podczas przesyłu pakietu danych
(SOP − start of packet, EOP − end of packet)
sz¹ komunikacjÍ z†urz¹dzeniem
zgodnie z†konkretnymi, specyficz-
nymi potrzebami. System na pod-
stawie danych w†deskryptorze
urz¹dzenia wybiera i†pod³¹cza po-
trzebny sterownik, ³aduj¹c go
w†razie potrzeby do pamiÍci. Jeú-
li sterownik jeszcze nie jest za-
instalowany w†systemie - uøyt-
kownik jest proszony o†jego do-
starczenie.
- NastÍpuje wys³anie serii ostat-
nich poleceÒ konfiguracyjnych -
po ich przyjÍciu urz¹dzenie jest
gotowe do normalnej pracy
(stan: skonfigurowane ).
Enumeracja opiera siÍ na sze-
regu transferÛw typu control wy-
mienianych zawsze z† endpointem
0 . Transfery te s¹ stosunkowo
skomplikowane. Sk³adaj¹ siÍ
z†trzech faz:
- Faza przygotowawcza ( setup ).
Tworzy j¹ transakcja zbudowa-
na z†pakietu SETUP, 8-bajtowe-
go pakietu danych DATA0 oraz
potwierdzenia ACK (jak juø
wspomniano, urz¹dzenie musi
priorytetowo obs³uøyÊ tÍ tran-
sakcjÍ i†nie moøe jej odk³adaÊ
na pÛüniej odsy³aj¹c brak go-
towoúci NAK). W†pakiecie da-
nych zakodowany jest rodzaj
operacji, jak¹ host chce prze-
prowadziÊ, m.in.:
- kierunek przesy³u informacji,
- rodzaj ø¹dania ( standard -
standardowe; class - dotycz¹-
ce klasy urz¹dzeÒ, np. hu-
bÛw,
- vendor - zwi¹zane z†konkret-
nym urz¹dzeniem),
- temat ø¹dania - precyzuje,
o†jak¹ informacjÍ i†jak¹ reak-
cjÍ chodzi (np. wúrÛd stan-
dardowych wywo³aÒ znajd¹
siÍ Get_Status - pobranie sta-
nu urz¹dzenia czy Get_Desc-
riptor - pobranie odpowied-
niego opisu),
- przeznaczenie ø¹dania (moøe
dotyczyÊ urz¹dzenia, interfej-
su lub endpointu).
- Faza wymiany danych (opcjo-
nalnie - o†ile jest taka potrzeba):
odpowiednia liczba transakcji
wys³ania lub pobrania danych
okreúlonych w†fazie setup .
- Faza statusu - s³uøy do potwier-
dzenia poprawnego zakoÒczenia
transferu. Tworzy j¹ transakcja
wys³ania lub odczytania danych
z†uøyciem pakietu danych o†ze-
rowej d³ugoúci.
okreúlonego mechanizmu pobrania
odpowiednich informacji oraz do-
konania wstÍpnej konfiguracji. Ma-
gistrala ca³y czas kontroluje do-
³¹czanie i†od³¹czanie urz¹dzeÒ -
moøemy to robiÊ w†dowolnym
momencie.
W†wolnym porcie downstream
(dane p³yn¹ce z† hosta w†kierunku
urz¹dzeÒ) huba obie linie rÛøni-
cowe D+ i†D- s¹ po³¹czone z†mas¹
rezystorami 15 k
ko jedno urz¹dzenie moøe byÊ
w†stanie domyúlnym - kaøde
nastÍpne musi poczekaÊ, nie
grozi wiÍc przypadkowy kon-
flikt adresÛw).
- Host wysy³a pod adres 0†ø¹da-
nie przes³ania deskryptora urz¹-
dzenia (bloku danych o†úciúle
okreúlonym formacie opisuj¹-
cych konkretny przyrz¹d).
- Przyznaje kolejny wolny adres
i†wysy³a do urz¹dzenia - ktÛre
go zapisuje i†od tego momentu
bÍdzie odbieraÊ tylko pakiety
z†w³aúnie takim polem adresu
(stan urz¹dzenia: zaadresowane ).
- Ponawia ø¹danie przes³ania de-
skryptora urz¹dzenia - ale juø
z†nowym adresem. ZwrÛcony de-
skryptor jest porÛwnany z†otrzy-
manym poprzednio, co pozwala
skontrolowaÊ prawid³owoúÊ za-
adresowania.
- Pobiera wszystkie dalsze de-
skryptory opisuj¹ce dostÍpne
w†urz¹dzeniu konfiguracje, in-
terfejsy i† endpointy .
Do tej pory wykonywane by³y
operacje wspÛlne dla wszystkich
urz¹dzeÒ USB. Dlatego mÛg³ je
zrealizowaÊ uniwersalny sterow-
nik systemowy. Nie jest jednak
moøliwe, aby zakodowaÊ w†nim
pe³n¹ obs³ugÍ urozmaiconej gamy
przyrz¹dÛw. W†systemie Windows
rolÍ tak¹ pe³ni sterownik urz¹-
dzenia ( device driver ), napisany
specjalnie dla potrzeb konkretne-
go rozwi¹zania technicznego.
Przejmuje on dalszy proces kon-
figuracji oraz zapewnia pÛüniej-
. W†ten
prosty sposÛb hub dowiaduje siÍ,
øe konkretny port ma juø ìklientaî
i†wpisuje to do swojego rejestru
stanu (stan urz¹dzenia: przy³¹czo-
ne ). Hub dostarcza teø dla urz¹-
dzenia zasilanie do 100 mA (stan
urz¹dzenia: zasilone ) - wiÍkszy
pobÛr pr¹du powoduje b³¹d i†prze-
rwanie konfigurowania.
Komputer - host kontroluje
cyklicznie stan wszystkich pod³¹-
czonych hubÛw. Po stwierdzeniu
pod³¹czenia urz¹dzenia rozpoczy-
na proces tzw. enumeracji, czyli:
- Wydaje hubowi polecenie wyko-
nania zerowania linii, polegaj¹-
cego na ustawieniu przez co
najmniej 10 ms stanu SE0
w†porcie obs³uguj¹cym nowy
przyrz¹d. Urz¹dzenie w†odpo-
wiedzi na zerowanie prze³¹cza
siÍ w†stan domyúlny ( default )
i†przyjmuje adres 0, pod ktÛrym
bÍdzie widoczne dla hosta w†po-
cz¹tkowej fazie enumeracji (tyl-
40
Elektronika Praktyczna 9/2002
i†maj¹ poziom
niski (stan urz¹dzenia: nieprzy³¹-
czone ). Do³¹czany uk³ad podaje
na liniÍ D+ napiÍcie zasilania
przez rezystor 1,5 k
32275982.028.png 32275982.029.png 32275982.030.png
Konwerter USB<−>RS232
Rys. 5. Logiczna struktura połączenia USB
meracji itd.) musz¹ byÊ zawarte
w†naszym programie. Nawet naj-
prostszy demonstracyjny przyrz¹-
dzik jest w†zwi¹zku z†tym wypo-
saøony w†dosyÊ obszerny blok
kodu realizuj¹cego komunikacjÍ
USB, co bynajmniej nie u³atwia
uruchomienia w³asnych projek-
tÛw. Jest to k³opotem, zw³aszcza
gdy nie zaleøy nam specjalnie na
zg³Íbianiu tajnikÛw USB, a†chce-
my po prostu mieÊ port komu-
nikacyjny do szybkiej wymiany
danych z†w³asn¹ aplikacj¹ uru-
chomion¹ na PC.
Drug¹ g³Ûwn¹ barier¹ w†takiej
sytuacji jest koniecznoúÊ napisa-
nia w³asnego sterownika WDM -
przedsiÍwziÍcie znacznie odbiega-
j¹ce od zakresu dzia³alnoúci elek-
tronika-amatora, a†przy tym nie-
moøliwe do wykonania za pomoc¹
popularnych úrodowisk RAD, jak
np. Delphi. Oczywiúcie na rynku
obecne s¹ odpowiednie narzÍdzia,
ale nie jest to oferta dla hobbys-
tÛw - wystarczy przejrzeÊ cenniki.
Uproszczonym wyjúciem jest ogra-
niczenie siÍ do jednej z†klas
urz¹dzeÒ obs³ugiwanych samo-
dzielnie przez system operacyjny,
zazwyczaj jednak wyposaøonych
w†dosyÊ skromne moøliwoúci. Jed-
n¹ z†takich klas jest np. HID
( human interface devices ) - pery-
ferie komputera obs³ugiwane przez
uøytkownika (mysz, klawiatura),
ktÛrym wystarczaj¹ krÛtkie trans-
fery typu interrupt do przekazania
od czasu do czasu niewielkich
liczby danych.
Pojawienie siÍ oferty firmy
FTDI, a†zw³aszcza uk³adÛw
FT8U232 i†FT8U245 przedstawia-
nych juø na ³amach EP, radykal-
nie zredukowa³o wymienione po-
wyøej trudnoúci. Dostajemy do
dyspozycji zawarte w†pojedyn-
czych kostkach kompletne urz¹-
dzenia USB i†moøemy w†naszych
projektach korzystaÊ bezpoúrednio
z†ich interfejsÛw we/wy, wcale
nie zajmuj¹c siÍ operacjami niø-
szego poziomu. FT8U232 zapew-
nia interfejs zgodny z†protoko³em
RS232, natomiast FT8U245 udo-
stÍpnia bufor FIFO przeznaczony
do szybkiego 8-bitowego rÛwno-
leg³ego zapisu i†odczytu. Na rys.
6 pokazano schemat blokowy
FT8U232 - ³atwo moøemy ziden-
tyfikowaÊ zespo³y ogÛlnie opisane
na rys. 1, wiedz¹c teraz dok³adnie
do czego s³uø¹.
Opis budowy interfejsu-
konwertera USB<->RS232
Powyøsze - bardzo skrÛtowe -
omÛwienie zasady pracy magist-
rali USB pozwala oceniÊ nak³ad
pracy wymagany przy przygoto-
waniu w³asnego uk³adu. Dodatko-
wym utrudnieniem jest niewielka
dostÍpnoúÊ na rynku detalicznym
odpowiednich elementÛw - dosta-
wy s¹ ukierunkowane na wielko-
seryjn¹ produkcjÍ akcesoriÛw
komputerowych. Do tej pory
w†opisywanych rozwi¹zaniach
amatorskich najczÍúciej wystÍpo-
wa³ EZ-USB - mikrokontroler
zgodny z†rodzin¹ '51, oraz
PDIUSBD11 - interfejs SIE wypo-
saøony w†magistralÍ I 2 C.
EZ-USB ma wbudowany loa-
der , ktÛry po w³¹czeniu urz¹dze-
nia sam przeprowadza pierwsz¹
enumeracjÍ, a†nastÍpnie ³aduje do
obszaru pamiÍci kodu program
pracy mikrokontrolera przesy³any
przez wspÛ³pracuj¹cy po stronie
hosta sterownik. Po zakoÒczeniu
tego procesu magistrala jest zero-
wana i†wykonywana jest ponowna
enumeracja (zwana w†zwi¹zku
z†tym przez producenta renume-
racj¹ ) - teraz juø konfiguruj¹ca
uk³ad jako docelowe, zgodne z†na-
pisanym przez nas programem
urz¹dzenie, ktÛre wspÛ³pracuje
z†odpowiednim, dedykowanym
sterownikiem. Takie rozwi¹zanie
czyni z†EZ-USB znakomite narzÍ-
dzie do wszelkich eksperymentÛw
i†uruchomieÒ oraz do tworzenia
wielofunkcyjnych przyrz¹dÛw.
PDIUSBD11 nie posiada moø-
liwoúci samodzielnego dzia³ania -
musi wspÛ³pracowaÊ z†zewnÍt-
rznym mikroprocesorem, ktÛrego
program zapewnia obs³ugÍ po-
szczegÛlnych transakcji. Komuni-
kacja z†kostk¹ odbywa siÍ za
poúrednictwem interfejsu I 2 C, ktÛ-
ry ma wprawdzie wysok¹ maksy-
maln¹ czÍstotliwoúÊ (do 1†MHz),
ale i†tak znacznie ogranicza prze-
pustowoúÊ oferowan¹ przez ma-
gistralÍ USB.
Generalnie (oczywiúcie z†wie-
loma rÛønicami co do szczegÛ³Ûw)
oba urz¹dzenia zapewniaj¹ obs³u-
gÍ USB do poziomu interfejsu SIE
(rys. 1). Funkcje kontrolera pro-
toko³u (czyli obs³uga transferÛw
i†transakcji, odpowiednia treúÊ de-
skryptorÛw, przeprowadzenie enu-
Elektronika Praktyczna 9/2002
41
32275982.031.png 32275982.032.png 32275982.033.png 32275982.034.png 32275982.035.png 32275982.036.png 32275982.037.png
Zgłoś jeśli naruszono regulamin