EP 2005_03.pdf

(19618 KB) Pobierz
450758962 UNPDF
450758962.005.png
Radiomodem z USB
Radiomodem z USB
AVT-381
W ostatnim czasie
można zaobserwować szybki
wzrost liczby oferowanych
urządzeń komunikujących się
bezprzewodowo. Największe
zapotrzebowanie na ten rodzaj
transmisji obserwuje się w
sprzęcie komputerowym oraz
telefonii komórkowej.
W artykule przedstawiamy
przykład konstrukcyjny
nowoczesnego radiomodemu z
interfejsem USB.
Rekomendacje :
szczególnie polecamy tym
użytkownikom komputerów,
którzy chcą samodzielnie
wykonać bezprzewodowe
połączenie pomiędzy
komputerami, a także twórcom
nowoczesnych aplikacji
telemetrycznych.
Największą popularnością cieszą
się dwa rodzaje transmisji bezprze-
wodowej: transmisja w podczerwieni
oraz transmisja radiowa. Pierwotnie,
w aplikacjach lokalnych, podczer-
wień cieszyła się większym powo-
dzeniem, ale obecnie jest ona wy-
pierana przez tory radiowe różnego
typu. Najpoważniejszymi wadami
torów IR ( InfraRed ) są niewielkie
uzyskiwane zasięgi oraz konieczność
zapewnienia wzajemnej widzialności
urządzeń. Znacznie większe możli-
wości oferuje komunikacja radiowa,
która pozwala na oddalenie współ-
pracujących ze sobą urządzeń, a
także uzyskanie znacznie większych
prędkości transmisji. Głównym po-
lem zastosowań komunikacji radio-
wej są obecnie sieci komputerowe
( Wireless LAN – do 108 Mbd) oraz
urządzenia z interfejsami Bluetooth
(do 4 Mbd).
Modem radiowy, którego bu-
dowę opisano w artykule, umożli-
wia przesył danych z mniejszymi
prędkościami, ale zyskała na tym
prostota konstrukcji. Dane można
przesyłać w trybie half-duplex z
prędkością równą 9600 bd i mocą
+10 dBm. Schemat blokowy urzą-
dzenia pokazano na rys. 1 . Sprzę-
żenie z komputerem odbywa się
poprzez interfejs USB, dzięki cze-
mu instalacja jest bardzo prosta, a
dodatkowo do pracy nie jest wy-
magane zewnętrzne zasilanie, gdyż
do zasilania modemu wykorzystano
napięcie dostępne na tym złączu.
Tor radiowy został wykonany przy
użyciu prezentowanych już na ła-
mach EP modułów radiowych firmy
Chipcon typu CC1000PP. Transmisja
radiowa jest realizowana przez te
moduły, na ich wyjściu otrzymuje
się sygnały cyfrowe odpowiadają-
ce przesyłanym danym. Ponieważ
transmisja radiowa, oprócz danych
użytecznych, musi zawierać dodat-
kowe informacje związane z syn-
chronizacją nadajnika z odbiorni-
kiem, nie jest możliwe bezpośred-
nie przesyłanie danych odbieranych
z komputera. Są one formowane
w ramki o maksymalnej długości
64 B, z czego 54 B przeznaczono na
dane, a pozostałe służą do sygnali-
zacji. Jeśli długość pakietu danych
wysyłanych przez komputer prze-
kracza 54 B, to modem wstrzymuje
przesyłanie danych z komputera sy-
gnałem CTS i wysyła pakiet drogą
radiową. Następnie odbierana jest
kolejna paczka bajtów z komputera
i wysyłana radiowo. Dzięki temu
można przesyłać pliki przekraczają-
ce pojemność bufora modemu bez
obawy o utratę danych. Dodatkową
zaletą jest „przeźroczystość” trans-
misji, co oznacza, że modem prze-
syła dowolne dane zorganizowane
bajtowo, a nie tylko znaki ASCII.
Szczegóły realizacji transmisji zosta-
ną omówione w dalszej części arty-
kułu. Sprzężenie modemu z inter-
fejsem USB zostało wykonane przy
użyciu scalonego konwertera USB<-
->RS232, dzięki czemu z punktu
widzenie mikrokontrolera sterujące-
go modemem komunikacja z kom-
puterem przebiega w taki sam spo-
sób jak poprzez standardowy port
RS232. Prędkość tej transmisji jest
ustalona na 57600 bd, aby jak naj-
10
Elektronika Praktyczna 3/2005
P R O J E K T Y
450758962.006.png
Radiomodem z USB
Rys. 1. Schemat blokowy modemu
typu MCP100-270. Zasilanie mi-
krokontrolera napięciem 3 V jest
podyktowane koniecznością przy-
stosowania poziomów napięć wy-
maganych dla współpracy z mo-
dułem CC1000PP, który może być
zasilany maksymalnym napięciem
równym 3,6 V. Zasilanie proceso-
ra takim napięciem obniża jego
maksymalną częstotliwość pracy z
wartości 20 MHz na 10 MHz, co
zmniejsza jego moc obliczeniową.
Jest to jednak najprostszy sposób
dopasowania napięć mikrokontro-
lera i układu CC1000. Zasilenie
procesora napięciem 5 V wymagało-
by zastosowania dodatkowych kon-
werterów napięć, co spowodowa-
łoby rozbudowanie całego układu.
A przy zastosowanym rozwiązaniu
wszystkie układy mogą być połą-
czone ze sobą bezpośrednio.
Komunikacja z modułem
CC1000PP odbywa się poprzez trój-
przewodowy interfejs SPI umożli-
wiając ustawienie parametrów pra-
cy transmisji radiowej. Do wysyła-
nia lub odbierania danych przesy-
łanych drogą radiową wykorzysty-
wane są dwa dodatkowe sygnały
oznaczone jako „DCLK” i „DIO”.
Sygnał „DCLK” jest sygnałem ze-
garowym, w takt którego przesyła-
ne są dane po linii „DIO”. Sygnał
„DCLK” generowany jest przez mo-
duł CC1000PP, natomiast po linii
„DIO” może być przesyłana infor-
macja zarówno w stronę mikrokon-
trolera, jak również od mikrokon-
trolera w stronę układu CC1000.
Kierunek jest uzależniony od trybu
pracy modułu. Częstotliwość sygna-
łu zegarowego jest stała i zależna
od prędkości w torze radiowym.
Ponieważ w przedstawionym mode-
mie jest ona ustalona na wartość
9600 bd, dlatego taki też sygnał
występuje na wyjściu „DCLK”.
Do sygnalizacji stanu pracy mo-
demu służą diody świecące D1…
D3. Zworka JP1 służy do wyboru
maksymalnej przerwy w transmisji
danych z komputera (timeout), po
której zakończy się odbiór
danych i rozpocznie się
transmisja radiowa.
Zasilanie modemu zo-
stało zrealizowane za po-
mocą stabilizatora typu
LP2950, na którego wyj-
ściu otrzymuje się napię-
cie o wartości 3 V wy-
magane do pracy modu-
łu CC1000PP. Ponieważ
modem pobiera niewielki
szybciej przesłać dane pomiędzy
komputerem i mikrokontrolerem.
Podstawowe parametry modemu
przedstawiono w tab. 1 . Jak widać
modem, nie może być zastosowa-
ny do przesyłania plików o dużej
objętości i nie nadaje się do stwo-
rzenia bezprzewodowej sieci kom-
puterowej, jednak z powodzeniem
można przysyłać nim, na przykład
niewielkie pliki tekstowe, wysłać
wyniki pomiarów z jakiegoś czuj-
nika czy przeprowadzić rozmowę
w postaci tekstowej w sposób zbli-
żony do tego, który ma miejsce w
komunikatorach internetowych.
(RTS, CTS). Sygnał CTS pozwala na
zatrzymanie wysyłania danych przez
komputer w przypadku zapełnienia
bufora modemu, dzięki czemu nie
następuje utrata danych, a tylko
wstrzymanie transmisji na czas wy-
słania tych danych drogą radiową.
Po wysłaniu pakietu danych drogą
radiową modem zezwala na wysła-
nie przez komputer kolejnej „pacz-
ki” danych. Natomiast sygnał RTS
informuje modem, czy komputer
jest gotowy na odbiór danych. W
modemie sygnał ten nie jest wyko-
rzystywany i założono, że komputer
jest zawsze gotowy. Założenie to
wynika z faktu, że przesłanie da-
nych z układu FT232BM do kom-
putera przebiega znacznie szybciej
niż z mikrokontrolera do układu
FT232. Dodatkowo układ FT232 po-
siada wewnętrzną pamięć buforującą
(FIFO) o pojemności 384 bajtów, co
dodatkowo zapewnia gotowość do
odbioru danych.
Sterowaniem całego modemu
zajmuje się mikrokontroler typu
PIC16LF876A. Jest to niskonapię-
ciowa wersja mikrokontrolera przy-
stosowana do pracy od napięcia
zasilania równego 2 V. Procesor
pracuje z częstotliwością 10 MHz
stabilizowaną zewnętrznym rezo-
natorem kwarcowym. Ze względu
na obniżone napięcie zasilania ko-
nieczne stało się zastosowanie ze-
wnętrznego układu generującego sy-
gnał reset przy włączeniu zasilania.
Moduł zawarty w mikrokontrolerze
powoduje reset po obniżeniu na-
pięcia poniżej wartości 4 V i dlate-
go został wyłączony, a zastosowany
został układ zewnętrzny reagujący
na napięcie o wartości około 2,7 V
Opis budowy
Schemat elektryczny modemu
przedstawiono na rys. 2 . Urządze-
nie składa się z dwóch zasadni-
czych części: konwertera USB<-
->RS232 oraz modemu radiowego
wykonanego na module CC1000
(U2) i sterującego nim mikrokontro-
lera. Konwersja USB<->RS232 jest
wykonywana przez specjalizowany
układ FT232BM, dzięki czemu po
podłączeniu do komputera na wyj-
ściu układu otrzymuje się sygnały
zgodne ze standardem RS232.
Schemat konwertera USB<->
RS232 jest typową aplikacją zalecaną
przez producenta. Jedyną różnicą w
stosunku do podstawowej aplikacji
jest zastosowanie oddzielnego napię-
cia zasilania dla układu FT232BM
oraz umieszczonego wewnątrz in-
terfejsu wejścia/wyjścia. Cały układ
jest zasilany bezpośrednio ze złą-
cza USB napięciem o wartości 5 V,
natomiast moduł wejścia/wyjścia
napięciem 3 V. Potrzeba rozdziele-
nia napięć zasilania wynika z fak-
tu, że pozostałe elementy
modemu pracują właśnie
z takim napięciem zasi-
lania, co w prosty spo-
sób umożliwiło dopaso-
wanie poziomów napięć.
Do komunikacji układu
FT232BM z mikrokontro-
lerem wykorzystywane są
cztery linie: transmisyjne
(RXD, TXD) i linie steru-
jące przepływem danych
Tab. 1. Charakterystyka modemu z interfejsem USB
Interfejs USB
Zasilanie ze złącza USB
Transmisja radiowa z prędkością 9600 bd
Transmisja RS232 z prędkością 57600 bd
Praca half-duplex
Pakietowe przesyłanie danych ze sprzętowym sterowaniem przepływem
Maksymalna pojemność bufora danych wynosi 54 B
Przeźroczystość transmisji
Moc nadajnika +10 dBm
Sygnalizacja stanu pracy za pomocą trzech diod świecących
Automatyczne przełączanie nadawanie/odbiór
Elektronika Praktyczna 3/2005
11
450758962.007.png 450758962.008.png
Radiomodem z USB
Rys. 2. Schemat elektryczny modemu
Preambuła (4B) Bajt 0xCC Bajt 0x33 Bajt 0x01 Liczba danych(1B) Dane(Max 54B)
Rys. 3. Budowa ramki danych wysyłanych drogą radiową
prąd (maksymalnie około 50 mA),
więc zasilany jest bezpośrednio ze
złącza USB, co znacznie upraszcza
jego sprzężenie z komputerem.
modemie do odbioru danych. Ko-
lejne dwa bajty są charakterystycz-
nymi bajtami weryfikującymi - jeśli
odbiornik odbierze prawidłowo te
bajty o znanej wartości, to uzna-
wane jest, że sygnał radiowy jest
prawidłowy i można odbierać kolej-
ne bajty. Następny bajt jest bajtem
rezerwowym i w danej aplikacji
nie jest wykorzystywany i przyj-
muje wartość 01hex. Następny bajt
określa ile bajtów danych zostanie
wysłanych, liczba ta jest zmienna i
zależna od tego ile bajtów zostało
wysłanych z komputera do mode-
mu. Pozostałe bajty określone jako
„Dane” są właściwymi bajtami wy-
słanymi przez komputer.
Na rys. 4 przedstawiony jest
uproszczony algorytm pracy mi-
krokontrolera. Po włączeniu zasila-
nia następuje inicjalizacja wszyst-
kich parametrów pracy zarówno
mikrokontrolera, jak również mo-
dułu CC1000PP. Po tej czynności
układ CC1000 jest przystosowany
do pracy z prędkością 9600 bps i
mocą nadawania +10 dBm. W tym
momencie znajduje się jednak w
trybie odbiornika, a mikrokontro-
ler pracuje w trybie oczekiwania
(świeci tylko dioda D1-żółta). Dio-
da ta sygnalizuje także poprawną
pracę modułu radiowego - jeśli
modułu nie uda się skalibrować,
to nie zostanie zapalona. Fakt ten
Zasada działania
Dane wysyłane drogą radiową
formowane są w ramki zawierają-
ce dane pobrane z komputera oraz
dodatkowe bajty kontrolne niezbęd-
ne dla poprawnej pracy modemu.
Budowa pojedynczej ramki danych
jest przedstawiona na rys. 3 .
Preambuła składa się z czte-
rech bajtów, w których kolejne
bity zmieniają się naprzemiennie
01010101…. Bity te mają na celu
dopasowanie układu wejściowego w
12
Elektronika Praktyczna 3/2005
450758962.001.png 450758962.002.png 450758962.003.png
Radiomodem z USB
Rys. 4. Algorytm pracy mikrokontrolera
12 ms, natomiast w przypadku, na
przykład terminala „ByBray” kolej-
ne bajty wysyłane są bez przerw.
Dlatego aby przyśpieszyć proces
przesyłania danych w zależności
od zastosowanego programu należy
wybrać odpowiedni czas, gdyż za-
stosowanie dla Hyperterminala cza-
su 870 ms będzie powodowało, że
z powodu długich przerw pomię-
dzy kolejnymi bajtami, po każdym
bajcie modem będzie wstrzymywał
transmisję i wysyłał odebrany bajt
torem radiowym. Natomiast zasto-
sowanie wydłużonego czasu time-
out dla ”Terminala ByBray” spo-
woduje niepotrzebne oczekiwanie
czasu 15 ms na zakończenie trans-
misji, gdy fakt ten można stwier-
dzić już po czasie 870 ms.
Po wykryciu jednego ze stanów
(przekroczenia czasu lub zapełnie-
nia bufora) następuje zatrzymanie
wysyłania danych przez komputer
(sygnałem CTS), a modem zostaje
przełączony w tryb nadawania. W
trybie tym zostaje zapalona dioda
D3 (czerwona). Po wysłaniu pa-
kietu danych modem przechodzi
w tryb czuwania oczekując na ko-
lejne dane radiowe i szeregowe z
komputera.
Oprogramowanie sterujące mi-
krokontrolerem nie kontroluje po-
prawności przesłanych danych po-
przez dodatkowe bajty sumy kon-
trolnej lub CRC, gdyż w przypad-
ku wykrycia błędów w transmisji
modem pracujący w trybie odbio-
ru musiałby zostać przełączony w
tryb nadawania i wysłać do mode-
mu nadawczego informację o tym
fakcie. Jednak modem nadawczy
w tym momencie może wysyłać
kolejne dane, co uniemożliwi ode-
branie tej informacji, a dodatkowo
zostałyby utracone kolejne dane,
gdyż modem odbiorczy byłby w
trybie nadawania. Dlatego jeśli
zachodzi potrzeba kontrolowania
poprawności transmisji procedurę
taką musi wykonywać aplikacja
sterująca pracą modemów dodając
do każdego pakietu danych dodat-
kowe informację kontrolne.
może sygnalizować uszkodzenie
modułu radiowego.
W tym trybie sprawdzane jest,
czy nie pojawiły się dane z kom-
putera oraz na bieżąco analizowa-
ne są dane odbierane z modułu
radiowego, aby wykryć ewentual-
ny początek transmisji danych. W
ten sposób modem przełącza się
w tryb nadawania lub odbioru w
zależności od tego, skąd nadeszły
dane w pierwszej kolejności. Jeśli
wykryty zostanie początek trans-
misji radiowej, to modem zostanie
przełączony w tryb odbiornika, sy-
gnałem CTS zostanie zablokowana
możliwość wysyłania danych do
modemu przez komputer. Odbiera-
ne bajty są zapisywane w buforze
RX, a następnie wysyłane do ukła-
du FT232B poprzez który trafiają
do komputera. Po odebraniu całego
pakietu modem przechodzi w tryb
czuwania ponownie analizując sy-
gnały pochodzące z toru radiowego
i komputera. Na czas odbioru pa-
kietu danych zostaje zapalona dio-
da D2 (zielona).
Równolegle ze sprawdzaniem toru
radiowego mikrokontroler sprawdza,
czy nie są wysyłane dane przez
komputer. Odbiór danych z kom-
putera odbywa się poprzez sprzęto-
wy sterownik transmisji szeregowej,
dzięki czemu cały bajt jest odbie-
rany niezależnie od jednostki cen-
tralnej mikrokontrolera (analogicznie
wysyłanie danych do komputera
sprowadza się do wpisu do rejestru
sterownika sprzętowego).
Jeśli poprzez port szeregowy
zostanie odebrany bajt danych,
to modem odbiera kolejne bajty,
aż do zapełnienia wewnętrznego
bufora (54 bajty) lub przerwy po-
między kolejnymi bajtami dłuż-
szej niż założona (timeout). Za
pomocą zworki JP1 można zmie-
niać ten czas dopasowując mo-
dem do danego terminala. Jeśli
zworka będzie rozwarta, to czas
timeout wynosi 15 ms, jeśli zaś
będzie zwarta, to czas ten odpo-
wiada wysłaniu pięciu bajtów, co
dla prędkości 57600 bps wynosi
około 870 ms. W praktyce oznacza
to, że po wysłaniu do modemu
jednego bajta drogą radiową zosta-
nie on wysłany dopiero po czasie
15 ms dla przypadku pierwszego i
po 870 ms dla przypadku drugie-
go. Zróżnicowanie czasu timeout
zostało wprowadzone, ponieważ w
programie Hyperterminal przy wy-
syłaniu pliku czas pomiędzy po-
szczególnymi bajtami wynosi około
Montaż
Modem został zmontowany na
płytce dwustronnej, której widok jest
przedstawiony na rys. 5 . Ponieważ w
modemie zostały użyte głównie ele-
menty SMD montaż należy przepro-
wadzić bardzo precyzyjnie. Ponadto
w celu zmniejszenia wymiarów płyt-
ki elementy zostały rozmieszczone
Elektronika Praktyczna 3/2005
13
450758962.004.png
Zgłoś jeśli naruszono regulamin