ˇ ´ VYSOKE ´ UCEN ˇ ´I TECHNICKE ´ V PRAZE CESK E ´ Katedra ˇr´ıd´ıc´ı techniky FAKULTA ELEKTROTECHNICKA,
´ PRACE ´ DIPLOMOVA N´ avrh a realizace bezdr´ atov´ eho pˇ renosu dat
2007
Jiˇr´ı Chvojan ˇ CVUT FEL Praha
Podˇ ekov´ an´ı
R´ad bych podˇekoval vedouc´ımu diplomov´e pr´ace Doc.Ing. Janu B´ılkovi, CSc.
Abstrakt Bezdr´atov´e technologie jsou v dneˇsn´ı dobˇe jedn´ım z nejperspektivnˇejˇs´ıch odvˇetv´ı informaˇcn´ıch technologi´ı. Tato pr´ace se zab´ yv´a hlavn´ımi rysy a problematiku spojenou s n´avrhem bezdr´atov´eho spojen´ı pomoc´ı standardu 802.11. Jej´ım c´ılem je popsat principy a fungov´an´ı s´ıt´ı zaloˇzen´ ych na tomto standardu a n´avrh realizace tohoto spojen´ı pro u ´ˇcely ˇr´ızen´ı modelu v re´aln´em ˇcase. V prvn´ı ˇc´asti jsou rozebr´any teoretick´e z´aklady ohlednˇe fungov´an´ı a provozu bezdr´atov´ ych s´ıt´ı a ve druh´e ˇc´asti je praktick´ y n´avrh ˇreˇsen´ı pomoc´ı v´ yvojov´e desky s procesorem PIC18F452.
Abstract Presently, wireless technologies are the most perspecrive branche of information technologies. This work is devoted to a propsal of a wireless network based on 802.11 standard. Main principles and realization propsal for the model controling purposes are described. First a theoretical introduction to the wireless network is analyzed. Finaly a practical realization based on development board with PIC18F452 processor outlined.
OBSAH
i
Obsah 1 Diskuse pouˇ zit´ e technologie bezdr´ atov´ eho pˇ ripojen´ı 1.1 Infraˇcerven´a technologie . . . . . . . . . . . . . . . . . 1.1.1 IrDA . . . . . . . . . . . . . . . . . . . . . . . . 1.1.2 Laserov´a poj´ıtka . . . . . . . . . . . . . . . . . 1.2 Technologie zaloˇzen´e na ˇs´ıˇren´ı radiov´ ych vln . . . . . . 1.2.1 PacketRadio . . . . . . . . . . . . . . . . . . . . 1.2.2 Wireless USB . . . . . . . . . . . . . . . . . . . 1.2.3 HomeRF . . . . . . . . . . . . . . . . . . . . . . 1.2.4 Wi-Fi - IEEE 802.11 . . . . . . . . . . . . . . . 1.2.5 ZigBee - 802.15.4 . . . . . . . . . . . . . . . . . 1.2.6 Bluetooth - IEEE 802.15.1 . . . . . . . . . . . .
. . . . . . . . . .
. . . . . . . . . .
. . . . . . . . . .
. . . . . . . . . .
. . . . . . . . . .
. . . . . . . . . .
. . . . . . . . . .
. . . . . . . . . .
. . . . . . . . . .
. . . . . . . . . .
. . . . . . . . . .
. . . . . . . . . .
1 1 2 4 6 6 6 7 8 9 13
2 Popis standardu 802.11 2.1 Komponenty s´ıtˇe . . . . . . . . . . . . . . . . . . . 2.2 Typy s´ıt´ı . . . . . . . . . . . . . . . . . . . . . . . . 2.2.1 Ad-hoc s´ıtˇe . . . . . . . . . . . . . . . . . . 2.2.2 Infrastrukturn´ı s´ıtˇe . . . . . . . . . . . . . . 2.3 OSI model . . . . . . . . . . . . . . . . . . . . . . . 2.4 Fyzick´a vrstva . . . . . . . . . . . . . . . . . . . . . 2.4.1 Rozprostˇren´e spektrum (spread spectrum) . 2.4.2 Typy rozprostˇren´eho spektra . . . . . . . . . 2.4.3 Vylepˇsen´ı fyzick´e vrstvy specifikac´ı 802.11b . 2.4.4 Radiov´e frekvence . . . . . . . . . . . . . . . 2.4.5 Interference sign´alu . . . . . . . . . . . . . . 2.4.6 Podvrstvy PLCP a PMD . . . . . . . . . . . 2.5 Spojov´a vrstva a MAC vrstva . . . . . . . . . . . . 2.5.1 Mezir´amcov´e mezery . . . . . . . . . . . . . 2.5.2 CSMA/CA a probl´em skryt´eho uzlu . . . . ˇ ızen´ı spotˇreby . . . . . . . . . . . . . . . . . . . . 2.6 R´ 2.7 Form´at MAC r´amce . . . . . . . . . . . . . . . . . 2.8 Bezpeˇcnost . . . . . . . . . . . . . . . . . . . . . . ˇ 2.8.1 Sifrov´ an´ı pˇren´aˇsen´ ych dat . . . . . . . . . . 2.8.2 Autentizace . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . .
16 16 16 17 17 18 19 20 20 21 22 22 23 25 25 26 27 28 29 30 30
3 Hardwarov´ eˇ reˇ sen´ı ovl´ adac´ı jednotky 3.1 Popis hardware ovl´adac´ı jednotky . . 3.2 V´ yvojov´a deska ER25 . . . . . . . . . 3.3 Popis napojen´ı na jednotliv´e prvky . 3.4 Architektura PIC18F452 . . . . . . . 3.4.1 CPU a ALU . . . . . . . . . . 3.4.2 Organizace pamˇeti . . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
32 32 32 33 35 35 36
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
OBSAH
ii 3.4.3 3.4.4 3.4.5 3.4.6 3.4.7
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
38 39 40 41 41
4 Software pro ovl´ adac´ı jednotku a pˇ ripojen´ e PC 4.1 Program pro mikrokontroler . . . . . . . . . . . . 4.1.1 Popis SDK Chipweb . . . . . . . . . . . . 4.1.2 Zpracov´an´ı pˇr´ıchoz´ıho paketu v ChipWebu ´ 4.1.3 Upravy SDK pro potˇreby aplikace . . . . . 4.1.4 MPLAB IDE v 7.42 . . . . . . . . . . . . 4.1.5 Kompil´ator HI-TECH PICC18 . . . . . . . 4.1.6 Debugger SCPD2 . . . . . . . . . . . . . . 4.1.7 Program´ator PRESTO a aplikace Up! . . . 4.2 Program pro PC . . . . . . . . . . . . . . . . . . 4.2.1 Autonomn´ı model . . . . . . . . . . . . . . 4.2.2 Pˇr´ımo ˇr´ızen´ y model . . . . . . . . . . . . .
. . . . . . . . . . .
. . . . . . . . . . .
. . . . . . . . . . .
. . . . . . . . . . .
. . . . . . . . . . .
. . . . . . . . . . .
. . . . . . . . . . .
. . . . . . . . . . .
. . . . . . . . . . .
. . . . . . . . . . .
. . . . . . . . . . .
. . . . . . . . . . .
. . . . . . . . . . .
. . . . . . . . . . .
. . . . . . . . . . .
43 44 48 49 49 50 51 52 52 54 54 55
5 Z´ avˇ er
Vstupnˇe - v´ ystupn´ı porty . . . . . Pˇreruˇsen´ı . . . . . . . . . . . . . ˇ Casovaˇ ce . . . . . . . . . . . . . . Low Voltage Detect . . . . . . . . Watchdog ˇcasovaˇc a funkce Sleep
. . . . .
. . . . .
. . . . .
. . . . .
56
OBSAH
iii
´ Uvod ´ Ukolem diplomov´e pr´ace je n´avrh bezdr´atov´eho ˇr´ızen´ı modelu. Po d˚ ukladn´em pr˚ uzkumu bezdr´atov´ ych technologi´ı jsem se rozhodl pro standard 802.11. Je pravda, ˇze jsem mˇel v´ıcero kandid´at˚ u, ale nakonec jsem dal pˇrednost pr´avˇe t´eto technologii. Revize 802.11b je v dneˇsn´ı dobˇe asi nejrozˇs´ıˇrenˇejˇs´ı bezdr´atov´a specifikace standardu 802.11 kter´a se pouˇz´ıv´a pro pˇrenos dat. V dneˇsn´ı dobˇe se zaˇc´ınaj´ı prosazovat r˚ uzn´e jin´e alternativy s vyˇsˇs´ımi pˇrenosov´ ymi rychlostmi pracuj´ıc´ımi ve vyˇsˇs´ıch frekvenˇcn´ıch p´asmech a pouˇz´ıvaj´ıc´ımi odliˇsn´e protokoly. Pro naˇse u ´ˇcely ovˇsem bohatˇe postaˇc´ı pˇrenosov´a rychlost kter´a se u t´eto specifikace pohybuje v teoretick´e rovinˇe okolo 10 Mbps. Pro ˇreˇsen´ı jsem vybral v´ yvojovou desku osazenou mikroˇradiˇcem firmy Microchip s oznaˇcen´ım PIC18F452. Toto ˇreˇsen´ı se mi pˇriˇslo zaj´ımav´e pro jeho n´ızkou spotˇrebu coˇz je jedn´ım z hlavn´ıch d˚ uvod˚ u m´eho v´ ybˇeru. Toto zaˇr´ızen´ı by mˇelo pracovat v mobiln´ım zaˇr´ızen´ı a proto ot´azka spotˇreby je jedn´ım z hlavn´ıch krit´eri´ı. Dalˇs´ım d˚ uvodem byla roˇs´ıˇrenost standardu a tud´ıˇz i dostupnost hardwaru pro PC. V z´avˇeru byla komunikace testov´ana na modelu praˇcky, kter´ y jsem pro tyto ˚ uˇcely vyrobil.
ˇ E ´ TECHNOLOGIE BEZDRATOV ´ ´ ˇ ´I 1 DISKUSE POUZIT EHO PRIPOJEN
1
1
Diskuse pouˇ zit´ e technologie bezdr´ atov´ eho pˇ ripojen´ı
1.1
Infraˇ cerven´ a technologie
Infraˇcerven´e z´aˇren´ı (tak´e IR, z anglick´eho infrared) je elektromagnetick´e z´aˇren´ı s vlnovou d´elkou vˇetˇs´ı neˇz viditeln´e svˇetlo, ale menˇs´ı neˇz mikrovlnn´e z´aˇren´ı. N´azev znaˇc´ı ”pod ˇcervenou” (z latiny infra = ”pod”). Infraˇcerven´e z´aˇren´ı zab´ır´a ve spektru 3 dek´ady a m´a vlnovou d´elku mezi 760 nm a 1 mm, resp. energii foton˚ u mezi 0,0012 a 1,63 eV. Infraˇcerven´e z´aˇren´ı se d´ale dˇel´ı na jednotliv´a p´asma. Toto dˇelen´ı ovˇsem nen´ı jednoznaˇcnˇe dan´e. Jedno sch´ema je napˇr´ıklad toto: • bl´ızk´e (near) infraˇcerven´e z´aˇren´ı neboli NIR • IR-A podle normy DIN, vlnov´a d´elka 0, 76 − 1, 4µm, definov´ano podle vodn´ı absorpce; ˇcasto pouˇz´ıvan´e v telekomunikac´ıch optick´ ych vl´aken • IR kr´atk´e vlnov´e d´elky (short wave) neboli SWIR • IR-B podle DIN, vlnov´a d´elka 1, 4 − 3µm, pˇri 1450nm znaˇcnˇe roste vodn´ı absorpce • IR stˇredn´ı vlnov´e d´elky (medium wave) neboli MWIR • IR-C podle DIN, t´eˇz prostˇredn´ı (intermediate-IR neboli IIR), 3 − 8µm • IR dlouh´e vlnov´e d´elky (long wave) neboli LWIR • IR-C podle DIN, 8 − 15µm • dlouh´e (far) infraˇcerven´e z´aˇren´ı neboli FIR 15 − 1000µm Dalˇs´ı ˇcasto pouˇz´ıvan´e rozdˇelen´ı je toto: • bl´ızk´e (0, 7 − 5µm) • stˇredn´ı (5 − 30µm) • dlouh´e (30 − 1000µm) Aplikace Infraˇcerven´e z´aˇren´ı se pouˇz´ıv´a pro pˇrenos informac´ı na kr´atkou vzd´alenost, nejˇcastˇeji podle standardu IrDA. Pˇr´ıkladem mohou b´ yt mobiln´ı telefony ˇci d´alkov´e ovladaˇce. Infraˇcerven´e z´aˇren´ı v nich vys´ılaj´ı LED diody.
ˇ E ´ TECHNOLOGIE BEZDRATOV ´ ´ ˇ ´I 1 DISKUSE POUZIT EHO PRIPOJEN
2
Telekomunikaˇ cn´ı p´ asma Pro u ´ˇcely optick´e komunikace se IR z´aˇren´ı dˇel´ı takto: • O-p´asmo 1260-1360 nm, f = 238-220 THz • E-p´asmo 1360-1460 nm, f = 220-206 THz • S-p´asmo 1460-1530 nm, f = 206-196 THz • C-p´asmo 1530-1565 nm, f = 196-191 THz • L-p´asmo 1565-1625 nm, f = 191-185 THz • U-p´asmo 1625-1675 nm, f = 185-179 THz 1.1.1
IrDA
IrDA je standard vytvoˇren´ y IrDA konzorciem (Infrared Data Association), kter´ y definuje jak bezdr´atovˇe pˇren´aˇset digit´aln´ı data pomoc´ı infraˇcerven´eho z´aˇren´ı. IrDA ve sv´ ych specifikac´ıch definuje standardy jak fyzick´ ych koncov´ ych zaˇr´ızen´ı tak protokolu jimiˇz komunikuji IrDA zaˇr´ızen´ı. IrDA standard vznikl z potˇreby mobilnˇe propojit r˚ uzn´e zaˇr´ızen´ı mezi sebou (hlavn´ı vyuˇzit´ı IrDA je pro spojen´ı notebooku ˇci r˚ uzn´ ych person´aln´ıch komunik´ator˚ u, ale IrDA rozhran´ım jsou vybavov´any napˇr´ıklad i videokamery). IrDA zaˇr´ızen´ı komunikuj´ı pomoc´ı infraˇcerven´ ych LED diod a pˇrij´ımaˇcem jsou PIN fotodiody. IrDA zaˇr´ızen´ı dle normy IrDA 1.0 a 1.1 pracuj´ı do vzd´alenosti 1.0 m pˇri bitov´e chybovosti BER (bit error ratio, pomˇer chybn´e pˇrenesen´ ych bit˚ u ke spr´avnˇe pˇrenesen´ ym) 10-9 a maxim´aln´ı u ´rovni okoln´ıho osvˇetlen´ı 10klux (denn´ı svit slunce). Rychlosti jsou pro IrDA v. 1.0 od 2400 do 115200 kbps, pouˇz´ıv´a se pulsn´ı modulace 3/16 d´elky p˚ uvodn´ı doby trv´an´ı bitu. Form´at dat je stejn´ y jako na s´eriov´em portu, tedy asynchronnˇe vys´ılan´e slovo uvozen´e startbitem. IrDA v. 1.1 definuje nav´ıc rychlosti 0.576 a 1.152 Mbps s pulsn´ım k´odov´an´ım 1/4 d´elky doby trv´an´ı p˚ uvodn´ıho bitu (stˇr´ıda 1/4). Pˇri tˇechto rychlostech je jiˇz z´akladn´ı jednotka (paket) vys´ıl´an synchronnˇe uvozen startovn´ı sekvenc´ı. Pro rychlost 4 Mbps se pouˇz´ıv´a takzvan´a 4PPM modulace se stˇr´ıdou 1/4, v n´ıˇz se 2 bity informace zak´oduj´ı do pulsu v jednom ze ˇctyˇr moˇzn´ ych ˇcasov´ ych pozic, nositelem informace je zde tedy pozice pulsu v ˇcase nam´ısto existence pulsu jako u pˇredchoz´ıch modulac´ı. D˚ uvodem pouˇzit´ı 4PPM modulace je to, ˇze je potˇreba polovina bliknut´ı LED diody neˇz v pˇredch´azej´ıc´ıch modulac´ıch - lze tedy pˇren´aˇset data dvakr´at rychleji. Kromˇe toho se pˇrij´ımaˇci l´epe udrˇzuje u ´roveˇ n ostatn´ıho osvˇetlen´ı - pˇri 4PPM modulaci dopad´a na pˇrij´ımaˇc konstantn´ı poˇcet puls˚ u za danou dobu. IrDA definuje jeˇstˇe tzv. low-power IrDA zaˇr´ızen´ı s dosahem do 20 cm a maxim´aln´ı rychlost´ı 115kbps
ˇ E ´ TECHNOLOGIE BEZDRATOV ´ ´ ˇ ´I 1 DISKUSE POUZIT EHO PRIPOJEN
3
Poˇ z´ıvan´ e protokoly IrDA Infrared Link Access Protocol (IrLAP) Jedn´a se o u ´pravu protokolu HDLC pozmˇenˇen´eho pro potˇreby IrDA komunikace. V podstatˇe se star´a o to, aby pˇri komunikaci v´ıce zaˇr´ızen´ı najednou tato zaˇr´ızen´ı neruˇsila a urˇcuje pravidla pro vz´ajemnou komunikaci. V praxi to vypad´a tak, ˇze jedno zaˇr´ızen´ı je prim´arn´ı a ostatn´ı jsou sekund´arn´ı. IrLAP popisuje jak spolu nav´aˇz´ı zaˇr´ızen´ı komunikaci, ukonˇc´ı ˇci jak se budou internˇe ˇc´ıslovat. Nav´az´an´ı spojen´ı zaˇc´ın´a na rychlosti 9600 Bd a po v´ ymˇenˇe informac´ı o rychlostech jednotliv´ ych koncov´ ych u ´ˇcastn´ık˚ u komunikace se vytvoˇr´ı logick´e kan´aly ˇr´ızen´e vˇzdy jen jedn´ım prim´arn´ım zaˇr´ızen´ım. IrDA Infrared Link Management Protocol (IrLMP) IrLMP m´a za u ´kol detekovat pˇr´ıtomnost zaˇr´ızen´ı kter´a nab´ızej´ı nˇejakou sluˇzbu, kontrolovat tok dat a dˇelat multiplexor pro konfigurace kde se u ´ˇcastn´ı v´ıce stanic s r˚ uzn´ ymi schopnostmi Aplikace potom vyuˇz´ıvaj´ı vrstvy IrLMP k dotaz˚ um zda je v dosahu poˇzadovan´e zaˇr´ızen´ı apod. V t´eto vrstvˇe vˇsak nen´ı definov´an spolehliv´ y zp˚ usob vytvoˇren´ı kan´alu, ten je definov´an aˇz v IrDA Transport Protocols ( Tiny TP). IrDA Transport Protocols (Tiny TP) je vrstva kter´a udrˇzuje virtu´aln´ı kan´al mezi zaˇr´ızen´ımi a sama opravuje chyby na lince (ztr´ata paketu apod.), prov´ad´ı rozdˇelen´ı dat do paket˚ u a jejich znovusestaven´ı. IrDA Object Exchange Protocol (IrOBEX) Jedn´a se o jednoduch´ y protokol s pˇr´ıkazy PUT a GET kter´ y dovoluje pˇren´aˇset bin´arn´ı data mezi zaˇr´ızen´ımi. Je postaven na TinyTP a norma definuje co napsat do paketu aby se zaˇr´ızen´ı poznala a komunikovala. Extensions to IrOBEX for Ir Mobile Communications Je to rozˇs´ıˇren´ı IrOBEX pro mobiln´ı zaˇr´ızen´ı (handheldy, PDA, mobily) Definuje jak pˇren´aˇset informace vztahuj´ıc´ı se k GSM s´ıti (adres´aˇre, SMS, kalend´aˇr, ovl´ad´an´ı vyt´aˇcen´ı ˇc´ısel, digit´aln´ı pˇrenos voice pres Ir ...) IrTran-P (Infrared Transfer Picture) Specification Jedn´a se o definici kterou vyvynuly velk´e firmy vyr´abˇej´ıc´ı digit´aln´ı fotoapar´aty k pˇrenosu obr´azk˚ u pˇres infra rozhran´ı. Je postaven tak´e nad TinyTP.
ˇ E ´ TECHNOLOGIE BEZDRATOV ´ ´ ˇ ´I 1 DISKUSE POUZIT EHO PRIPOJEN 1.1.2
4
Laserov´ a poj´ıtka
Optick´ ym bezdr´atov´ ym spojem (FSO) se obvykle rozum´ı digit´aln´ı plnˇe duplexn´ı spoj umoˇzn ˇuj´ıc´ı ˇsirokop´asmov´e komunikaˇcn´ı pˇrenosy vzduchem pˇri pouˇzit´ı neviditeln´ ych paprsk˚ u svˇetla. Vedle datov´ ych spoj˚ u lze tyto spoje s v´ yhodou pouˇz´ıt i pro pˇrenos hlasu ˇci obrazu. Pˇ renosov´ a rychlost Jelikoˇz je rychlost ˇs´ıˇren´ı svˇetla vzduchem vyˇsˇs´ı nˇeˇz pˇres vl´aknovou infrastrukturu, je moˇzn´e bezdr´atov´e optick´e spoje nazvat optickou komunikac´ı rychlost´ı svˇetla. Mus´ıme vˇsak br´at v u ´vahu n´avazn´e prvky, kter´e pˇrece jenom urˇcit´e sn´ıˇzen´ı pˇrenosov´e rychlosti zp˚ usob´ı. Ale i tak lze realizovat obrovsk´e datov´e toky v ˇr´adech Gigabit˚ u (v pˇr´ıpadˇe produkt˚ u LightPointe se jedn´a aˇz o 2,5 Gbit/s). Kaˇzd´a jednotka je tvoˇrena kombinovan´ ym optick´ ym vys´ılaˇcem a pˇrij´ımaˇcem, takˇze se nav´ıc jedn´a o obousmˇern´e plnˇe duplexn´ı spojen´ı. Spolehlivost a dostupnost Realizovat spolehliv´e spoje na delˇs´ı vzd´alenosti znemoˇzn ˇuje u ´tlum svˇetla v atmosf´eˇre, kter´ y se razantnˇe zvyˇsuje smogem, deˇstˇem, snˇeˇzen´ım a pˇredevˇs´ım mlhou. Jelikoˇz je z´avislost na povˇetrnostn´ıch podm´ınk´ach podstatnou nev´ yhodou tˇechto spoj˚ u, snaˇz´ı se v´ yrobci aplikovat do sv´ ych produkt˚ u st´ale nov´e a nov´e metody pro zv´ yˇsen´ı spolehlivosti. Jednou z nich je napˇr. v´ıcesvazkov´e ˇs´ıˇren´ı sign´alu, kter´e je odolnˇejˇsi jak v˚ uˇci atmosf´erick´ ym vliv˚ um tak i v˚ uˇci zaclonˇen´ı paprsku. Zpravidla se pouˇz´ıvaj´ı 4 svazky. V´ yznamn´ y je tak´e pˇrechod na d´elku nosn´e vlny v p´asmu 1550nm (drtiv´a vˇetˇsina souˇcasn´ ych spoj˚ u pouˇz´ıv´a vlnovou d´elku 850nm) D´ıky v´ yhodnˇejˇs´ım podm´ınk´am pro bezpeˇcnou pr´aci v p´asmu 1550nm lze podstatnˇe zv´ yˇsit v´ ykon laserov´eho vys´ılaˇce Pro pˇrij´ımaˇce se vedle bˇeˇznˇe pouˇz´ıvan´ ych kˇrem´ıkov´ ych PIN diod, kter´e jsou dostateˇcnˇe rychl´e, zaˇc´ınaj´ı pouˇz´ıvat tzv APD diody. Tyto maj´ı aˇz ston´asobnou citlivost oproti PIN diod´am, avˇsak mus´ı b´ yt stabilizov´ana jejich teplota, mus´ı pracovat pˇri vˇetˇs´ım napˇet´ı, atd. U profesion´aln´ıch syst´em˚ u jsou vˇsak ˇc´ım d´al ˇcastˇeji pouˇz´ıvan´e, nebot’ - jak ud´avaj´ı samotn´ı v´ yrobci - v´ ysledek stoj´ı za investice. Spolehlivost s ohledem na vlivy poˇcas´ı je pak dokonce lepˇs´ı neˇz 99,995 procenta. Dalˇs´ıho zv´ yˇsen´ı spolehlivosti v´ yrobci dosahuj´ı tak´e pouˇzit´ım velk´ ych apertur vys´ılac´ıch soustav. Doch´az´ı tak ke sn´ıˇzen´ı optick´e intenzity na v´ ystupu, coˇz d´ale zvyˇsuje odolnost svazku v˚ uˇci zaclonˇen´ı. Velmi d˚ uleˇzit´ ym hlediskem je zajiˇstˇen´ı smˇerov´e stability spoje. Je tˇreba si uvˇedomit, ˇze na vzd´alenost kilometru znamen´a i nepatrn´e chvˇen´ı vys´ılaˇce metrov´e odchylky paprsku. Proto b´ yvaj´ı drˇz´aky velice robustn´ı a pˇredimenzovan´e, aby se tomuto vlivu zamezilo. Nˇekdy vˇsak ani nejpevnˇejˇs´ı uchycen´ı nemus´ı staˇcit, nebot’ budova, na kterou je zaˇr´ızen´ı instalov´ano se m˚ uˇze pohybovat. Na stˇrech´ach v´ yˇskov´ ych budov mohou v´ ykyvy dos´ahnout i nˇekolika centimetr˚ u. Nˇekteˇr´ı pˇredn´ı v´ yrobci zaˇc´ınaj´ı do sv´ ych zaˇr´ızen´ı aplikovat dalˇs´ı prostˇredek pro zv´ yˇsen´ı spolehlivosti, tzv. Autotracking syst´em, coˇz je syst´em aktivn´ıho zamˇeˇrov´an´ı, kter´ y automaticky upravuje smˇer paprsku dle potˇreby. Pˇrestoˇze v´ yrobci ud´avaj´ı garantovan´e dosahy v nˇekter´ ych pˇr´ıpadech aˇz 5 km, realizovat lze pouze spoje na relativnˇe kr´atk´e vzd´alenosti (kolem 500m). Tak lze zajistit dostupnost
ˇ E ´ TECHNOLOGIE BEZDRATOV ´ ´ ˇ ´I 1 DISKUSE POUZIT EHO PRIPOJEN
5
99,99 procenta. Neoddiskutovatelnou podm´ınkou spolehliv´eho spoje je snad jeˇstˇe v´ıce neˇz u mikrovlnn´ ych syst´em˚ u naprost´a pˇr´ım´a viditelnost. V´ yhody oproti mikrovlnn´ ym spoj˚ um
• vysok´e pˇrenosov´e rychlosti (aˇz 2.5 Gbit/s) - vysok´a pˇrenosov´a rychlost umoˇzn ˇuje plnohodnotn´e nasazen´ı tˇechto syst´em˚ u ve vˇsech typech pˇrenosov´ ych s´ıt´ı • ˇz´adn´e vz´ajemn´e ruˇsen´ı - vysoce smˇerov´ y paprsek zaruˇcuje vysokou prostorovou selektivitu pˇrenosov´eho sign´alu, proto nehroz´ı interference s jin´ ymi spoji • ˇz´adn´a potˇreba kmitoˇctov´eho pˇr´ıdˇelu - p´asmo optick´e nosn´e vlny leˇz´ı mimo oblast ˇ U, ´ proto pˇri instalaci a provozu spoje nevznikaj´ı legislativn´ı pˇrek´aˇzky a p˚ usobnosti CT optick´a s´ıt’ je tak naprosto nez´avisl´a na omezen´em a regulovan´em spektru a kmitoˇctov´e licenci • Transparentnost pro pouˇz´ıvan´e protokoly a navazuj´ıc´ı s´ıtˇe - Ethernet, Fast Ethernet, Gigabit Ethernet, SONET/SDH, ATM, FDDI atd. • pˇrenositelnost a flexibilita ˇreˇsen´ı - frekvenˇcn´ı nez´avislot umoˇzn ˇuje pˇr´ıpadn´e pˇresunut´ı spoje na jin´e lokality bez pˇreladˇen´ı • intern´ı i extern´ı um´ıstˇen´ı - nˇekter´a zaˇr´ızen´ı lze um´ıstit jak vnˇe budov, tak i uvnitˇr napˇr. za okno a chr´anit tak samotn´e jednotky pˇred atmosf´erick´ ymi vlivy • bezpeˇcnost pˇren´aˇsen´ ych dat - lze pouˇz´ıvat v´ yˇse zmiˇ novan´e kryptografick´e protokoly • pˇr´ızniv´ y pomˇer cena/v´ ykon - tato poj´ıtka jsou zvl´aˇstˇe u vysok´ ych pˇrenosov´ ych kapacit podstatnˇe cenovˇe pˇr´ıstupnˇejˇs´ı neˇz kapacitou srovnateln´a r´adiov´a poj´ıtka
ˇ E ´ TECHNOLOGIE BEZDRATOV ´ ´ ˇ ´I 1 DISKUSE POUZIT EHO PRIPOJEN
1.2 1.2.1
6
Technologie zaloˇ zen´ e na ˇ s´ıˇ ren´ı radiov´ ych vln PacketRadio
Packet Radio je v radioamat´ersk´a obdoba internetu. S´ıt’ PR je s´ıt´ı uzlov´ ych stanic (n´od˚ u) a BBS (Bulletin Board Service - server˚ u umoˇzn ˇuj´ıc´ıch ukl´ad´an´ı a ˇcten´ı soukrom´e i veˇrejn´e poˇsty - bulletin˚ u). Od poˇc´atku byla s´ıt’ PR budov´ana tak, ˇze pro spojen´ı jednotliv´ ych prvk˚ u s´ıtˇe byly pouˇzity bezdr´atov´e linky v radioamat´ersk´ ych p´asmech. Jednotliv´ı uˇzivatel´e (radioamat´eˇri) se do s´ıtˇe PR pˇripojovali t´eˇz bezdr´atovˇe pomoc´ı sv´ ych radioamat´ersk´ ych zaˇr´ızen´ı. Dnes se v nˇekter´ ych pˇr´ıpadech pro zv´ yˇsen´ı pˇrenosov´ ych rychlost´ı vyuˇz´ıv´a pro pˇrenos dat mezi p´ateˇrn´ımi body t´eˇz s´ıtˇe internet. Nˇekter´e BBS umoˇzn ˇuj´ı vstup do syst´emu kromˇe pˇr´ıstupu bezdr´atov´eho t´eˇz vstupu pˇres internet. PR umoˇzn ˇuje pos´ıl´an´ı zpr´av ˇci soubor˚ u bud’ konkr´etn´ımu adres´atovi, nebo do veˇrejnˇe pˇr´ıstupn´ ych diskusn´ıch skupin apod. Podoba s internetem a elektronickou poˇstou nen´ı n´ahodn´a, packet radio vˇsak spatˇrilo svˇetlo svˇeta o nˇeco dˇr´ıve neˇz komercionalizovan´a podoba e-mailu a i jeho rychlost je nepomˇernˇe niˇzˇs´ı. Radioamat´er˚ um vˇsak slouˇz´ı pro ˇs´ıˇren´ı informac´ı v r´amci regionu, st´atu ˇci cel´eho svˇeta dostateˇcnˇe. O s´ıt’ PR se ale mus´ı neust´ale starat, dozorovat ji a rozv´ıjet mnoˇzstv´ı nadˇsen´ ych radioamat´er˚ u. Syst´emov´ ym oper´ator˚ um jednotliv´ ych uzl˚ u s´ıtˇe se ˇr´ık´a sysopov´e (SYStem-OPer´ator). Pr´avˇe d´ıky jejich ˇcasu m˚ uˇze s´ıt’ ˇslapat tak, jak m´a. Provoz s´ıtˇe je financov´an z pˇr´ıspˇevk˚ u uˇzivatel˚ u. Kromˇe priv´atn´ıch zpr´av jsou pomoc´ı PR ˇs´ıˇreny nejˇcastˇeji radioamat´ersk´e informace (napˇr. rady, ˇz´adosti o rady, schemata zapojen´ı, informace o podm´ınk´ach ˇs´ıˇren´ı radiov´ ych vln, obecn´a sdˇelen´ı o kon´an´ı radioamat´ersk´ ych setk´an´ı, podm´ınky radioamat´ersk´ ych diplom˚ u. . . atd.) S´ıt’ PR je pˇr´ıstupn´a v´ yhradnˇe radioamat´er˚ um. Jako pˇrenosov´ y protokol je pouˇz´ıv´an AX.25, kter´ y vznikl ze zn´amˇejˇs´ıho X.25 Hardwarov´e poˇzadavky na stranˇe uˇzivatele pˇredpokl´adaj´ı kromˇe PC a speci´aln´ıho zdarma pˇr´ıstupn´eho software i speci´aln´ı modem. Modem lze nahradit zvukovou kartou. V´ yhodou vyuˇz´ıv´an´ı s´ıtˇe PR v˚ uˇci vyuˇz´ıv´an´ı internetu jsou nulov´e n´aklady na pˇripojen´ı k s´ıti a t´eˇz i okamˇzit´a dostupnost pˇripojen´ı k s´ıti PR pomoc´ı jednotn´e technologie prakticky na ˇ e republiky, ale i vˇsech vyspˇel´ cel´em u ´zem´ı nejen Cesk´ ych zem´ı svˇeta. Pro pˇripojen´ı uˇzivatel˚ u se pouˇz´ıvaj´ı kmitoˇcty v p´asmech VKV 145 MHz a 432 MHz. Nev´ yhodou je relativnˇe pomal´ y pˇrenos dat - nejrozˇs´ıˇrenˇejˇs´ımi pˇrenosov´ ymi rychlostmi pro pˇripojen´ı uˇzivatel˚ u jsou 1,2 kbit/s (1200 bit˚ u za sekundu) a 9,6 kbit/s. V m´ıstech, kde nen´ı moˇzn´e pˇripojen´ı v p´asmech VKV (typicky na moˇri) se vyuˇz´ıvaj´ı KV kmitoˇcty, kde je vˇsak pˇrenosov´a rychlost pouh´ ych 300 bit/s. (Pro porovn´an´ı - rychlost telefonn´ıho modemu pouˇz´ıvan´eho pro pˇripojen´ı k s´ıti Internet je 56 kbit/s, tedy asi 50x vyˇsˇs´ı neˇz bˇeˇzn´e pˇripojen´ı do PR a skoro 200x vyˇsˇs´ı neˇz pˇripojen´ı do PR pˇres p´asma KV.) 1.2.2
Wireless USB
V roce 2001 si spoleˇcnost Cypress Semiconductor (CS) nechala registrovat ochrannou zn´amku na oznaˇcen´ı WirelessUSB a od stejn´eho roku vyr´ab´ı a nab´ız´ı integrovan´e obvody pro bezdr´atovou komunikaci. WirelessUSB je vlastn´ı protokol vyvinut´ y spoleˇcnost´ı CS, kter´ y umoˇzn ˇuje levnˇeji ˇreˇsit
ˇ E ´ TECHNOLOGIE BEZDRATOV ´ ´ ˇ ´I 1 DISKUSE POUZIT EHO PRIPOJEN
7
bezdr´atov´e pˇripojen´ı perifern´ıch zaˇr´ızen´ı ovl´adan´ ych ˇclovˇekem (HID = Human Interface Devices), jako jsou napˇr´ıklad bezdr´atov´e kl´avesnice a myˇsi. V podstatˇe jde o n´ahradu klasick´eho kabelov´eho USB spojen´ı perifern´ıho zaˇr´ızen´ı bezdr´atov´ ym pˇripojen´ım, pˇriˇcemˇz osobn´ı poˇc´ıtaˇc nemus´ı toto bezdr´atov´e pˇripojen´ı obsluhovat. To znamen´a, ˇze nen´ı tˇreba ˇz´adn´ y speci´aln´ı software pro dan´e zaˇr´ızen´ı. CS volil pro sv˚ uj nov´ y protokol bezlicenˇcn´ı p´asmo 2,4 GHz kter´e rozdˇeluje na 79 nez´avisl´ ych kan´al˚ u. To umoˇzn ˇuje zaˇr´ızen´ım vys´ılat v jednotliv´ ych kan´alech vz´ajemnˇe nez´avisl´e sign´aly. Nav´ıc protokol WirelessUSB podporuje ”frequency hopping” (stejnˇe jako BlueTooth) s v´ yˇse uveden´ ym poˇctem kan´al˚ u. To znamen´a, ˇze by nemˇel b´ yt probl´em pouˇz´ıvat protokol WirelessUSB z´aroveˇ n s dalˇs´ımi protokoly v dan´em frekvenˇcn´ım p´asmu. Zaˇr´ızen´ı s integrovan´ ymi obvody urˇcen´ ymi pro pr´aci s protokolem WirelessUSB spoleˇcnosti CS jsou schopny komunikovat na vzd´alenost 10 metr˚ u, coˇz je srovnateln´e s technologi´ı BlueTooth (pokud se daj´ı oba zp˚ usoby komunikace srovn´avat). Vzd´alenost mezi zaˇr´ızen´ımi je moˇzn´e zv´ yˇsit aˇz na 100 metr˚ u pˇrid´an´ım extern´ıch zesilovaˇc˚ u. Pˇrenosov´a rychlost protokolu WirelessUSB je pouh´ ych 64 kbit/s (u jednosmˇern´ ych s´ıt´ı), ale jak bylo uvedeno, je plnˇe dostaˇcuj´ıc´ı pro zaˇr´ızen´ı, jako jsou napˇr´ıklad myˇsi a kl´avesnice. Protokol WirelessUSB byl navrˇzen tak, aby komunikace mezi zaˇr´ızen´ımi dosahovala mal´eho zpoˇzdˇen´ı (CS ud´av´a aˇz 30 milisekund) pˇri minim´aln´ım odbˇeru elektrick´e energie (1 µ A ve ”sleep modu”). V t´eto souvislosti se nab´ız´ı srovn´an´ı s technologi´ı BlueTooth a ZigBee. Z´akladn´ı rozd´ıl mezi WirelessUSB a technologi´ı BlueTooth je ten, ˇze zaˇr´ızen´ı pracuj´ıc´ı s protokolem WirelessUSB nevyˇzaduj´ı pˇrenos synchronizaˇcn´ıch u ´daj˚ u bˇehem nevyuˇz´ıvan´e doby (stejnˇe jako je tomu u technologie ZigBee). Protokol WirelessUSB je charakteristick´ y jednoduch´ ymi a kr´atk´ ymi procedurami v´ ymˇeny zpr´av v pˇr´ıpadˇe nutnosti komunikace. V opaˇcn´em pˇr´ıpadˇe jsou zaˇr´ızen´ı podporuj´ıc´ı protokol WirelessUSB v tzv. ”sleep modu” aˇz do okamˇziku, kdy je detekov´an sign´al od uˇzivatele. To vˇse m´a za n´asledek u ´sporu elektrick´e energie a dlouhou provozn´ı dobu bateri´ı. CS ud´av´a, ˇze v laboratorn´ıch podm´ınk´ach byla namˇeˇrena doba ˇsest aˇz osm mˇes´ıc˚ u u kl´avesnice nap´ajen´e tˇremi tuˇzkov´ ymi bateriemi typu AA (CS ovˇsem podrobnˇeji neuv´ad´ı, jak test prob´ıhal, zda se jednalo o nepˇretrˇzit´ y provoz zaˇr´ızen´ı atd.). Pro srovn´an´ı: u technologie ZigBee je garantov´ana ˇzivotnost bateri´ı aˇz na nˇekolik let. 1.2.3
HomeRF
HomeRF vyuˇz´ıv´a protokol SWAP (Shared Wireless Access Protocol). Umoˇzn ˇuje datov´ y pˇrenos rychlost´ı do 2 Mbit/s s dosahem do 100 metr˚ u a je pouˇz´ıv´an v p´asmu 2,4 GHz. Z uveden´ ych fakt˚ u by mohlo vypl´ yvat, ˇze HomeRF m´a velk´ y potenci´al st´at se konkurentem Bluetooth, ovˇsem proti tˇemto skuteˇcnostem p˚ usob´ı fakt, ˇze jedn´a o centralistickou koncepci a op´ır´a se o dom´ac´ı poˇc´ıtaˇc. V´ yznamn´ ym faktorem m˚ uˇze b´ yt i to, ˇze HomeRF je prod´av´ana za cenu 500 USD).
ˇ E ´ TECHNOLOGIE BEZDRATOV ´ ´ ˇ ´I 1 DISKUSE POUZIT EHO PRIPOJEN 1.2.4
8
Wi-Fi - IEEE 802.11
Jedn´a se asi o nejrozˇs´ıˇrenˇejˇs´ı standard v oblasti bezdr´atov´ ych technologi´ıch navrˇzen´ y speci´alnˇe pro aplikace bezdr´atov´ ych s´ıt´ı. V´ yvoj tohoto standardu byl podporov´an asociac´ı firem zvanou Wireless Ethernet Compatibility Alliance (WECA). Pro komunikaci se v dneˇsn´ı dobˇe pouˇz´ıvaj´ı dvˇe pˇrenosov´a p´asma. Jsou to: 2,4 GHz - toto p´asmo je nelicencovan´e a tud´ıˇz nolnˇe pˇr´ıstupn´e ˇsirok´e veˇrejnosti. Hlavn´ı nev´ yhodou je siln´ y provoz a t´ım p´adem i velik´e zaruˇsen´ı coˇz m˚ uˇze m´ıt za n´asledek omezen´ı pˇrenosov´e rychlosti. 5 GHz - v tomto pˇr´ıpadˇe se jedn´a o p´asmo licencovan´e. Je zde povolen vyˇsˇs´ı vys´ılac´ı v´ ykon a je rozdˇeleno na v´ıce kan´al˚ u. Z toho plyne vˇetˇs´ı dosah i pˇrenosov´e rychlosti. V jednotliv´ ych frekvenˇcn´ıch p´asmech se jeˇstˇe standard dˇel´ı na r˚ uzn´e revize oznaˇcovan´e p´ısmeny. D˚ uvodem proˇc se tak stalo a st´ale dˇeje je pˇredevˇs´ım poˇzadavek na co nejvyˇsˇs´ı pˇrenosovou rychlost. Nejzn´amˇejˇs´ı a nejpouˇz´ıvanˇejˇs´ı jsou 802.11a kter´a pracuje ve frekvenˇcn´ım p´asmu 5 GHz d´ale 802.11b a 802.11g pracuj´ıc´ı v p´asmu 2.4 GHz. Jednotliv´e revize se od sebe liˇs´ı k´odov´an´ım pˇrenosu, takˇze je zcela bˇeˇzn´e, ˇze jeden adapt´er podporuje v´ıce reviz´ı. Tento standard je zaloˇzen na sedmivrstv´em modelu OSI a definuje jeho dvˇe spodn´ı vrstvy. Jsou to Fyzick´e, kter´a se star´a o komunikaci na nejniˇzˇs´ı u ´rovni a v podstatˇe se star´a o ˇreˇsen´ı vlastn´ıho pˇripojen´ı a d´ale definuje vrstvu spojovou kter´a se zab´ yv´a k´odov´an´ım a pˇrenosem informace. Vˇsechny ostatn´ı vrstvy nech´av´a standard nespecifikovan´e. Protoˇze se jedn´a o bezdr´atovou technologii kde nem˚ uˇzeme pˇresnˇe vymezit pokryt´ı je stan’ dard 802.11 vybaven mechanismy kter´e chr´an´ı s´ıt pˇred nepovolan´ ym pˇr´ıstupem a pˇr´ıpadn´ ym zneuˇzit´ım. Proto jsou zde postupy, kter´e by mˇely tento probl´em oˇsetˇrit. Jsou v z´asadˇe dvˇe: ˇ Sifrov´ an´ı jedn´a se o zaˇsifrov´an´ı komunikace pˇredem dan´ ym kl´ıˇcem a t´ım se znemoˇzn´ı pˇr´ıpadn´e odposlechnut´ı p˚ uvodn´ı zpr´avy Autentizace je urˇcena k tomu, aby mohl k s´ıti pˇristupovat jen urˇcit´ y pˇredem dan´ y okruh stanic WLAN s´ıtˇe podle 802.11 mohou pracovat ve dvou z´akladn´ıch reˇzimech. Prvn´ım z nich je ”ad hoc” mod, urˇcen´ y zejm´ena pro bˇeˇzn´e peer-to-peer s´ıtˇe pro zhruba 2-5 poˇc´ıtaˇc˚ u spojen´ ych bezdr´atovou s´ıt´ı. Je moˇzn´e si jej pˇredstavit jako klasickou malou LAN s´ıt’, kdy vˇsechny stroje komunikuj´ı se vˇsemi ostatn´ımi jako rovn´ y s rovn´ ymi. v´ yhody: nen´ı potˇreba instalovat metalickou kabel´aˇz pˇri doˇcasn´em propojen´ı dvou nebo v´ıce poˇc´ıtaˇc˚ u, n´ızk´a cena, nutn´e pouze s´ıt’ov´e adapt´ery nev´ yhody: nutnost pˇr´ım´eho spojen´ı mezi jednotliv´ ymi poˇc´ıtaˇci Druh´ ym reˇzimem je mod ”infrastructure”, tedy implementace klasick´eho vztahu klient server. ”Serverem” je v tomto pˇr´ıpadˇe tzv. Access Point (AP), tedy zaˇr´ızen´ı schopn´e zajiˇst’ovat komunikaci vˇsech pˇripojen´ ych klient˚ u. Zde prob´ıh´a komunikace v´ yhradnˇe s Access Pointem, tzn. jednotliv´ı klienti se na vz´ajem nemus´ı v˚ ubec vidˇet. AP jsou vybaveny tak´e z´asuvkou pro pˇripojen´ı k vnitˇrn´ı metalick´e s´ıti LAN, takˇze funguj´ı jako pˇremostˇen´ı mezi LAN a WLAN.
ˇ E ´ TECHNOLOGIE BEZDRATOV ´ ´ ˇ ´I 1 DISKUSE POUZIT EHO PRIPOJEN
9
v´ yhody: nen´ı potˇreba instalovat sloˇzitou infrastrukturu metalick´e kabel´aˇze ve velk´ ych firm´ach a staˇc´ı propojit pouze pˇr´ıstupov´e body, v dneˇsn´ı dobˇe uˇz n´ızk´a cena nev´ yhody: nutnost na kaˇzd´ y uzel poˇr´ıdit pˇr´ıstupov´ y bod a zabezpeˇcit jej proti neopr´avnˇen´emu pˇr´ıstupu Nejˇcastˇeji se m˚ uˇzeme s t´ımto standardem setkat v oblasti bezdr´atov´ ych poˇc´ıtaˇcov´ ych s´ıt´ı a to jak pˇri propojov´an´ı poˇc´ıtaˇc˚ u mezi sebou tak i pro pˇripojen´ı r˚ uzn´ ych periferi´ı jako jsou napˇr´ıklad tisk´arny. M˚ uˇzeme ho vˇsak tak´e nal´ezt v mobiln´ıch telefonech ˇci PDA. Velikou v´ yhodou tohoto standardu kromˇe jeho zajist´e zaj´ımav´ ych parametr˚ u je jeho velik´a rozˇs´ıˇrenost. S n´ı ruku v ruce jde i n´ızk´a cena koncov´ ych zaˇr´ızen´ı a t´ım i zaj´ımavost pro uˇzivatele. Tato dobr´a dostupnost jak hardwaru tak i dokumentace a r˚ uzn´e dalˇs´ı literatury mˇela velkou v´ahu pˇri m´em rozhodov´an´ı o volbˇe komunikaˇcn´ı technologie. 1.2.5
ZigBee - 802.15.4
Komunikaˇcn´ı technologie popsan´a standardem IEEE 802.15.4 - ZigBee patˇr´ı do skupiny bezdr´atov´ ych s´ıt´ı PAN (Personal Area Networks). Do t´eto skupiny s´ıt´ı patˇr´ı i velmi rozˇs´ıˇren´ y IEEE 802.15.1 - Bluetooth, jeˇz nal´ez´a hlavn´ı uplatnˇen´ı pˇrev´aˇznˇe ve spotˇrebn´ı elektronice. Existuje vˇsak cel´a ˇsk´ala pr˚ umyslov´ ych aplikac´ı, pro kter´e Bluetooth nen´ı vhodn´ y. Z tohoto d˚ uvodu byla zaloˇzena ZigBee aliance za u ´ˇcelem vytvoˇren´ı nov´eho bezdr´atov´eho komunikaˇcn´ıho standardu vhodn´eho i pro u ´ˇcely pr˚ umyslov´e automatizace. V souˇcasn´e dobˇe se na v´ yvoji a rozvoji tohoto standardu pod´ıl´ı v´ıce neˇz ˇsedes´at firem a mezi nimi jsou i pˇredn´ı svˇetov´e firmy z oboru automatizace (Honeywell, Motorola, Philips, Samsung, Omron, ABB, Siemens). ZigBee je navrˇzen jako jednoduch´a a flexibiln´ı technologie pro tvoru i rozs´ahlejˇs´ıch bezdr´atov´ ych s´ıt´ı u nichˇz nen´ı poˇzadov´an pˇrenos velk´eho objemu dat. K jej´ım hlavn´ım pˇrednostem patˇr´ı spolehlivost, jednoduch´a a nen´aroˇcn´a implementace, velmi n´ızk´a spotˇreba energie a v neposledn´ı ˇradˇe t´eˇz pˇr´ızniv´a cena. D´ıky tˇemto vlastnostem nalezne uplatnˇen´ı v cel´e ˇsk´ale aplikac´ı, jeˇz leze zaˇradit do nˇekolika skupin: • automatizace budov (zabezpeˇcen´ı, ovl´ad´an´ı svˇetel, kontrola pˇr´ıstupu) • spotˇrebn´ı elektronika (d´alkov´e ovl´ad´an´ı elektrospotˇrebiˇc˚ u) • poˇc´ıtaˇcov´e periferie (bezdr´atov´e myˇsi, kl´avesnice) • pr˚ umyslov´a automatizace • zdravotnictv´ı (pacientsk´e monitory) D´ıky r˚ uznorodosti pˇredpokl´adan´ ych aplikac´ı standard definuje tˇri z´akladn´ı reˇzimy pˇrenosu dat: • periodicky se opakuj´ıc´ı (pˇrenos dat z ˇcidel) • nepravideln´e pˇrenosy (extern´ı ud´alosti, napˇr. stisknut´ı tlaˇc´ıtka uˇzivatelem)
ˇ E ´ TECHNOLOGIE BEZDRATOV ´ ´ ˇ ´I 1 DISKUSE POUZIT EHO PRIPOJEN
10
• opakuj´ıc´ı se pˇrenosy u nichˇz je poˇzadavek na mal´e zpoˇzdˇen´ı (bezdr´atov´e poˇc´ıtaˇcov´e periferie - kl´avesnice a myˇsi) Struktura komunikaˇ cn´ıho standardu Kv˚ uli nutnosti implementovat standard ZigBee i do m´alo v´ ykonn´ ych 8 bitov´ ych mikrokontrol´er˚ u (HC08, x51) bylo db´ano na maxim´aln´ı jednoduchost implementace protokol˚ u. D´ıky tomu struktura protokol˚ u nezabere v´ıce neˇz 30kB programov´e pamˇeti. Protokol se skl´ad´a z tˇrech z´akladn´ıch vrstev. Vrstvy standardu IEEE 802.15.4, nad nimi je definov´ana s´ıt’ov´a vrstva (NWK) a aplikaˇcn´ı vrstva (APL). Fyzick´a vrstva specifikuje pˇr´ıstup k pˇrenosov´emu m´ediu. S´ıt’ov´a vrstva realizuje pˇripojen´ı k s´ıti, zabezpeˇcen´ı a smˇerov´an´ı paket˚ u. Aplikaˇcn´ı ’ vrstva (APL) zajiˇst uje potˇrebn´e sluˇzby. Skl´ad´a se z aplikaˇcn´ı podvrstvy (APS), ZigBee objekt˚ u a uˇzivatelsk´ ych aplikaˇcn´ıch objekt˚ u. Fyzick´ a a MAC vrstva standardu IEEE 802.15.4 Standard IEEE 802.15.4 definuje nˇekolik z´akladn´ıch radiov´ ych p´asem, aby mohl b´ yt vyuˇzit v r˚ uzn´ ych zem´ıch, kde jsou rozd´ıln´e n´arodn´ı pˇredpisy a normy. Hlavn´ım probl´emem u vˇetˇsiny bezdr´atov´ ych technologii jsou rozd´ıln´e definice radiov´ ych p´asem v Americe a v Evropˇe. Z tohoto d˚ uvodu byli definov´any tˇri z´akladn´ı frekvenˇcn´ı p´asma: glob´aln´ı, Amerika a Austr´alie, Evropa. Dosah ZigBee je pˇribliˇznˇe 10 aˇz 50 metr˚ u v z´avislosti na lok´aln´ıch podm´ınk´ach ˇs´ıˇren´ı sign´alu. Pro pˇrenos se datov´ y sign´al moduluje metodou O-QPSK (BPSK) a pˇren´aˇsej´ı prostˇrednictv´ım DSSS (Direct Sequence Spread Spectrum). Pro pˇr´ıstup k fyzick´emu m´ediu je pouˇzita metoda CSMA/CA (Carrier Sense Multiple Access with Collision Avoidance and optional time slotting). MAC vrstva (linkov´a) definuje samotn´ y komunikaˇcn´ı protokol, jeˇz je zaloˇzen na pˇrenosu datov´ ych r´amc˚ u. Jsou definov´any ˇctyˇri typy komunikaˇcn´ıch r´amc˚ u, jeˇz jsou vyˇz´ın´any pro pˇrenos dat, ˇr´ızen´ı ˇci spr´avu s´ıtˇe: Data Frame r´amec vyuˇz´ıvan´ y pro vˇsechny pˇrenosy uˇziteˇcn´ ych dat Acknowledgement Frame r´amec pro pˇrenos potvrzovac´ı informace vyuˇz´ıv´an na u ´rovni MAC pro potvrzov´an´ı komunikace Beacon Frame r´amec pouˇz´ıvan´ y koordin´atorem k vys´ıl´an´ı tzv. beacons (pouˇz´ıvan´e pro uv´adˇen´ı klientsk´ ych zaˇr´ızen´ı do sp´ankov´eho reˇzimu) MAC Command Frame r´amec k nastavov´an´ı a ˇr´ızen´ı klientsk´ ych zaˇr´ızen´ı v s´ıti ZigBee Z d˚ uvod˚ u minimalizace spotˇreby koncov´ ych zaˇr´ızen´ı m˚ uˇze b´ yt na z´akladˇe synchronizace mezi koordin´atorem s´ıtˇe a koncovou stanic´ı usp´av´ana jednotliv´a koncov´a zaˇr´ızen´ı. K jejich probouzen´ı doch´az´ı v pˇredem definovanou dobu, a pot´e jsou pˇreneseny veˇsker´e uˇziteˇcn´e informace. Interval synchronizaˇcn´ıch sekvenc´ı m˚ uˇze b´ yt v rozmez´ı 15ms aˇz pˇribliˇznˇe 15 minut. Synchronizace je realizov´ana pomoc´ı tzv. r´amce beacon. Koncov´a zaˇr´ızen´ı jsou periodicky
ˇ E ´ TECHNOLOGIE BEZDRATOV ´ ´ ˇ ´I 1 DISKUSE POUZIT EHO PRIPOJEN
11
problouzena a pˇren´aˇs´ı data ke koordin´atoru s´ıtˇe. Ten tato data uloˇz´ı a n´aslednˇe pˇrepoˇsle pˇri probuzen´ı zaˇr´ızen´ı pro nˇejˇz jsou tata data urˇcena. Tento pˇr´ıstup umoˇzn ˇuje extr´emnˇe sn´ıˇzit spotˇrebu koncov´ ych zaˇr´ızen´ı. Tato zaˇr´ızen´ı mohou tak b´ yt nap´ajena bateriovˇe. Pˇri vyuˇzit´ı vˇsech u ´sporn´ ych opatˇren´ı je moˇzn´e dos´ahnout v´ ydrˇze koncov´eho zaˇr´ızen´ı na jednu alkalickou baterii 6 mˇes´ıc˚ u aˇz 2 roky. Pokud s´ıt’ funguje bez pouˇzit´ı beacon sekvenc´ı, jednotliv´a zaˇr´ızen´ı periodicky dotazuj´ı koordin´atora. Topologie s´ıtˇ e, zabezpeˇ cen´ı Technologie ZigBee postaven´a na fyzick´e linkov´e vrstvˇe IEEE 802.15.4 definuje tˇri r˚ uzn´e ’ s´ıt ov´e topologie. Z´akladn´ı topologii je topologie hvˇezdicov´a s centr´aln´ım ˇr´ıd´ıc´ım uzlem (koordin´atorem s´ıtˇe). Druh´ ym typem je stromov´a struktura jeˇz umoˇzn ˇuje zvˇetˇsit vzd´alenost mezi koordin´atorem a koncov´ ym zaˇr´ızen´ım. Protokol t´eˇz umoˇzn ˇuje vytvoˇren´ı redundanc´ıch spojen´ı a vynik´a tak topologie typu s´ıtˇe - mesh. S jej´ı pomoc´ı je moˇzn´e vytvoˇrit s´ıt’ prakticky libovoln´eho uspoˇr´ad´an´ı. Standard ZigBee dˇel´ı zaˇr´ızen´ı na zaˇr´ızen´ı FFD (Full Functional Device) a RFD (Reduced Functionality Device). FFD zaˇr´ızen´ı implementuj´ı kompletn´ı protokolov´ y r´amec a zajiˇst’uj´ı veˇsker´e sluˇzby, kter´e standard ZigBee stanovuje. RFD zaˇr´ızen´ı implementuj´ı pouze nezbytn´e protokolov´e knihovny z d˚ uvodu maxim´aln´ıho omezen´ı hardwarov´e n´aroˇcnosti. Tyto zaˇr´ızen´ı mohou pracovat pouze jako koncov´a. Mohou komunikovat pouze s koordin´atorem s´ıtˇe a jsou omezeny na hvˇezdicov´e uspoˇr´ad´an´ı topologie (koncov´e vˇetve). Koordin´ator s´ıtˇe a smˇerovaˇce jsou realizov´any FFD zaˇr´ızen´ımi. Jednotliv´a zaˇr´ızen´ı s´ıtˇe jsou adresov´ana pomoc´ı bin´arn´ıho adresn´eho k´odu o d´elce 64 bit˚ u ˇci ve zkr´acen´e podobˇe 16 bit˚ u. Lok´aln´ı zkr´acen´a adresa umoˇzn ˇuje v jedn´e s´ıti adresovat maxim´alnˇe 65535 zaˇr´ızen´ı. Kaˇzd´a sestaven´a s´ıt’ je jeˇstˇe d´ale identifikov´ana 16 bitov´ ym PAN ID, jeˇz slouˇz´ı pro rozliˇsen´ı pˇrekr´ yvaj´ıc´ıch se s´ıt´ı postaven´ ych na standardu IEEE 802.15.4. Kaˇzdou s´ıt’ zakl´ad´a a spravuje koordin´ator, kter´ y t´eˇz pˇridˇeluje PAN ID. Ostatn´ı stanice pracuj´ı jako smˇerovaˇce a koncov´a zaˇr´ızen´ı. S´ıt’ov´a vrstva (NWK) zajiˇst’uje pˇripojen´ı k s´ıt´ı, zabezpeˇcen´ı, smˇerov´an´ı a synchronizaci. V pˇr´ıpadˇe koordin´atora s´ıtˇe je jeˇstˇe zodpovˇedn´a za start s´ıtˇe a pˇriˇrazov´an´ı adres novˇe nalezen´ ym zaˇr´ızen´ım. Jako z´akladn´ı zabezpeˇcen´ı ZigBee se pouˇz´ıv´a AES (Advanced Encryption Standard) s kl´ıˇcem o d´elce 128 bit˚ u jeˇz je implementov´an v s´ıt’ov´e vrstvˇe. Pokud je poˇzadov´ano i zabezpeˇcen´ı MAC Command Frame, Beacon Frame a Acknowledgement Frame je realizov´ano jiˇz v MAC vrstvˇe pomoc´ı AES. D´ıky tomu je moˇzn´e ovˇeˇrit autenticitu a integritu MAC r´amce a zajistit jeho d˚ uvˇernost. Pˇri poˇzadavku na ovˇeˇren´ı integrity je vytvoˇren MIC (Message Integrity Code) o d´elce 4, 8 ˇci 16 oktet˚ u a je vysl´an spoleˇcnˇe s MAC r´amcem. V tomto pˇr´ıpadˇe je pouˇzit AES algoritmus v CTR (Counter) m´odu. Pokud je nutn´e zajistit d˚ uvˇernost MAC r´amce je k nˇemu pˇrid´ana informace o poˇrad´ı r´amce a kl´ıˇce (Frame Count, Key Sequence Count). Na vys´ılac´ı a pˇrij´ımac´ı stranˇe je udrˇzov´ana aktu´aln´ı informace o ˇc´ısle r´amce. Pokud obdrˇz´ı pˇrij´ımac´ı zaˇr´ızen´ı r´amec s neplatn´ ym ˇc´ıslem je detekov´ano naruˇsen´ı bezpeˇcnosti. AES je pouˇzit v CBC-MAC (Cipher Block Chaining) m´odu. Pˇri implementaci jak ovˇeˇrov´an´ı integrity tak ˇsifrov´an´ı je pouˇzit AES v m´odu jeˇz je naz´ yv´an CCM.
ˇ E ´ TECHNOLOGIE BEZDRATOV ´ ´ ˇ ´I 1 DISKUSE POUZIT EHO PRIPOJEN
12
S´ıt’ov´a vrstva pouˇz´ıv´a k zabezpeˇcen´ı SSP (Security Services Provider). Tato vrstva zajiˇst’uje zabezpeˇcen´ı ochoz´ıch r´amc˚ u, dek´odov´an´ı a ovˇeˇrov´an´ı pravosti pˇr´ıchoz´ıch r´amc˚ u. Jako zabezpeˇcovac´ı algoritmus je pouˇzit AES v m´ırnˇe modifikovan´em m´odu CCM jeˇz nese oznaˇcen´ı CCM . S´ıt’ov´a vrstva je zodpovˇedn´a za realizaci zabezpeˇcen´ı. Vyˇsˇs´ı vrstvy se staraj´ı o nastaven´ı SSP (nastaven´ı kl´ıˇc˚ u a ud´avaj´ı jak´ ym zp˚ usobem bude pouˇzit CCM pro jednotliv´e r´amce). Aplikaˇ cn´ı vrstva Aplikaˇcn´ı vrstva protokolu (APL) se skl´ad´a z pomocn´e aplikaˇcn´ı APS podvrstvy, ZigBee objekt˚ u (ZDO) a uˇzivatelem definovan´ ych aplikaˇcn´ıch objekt˚ u. Pomocn´a aplikaˇcn´ı podvrstva je zodpovˇedn´a za p´arov´an´ı zaˇr´ızen´ı podle poskytovan´ ych sluˇzeb a poˇzadavk˚ u. To je realizov´ano pomoc´ı tzv. p´arovac´ı (binding) tabulky. ZigBee objekt definuje roli jednotliv´ ych zaˇr´ızen´ı v r´amci s´ıtˇe (koordin´ator, smˇerovaˇc, koncov´e zaˇr´ızen´ı). D´ale zajiˇst’uje vyhled´av´an´ı nov´ ych zaˇr´ızen´ı a jimi poskytovan´ ych sluˇzeb. V neposledn´ı ˇradˇe zodpov´ıd´a za zabezpeˇcen´ı (vol´ı jeho zp˚ usob, jako napˇr. veˇrejn´e kl´ıˇce, symetrick´e kl´ıˇce). Uˇzivatelsk´e aplikaˇcn´ı objekty implementuj´ı konkr´etn´ı poˇzadavky aplikace dle definovan´eho ZigBee profilu. ZigBee profil zastˇreˇsuje definice moˇzn´ ych zaˇr´ızen´ı, form´at˚ u a typ˚ u zpr´av. Kaˇzd´ y profil je urˇcen unik´atn´ım 16 bitov´ ym identifik´atorem podle specifikace ZigBee Alliance Tato nov´a technologie mi tak´e pˇriˇsla velmi zaj´ımav´a pˇredevˇs´ım z hlediska spotˇreby, ale v souˇcastn´e dobˇe je jen m´alo zaˇr´ızen´ı kter´e dok´aˇzou komunikovat pomoc´ı tohoto standardu a nav´ıc jsou zat´ım pˇr´ıliˇs drah´a. Mysl´ım si, ˇze tento standard m´a velikou budoucnost a proto jsem mu pˇri popisu vˇenoval vˇetˇs´ı pozornost.
ˇ E ´ TECHNOLOGIE BEZDRATOV ´ ´ ˇ ´I 1 DISKUSE POUZIT EHO PRIPOJEN 1.2.6
13
Bluetooth - IEEE 802.15.1
Jde o otevˇren´ y protokol pro bezdr´atov´ y pˇrenos dat a hlasu. Je zaloˇzen na vys´ılan´ı radiov´ ych vln s kr´atk´ ym dosahem, zajiˇstuj´ıc´ıch rychl´e nav´az´an´ı chr´anˇen´e komunikace s ostatn´ımi zaˇr´ızen´ımi. Bluetooth se synchronizuje s v´ ychoz´ım ˇcasovac´ım mechanismem, definovan´ ym ˇr´ıd´ıc´ı funkc´ı piconet. Historicky byl prvn´ı n´avrh pˇredloˇzen spoleˇcnost´ı Ericsson v roce 1994. Pot´e v roce 1998 vznikla skupina SIG (Special Interest Group), do kter´e postupnˇe vstupovaly spolecnosti: Ericsson , Nokia, Toshiba, IBM, Intel, Sony a dalˇs´ı v´ yrobci. Skupina SIG m´a pres 2.000 ˇclen˚ u z r˚ uzn´ ych oblast´ı a poˇcet ˇclen˚ u se st´ale rozr˚ ust´a. Jde o univerzaln´ı radiov´ y syst´em, skl´adaj´ıc´ı se z mal´ ych z´akladn´ıch struktur, oznaˇcovan´ ych pojmem pikonet (miniaturn´ı s´ıt). V kaˇzd´e z tˇechto struktur se m˚ uˇze pohybovat aˇz 8 miniaturn´ıch modul˚ u (termin´al˚ u), z nichˇz kaˇzd´ y obsahuje radiov´ y vys´ılaˇc s pˇrij´ımaˇcem. Pracuje na pr˚ umyslov´e frekvenci 2.4 GHz, oznaˇcovan´e jako p´asmo Industrial Scientific Medical (ISM), kter´e nen´ı prakticky celosvˇetovˇe licencov´ano. Podobnˇe jako u klasick´ ych poˇc´ıtaˇcov´ ych s´ıt´ı mohou b´ yt zaˇr´ızen´ı propojena jako rovn´ y s rovn´ ym (peer-to-peer), nebo s jedn´ım nadˇr´ızen´ ym zaˇr´ızen´ım syst´emem master-slave, pˇrenos se pˇritom m˚ uˇze odehr´avat mezi dvˇema zaˇr´ızen´ımi (point-topoint) nebo od jednoho zaˇr´ızen´ı ostatn´ım (point-to-multipoint). Bluetooth nevyluˇcuje ani propojen´ı dvou a v´ıce piconet˚ u stejn´ ym protokolem, potom ale kles´a pˇrenosov´a rychlost. Zaˇr´ızen´ı navz´ajem komunikuj´ı technikou pˇreskoku kmitoˇct˚ u ( Frequency Hopping). Jedn´a se o sekvenci aˇz 78 moˇzn´ ych frekvenc´ı. Datov´a zpr´ava je tak vys´ıl´ana pomoc´ı mnoha nosn´ ych frekvenc´ı tzv. hops. Vysok´e spolehlivosti je dosaˇzeno d´ıky tomu, ˇze nepotvrzen´e tj. chybnˇe pˇrenesen´e r´amce jsou znovu pˇren´aˇseny s jinou nosnou frekvenc´ı tj. v dalˇs´ım hopu. Um´ıstˇen´ı v´ıce syst´em˚ uv jednom m´ıstˇe je umoˇznˇeno pouˇzit´ım r˚ uzn´ ych sekvenc´ı v kaˇzd´em syst´emu. Tyto moduly potom spolu mohou vz´ajemnˇe bezdr´atovˇe komunikovat, tedy vys´ılat nebo pˇrij´ımat nejr˚ uznˇejˇs´ı digit´aln´ı data, a to aˇz na vzd´alenost 12 metr˚ u pˇriˇcemˇz pˇrenosov´a rychlost se pohybuje okolo 1Mb/s. Souˇcasn´a specifikace umoˇzn ˇuje symetrick´e pˇrenosy 432.6Kb/s, asymetrick´ y pˇrenos 721/57.6Kb/s ˇci synchronn´ı hlasov´e kan´aly 65Kb/s. C´ılem do budoucna je dos´ahnout pˇrenosov´ ych rychlost´ı aˇz 2Mb/s. V jedn´e samostatnˇe se ˇr´ıd´ıc´ı pikos´ıti, vyuˇz´ıvaj´ıc´ı urˇcit´ y radiov´ y kan´al, mus´ı jeden z u u ´ˇcastn´ık˚ u jako prvn´ı (master) iniciovat sestaven´ı s´ıtˇe a pln´ı tedy pro tuto chv´ıli ˇr´ıd´ıc´ı (master) funkci. Tato funkce spoˇc´ıv´a pˇredevˇs´ım v identifikaci u ´ˇcastn´ık˚ u a zajiˇstˇen´ı jejich vz´ajemn´e synchronizace. Ostatn´ı u ´ˇcastn´ıci pˇredstavuj´ı podˇr´ızen´e jednotky (slave). Tyto funkce jsou vˇsak doˇcasn´e a zanikaj´ı po zruˇsen´ı dan´e pikonet s´ıtˇe. V pˇr´ıˇst´ım cyklu m˚ uˇze funkci ˇr´ıd´ıc´ı jednotky plnit libovoln´ y jin´ yu ´ˇcastn´ık. V dan´e lokalitˇe mohou b´ yt ve stejn´ y okamˇzik dalˇs´ı pikos´ıtˇe. Pˇriˇcemˇz libovoln´ yu ´ˇcastn´ık m˚ uˇze b´ yt zapojen souˇcasnˇe do nˇekolika z ’ nich. Tak vznik´a rozpt´ ylen´a s´ıt Bluetooth. Vˇsechny potˇrebn´e kroky pro nav´az´an´ı a udrˇzov´an´ı vz´ajemn´eho spojen´ı si prov´ad´ı syst´em Bluetooth zcela automaticky s´am. Bluetooth syst´em se skl´ad´a: • BluetoothT M radio - vys´ılaˇc, pˇrij´ımaˇc, analogov´a radio elektronika.
ˇ E ´ TECHNOLOGIE BEZDRATOV ´ ´ ˇ ´I 1 DISKUSE POUZIT EHO PRIPOJEN
14
• BluetoothT M Link Controller - ˇr´ıd´ı nav´az´an´ı spojen´ı a komunikaci, identifikaci, pˇr´ıstup. • BluetoothT M Link Manager - pˇripravuje data a zaruˇcuje komunikaci se zaˇr´ızen´ım, kde je Bluetooth modul um´ıstˇen. Vyz´aˇren´ y v´ ykon je automaticky zes´ılen/zeslaben tak, aby komunikace prob´ıhala pˇri co nejmenˇs´ım odbˇeru. Je-li napˇr. pˇripojen´ y spotˇrebiˇc vzd´alen pouze p´ar metr˚ u, je sign´al utlumen na nejniˇzˇs´ı moˇznou mez. Nav´ıc pˇri n´ızk´em nebo nulov´em pˇrenosu dat pˇrech´az´ı zaˇr´ızen´ı do low-energy m´odu, kter´ y je pˇreruˇsov´an pouze kr´atk´ ymi pulzy nezbytn´ ymi pro ovˇeˇren´ı, zda druh´e zaˇr´ızen´ı je st´ale pˇripojeno. Pro porovn´an´ı: Bluetooth radio spotˇrebuje 3% energie, kter´e by spotˇreboval modern´ı modem. Bluetooth radio je navrˇzeno pro pr´aci i ve velmi ruˇsn´em prostˇred´ı (myˇsleno pln´em r´adiov´ ych sign´al˚ u). Ochrana dat uˇzivatele je zajiˇstˇena korekˇcn´ımi mechanismy, intern´ım k´odov´an´ım a bohatou ˇsk´alou autentifikaˇcn´ıch rutin. Bezpeˇ cnost technologie Bluetooth Na jednu stranu spoˇc´ıv´a nebezpeˇc´ı ve vyuˇz´ıv´an´ı nelicencovan´eho p´asna 2.4GHz, ale na druhou stranu jsou data chr´anˇena samotnou podstatou technologie Bluetooth. Tento standard byl p˚ uvodnˇe navrˇzen jako n´ahrada kabelu pro dvˇe zaˇr´ızen´ı, to znamen´a na kr´atkou vzd´alenost. V tomto pˇr´ıpadˇe nen´ı nˇejak tˇeˇzk´e zabezpeˇcit, aby se vaˇse data nedostala do neopr´avnˇen´ ych rukou. Nicm´enˇe pˇri expanzi moˇznost´ı vyuˇzit´ı Bluetooth, zejm´ena v oblasti tzv. Access point˚ u, kdy se propojuje v´ıce uˇzivatel˚ u najednou, z´ısk´av´a dalˇs´ı zabezpeˇcen´ı pos´ılan´ ych dat na d˚ uleˇzitosti. Mnohem z´asadnˇejˇs´ı ochrana by mˇela pˇrij´ıt tak´e se standardem verze 2, kdy se poˇc´ıt´a i se zv´ yˇsen´ım dosahu sign´alu. Rozliˇsujeme dva typy zabezpeˇcen´ı: Hardwarov´ a ochrana Nejniˇzˇs´ı u ´roveˇ n ochrany pos´ılan´ ych dat prostˇrednictv´ım technologie Bluetooth je jej´ı hardwarov´a specifikace. Z hlediska frekvence j´ı bezpeˇcnost dostateˇcnˇe zajiˇst’uje technika rozprostˇren´ı sign´alu metodou FHSS - ”frequency hopping” s rychlost´ı 1600 skok˚ u za sekundu a s prodlevou 625 s, pˇriˇcemˇz poˇcet kan´al˚ u je 79. Jiˇz z tohoto hlediska je velice tˇeˇzk´e tento sign´al odposlouch´avat. Bluetooth zaˇr´ızen´ı maj´ı nav´ıc zabudovanou vnitˇrn´ı bezpeˇcnostn´ı ochranu proti odposlechu a falsifikaci origin´aln´ıch dat. Svou roli tak´e hraje udˇelen´ y rozsah frekvenˇcn´ıho p´asma, kter´ y je ve vˇetˇsinˇe Evropy (kromˇe Francie) 2,4 - 2,2475 GHz. Aplikaˇ cn´ı ochrana Aplikaˇcn´ı neboli softwarovou ochranu dat je nutno rozdˇelit podle d˚ uleˇzitosti tˇechto paket˚ u. Podle toho pak rozliˇsujeme r˚ uzn´e u ´rovnˇe softwarov´eho zabezpeˇcen´ı. Specifikace Bluetooth definuje 3 takov´e u ´rovnˇe: • ned˚ uleˇ zit´ a data - non-secure Pro data, jako jsou napˇr´ıklad elektronick´e vizitky pos´ılan´e z mobiln´ıho telefonu se pouˇz´ıv´a (v n´avaznosti na definovan´e profily) nechr´anˇen´a komunikace. Pˇritom nechr´anˇen´a by se sluˇselo d´ati do uvozovek, kaˇzd´a komunikace mezi dvˇema zaˇr´ızen´ımi je, jak uˇz bylo ˇreˇceno, zabezpeˇcena hardwarovˇe a principielnˇe.
ˇ E ´ TECHNOLOGIE BEZDRATOV ´ ´ ˇ ´I 1 DISKUSE POUZIT EHO PRIPOJEN
15
• vyˇ sˇ s´ı bezpeˇ cnost - autentizace Pro data s visaˇckou vyˇsˇs´ıho zabezpeˇcen´ı se vyuˇz´ıv´a klasick´eho zp˚ usobu ochrany dat a t´ım je takzvan´a komunikace na vyˇz´ad´an´ı. Bˇeˇzn´ y zp˚ usob autentizace v´ yzva-odezva (challenge-response) zajiˇst’uje, ˇze kaˇzd´a uskuteˇcnˇen´a komunikace je pˇresnˇe adresov´ana. Kaˇzd´ y Bluetooth chipset m´a totiˇz v sobˇe zak´odovanou 48-bitovou informaci - adresu, na z´akladˇe kter´e komunikuje s jin´ ymi pˇr´ıstroji. Jakmile dojde k nesrovnalosti adresy ˇci jak´emukoliv pˇreruˇsen´ı toku dat, komunikaˇcn´ı kan´al se neotevˇre a komunikace se pˇreruˇs´ı. Veˇsker´a zaˇr´ızen´ı spolu komunikuj´ı peer to peer, pˇri autentizaci se rozdˇel´ı na Master (zaˇr´ızen´ı, kter´e vyslalo poˇzadavek na spojen´ı) a Slavˇe (pˇrij´ım´a poˇzadavek a odes´ıl´a zpˇet svou 48-bitovou adresu). Jednotliv´a zaˇr´ızen´ı se mohou spojovat individu´alnˇe, ale i hromadnˇe. • d˚ uleˇ zit´ a data - autentizace + kryptov´ an´ı U dat, kter´a chceme uchovat v tajnosti za kaˇzdou cenu, coˇz m˚ uˇze b´ yt napˇr´ıklad i pˇrenos hlasu (head set - mobiln´ı telefon), je bezpeˇcnost nav´ıc zaruˇcena vestavˇenou podporou 128-bitov´eho ˇsifrovac´ıho k´odu. Tento ˇsifrovac´ı k´od m˚ uˇzeme d´ale dˇelit podle dvou kl´ıˇc˚ u: a) Private user key - tajn´a entita, z´ısk´av´a se bˇehem inicializace a nen´ı nikdy prozrazen b) Random number - je rozd´ıln´ y pro kaˇzdou novou transakci, z´ısk´av´a se ze pseudo-n´ahodn´eho procesu v Bluetooth jednotce, Celkovˇe je tedy aplikaˇcn´ı syst´em odoln´ y proti v´ıcen´asobn´ ym cest´am ˇs´ıˇren´ı a obsahuje korekci chyb a jiˇz zmiˇ novanou enkrypci. Nutno podotknout, ˇze s kaˇzdou zaˇsifrovanou informac´ı se sniˇzuje i pˇrenosov´a rychlost.
Tento standard nevynik´a ani n´ızkou spotˇrebou a ani pˇrenosovou rychlost´ı. Mysl´ım, ˇze na svou dobu to byla dobr´a technologie, ale se vzr˚ ustaj´ıc´ımi n´aroky uˇzivatel˚ u na objem pˇrenesen´ ych dat se v´ yrobci zaˇcnou poohl´ıˇzet po nˇeˇcem jin´em. Problematick´e je to i s v´ ystavbou rozs´ahlejˇs´ıch s´ıt´ı kdy pˇri vˇetˇs´ım poˇctu komunikuj´ıc´ıch u ´ˇcastn´ık˚ u dramaticky kles´a pˇrenosov´a rychlost.
2 POPIS STANDARDU 802.11
2
16
Popis standardu 802.11
Na z´akladˇe pˇredchoz´ı anal´ yzy a zv´aˇzen´ı vˇsech v´ yhod a nev´ yhod jsem vybral standard IEEE 802.11. Hlavn´ım d˚ uvodem byla jeho vysok´a rozˇs´ıˇrenost, dostupnost a v´ ysledn´a cena koncov´ ych zaˇr´ızen´ı.
2.1
Komponenty s´ıtˇ e
Kaˇzd´a 802.11 s´ıt’ obsahuje ˇctyˇri hlavn´ı druhy fyzick´ ych komponent: • Distribuˇcn´ı syst´em • Pˇr´ıstupov´ y bod (access point) • Bezdr´atov´e m´edium • Stanice Distribuˇ cn´ı syst´ em v okamˇziku kdy s´ıt’ tvoˇr´ı v´ıce pˇr´ıstupov´ ych bod˚ u mus´ı spolu komunikovat a pˇred´avat si informace o poloze jednotliv´ ych stanic. Distribuˇcn´ı syst´em je vlastnˇe logick´a komponenta slouˇz´ıc´ı k pˇresmˇerov´an´ı datov´eho toku k pˇr´ısluˇsn´e stanici v z´avislosti na jej´ı poloze. Standard 802.11 ovˇsem ˇz´adnou takovou komponentu bl´ıˇze nespecifikuje a ve vˇetˇsinˇe pˇr´ıpad˚ u je distribuˇcn´ı syst´em tvoˇren mostem (bridge) a distribuˇcn´ım m´ediem. To dosti ˇcasto b´ yv´a Ethernet. Pˇ r´ıstupov´ y bod (Access point) ten pr´avˇe pˇredstavuje ono pˇremostˇen´ı (bridge) mezi bezdr´atovou a dr´atovou s´ıt´ı. Dosti ˇcasto obsahuje i dalˇs´ı doplˇ nkov´e funkce, ale pˇremostˇen´ı je jeho z´akladn´ı a nejd˚ uleˇzitˇejˇs´ı funkc´ı. Bezdr´ atov´ e m´ edium jedn´a se o nosiˇc dat pˇri pˇrenosu dat od jedn´e stanice k druh´e. Dalo by se ˇr´ıci ˇze je to vzduch, ale nen´ı tomu tak. Jedn´a se sp´ıˇse o dvˇe r´adiov´e frekvence (2.4 a 5 GHz) a velmi zˇr´ıdka pouˇz´ıvanou infraˇcervenou fyzickou vrstvu. Stanice je to jak´ekoliv zaˇr´ızen´ı kromˇe pˇr´ıstupov´eho bodu, kter´e se u ´ˇcastn´ı komunikace v bezdr´atov´e s´ıti. Stanice m˚ uˇze b´ yt jak mobiln´ı (notebook, PDA, mobiln´ı telefon ...) tak se m˚ uˇze jednat i o zaˇr´ızen´ı prakticky nepˇrenosn´e (stoln´ı poˇc´ıtaˇc, tisk´arna ...)
2.2
Typy s´ıt´ı
Z´akladn´ı blok 802.11 se oznaˇcuje jako Basic Service Set (BSS). Jde o skupinu stanic, kter´a spolu navz´ajem komunikuj´ı na u ´zem´ı vymezen´em pr˚ unikem dosah˚ u jednotliv´ ych stanic a naz´ yvan´em Basic Service Area (BSA). Rozliˇsujeme dva typy s´ıt´ı podle toho jak´ ym zp˚ usobem prob´ıh´a komunikace mezi jednotliv´ ymi ˇcleny BSS.
2 POPIS STANDARDU 802.11 2.2.1
17
Ad-hoc s´ıtˇ e
Ad-hoc s´ıtˇe ˇcasto naz´ yv´ame jako peer-to-peer, nez´avisl´e nebo jako Independent Basic Service Set (IBSS). Jedn´a se v podstatˇe o soubor bezdr´atov´ ych stanic kter´e komunikuj´ı pˇr´ımo mezi sebou bez pouˇzit´ı jak´ehokoliv prostˇredn´ıka. Z toho vypl´ıv´a, ˇze pokud spolu chtˇej´ı stanice komunikovat mus´ı b´ yt navz´ajem v r´adiov´em dosahu.
:
:
:
:
Obr´azek 1: Ad-hoc s´ıt’ Tento reˇzim je vhodn´ y pro snadno uskuteˇcniteln´e bezdr´atov´e spojen´ı mezi stanicemi vzd´alen´ ymi nˇekolik metr˚ u. Nejˇcastˇeji se pouˇz´ıv´a pro jednor´azov´e spojen´ı nˇekolika poˇc´ıtaˇc˚ u na omezen´ y ˇcas. Pro rozlehlejˇs´ı s´ıtˇe o vˇetˇs´ım poˇctu uˇzivatel˚ u, nebo v pˇr´ıpadˇe rozlehl´eho a ˇclenit´eho prostˇred´ı je tento model nevhodn´ y a nepouˇziteln´ y. Vzhledem ke sloˇzitosti nastavov´an´ı s´ıtˇe se tento syst´em v praxi moc neujal. 2.2.2
Infrastrukturn´ı s´ıtˇ e
Tento typ s´ıtˇe se naz´ yv´a infrastrukturn´ı proto, protoˇze m´a pˇresnˇe vymezenou infrastrukturu. Stanice zde nekomunikuj´ı pˇr´ımo mezi sebou, ale prostˇrednictv´ım s´ıt’ov´e komponenty zvan´e pˇr´ıstupov´ y bod (access point, AP) Jak jiˇz bylo ˇreˇceno, pˇr´ıstupov´ y bod kromˇe toho, ˇze komunikuje se stanicemi zajiˇst’uje i pˇripojen´ı na p´ateˇrn´ı s´ıt’ (Ethernet). Protoˇze vˇsak m˚ uˇze komunikovat s v´ıce stanicemi najednou slouˇz´ı i k bezdr´atov´e komunikaci mezi jednotliv´ ymi stanicemi aniˇz by chtˇely pˇristupovat ’ na p´ateˇrn´ı s´ıt . Komunikace tedy prob´ıh´a ve dvou kroc´ıch. Nejdˇr´ıve ze stanice na pˇr´ıstupov´ y bod a pot´e z pˇr´ıstupov´eho bodu k c´ılov´e stanici. M˚ uˇze se zd´at, ˇze infrastrukturn´ı typ s´ıtˇe m´a vˇetˇs´ı n´aroky na pˇrenosovou kapacitu, ale nen´ı tomu tak. Zat´ımco v pˇr´ıpadˇe Ad-hoc s´ıtˇe mus´ı stanice
2 POPIS STANDARDU 802.11
18
Ethernet
AP AP
:: : : : Basic Service Set (BSS)
Extended Service Set (ESS)
Obr´azek 2: Infrastrukturn´ı s´ıt’ udrˇzovat spojen´ı s kaˇzdou stanic´ı se kterou komunikuje tak u infrastrukturn´ı s´ıtˇe udrˇzuje spojen´ı pouze s pˇr´ıstupov´ ym bodem. Nav´ıc pokud je stanice v u ´sporn´em reˇzimu, m˚ uˇze pro ni pˇr´ıstupov´ y bod data ukl´adat a vyslat je aˇz se probud´ı. V infrastrukturn´ı s´ıti se mus´ı stanice asociovat s pˇr´ıstupov´ ym bodem a bez toho vytvoˇren´ı s´ıtˇe nen´ı moˇzn´e. Asociaˇcn´ı proces vˇzdy iniciuje mobiln´ı stanice a pˇr´ıstupov´ y bod j´ı to bud’ umoˇzn´ı a nebo zam´ıtne. Takto se m˚ uˇze asociovat pouze s jedn´ım pˇr´ıstupov´ ym bodem. Rozˇ s´ıˇ ren´ a oblast sluˇ zeb (Extended Service Set) BSS m˚ uˇze vytvoˇrit s´ıt’ v dom´acnost nebo menˇs´ı kancel´aˇri, ale ve vˇetˇs´ıch a ˇclenit´ ych prostor´ach jako jsou napˇr. cel´e budovy n´ım pokryt´ı nab´ıdnout nem˚ uˇze. Standard 802.11 dovoluje vytvoˇrit vˇetˇs´ı s´ıtˇe propojen´ım BSS do takzvan´ ych Rozˇs´ıˇren´ ych Soubor˚ u Sluˇzeb, Extended Service Set (ESS). ESS vytvoˇr´ıme propojen´ım jednotliv´ ych BSS pˇres p´ateˇrn´ı s´ıt’. Stanice mohou uvnitˇr ESS mezi sebou komunikovat aˇckoliv jsou v rozd´ıln´ ych BSS a mohou i mezi jednotliv´ ymi BSS pohybovat.
2.3
OSI model
Standard 802.11 se stejnˇe jako jin´e standardy v s´ıt’ov´e komunikaˇcn´ı technice je pops´an sedmivrstv´ ym modelem s n´azvem OSI (Open System Interconnection). 1. physical layer (fyzick´a vrstva) Komunikace na nejniˇzˇs´ı hardwarov´e u ´rovni. 2. data-link layer (spojov´a vrstva) Vrstva zab´ yvaj´ıc´ı se k´odov´an´ım a pˇrenosem informac´ı
2 POPIS STANDARDU 802.11
19
Aplikační Prezentační Relační Síťový operační systém
Transportní
TCP
Síťová
IP
Spojová
Logical Link Control (LLC) Media Access Control (MAC)
802.11
Fyzická
Obr´azek 3: OSI model 3. network layer (s´ıt’ov´a vrstva) Obsluha pˇrenosov´ ych tras a zpr´av ˇ ızen´ı doruˇcov´an´ı informac´ı a kvality pˇrenosu 4. transport layer (transportn´ı vrstva) R´ 5. session layer (relaˇcn´ı vrstva) Udrˇzov´an´ı a koordinace komunikace 6. presentation layer (prezentaˇcn´ı vrstva) Form´atov´an´ı, konverze a zobrazen´ı pˇrenesen´ ych dat 7. application layer (aplikaˇcn´ı vrstva) Pˇrenos informac´ı mezi programy Kaˇzd´ y produkt na s´ıti je moˇzn´e popsat pomoc´ı tˇechto vrstev. Specifikace 802.11 vˇsak definuje pouze dvˇe nejniˇzˇs´ı vrstvy a to fyzickou a spojovou.
2.4
Fyzick´ a vrstva
Fyzick´a vrstva je fyzick´ ym rozhran´ım mezi zaˇr´ızen´ımi v s´ıti. A protoˇze hovoˇr´ıme o bezdr´atov´ ych s´ıt´ıch jedn´a se o vrstvu bezdr´atovou. P˚ uvodnˇe (pˇri vyd´an´ı standardu v roce 1997) byly ve standardu 802.11 definov´any tˇri fyzick´e vrstvy. • Frequency-hooping (FH) spread-spectrum radio
2 POPIS STANDARDU 802.11
20
• Direct-sequence (DS) spread-spectrum radio • Infraˇcerven´e svˇetlo V roce 1999 pˇri revizi standardu byly tyto tˇri vrstvy doplnˇeny jeˇstˇe o dalˇs´ı dvˇe • Orthogonal Frequency Division Multiplexing (OFDM) • High-Rate Direct Sequence (HR/DS nebo HR/DSSS) 2.4.1
Rozprostˇ ren´ e spektrum (spread spectrum)
Technologie rozprostˇren´eho spektra se pouˇz´ıv´a pro dosaˇzen´ı rychl´ ych datov´ ych pˇrenos˚ u v p´asmu ISM. Na rozd´ıl od tradiˇcn´ıch r´adiov´ ych technologi´ı, kter´e se snaˇz´ı do co nejuˇzˇs´ıho p´asma vmˇestnat co nejvˇetˇs´ı datov´ y tok tak u rozprostˇren´eho spektra se pouˇz´ıv´a matematick´e ˇ funkce pro rozprostˇren´ı cel´e s´ıly sign´alu do relativnˇe Sirok´ eho frekvenˇcn´ıho bloku. Pˇrij´ımaˇc pot´e provede opaˇcnou matematickou funkci a pˇrevede rozprostˇren´ y sign´al do klasick´eho u ´zkop´asmov´eho sign´alu se kter´ ym potom pracuje. 2.4.2
Typy rozprostˇ ren´ eho spektra
Fyzick´a r´adiov´a vrstva 802.11 pˇredepisuje tˇri r˚ uzn´e techniky rozprostˇren´eho spektra. Frekvenˇ cn´ı skoky (Frequency hopping, FHSS) Pouˇzit´ım metody FHSS je p´asmo rozdˇeleno na 75 d´ılˇc´ıch kan´al˚ u o ˇs´ıˇrce 1MHz. Zbyl´ ych cca 4,5 MHz slouˇz´ı jako ochrann´e p´asmo proti interferenc´ım z vedlejˇs´ıch frekvenˇcn´ıch p´asem. Vys´ılaˇc a pˇrij´ımaˇc se shodnou na pˇrenosov´em vzorci a data jsou posl´ana pˇres tuto sekvenci d´ılˇc´ıch kan´al˚ u. Kaˇzd´a konverzace uvnitˇr s´ıtˇe se prov´ad´ı pomoc´ı jin´e sekvence d´ılˇc´ıch kan´al˚ u kter´a je navrˇzena tak, aby se minimalizovala pravdˇepodobnost, ˇze dva odes´ılatel´e pouˇzij´ı stejn´ y kan´al. Rušení frekvence
Špatný skok
Dobré skoky
čas
Obr´azek 4: Princip FHSS
2 POPIS STANDARDU 802.11
21
Jednou z hlavn´ıch v´ yhod FHSS je vˇetˇs´ı poˇcet syst´em˚ u pracuj´ıc´ıch najednou v p´asmu 2,4GHz. Teoreticky je to aˇz 26 pˇr´ıstupov´ ych bod˚ u najednou. Pˇ r´ım´ a sekvence (Direct Sequence, DSSS) Narozd´ıl od FHSS, DSSS dˇel´ı p´asmo na 3 kan´aly po 22Mhz. Data jsou posl´ana pouze pˇres jeden z kan´al˚ u. Pro kompenzaci ˇsumu v dan´em kan´alu se pouˇz´ıv´a technika ”chipping”. Kaˇzd´ y datov´ y bit je pˇreveden na redundantn´ı s´erii bit˚ u zvan´ ych ”chips”. Po pˇrijet´ı t´eto s´erie pˇrij´ımaˇc inverzn´ım postupem pˇr´ısluˇsn´a data dek´oduje a d´ale pak zpracov´av´a. Nadbyteˇcnost dat spolu s ˇs´ıˇrkou kan´alu 22Mhz umoˇzn ˇuje kontrolu chyb a jejich korekci coˇz minimalizuje potˇrebu opˇetovn´ ych pˇrenos˚ u a t´ım se zv´ yˇs´ı i propustnost s´ıtˇe. Originální signál
Rozprostřený signál
1 0 0 1
1 0 0 1 Rušení Signál
amplituda
Dekódovaný signál
Signál Rušení
frekvence
Obr´azek 5: Princip DSSS Ortogon´ aln´ı frekvenˇ cn´ı multiplex (Orthogonal Frequency Division Multiplex, OFDM) Syst´emy s ortogon´aln´ım frekvenˇcn´ım multiplexem rozdˇel´ı pˇrenosov´e p´asmo na velk´e mnoˇzstv´ı u ´zk´ ych kan´al˚ u. Data se po tˇechto kan´alech pˇren´aˇsej´ı paralelnˇe a relativnˇe malou rychlost´ı. V´ ysledn´a pˇrenosov´a rychlost je pak d´ana souˇctem rychlost´ı jednotliv´ ych kan´al˚ u. Vzhledem k mal´e pˇrenosov´e rychlosti kan´alem je sign´al mnohem robustnˇejˇs´ı. Tohoto syst´emu vyuˇz´ıv´a v p´asmu 2.4GHz napˇr´ıklad specifikace IEEE 802.11g a v p´asmu 5GHz IEEE 802.11a. 2.4.3
Vylepˇ sen´ı fyzick´ e vrstvy specifikac´ı 802.11b
Kl´ıˇcov´ y pˇr´ınos specifikace 802.11b je standardizace fyzick´e vrstvy pro podporu dvou nov´ ych pˇrenosov´ ych rychlost´ı 5.5Mbps a 11 Mbps. Pro tyto rychlosti musela b´ yt vybr´ana technika DSSS protoˇze jak bylo uvedeno v´ yˇse FHSS nepodporuje rychlosti vyˇsˇs´ı neˇz 2 Mbps. D˚ usledkem toho je probl´em s nekompatibilitou zaˇr´ızen´ı se specifikac´ı 802.11b a zaˇr´ızen´ı podle standardu 802.11 pracuj´ıc´ı se syst´emem FHSS. DSSS standard specifikuje 11ti bitov´ y chipping naz´ yvan´ y Baker sekvence pro k´odov´an´ı pos´ılan´ ych dat. Kaˇzd´a tato sekvence reprezentuje jeden datov´ y bit, kter´ y je pˇreveden na ˇcasov´ y pr˚ ubˇeh sign´alu naz´ yvan´ y ”symbol” kter´ y m˚ uˇze b´ yt posl´an bezdr´atovou cestou. Tyto symboly jsou pˇren´aˇseny rychlost´ı 1 MSps (1 milion symbol˚ u za sekundu) dvoustavov´ ym
2 POPIS STANDARDU 802.11
22
kl´ıˇcov´an´ım f´azov´ ym posuvem (BPSK). V pˇr´ıpadˇe pˇrenosov´e rychlosti 2Mbps je kl´ıˇcov´an´ı d˚ umyslnˇejˇs´ı a je prov´adˇeno ˇctyˇrstavovˇe (QPSK). Pro zvˇetˇsen´ı pˇrenosov´e rychlosti specifikace 802.11b se pouˇz´ıvaj´ı zdokonalen´e ˇsifrovac´ı techniky. Sp´ıˇse neˇz dvˇe Baker sekvence specifikuje 802.11b doplˇ nkov´ y ˇsifrovac´ı kl´ıˇc (CCK) kter´ y se skl´ad´a ze souboru 64 osmibitov´ ych k´odov´ ych slov. Tyto k´odov´a slova maj´ı takov´e matematick´e vlastnosti, ˇze je pˇrij´ımaˇc dok´aˇze od sebe bezpeˇcnˇe odliˇsit a to i v pˇr´ıtomnosti znaˇcn´eho ˇsumu. Pro pˇrenosovou rychlost 5.5 Mbps pouˇz´ıv´a CCK 4 bitov´e k´odov´an´ı a v pˇr´ıpadˇe 11 Mbps potom k´odov´an´ı 8 bitov´e. Pro obˇe rychlosti se pouˇz´ıv´a technika QPSK a pˇrenosov´a rychlost 1.375 MSps. Pro prostˇred´ı s velk´ ym ruˇsen´ım a pro vˇetˇs´ı dosah pouˇz´ıvaj´ı s´ıtˇe 802.11b dynamic rate shifting, coˇz je automatick´e pˇrizp˚ usoben´ı pˇrenosov´e rychlosti ke kompenzaci ruˇsiv´ ych vliv˚ u na kan´al. V ide´aln´ım pˇr´ıpadˇe se stanice spoj´ı plnou rychlost´ı 11Mbps. Nicm´enˇe, kdyˇz se zaˇr´ızen´ı pohybuje mimo ide´aln´ı dosah nebo se ocitne v prostˇred´ı s vˇetˇs´ım ruˇsen´ım sn´ıˇz´ı se pˇrenosov´a rychlost na 5.5, 2 nebo 1 Mbps. V opaˇcn´em pˇr´ıpadˇe pokud se podm´ınky pro pˇrenos zlepˇs´ı pˇrenosov´a rychlost se opˇet zv´ yˇs´ı na maxim´aln´ı moˇznou mez. Rate shifting je mechanizmus fyzick´e vrstvy a je transparentn´ı vzhledem k uˇzivateli i k vyˇsˇs´ım vrstv´am. 2.4.4
Radiov´ e frekvence
V dneˇsn´ı dobˇe jsou ve standardu 802.11 definov´any dvˇe frekvenˇcn´ı p´asma a to 2.4GHz a 5GHz. Zat´ımco p´asmo okolo frekvence 5GHz nen´ı celosvˇetovˇe sjednoceno a vedou se spory mezi americk´ ym a evropsk´ ym regul´atorem, p´asmo okolo frekvence 2.4GHz nebo alespoˇ n jeho ˇc´asti jsou glob´aln´ı a aˇz na r˚ uzn´e specifika pouˇziteln´e na cel´em svˇetˇe. Jak to vypad´a konkr´etnˇe ukazuje n´asleduj´ıc´ı tabulka: Zemˇ e Kan´ aly (frekvence) USA a Kanada 1 - 11 (2.412 - 2.462) ˇ Evropa mimo Francie a Spanˇ elska 1 - 13 (2.412 - 2.472) Francie 10 - 13 (2.457 - 2.472) ˇ Spanˇelsko 10 - 11 (2.457 - 2.462) Japonsko 14 (2.484) Jak jiˇz bylo ˇreˇceno, technologie rozprostˇren´eho spektra vys´ıl´a do frekvenˇcn´ıho rozsahu 22MHz zat´ımco odstup mezi kan´aly je pouh´ ych 5MHz. Z toho plyne, ˇze vys´ıl´an´ı na jednom kan´alu se pˇrekr´ yv´a s vys´ıl´an´ım na sousedn´ıch ˇctyˇrech kan´alech. To znamen´a, ˇze pokud chceme provozovat dva pˇr´ıstupov´e body najednou, mus´ıme je nastavit, aby pracovaly minim´alnˇe pˇet kan´al˚ u od sebe. Z tohoto zjiˇstˇen´ı plyne, ˇze ani onˇech 13 kan´al˚ u, kter´e jsou vyhrazeny pro ˇ provoz v Cesk´e republice nen´ı zase tak mnoho jak by se mohlo zd´at. 2.4.5
Interference sign´ alu
Probl´emem u r´adiov´eho sign´alu a to zejm´ena v uzavˇren´ ych prostor´ach je ten, ˇze se odr´aˇz´ı od r˚ uzn´ ych pˇrek´aˇzek jako jsou zdi, n´abytek atd. Protoˇze stanice v r´amci BSS pouˇz´ıvaj´ı t´emˇeˇr v´ yhradnˇe vˇsesmˇerov´e ant´eny sign´al od vys´ılaˇce k pˇrij´ımaˇci m˚ uˇze a t´emˇeˇr vˇzdy putuje po
2 POPIS STANDARDU 802.11
23
v´ıce pˇrenosov´ ych cest´ach. Takov´e cesty jsou r˚ uznˇe dlouh´e a vzhledem ke koneˇcn´e rychlosti ˇs´ıˇren´ı sign´alu ke sv´emu c´ıli putuj´ı r˚ uznˇe dlouhou dobu. Cel´ y princip zn´azorˇ nuje n´asleduj´ıc´ı obr´azek:
Strop
:
AP
Podlaha
Přijímané signály čas
Výsledek čas
Obr´azek 6: Interference sign´alu v uzavˇren´e m´ıstnosti Jelikoˇz pˇrenosov´ y sign´al zde pˇredstavuje elektromagnetick´e vlnˇen´ı a to m´a tu vlastnost, ˇze se skl´ad´a, je v´ ysledn´ y sign´al vlastnˇe sloˇzen´ım vˇsech sign´alov´ ych cest vˇcetnˇe jejich zpoˇzdˇen´ı. ˇ Casov´ y rozd´ıl mezi pˇrijet´ım prvn´ıho a posledn´ıho sign´alu z vys´ılac´ı stanice se naz´ yv´a rozprostˇren´e zpoˇzdˇen´ı (spread delay). Takov´ yto ˇcasov´ y rozd´ıl nab´ yv´a hodnot ˇr´adovˇe nanosekund. Zaˇr´ızen´ı pracuj´ıc´ı podle standardu 802.11 se dok´aˇz´ı vypoˇr´adat se zpoˇzdˇen´ım cca 500ns. To je krajn´ı hodnota a nem˚ uˇzeme zde oˇcek´avat ˇz´adn´e z´avratn´e rychlosti. Pokud je zpoˇzdˇen´ı vˇetˇs´ı, nelze takovou s´ıt’ realizovat. Pro plnou rychlost (11 Mb/s) se ud´av´a zpoˇzdˇen´ı maxim´alnˇe okolo 65ns. Se vzr˚ ustaj´ıc´ı dobou pak kles´a pˇrenosov´a rychlost. 2.4.6
Podvrstvy PLCP a PMD
Pokud se pod´ıv´ame jeˇstˇe podrobnˇeji na fyzickou vrstvu, zjist´ıme, ˇze se skl´ad´a ze dvou podvrstev
2 POPIS STANDARDU 802.11
24
• protokol konvergence fyzick´e vrstvy (Physical Layer Convergence Procedure, PLCP) • podvrstva z´avisl´a na volbˇe fyzick´eho m´edia (Physical Medium Depend, PMD) PMD se star´a o pˇrenos bit˚ u od vrstvy PLCP pomoc´ı ant´eny do etheru. Podstatˇe se star´a o k´odov´an´ı pˇren´aˇsen´ı dat v´ yˇse zm´ınˇen´ ymi principy PLCP tato vrstva pˇredstavuje spojen´ı mezi pˇren´aˇsen´ ymi r´amci MAC vrstvy a pˇrenosov´ ym m´ediem. Vzhledem k tomu, ˇze pr´avˇe ona urˇcuje jak se tato data budou pˇren´aˇset (jak´a se pouˇzije modulace . . . ) umoˇzn ˇuje tak MAC vrstvˇe b´ yt nez´avislou na druhu pˇrenosu. Kromˇe toho tak´e informuje MAC vrstvu o tom, zdali je pˇrenosov´e m´edium k dispozici a t´ım p´ade zdali se mohou pˇripraven´a data vyslat Struktura PLCP podvrstvy Standard 802.11 definuje dvˇe pˇr´ıpustn´e struktury podvrstvy PLCP. A to dlouhou a kr´atkou preambuli. Dlouhou preambuli mus´ı podporovat vˇsechny syst´emy, zat´ımco kr´atk´a slouˇz´ı ke zvˇetˇsen´ı propustnosti s´ıtˇe zejm´ena pˇri hlasov´ ych a videopˇrenosech. Form´at PLCP r´amce se skl´ad´a z jiˇz zm´ınˇen´e preambule a hlaviˇcky. 1.PLCP preambule • synchronizaˇcn´ı pole obsahuj´ıc´ı u dloul´e preambule 128 bit˚ u a u kr´atk´e 56 bit˚ u • oddˇelovaˇc zaˇc´atku r´amce (Start Frame Delimiter, SFD) Pouˇz´ıv´a se pro oznaˇcen´ı poˇc´atku kaˇzd´eho r´amce 2.PLCP hlaviˇ cka • 8 bit˚ u pro urˇcen´ı datov´e rychlosti (Data Rate, DR) Informuje jak rychle jsou data pˇren´aˇsena • 8 bit˚ u vyhrazeno pro dalˇs´ı pouˇzit´ı • 16 bit˚ u informuje o d´elce pˇren´aˇsen´ ych dat, tedy o d´elce MAC r´amce • 16 bit˚ u CRC k´od, jedn´a se o kontroln´ı souˇcet pro vylouˇcen´ı chyb. Jeho u ´lohou je vylouˇcit chybu v PLCP hlaviˇcce Aby se pˇredeˇslo probl´em˚ um se zpˇetmou kompatibilitou, pˇren´aˇs´ı se cel´ y PLCP r´amec rychlost´ı 1 Mb/s. Proto 802.11b dosahuje v nejlepˇs´ım pˇr´ıpadˇe 85% fyfick´e vrstvy
2 POPIS STANDARDU 802.11
2.5
25
Spojov´ a vrstva a MAC vrstva
Spojov´a vrstva u standardu 802.11 sest´av´a ze dvou ˇc´ast´ı. Logical Link Control (LLC) a Media Access Control (MAC). Vrstva LLC je shodn´a se standardem 802.2, m´a 48 bitov´e adresov´an´ı stejnˇe jako dalˇs´ı s´ıtˇe standardu 802. Tato skuteˇcnost umoˇzn ˇuje velmi jednoduch´e pˇremostˇen´ı do ostatn´ıch klasick´ ych s´ıt´ı. Vrstva MAC je ovˇsem odliˇsn´a a specifick´a pro tento typ s´ıtˇe. Pro robustnost MAC podvrstvy jsou d˚ uleˇzit´e dvˇe hlavn´ı vlastnosti. • kontroln´ı souˇcet CRC • fragmentace paket˚ u Kaˇzd´ y pˇren´aˇsen´ y paket je opatˇren CRC souˇctem aby se zamezilo poˇskozen´ı pˇri pˇrenosu resp. aby se toto poˇskozen´ı bezpeˇcnˇe odhalilo. Fragmentace paket˚ u slouˇz´ı k rozdˇelen´ı velk´ ych paket˚ u na menˇs´ı ˇc´asti a to z d˚ uvodu poruchy bˇehem pˇrenosu kde by opakovan´e pˇren´aˇsen´ı cel´eho paketu zbyteˇcnˇe s´ıt’ zatˇeˇzovalo. Vzhledem k tomu, ˇze n´achylnost oproti metalick´emu pˇrenosov´emu m´ediu je podstatnˇe vˇetˇs´ı, uˇsetˇr´ı se t´ım mnoho kapacity s´ıtˇe. A v neposledn´ı ˇradˇe pravdˇepodobnost vzniku poruchy nar˚ ust´a s velikost´ı pˇren´aˇsen´eho paketu. 2.5.1
Mezir´ amcov´ e mezery
Podobnˇe jako u Ethernetu hraj´ı i zde mezir´amcov´e mezery velikou roli. Slouˇz´ı totiˇz ke koordinaci pˇr´ıstupu k pˇrenosov´emu m´ediu. Standard 802.11 definuje ˇctyˇri typy mezir´amcov´ ych mezer. Short interframe space (SIFS) nejkratˇs´ı mezir´amcov´a mezera slouˇz´ıc´ı pro bezprostˇredn´ı odpovˇedi (ACK,CTS,...) Point coordination function IFS (PIFS) mezir´amcov´a mezera stˇredn´ı d´elky pouˇz´ıvan´a pro v´ yzvy. Ta m´a pˇrednost pˇred norm´aln´ım provozem a kdyˇz chce stanice poslat nˇeco urgentnˇe m˚ uˇze to uˇcinit po PIFS a pˇredbˇehnout tak ostatn´ı. DCF interframe space (DIFS) nejdelˇs´ı mezir´amcov´a mezera zaruˇcuje minim´aln´ı prostoj pˇri soupeˇren´ı anonymn´ıch r´amc˚ u Extended interframe space (EIFS) nejedn´a se fixn´ı interval a pouˇz´ıv´a se pouze tehdy pokud nastala chyba v pˇrenosu r´amce Koordinace pˇr´ıstupu k m´ediu Aby bezdr´atov´e s´ıtˇe mohly v˚ ubec fungovat, mus´ı se vyˇreˇsit jeden z´akladn´ı probl´em. A to jak´ ym zp˚ usobem bude prob´ıhat provoz na pˇrenosov´em m´ediu v pˇr´ıpadˇe pokud bude cht´ıt vys´ılat nˇekolik stanic najednou. Pokud by toto nebylo nijak oˇsetˇreno doch´azelo by k ˇcast´ ym koliz´ım a znemoˇzn ˇovalo by to provoz s´ıtˇe. Standard 802.11 definuje dvˇe funkce pro koordinaci pˇr´ıstupu k m´ediu.
2 POPIS STANDARDU 802.11
26
• Funkce distribuovan´e koordinace DFC (Distributed Coordination Function) je z´akladem standardn´ıho pˇr´ıstupov´eho mechanismu CSMA/CA a je u bezdr´atov´ ych s´ıt´ı ˇsiroce pouˇz´ıv´ana • Funkce koordinace jedn´ım bodem PFC (Point Coordination Function) je pro aplikace bl´ızk´e re´aln´emu ˇcasu jako je napˇr. pˇren´aˇsen´ı videa. Bˇehem doby kdy je syst´em v PCF m´odu pˇr´ıstupov´ y bod vyz´ıv´a kaˇzdou stanici jestli nem´a pˇripraven´a data a po dan´em ˇ adn´a stanice v tomto pˇr´ıpadˇe nem´a pr´avo vys´ılat dokud ˇcase pˇristupuje k dalˇs´ı. Z´ na n´ı nepˇrijde ˇrada a nen´ı k tomu vyzvan´a. V´ yhodou tohoto zp˚ usobu komunikace je skuteˇcnost, ˇze pokud pˇr´ıstupov´ y bod pˇristupuje k jednotliv´ ym stanic´ım popoˇradˇe a jen po urˇcit´ y pˇresnˇe definovan´ y ˇcas je zaruˇcena maxim´aln´ı latence. Naopak pokud stanice potˇrebuje okamˇzitˇe komunikovat tak nem˚ uˇze a mus´ı ˇcekat aˇz na ni pˇrijde ˇrada ikdyˇz ostatn´ı stanice zrovna komunikovat nechtˇej´ı. Toto zpoˇzdˇen´ı m˚ uˇze b´ yt zejm´ena u rozs´ahl´ ych s´ıt´ı znaˇcn´e. V souˇcastn´e dobˇe je velmi m´alo rozˇs´ıˇren. 2.5.2
CSMA/CA a probl´ em skryt´ eho uzlu
Vrstva MAC je v z´asadˇe velmi podobn´a s 802.3 v tom, ˇze je navrˇzen´a pro v´ıce uˇzivatel˚ u na jednom sd´ılen´em pˇrenosov´em m´ediu kdy zaˇr´ızen´ı kter´e vys´ıl´a pˇred zah´ajen´ım pˇrenosu poslechne zda na m´edium nevys´ıl´a uˇz nˇekdo jin´ y. U Ethernetov´e s´ıtˇe (802.3) protokol CSMA/CD (Carrier Sense Multiple Access with Collision Detection) ˇr´ıd´ı jak stanice pˇristupuj´ı k pˇrenosov´emu m´ediu a jak ˇreˇsit kolize kter´e se vyskytnou pˇri souˇcasn´em pokusu o komunikaci dvou nebo v´ıce stanic. V bezdr´atov´ ych s´ıt´ıch 802.11 nen´ı detekce koliz´ı moˇzn´a kv˚ uli jevu zvan´emu ”bl´ızk´ y / vzd´alen´ y” probl´em. Pro detekci kolize mus´ı stanice v jednom okamˇziku vys´ılat a pˇrij´ımat, ale r´adiov´a ˇc´ast pokud vys´ıl´a tak ztr´ac´ı schopnost pˇrij´ımat a t´ım odhalit kolizi. Pro vyˇreˇsen´ı tohoto nedostatku pouˇz´ıv´a 802.11 m´ırnˇe upraven´ y protokol zn´am´ y jako Carrier Sense Multiple Access with Collision Avoidance (CSMA/CA) nebo Distributed Coordination Function (DCF). CSMA/CA se pokus´ı vyvarovat koliz´ım pouˇzit´ım jednoznaˇcn´eho paketov´eho potvrzen´ı (ACK) coˇz znamen´a, ˇze pˇrij´ımac´ı stanice vyˇsle ACK paket jako potvrzen´ı, ˇze datov´ y paket doˇsel v poˇr´adku. CSMA/CA funguje n´asledovnˇe. Pokud stanice chtˇej´ı vys´ılat a nen´ı detekovan´a ˇz´adn´a aktivita stanice ˇcekaj´ı jeˇstˇe dalˇs´ı n´ahodn´ y ˇcasov´ yu ´sek a pokud po jeho uplynut´ı st´ale nen´ı ˇz´adn´a aktivita stanice zaˇcne vys´ılat. Jestliˇze je paket pˇrenesen v poˇr´adku, stanice kter´a ho pˇrijme vyˇsle zpˇet ACK r´amec. Stanice, kter´a vys´ıl´a ho pˇrijme a dokonˇc´ı pˇrenos. Jestliˇze ovˇsem ACK r´am nen´ı pˇrijat bud’ z d˚ uvodu, ˇze datov´ y paket nedorazil v poˇr´adku nebo je poˇskozen d˚ usledkem kolize stanice poˇck´a opˇet n´ahodnou dobu a pokus´ı se vyslat data znovu.CSMA/CA tak poskytuje zp˚ usob vzduchu jako sd´ılen´eho m´edia. Nicm´enˇe tento zp˚ usob poskytuje niˇzˇs´ı v´ ykon, neˇz ekvivalentn´ı s´ıt’ Ethernet. Dalˇs´ı probl´em v bezdr´atov´e s´ıt´ı je takzvan´ y ”hidden node” probl´em ve kter´em stanice na opaˇcn´e stranˇe AP m˚ uˇzou registrovat aktivitu z tohoto AP, ale uˇz ne od sebe navz´ajem d´ıky vz´ajemn´e vzd´alenosti. Proto 802.11 specifikuje v MAC vrstvˇe nepovinn´ y protokol Request to Send / Clear to Send (RTS / CTS). Pokud je protokol povolen stanice vyˇsle RTS a ˇcek´a na AP aˇz j´ı odpov´ı CTS. Protoˇze AP poslouchaj´ı vˇsechny stanice v s´ıti tak jim CTS ˇrekne ˇze nˇekdo komunikuje a ony odloˇz´ı pˇrenos do t´e doby neˇz bude AP schopen s nimi komunikovat.
2 POPIS STANDARDU 802.11
27
AP Přístupový bod
: : A
B
: C
Bezdrátové stanice
Obr´azek 7: Princip vyniku hidden node MAC vrstva poskytuje jeˇstˇe dalˇs´ı dvˇe vlastnosti, kter´e maj´ı za u ´ˇcel zv´ yˇsit odolnost proti poruch´am. Kontroln´ı souˇcet CRC a paketov´a segmentace. Kaˇzd´ y paket obsahuje vypoˇc´ıtan´ y ’ CRC souˇcet, kter´ y zajiˇst uje ˇze data nebyla bˇehem pˇrenosu poˇskozena. Paketov´a segmentace umoˇzn ˇuje velik´e pakety rozdˇelit a pˇren´aˇset po ˇc´astech coˇz je velmi uˇziteˇcn´e zejm´ena v prostˇred´ı kde je velik´ y provoz a dlouh´e pakety by tak byly n´achylnˇejˇs´ı na poruchy a kolize. Tato technika v´ yraznˇe sniˇzuje potˇrebu opakovan´ ych pˇrenos˚ u a t´ım zvyˇsuje propustnost s´ıtˇe. Vrstva MAC je tak´e zodpovˇedn´a za opˇetovn´e poskl´ad´an´ı paketu a dˇel´a to transparentnˇe v˚ uˇci protokol˚ um vyˇsˇs´ı u ´rovnˇe.
2.6
ˇ ızen´ı spotˇ R´ reby
Kromˇe ˇr´ızen´ı pˇr´ıstupu k m´ediu obsahuje MAC vrstva i syst´em ˇr´ızen´ı spotˇreby kter´ y se pouˇz´ıv´a hlavnˇe u pˇrenosn´ ych zaˇr´ızen´ı. Standard podporuje dva nap´ajec´ı m´ody a to Continuous Aware a Power Save Polling m´od. V prvn´ım pˇr´ıpadˇe je vys´ılaˇc vˇzdy zapnut´ y zat´ımco ve druh´em je ve stavu sp´anku do t´e doby dokud pro ni nem´a pˇr´ıstupov´ y bod pˇripravena data. Stanice r´adiovou ˇc´ast pravidelnˇe zap´ın´a po pˇrijet´ı sign´alu z pˇr´ıstupov´eho bodu. Tento sign´al obsahuje informaci o tom, pro kterou ze stanic m´a pˇripraveny data. Ta se n´aslednˇe probud´ı, pˇrijme tato data a pak se opˇet vr´at´ı do sleep m´odu.
2 POPIS STANDARDU 802.11
28
AP RTS (Request To Send)
:
CTS (Clear To Send) Data ACK
Obr´azek 8: Pˇredch´azen´ı koliz´ım
2.7
Form´ at MAC r´ amce
R´amec sest´av´a z MAC hlaviˇcky, kter´a obsahuje informace o pˇren´aˇsen´ ych datech a tˇela r´amce obsahuj´ıc´ıho samotn´a pˇren´aˇsen´a data spolu s kontroln´ım souˇctem CRC. Hlaviˇcka r´amce obsahuje: Frame control (FC) informace o verzi protokolu a typu r´amce (ˇr´ıd´ıc´ı, datov´ y nebo kontroln´ı) Duration/ID (ID) Station ID je identifik´ator stanice pouˇz´ıvan´ y pro funkci u ´spory energie a Duration Value je d´elka trv´an´ı r´amce pouˇz´ıvan´a pro v´ ypoˇcet rezervace pˇrenosov´eho m´edia pomoc´ı Network Allocation Vector (NAV) Adress field 1-4 jsou ˇctyˇri adresn´ı pole obsahuj´ıc´ı adresy zdroje, c´ıle, pˇrenaˇseˇce a pˇrij´ımaˇce v z´avislosti na poli Frame Control Sequence Control pouˇz´ıv´a se pro defragmentaci a likvidaci duplik´atn´ıch r´amc˚ u Jednotliv´a pol´ıˇcka MAC r´amce jsou zˇrejm´a a popsan´a v´ yˇse. Zaj´ımav´a je ovˇsem struktura pol´ıˇcka Frame Control, kter´e obsahuje d˚ uleˇzit´e informace o vlastnostech r´amce. • Protocol indikuje verzi standardu 802.11 ˇ ıd´ıc´ı (management), • Type a Subtype indikuje obsah r´amce. Jednotliv´e typy jsou R´ Ovl´adac´ı (control) a Datov´ y (Data), Subtypy pak mohou b´ yt RTS, CTS, ACK atd.
2 POPIS STANDARDU 802.11
29
hlavička MAC FC
ID
ADD1
ADD2
ADD3
SC
ADD4
Data
CRC
2 bajty 2 bajty 6 bajtů 6 bajtů 6 bajtů 2 bajty 6 bajtů (0 - 2312 bajtů) 4 bajty Formát Frame Control Protocol Type 6 bitů 2 bity
Subtype 4 bity
To DS Frame DS More Frag Retry P Mgt More Data WEP Order 1 bit
1 bit
1 bit
1 bit
1 bit
1 bit
1 bit
1 bit
Obr´azek 9: Form´at MAC r´amce • To DS je nastaveno na 1, pokud je r´amec pos´ıl´an do distribuˇcn´ıho syst´emu • From DS je nastaveno na 1, pokud je r´amec pˇrij´ım´an od distribuˇcn´ıho syst´emu • More Fragment je nastaveno na 1 pokud byl pˇren´aˇsen´ y r´amec rozdˇelen na v´ıce ˇc´ast´ı pˇren´aˇsen´ ych samostatnˇe • Retry oznamuje, ˇze jde znovuvys´ıl´an´ı jiˇz vys´ılan´e ˇc´asti r´amce. Pˇrij´ımaˇc tak pozn´a duplicitu r´amce. • Power Management je reˇzim u ´spory energie v nˇemˇz se bude stanice nach´azet po pˇrenesen´ı r´amce. • More Data oznamuje, ˇze je ve vyrovn´avac´ı pamˇeti pro tuto stanici uloˇzeno v´ıce dat • WEP indikuje, ˇze tˇelo r´amce je k´odov´ano algoritmem WEP • Order indikuje, ˇze r´amec je odes´ıl´an sluˇzbou Strict-Ordering, tedy nebude d´ale zpracov´av´an.
2.8
Bezpeˇ cnost
Bezdr´atov´a s´ıt’ m´a oproti klasick´e dr´atov´e s´ıti jednu podstatnou nev´ yhodu, kter´a vych´az´ı pˇr´ımo z jej´ıho principu. Zat´ımco u dr´atov´e s´ıtˇe je jej´ı odposlouch´av´an´ı dosti komplikovan´e nebot’ bychom se museli dostat pˇr´ımo ke kabelu u bezdr´atov´e s´ıtˇe nelze pˇresnˇe vymezit prostor ve kter´em lze sign´al pˇrij´ımat. Proto je zde ot´azka bezpeˇcnosti velice d˚ uleˇzit´a a m˚ uˇzeme ji rozdˇelit do dvou hlavn´ıch skupin. ˇ sifrov´ an´ı tedy zabespeˇcen´ı pˇren´aˇsen´ ych dat pˇred odposlechnut´ım autorizace tedy ˇr´ızen´ı pˇr´ıstupu opr´avnˇen´ ych uˇzivatel˚ u
2 POPIS STANDARDU 802.11 2.8.1
30
ˇ Sifrov´ an´ı pˇ ren´ aˇ sen´ ych dat
Aby byly WiFi s´ıtˇe d˚ uvˇeryhodn´e a mohlo doj´ıt k jejich masov´emu rozˇs´ıˇren´ı byla uˇz pˇr´ımo do standardu 802.11 zahrnuta moˇznost ˇsifrovat provoz. WEP-Wired Equivalent Privacy Ve WiFi s´ıt´ıch se o zabezpeˇcen´ı star´a WEP coˇz je standard pro zabezpeˇcen´ı r´adiov´e ˇc´asti s´ıtˇe. To znamen´a, ˇze zabezpeˇcuje pˇrenos jen na mezi stanic´ı a pˇr´ıstupov´ ym bodem. Pokud je pˇr´ıstupov´ y bos pˇripojen na nˇejakou lok´aln´ı s´ıt’, nebo dokonce na internet mus´ı se d´ale bezpeˇcnost ˇreˇsit dalˇs´ım zp˚ usobem. Standard WEP pouˇz´ıv´a jako ˇsifru symetrickou streamovou ˇsifru RC4, tedy ˇsifru s tajn´ ym kl´ıˇcem. Pro ˇsifrov´an´ı a deˇsifrov´an´ı kl´ıˇc expanduje podle urˇcit´ ych pravidel na d´elku jakou m´a samotn´a zpr´ava a pak je pomoc´ı operace XOR zpr´ava zaˇsifrov´ana resp. rozˇsifrov´ana. Obˇe zaˇr´ızen´ı mezi nimiˇz komunikace prob´ıh´a musej´ı pak zn´at jednak kl´ıˇc a jednak ona pravidla podle kter´ ych kl´ıˇc expanduje. Standard ovˇsem neˇreˇs´ı distribuci takov´eho kl´ıˇce a je na v´ yrobci jak to oˇsetˇr´ı. WEP definuje d´elku kl´ıˇce na 40 bit˚ u coˇz nen´ı mnoho. Nˇekteˇr´ı v´ yrobci pouˇz´ıvaj´ı vlastn´ı ˇsifry dlouh´e 128 bit˚ u a nebo i 256 bit˚ u. Probl´em je v tom, ˇze takto Dlouh´e kl´ıˇce nejsou standardizov´any a m˚ uˇze tedy nastat probl´em se vz´ajemnou kompatibilitou. 2.8.2
Autentizace
Druhou d˚ uleˇzitou souˇc´ast´ı bezpeˇcnostn´ı strategie je ˇr´ızen´ı pˇr´ıstupu do s´ıtˇe, tedy autentizace uˇzivatele. U kabelov´ ych s´ıt´ı je situace opˇet podstatnˇe jednoduˇsˇs´ı. Pokud nechceme aby se nˇekdo pˇripojoval do s´ıtˇe tak jednoduˇse omez´ıme pˇr´ıstup do urˇcit´ ych prostor. Protoˇze jak je v´ yˇse zm´ınˇeno nem˚ uˇzeme u bezdr´atov´ ych s´ıt´ı vymezit jejich pˇresn´ y rozsah mus´ıme ˇreˇsit ot´azku kdo k n´ı pˇristupovat m˚ uˇze a kdo nikoliv. Autentizace ve standardu 802.11 je obecnˇe jednosmˇern´ y proces. To znamen´a, ˇze zat´ımco stanice se pˇri pˇr´ıstupu k pˇr´ıstupov´emu bodu mus´ı autentizovat opaˇcnˇe to neplat´ı. Pˇr´ıstupov´ y bod se pˇri pokusu o spojen´ı se stanic´ı autentizovat nemus´ı coˇz p˚ usob´ı obˇcas probl´emy s bezpeˇcnost´ı. Standard 802.11 definuje dvˇe metody autentizace • open system autentizace • shared-key autentizace Open-system autentizace Tato metoda spoˇc´ıv´a v tom, ˇze pˇr´ıstupov´ y bod pˇrijme stanici na z´akladˇe informac´ı, kter´e mu sama poskytne. Takov´a stanice se identifikuje prostˇrednictv´ım SSID (Service Set Identifier). Pokud ale pˇr´ıstupov´ y bod sv´e SSID vys´ıl´a, tak nen´ı probl´em ho odchytit a vz´apˇet´ı se s n´ım autentizovat pro pˇr´ıstup k s´ıti. Z v´ yˇse uveden´eho je zˇrejm´e, ˇze tato metoda nen´ı zrovna nejbezpeˇcnˇejˇs´ı a proto se v praxi moc nepouˇz´ıv´a.
2 POPIS STANDARDU 802.11
31
Shared-key autentizace V pˇr´ıpadˇe t´eto autentizace je nutn´e pouˇz´ıt tak´e WEP. Standard 802.11 vyˇzaduje, aby kaˇzd´e zaˇr´ızen´ı s implementovan´ ym WEP bylo tak´e schopno uˇz´ıvat autentizaci sd´ılen´ ym kl´ıˇcem.
:
AP
žádost o autentizaci
výzva zakódování
generování náhodného čísla
odpověď potvrzení úspěšnosti
rozkódování a porovnání
Obr´azek 10: Shared-key autentizace Jak je zˇrejm´e z n´azvu, autentizace se zde prov´ad´ı pomoc´ı kl´ıˇce. Tento kl´ıˇc mus´ı b´ yt zn´am´ y kaˇzd´emu zaˇr´ızen´ı, kter´e chce pˇristupovat do s´ıtˇe. Samotn´e ovˇeˇrov´an´ı prob´ıh´a n´asledovnˇe. Pˇr´ıstupov´ y bod odeˇsle n´ahodn´e ˇc´ıslo zak´odovan´e pomoc´ı dan´eho kl´ıˇce stanici, ta ho opˇet pouˇzit´ım kl´ıˇce dek´oduje a poˇsle zpˇet pokud se obˇe ˇc´ısla shoduj´ı, umoˇzn´ı pˇr´ıstupov´ y bod stanici pˇr´ıstup do s´ıtˇe.
´ RE ˇ SEN ˇ ´I OVLADAC ´ ´I JEDNOTKY 3 HARDWAROVE
3
32
Hardwarov´ eˇ reˇ sen´ı ovl´ adac´ı jednotky
Diskuse hardware ovl´ adac´ı jednotky Hardware mus´ı splˇ novat n´asleduj´ıc´ı poˇzadavky: • Dostateˇcn´ y v´ ypoˇcetn´ı v´ ykon pro ovl´ad´an´ı WiFi rozhran´ı • Dostateˇcn´ y poˇcet I/O pro ovl´ad´an´ı funkˇcn´ıch ˇc´ast´ı praˇcky Dalˇs´ı hlediska: • Snadnost v´ yvoje SW (Dostupnost IDE a kompil´atoru pro vyˇsˇs´ı programovac´ı jazyky) • Snadnost v´ yvoje HW Po zv´aˇzen´ı vˇsech hledisek jsem se rozhodl pro jednoˇcipov´ y mikrokontroler PIC 18F452 a jeho implementaci ve v´ yvojov´e desce Chipweb ER25. Mikrokontroler je pro tuto aplikaci dostateˇcnˇe rychl´ y a ve v´ yvojov´e desce je jiˇz zapojen s konektorem pro osazen´ı WiFi PCMCIA karty.
3.1
Popis hardware ovl´ adac´ı jednotky
3.2
V´ yvojov´ a deska ER25
Pro hardwarovou realizaci jsem pouˇzil v´ yvojov´ y kit, kter´ y je osazen procesorem od firmy Microchip. Jedn´a se o modelovou ˇradu PIC18Fxxx, kter´a sv´ ym v´ ykonem dostaˇcuje pro pouˇzit´ı se standardem 802.11b. Z´aroveˇ n se jedn´a o velmi u ´sporn´ y mikroprocesor a proto je vhodn´ y zejm´ena pro mobiln´ı bateriovˇe nap´ajen´a zaˇr´ızen´ı coˇz podtrhuje i funkce automatick´e kontroly nap´ajec´ıho napˇet´ı. O pracovn´ı frekvenci se star´a extern´ı oscil´ator, kter´ y m´a frekvenci 20MHz a mikroprocesor s n´ım dosahuje v´ ykonu 5 MIPs. Na desce se kromˇe bezdr´atov´eho rozhran´ı nach´az´ı tak´e rozhran´ı s´eriov´e a cel´ y obvod je navrˇzen tak, aby bylo moˇzn´e Mikroprocesor pomoc´ı nˇej programovat pˇr´ımo v zapojen´ı. Jak jsem se zm´ınil hlavn´ı a podstatnou ˇc´ast´ı cel´e v´ yvojov´e desky je rozhran´ı podle stan’ dardu 802.11b, kter´e je zajiˇst ov´ano prostˇrednictv´ım bˇeˇzn´e PCMCIA karty. Cel´e zaˇr´ızen´ı je nap´ajeno napˇet´ım 9 volt˚ u s maxim´aln´ı spotˇrebou 500mA. Vzhledem k tomu, ˇze dnes nen´ı probl´em sehnat akumul´atory velikosti AA o kapacitˇe pˇrevyˇsuj´ıc´ı 2500mAh potom si mysl´ım, ˇze deska nap´ajen´a z ˇcl´anku sloˇzen´eho z tˇechto bateri´ı vydrˇz´ı pomˇernˇe dlouho a pro ˇr´ızen´ı modelu v laboratorn´ıch podm´ınk´ach. Pro jeˇstˇe vˇetˇs´ı v´ ydrˇz a dobu provozu m˚ uˇze mikroprocesor pokud nen´ı vyuˇz´ıv´ana vyp´ınat PCMCIA kartu pomoc´ı rozhran´ı 802.11b. K v´ yvojov´e desce je pˇriloˇzen i obsluˇzn´ y open source software psan´ y v jazyce C kter´ y obsahuje pˇredem napsan´e a odladˇen´e knihovny. Jsou zde pˇreprogramov´any k´ody s nimiˇz m˚ uˇze deska pracovat v obou typech s´ıt´ı a to jak Ad-hoc tak i Infrastructure, coˇz n´am d´av´a ˇsirok´e moˇznosti pouˇzit´ı napˇr. ovl´ad´an´ı modelu ze vzd´alen´eho poˇc´ıtaˇce pˇres internet. D´ale jsou zde knihovny pro podporu WEP zabezpeˇcen´ı 64-bitov´ ym a nebo dokonce 128-bitov´ ym kl´ıˇcem. D´ale je zde moˇznost spustit na mikroprocesoru aplikaci WebServer, kter´a n´am umoˇzn´ı konfigurovat zaˇr´ızen´ı pˇres bezdr´atov´e rozhran´ı. Samozˇrejmˇe nechyb´ı zde ani podpora bˇeˇzn´ ych ’ s´ıt ov´ ych protokol˚ u jako jsou IP, UDP, TCP, HTTP a DHCP.
´ RE ˇ SEN ˇ ´I OVLADAC ´ ´I JEDNOTKY 3 HARDWAROVE
Obr´azek 11: Blokov´e schema v´ yvojov´e desky
3.3
Popis napojen´ı na jednotliv´ e prvky
Na v´ yvojov´e desce jsou vyvedeny n´asleduj´ıc´ı piny procesoru: Konektor J4 J6 J7 J4
Piny RB6 - RB7 RA0, RB0 - RB7, RC0 - RC1, RE0 - RE1 RC3 - RC5, Vdd, GND je vyuˇzit pro In - Circuit Debugging/Programming
Piny jsem jednotliv´ ym funkˇcn´ım ˇc´astem praˇcky pˇridˇelil takto: Vstupy RC0 Termostat RC3 Start programu RC4 Kontakt dveˇr´ı bubnu V´ ystupy RB0 Sp´ınaˇc motoru RB1 Smˇer rotace motoru
33
´ RE ˇ SEN ˇ ´I OVLADAC ´ ´I JEDNOTKY 3 HARDWAROVE
34
RB2 Rychlost rotace motoru RB3 Topn´e tˇeleso RB4 N´apustn´ı ventil RB5 V´ ypustn´ı ventil
Obr´azek 12: Schematick´e zn´azornˇen´ı re´aln´eho modelu praˇcky ˇ r-ˇzilov´ Hardwarov´a realizace na skuteˇcn´e praˇcce by tedy vypadala takto: Ctyˇ y kabel vede z konektoru J7 na panel praˇcky ke dveˇr´ım bubnu a sp´ınaˇci Start. Uvnitˇr praˇcky je konektor J6 (resp. v´ yˇse zm´ınˇen´e piny) pˇripojen na rel´eov´e pole, pˇres kter´e jsou ovl´ad´any pˇr´ısluˇsn´e funkˇcn´ı ˇc´asti praˇcky.
´ RE ˇ SEN ˇ ´I OVLADAC ´ ´I JEDNOTKY 3 HARDWAROVE
3.4
35
Architektura PIC18F452
Tento obvod je postaven na Harvardsk´e architektuˇre, coˇz znamen´a, ˇze m´a pro datovou a programovou pamˇet’ dvˇe oddˇelen´e a nez´avisl´e sbˇernice. Tento fakt mu dovoluje daleko rychleji pˇripravovat data a t´ım i vykon´avat instrukce oproti standardn´ı von Neumannovˇe architektuˇre kde pamˇet’ov´a i datov´a sbˇernice pouˇz´ıvaj´ı stejnou sbˇernici. To znamen´a, ˇze pro proveden´ı jedn´e instrukce mus´ı v pˇr´ıpadˇe von Neumanna nˇekolikr´at pˇristupovat na sbˇernici, aby dostal poˇzadovan´a data. To m˚ uˇze m´ıt za n´asledek velikou vyt´ıˇzenost sbˇernice a pokles na v´ ykonu. U Harvardsk´e architektury se vˇse odehr´av´a v jednom cyklu, protoˇze pamˇet’ov´a i datov´a pamˇet’ mohou b´ yt zpˇr´ıstupnˇeny v jeden okamˇzik. Protoˇze jsou sbˇernice oddˇelen´e a navz´ajem na sobˇe
Obr´azek 13: Harvardska architektura nez´avisl´e, mohou m´ıt tak´e rozd´ılnou datovou ˇs´ıˇrku. Zat´ımco datov´a sbˇernice m´a standardn´ı ˇs´ıˇrku 8 bit˚ u programov´a je rozˇs´ıˇrena na 16 bit˚ u, coˇz j´ı dovoluje pˇren´aˇset dlouh´e dvoubajtov´e instrukce v jednom hodinov´em cyklu. 3.4.1
CPU a ALU
Central Processing Unit (CPU) je odpovˇedn´a za zpracov´an´ı instrukc´ı v programov´e pamˇeti. Avˇsak mnoho instrukc´ı operuje i s datovou pamˇet´ı. Pro takov´eto operace je zde Arithmetic Logical Unit (ALU). Kromˇe toho, ˇze vykon´av´a aritmetick´e a logick´e operace star´a se tak´e o pr´aci se STATUS registrem kde nastavuje r˚ uzn´e pˇr´ıznaky v z´avislosti na v´ ysledku prov´adˇen´ ych instrukc´ı.
´ RE ˇ SEN ˇ ´I OVLADAC ´ ´I JEDNOTKY 3 HARDWAROVE
36
Central Processing Unit (CPU) CPU m˚ uˇze b´ yt povaˇzov´ano za mozek cel´eho mikroˇradiˇce. Je zodpovˇedn´ y za pˇr´ısun odpov´ıdaj´ıc´ıch instrukc´ı pro zpracov´an´ı, jejich dek´odov´an´ı a n´asledn´e zpracov´an´ı. Nˇekdy, zejm´ena u aritmetick´ ych a logick´ ych operac´ı u ´zce spolupracuje s ALU. Ovl´ad´a tak´e programovou i datovou sbˇernici a pˇristupuje na stack. Arithmetic Logical Unit (ALU) Mikroˇradiˇc obsahuje tak´e 8 bitovou ALU a 8 bitov´ y pracovn´ı registr (WREG). ALU je univerz´aln´ı aritmeticko-logick´a jednotka vykon´avaj´ıc´ı booleovsk´e operace mezi pracovn´ım registrem a libovoln´ ym datov´ ym registrem. 3.4.2
Organizace pamˇ eti
Mikroprocesor obsahuje tˇri r˚ uzn´e druhy pamˇet´ı. • Programov´a pamˇet’ • Datov´a pamˇet’ • Datov´a EEPROM Organizace programov´ e pamˇ eti 21-bitov´ y program counter kter´ y urˇcuje poˇrad´ı vykon´avan´ ych instrukc´ı je schopen adresovat aˇz 2 MB pamˇeti. Data na adres´ach jeˇz pˇrevyˇsuj´ı fyzickou kapacitu pamˇeti jsou ˇctena jako 0. PIC18F452 m´a 32 KB a ta dok´aˇze pojmout aˇz 16K jednoduch´ ych instrukc´ı. Na zaˇc´atku bloku programov´e pamˇeti jsou um´ıstˇeny postupnˇe Reset vektor (0000h) pak n´asleduj´ı vektory pˇreruˇsen´ı podle priority (0008h - 0018h) a potom uˇz jen vlastn´ı program. Organizace datov´ e pamˇ eti Datov´a pamˇet’ je implementovan´a jako statick´a z d˚ uvodu rychlosti, nebot’ jsou zde um´ıstˇeny registry. Kaˇzd´ y registr m´a 12-bitovou adresu kter´a dovoluje adresovat aˇz 4096 byt˚ u pamˇeti. Tato pamˇet’ je rozdˇelena na 16 ”bank” a kaˇzd´a obsahuje 256 byt˚ u. Doln´ı 4 bity adresy jsou pro v´ ybˇer banky, horn´ı 4bity nejsou implementov´any a zbyl´e slouˇz´ı k adresov´an´ı registr˚ u. Ty se podle funkce dˇel´ı na dvˇe z´akladn´ı skupiny Speci´al Function Registers (SFR) a General Purpose Registers (GPR). SFR registry zaˇc´ınaj´ı na adrese 0xFFF a slouˇz´ı k nastavov´an´ı a sledov´an´ı ˇcinnosti mikroprocesoru a perifer´ı´ı kdeˇzto GPR jsou voln´e bl´ıˇze nespecifikovan´e registry slouˇz´ıc´ı k odkl´ad´an´ı dat uˇzivatelsk´eho programu a zaˇc´ınaj´ı na zaˇc´atku banky 0. Datov´a pamˇet’ m˚ uˇze b´ yt adresov´ana bud’ pˇr´ımo a nebo nepˇr´ımo. Pˇr´ım´e adresov´an´ı se dˇele za pouˇzit´ı BSR (Bank Select Register)
´ RE ˇ SEN ˇ ´I OVLADAC ´ ´I JEDNOTKY 3 HARDWAROVE
37
Obr´azek 14: Organizace pamˇeti
Datov´ a pamˇ et’ EEPROM Tato pamˇet’ slouˇz´ı pro ukl´ad´an´ı r˚ uzn´ ych konstant nebo v´ ysledk˚ u mˇeˇren´ı a m´a tu v´ yhodu, ˇze v n´ı z˚ ustanou data uchov´ana i pˇri odpojen´em nap´ajec´ım napˇet´ı. Ukl´ad´an´ı a ˇcten´ı dat je odliˇsn´e od pˇredchoz´ıch typ˚ u pamˇet´ı nebot’ nen´ı pˇr´ımo mapovan´a jako registry, ale pˇristupuje se k n´ı pomoc´ı SFR (speci´aln´ıch funkˇcn´ıch registr˚ u). Ty jsou dohromady ˇctyˇri: • EECON1 • EECON2 • EEDATA • EEADR EEPROM dovoluje ˇc´ıst i zapisovat po cel´ ych bytech. Pokud pˇristupuji k pamˇeti v registru EEDATA jsou pˇreˇcten´a nebo zapisovan´a data a do registru EEADR uloˇz´ım adresu ke kter´e chci pˇristupovat. Tento mikroprocesor obsahuje celkem 256 byt˚ u datov´e EEPROM v rozsahu adres 0h aˇz FFh. Zapisovan´ y byte napˇred automaticky smaˇze p˚ uvodn´ı data a zap´ıˇse nov´a. ˇ Cas z´apisu je ˇr´ızen automaticky prostˇrednictv´ım vnitˇrn´ıho ˇcasovaˇce.
´ RE ˇ SEN ˇ ´I OVLADAC ´ ´I JEDNOTKY 3 HARDWAROVE 3.4.3
38
Vstupnˇ e - v´ ystupn´ı porty
I/O piny jsou vlastnˇe nejjednoduˇsˇs´ı perifern´ı zaˇr´ızen´ı pomoc´ı nˇehoˇz mikroprocesor ovl´ad´a ostatn´ı zaˇr´ızen´ı. V z´avislosti na zvolen´em nastaven´ı m˚ uˇze m´ıt mikroprocesor 3 nebo 5 vstupnˇe v´ ystupn´ıch port˚ u. Nav´ıc mohou b´ yt nˇekter´e I/O piny podle nastaven´ı vyuˇz´ıv´any k r˚ uzn´ ym u ´ˇcel˚ um (I/O, A/D, PWM . . . ). Vlastnosti a nastaven´ı port˚ u se ˇr´ıd´ı nastaven´ım n´asleduj´ıc´ıch registr˚ u: TRIS registr urˇcuje zda je pˇr´ısluˇsn´ y pin jako vstup nebo v´ ystup PORT registr zde se podle konfigurace ˇctou nebo zapisuj´ı data z nebo na vstupn´ı piny LAT registr slouˇz´ı k jednor´azov´emu zastaven´ı rychle se mˇen´ıc´ıch dat, aby byl ˇcas je poˇr´adku pˇreˇc´ıst jako celek Registry PORTA, TRISA a LATA PORTA je 7-pinov´ y I/O port. Pokud se v jemu odpov´ıdaj´ıc´ım registru TRISA nastav´ı pˇr´ısluˇsn´ y bit na 1, zmˇen´ı se nastaven´ı pˇr´ısluˇsn´eho pinu na vstup, jde do vysok´e impedance a ˇcek´a na vstupn´ı u ´roveˇ n. Pokud se zde ovˇsem nastav´ı hodnota 0, pak se bude jednat o v´ ystup a jeho u ´roveˇ n se bude ˇr´ıdit podle hodnoty v registru PORTA. Funkce pinu RA4 je zdvojena a m˚ uˇze b´ yt pouˇzit jako vstup hodinov´eho sign´alu. Na desce ovˇsem nen´ı vyveden a proto se s n´ım d´ale nebudeme zab´ yvat. Dalˇs´ım nˇekolika´ uˇcelov´ ym pinem je RA5, kter´ y se mimo jin´e d´a pouˇz´ıt jako analogov´ y vstup s A/D pˇrevodn´ıkem a jeho nastaven´ı se ˇr´ıd´ı registrem ADCON1. Ale protoˇze ani tento nen´ı na desce vyveden, nebudeme se j´ım tak´e zab´ yvat, coˇz je velik´a ˇskoda. Registry PORTB, TRISB a LATB PORTB je 8-pinov´ y I/O port. Z´akladn´ı nastaven´ı je podobn´e jako u PORTA a je vysvˇetleno v´ yˇse. Oproti pˇredchoz´ımu portu jsou zde oslabeny vnitˇrn´ı pull-up rezistory Piny RB7-RB4 pokud jsou nastaveny jako vstupn´ı mohou b´ yt pouˇzity jako vstupy pro vnˇejˇs´ı pˇreruˇsen´ı pˇri zmˇenˇe hodnoty. Tyto vstupy jsou porovn´av´any se starou hodnotou a pokud je zjiˇstˇena nˇejak´a zmˇena nastav´ı se pˇr´ıznak pˇreruˇsen´ı RBIF v registru INTCON0. Toto pˇreruˇsen´ı m˚ uˇze vzbudit zaˇr´ızen´ı ze stavu SLEEP, nebo prov´ezt pˇr´ısluˇsnou proceduru k jeho oˇsetˇren´ı. Nakonec se nastav´ı RBIF bit na hodnotu 0 aby mohl program pokraˇcovat d´al. Toto pˇreruˇsen´ı se pouˇz´ıv´a zejm´ena pro kl´ıˇcov´e operace kde je potˇreba okamˇzitˇe zareagovat na nastalou situaci nebo k probuzen´ı mikroprocesoru. D´ale jeˇstˇe stoj´ı za zm´ınku piny RB0, RB1 a RB2. Ty mohou b´ yt pouˇzity jako vstupy vnˇejˇs´ıho pˇreruˇsen´ı spouˇstˇen´e n´abˇeˇznou nebo sestupnou hranou sign´alu. To na jakou hranu budou reagovat z´aleˇz´ı na hodnotˇe bitu INTEDGx obsaˇzen´eho v registru INTCON2. Pokud je zde nastavena hodnota 1 reaguj´ı na n´abˇeˇznou hranu a pokud je zde 0 tak na sestupnou. Pokud se na RBx / INTx objev´ı odpov´ıdaj´ıc´ı hrana nastav´ı se odpov´ıdaj´ıc´ı bit INTxF. Toto pˇreruˇsen´ı m˚ uˇze b´ yt zruˇseno nastaven´ım odpov´ıdaj´ıc´ıho bitu INTxE. Pˇr´ıznakov´ y bit
´ RE ˇ SEN ˇ ´I OVLADAC ´ ´I JEDNOTKY 3 HARDWAROVE
39
INTxF z˚ ustane nastaven i po odeznˇen´ı pˇreruˇsen´ı a mus´ı b´ yt nastaven na 0 pomoc´ı procedury, kter´a oˇsetˇruje pˇr´ısluˇsn´e pˇreruˇsen´ı. Tyto vstupy mohou b´ yt tak´e pouˇzity pro probuzen´ı mikroprocesoru ze stavu SLEEP. Priorita pˇreruˇsen´ı INT1 a INT2 se nastavuje pomoc´ı bit˚ u INT1IP a INT2IP v registru INTCON3. Pro INT0 se ˇz´adn´a priorita nenastavuje, ta je vˇzdy nejvyˇsˇs´ı. 3.4.4
Pˇ reruˇ sen´ı
O pˇreruˇsen´ıch zde jiˇz pˇri r˚ uzn´ ych pˇr´ıleˇzitostech ps´ano bylo, ale mysl´ım si, ˇze jde o velmi d˚ uleˇzitou funkci mikroprocesoru a proto si mysl´ım, ˇze stoj´ı za shrnut´ı ve zvl´aˇstn´ı sekci. Pˇreruˇsen´ı se dosti ˇcasto pouˇz´ıvaj´ı v real-time ˇr´ızen´ı a proto Pˇ reruˇ sen´ı m˚ uˇ ze vzej´ıt z mnoha zdroj˚ u: • pˇreruˇsen´ı z vnˇejˇs´ıch zdroj˚ u jako jsou vstupy INT, INT1 a INT2 • pˇreruˇsen´ı pˇri zmˇenˇe sign´alu na vstupech RB7 - RB4 • pˇreteˇcen´ı ˇcasovaˇc˚ u TMR0 - TMR3 • pˇreruˇsen´ı od rozhran´ı USART a to bud’ v pˇr´ıpadˇe ˇze je vstupn´ı buffer pln´ y a nebo naopak v´ ystupn´ı pr´azdn´ y • pˇreruˇsen´ı od synchronn´ıho s´eriov´eho portu (SSP) • dokonˇcen´ y pˇrevod na A/D pˇrevodn´ıku • pˇreruˇsen´ı od vstupu Compare/Capture/PWM (CCP) v z´avislosti na funkci • pˇreruˇsen´ı od LVD pokud dojde k poklesu nap´ajec´ıho napˇet´ı • od paraleln´ıho rozhran´ı • od rozhran´ı CAN Ostatn´ı zdroje pˇreruˇsen´ı se mapuj´ı do deseti pamˇet’ov´ ych registr˚ u, kter´e slouˇz´ı k nastavov´an´ı a zjiˇst’ov´an´ı stavu pˇreruˇsen´ı. Jsou to: • INTCON • INTCON1 • INTCON2 • INTCON3 • PIR1 • PIR2
´ RE ˇ SEN ˇ ´I OVLADAC ´ ´I JEDNOTKY 3 HARDWAROVE
40
• PIE1 • PIE2 • IPR1 • IPR2 Za zm´ınku stoj´ı registr INTCON a v nˇem bit GIE/GIEH. Jedn´a se o Global Interupt Enable bit a slouˇz´ı ke glob´aln´ımu povolen´ı vˇsech pˇreruˇsen´ı. Pokud bychom chtˇeli povolit pouze nˇekter´a udˇel´ame to ve zbytku INTCON, PIR, PIE a IPR registrech. Kde do PIR se ukl´adaj´ı jednotliv´e pˇr´ıznaky pˇreruˇsen´ı, v PIE se pˇreruˇsen´ı povoluj´ı a nakonec v IPR se vol´ı jejich priorita. Bohuˇzel na v´ yvojov´e desce ER25 jsou t´emˇeˇr vˇsechna pˇreruˇsen´ı blokov´ana pro obsluhu PCMCIA karty. Mus´ıme si tedz vystaˇcit s cyklick´ ym ˇcten´ım vstup˚ u mikroˇradiˇce. Vzhledem k frekvenci na kter´e bˇeˇz´ı (20MHz) by to pro vˇetˇsinu re´aln´ ych syst´em˚ u mˇelo bohatˇe staˇcit. 3.4.5
ˇ Casovaˇ ce
Mikroprocesor PIC18F452 obsahuje ˇctyˇri programovateln´e na sobˇe nez´avisl´e ˇcasovaˇce. Mezi jejich hlavn´ı rysy patˇr´ı • vysok´a univerz´alnost, mohou se tv´aˇrit jako 8-bitov´e nebo 16-bitov´e a chov´an´ım jako ˇc´ıtaˇce ˇci ˇcasovaˇce • nejen, ˇze je u nich umoˇznˇeno data ˇc´ıst, ale i do nich zapisovat • pro volitelnou rychlost ˇc´ıt´an´ı jsou vybaveny 8-bitovou pˇreddˇeliˇckou • moˇznost v´ ybˇeru mezi intern´ım, nebo extern´ım sign´alem • pˇri pˇreteˇcen´ı nastav´ı pˇreruˇsen´ı • pro extern´ı sign´aly umoˇzn ˇuj´ı volit typ spouˇstˇec´ı hrany Podobnˇe jako ostatn´ı moduly maj´ı i ˇcasovaˇce sv´e registry pro nastaven´ı v´ yˇse uveden´ ych vlastnost´ı. Zde se o konfiguraci staraj´ı bity v registru T0CON Standardnˇe jsou ˇcasovaˇce nastaveny jako 8-bitov´e ˇc´ıtaˇce. V podstatˇe ale poˇr´ad funguj´ı jako 16-bitov´e s t´ım rozd´ılem, ˇze v 8-bitov´em reˇzimu je MSB nastaven vˇzdy na 0. Tuto vlastnost urˇcuje jedin´ y bit v T0CON a to T08BIT. Z toho vypl´ıv´a, ˇze snadno za bˇehu m˚ uˇzeme zdvojn´asobit jeho velikost a naopak. Pokud ˇcasovaˇc pracuje v 16-bitov´em reˇzimu je potˇreba pˇri ˇcten´ı uloˇzit najednou dva bajty TMRxH a TMRxL. To m˚ uˇze b´ yt obt´ıˇzn´ yu ´kol, nebot’ kdyˇz pˇreˇcteme jeden a pˇrejdeme k druh´emu, m˚ uˇze se st´at, ˇze se zmˇen´ı jeho hodnota. Tato z´aleˇzitost je zde oˇsetˇrena t´ım, ˇze v TMRxH nen´ı aktu´aln´ı hodnota horn´ıho bajtu ˇcasovaˇce, ale jej´ı obraz v dobˇe ˇcten´ı bajtu spodn´ıho. To m´am umoˇzn ˇuje pˇreˇc´ıst celou hodnotu v jednom okamˇziku.
´ RE ˇ SEN ˇ ´I OVLADAC ´ ´I JEDNOTKY 3 HARDWAROVE
41
U z´apisu je to obdobn´e. Napˇred se mus´ı do registru TMRxH zapsat hodnota a n´aslednˇe zaps´an´ım dat do registru TMRxL se do ˇcasovaˇce uloˇz´ı cel´ ych 16-bit˚ u. Reˇzim ˇcasovaˇce dostaneme nastaven´ım TxCS na hodnotu 0. V tomto reˇzimu se Timerx inkrementuje kaˇzd´ y takt hodinov´eho sign´alu. Pokud ovˇsem do registru TMRx zap´ıˇseme nˇejakou hodnotu inkrementov´an´ı poˇck´a dva hodinov´e cykly, aby uˇzivatel s tou hodnotou mohl jeˇstˇe pracovat. V m´odu ˇc´ıtaˇce se Timetx inkrementuje s n´abˇeˇznou nebo sestupnou hranou na vstupu TxCLK. Capture m´ od Capture m´od u ´zce souvis´ı s problematikou ˇcasovaˇc˚ u a vzhledem k tomu, ˇze v´ yvojov´a deska m´a tento v´ ystup vyveden tak ho zde zmiˇ nuji. Vyuˇz´ıv´a se k pˇresn´emu mˇeˇren´ı ˇcasov´ ych u ´sek˚ u. V tomto m´odu se do registr˚ u CCPR1H a CCPR1L zaznamen´a 16-bitov´a hodnota jednoho ze dvou ˇc´ıtaˇc˚ u TMR1 nebo TMR2 a to s kaˇzdou sp´adovou hranou nebo s kaˇzdou n´abˇeˇznou hranou nebo s kaˇzdou ˇctvrtou ˇci ˇsestn´actou n´abˇeˇznou hranou na pinu RC1/CCP2. To na kterou ud´alost se bude hodnota zaznamen´avat urˇc´ı nastaven´ı v registrech CCP2M3 aˇz CCP2M0 v registru CCP2CON. Pokud dojde k zachycen´ı hodnoty, nastav´ı se pˇr´ıznakov´ y bit CCP2IF v registru PIR2. Tento pˇr´ıznak se po pˇreˇcten´ı a zpracov´an´ı hodnoty mus´ı vymazat. Nov´a hodnota pˇri dalˇs´ım zachycen´ı samozˇrejmˇe pˇrep´ıˇse hodnotu pˇredchoz´ı. 3.4.6
Low Voltage Detect
V pˇr´ıpadˇe, kdy je aplikace, pro kter´ y je tato deska urˇcena, mobiln´ı a tud´ıˇz nap´ajena z baterie, je nutn´e pro jeho spr´avnou funkci hl´ıdat nap´ajec´ı napˇet´ı. Pro tyto pˇr´ıpady je mikroprocesor vybaven modulem zvan´ ym ”low voltage detect”. Tento modul je softwarovˇe programovateln´ y a nastavuje se zde mezn´ı hodnota po kterou je zaˇr´ızen´ı schopno bezchybn´eho provozu. Nemus´ı to b´ yt spodn´ı hranice kde je schopen pracovat mikroprocesor, ale nastav´ı se hranice nejcitlivˇejˇs´ı ˇc´asti cel´eho zaˇr´ızen´ı. Pokud napˇet´ı klesne pod urˇcenou hodnotu nastav´ı se pˇr´ıznak pˇreruˇsen´ı a mikroprocesor m˚ uˇze zaˇc´ıt vykon´avat pˇr´ısluˇsnou proceduru vedouc´ı napˇr´ıklad k celkov´emu bezpeˇcn´emu odstaven´ı syst´emu. Protoˇze se napˇet´ı baterie sniˇzuje relativnˇe pomalu vzhledem k rychlosti procesoru nen´ı nutn´e aby byl tento modul st´ale v provozu. Uˇz pro jeho vlastn´ı spotˇrebu je optim´aln´ı, aby se spouˇstˇel v delˇs´ıch intervalech vˇzdy na kr´atkou dobu jen aby zmˇeˇril aktu´aln´ı hodnotu. Tato doba ovˇsem nesm´ı b´ yt moc kr´atk´a a to z toho d˚ uvodu aby se obvod staˇcil stabilizovat. Na obr´azku je vykreslena napˇet’ov´a charakteristika kter´a se podob´a charakteristice re´aln´e baterie. Vlivem z´atˇeˇze kles´a napˇet´ı aˇz klesne na hodnotu VA a to zp˚ usob´ı, ˇze se v ˇcase TA generuje pˇreruˇsen´ı. Toto pˇreruˇsen´ı zp˚ usob´ı, ˇze se zaˇcne vykon´avat procedura maj´ıc´ı za n´asledek vypnut´ı cel´eho syst´emu. Napˇet´ı VB na obr´azku ukazuje minim´aln´ı provozn´ı napˇet´ı cel´eho syst´emu. Rozd´ıl ˇcas˚ u TB-TA je ˇcas potˇrebn´ y na vypnut´ı syst´emu. 3.4.7
Watchdog ˇ casovaˇ c a funkce Sleep
Dalˇs´ımi velmi uˇziteˇcn´ ymi funkcemi pro pr´aci v mobiln´ım zaˇr´ızen´ı jsou funkce Watchdog a Sleep . Pokud se mikroprocesor chov´a tak jak nem´a, Watchdog je schopen ho restartovat a t´ım
´ RE ˇ SEN ˇ ´I OVLADAC ´ ´I JEDNOTKY 3 HARDWAROVE
42
Obr´azek 15: Pr˚ ubˇehy napˇet´ı pˇri detekci n´ızk´eho napˇet´ı
ho vr´atit do norm´aln´ıho reˇzimu vykon´av´an´ı programu. Tato vlastnost samozˇrejmˇe pˇrisp´ıv´a k celkov´e bezporuchovosti a v´ ykonnosti cel´eho syst´emu. Obzvl´aˇstˇe u mobiln´ıch zaˇr´ızen´ı se tato vlastnost zd´a b´ yt praktick´a, nebot’ nemus´ıme m´ıt zaˇr´ızen´ı vˇzdy po ruce. Watchdog je nez´avisl´ y vnitˇrn´ı RC oscil´ator kter´ y bˇeˇz´ı bez nutnosti jin´ ych extern´ıch komponent nebo hlavn´ıho oscil´atoru. Bˇeˇz´ı dokonce i kdyˇz je mikroprocesor ve stavu Sleep. Pokud mikroprocesor pracuje zp˚ usob´ı pˇreteˇcen´ı Watchdog ˇcasovaˇce reset cel´eho mikroprocesoru a program pobˇeˇz´ı od zaˇc´atku. Pokud se ovˇsem nach´az´ı ve stavu Sleep mikroprocesor se vzbud´ı a pokraˇcuje v norm´aln´ım reˇzimu d´al. WDT m˚ uˇze b´ yt st´ale zapnut pomoc´ı konfiguraˇcn´ıho bitu WDTEN. Pokud ovˇsem tento bit nastav´ıme na nulu, m˚ uˇzeme WDT spouˇstˇet a vyp´ınat softwarovˇe bitem SWDTEN. Funkce Sleep zastav´ı t´emˇeˇr vˇsechnu aktivitu v mikrokontroleru a sn´ıˇz´ı jeho spotˇrebu na minimum. Do tohoto reˇzimu se dostane spuˇstˇen´ım instrukce Sleep a v tomto reˇzimu je spotˇreba opravdu hodnˇe mal´a a v´ yraznˇe prodluˇzuje ˇzivotnost pˇr´ıpadn´ ych nap´ajec´ıch bateri´ı. Vypnou se vˇsechny oscil´atory aˇz na oscil´ator WDT. Ten se sice vynuluje, ale pobˇeˇz´ı d´al. Co se t´ yˇce I/O port˚ u, ty se zachovaj´ı ve stejn´em stavu jako pˇred funkc´ı SLEEP. Pro maxim´aln´ı u ´sporu energie by vˇsak mˇely b´ yt bud’ na u ´rovni VDD nebo VSS. Celkov´e spotˇrebˇe ve SLEEP reˇzimu tak´e neprosp´ıv´a kdyˇz na v´ ystupech je zaˇr´ızen´ı, kter´e trvale (i bˇehem sp´anku) odeb´ır´a proud. Takov´e obvody je nutno tak´e vyp´ınat. Co se t´ yˇce vstup˚ u, kter´e jsou ve stavu vysok´e impedance tak ty by mˇely b´ yt bud’ uzemnˇeny nebo na u ´rovni nap´ajec´ıho napˇet´ı, aby se zabr´anilo stˇr´ıdaj´ıc´ım se proud˚ um zapˇr´ıˇcinˇen´ ych plovouc´ımi vstupy. Do norm´aln´ıho stavu se pak dostane pokud nastane pˇreruˇsen´ı (od Watchdog ˇcasovaˇce a nebo prost´ y Reset)
´ ´I JEDNOTKU A PRIPOJEN ˇ ´ PC 4 SOFTWARE PRO OVLADAC E
4
43
Software pro ovl´ adac´ı jednotku a pˇ ripojen´ e PC
Anal´ yza softwarov´eho ˇreˇsen´ı Software se skl´ad´a ze dvou ˇc´ast´ı • Program pro mikrokontroler • Ovl´adac´ı program pro PC V´ yvojov´a deska podporuje jak TCP/IP tak i UDP protokol. Rozd´ıl mezi nimi je z aplikaˇcn´ıho hlediska z´asadn´ı. Protokol TCP je tzv. spojovanou sluˇzbou coˇz znamen´a, ˇze pˇr´ıjemce potvrzuje ˇze obdrˇzel data a jestli jsou v poˇr´adku. V pˇr´ıpadˇe ztr´aty nebo poˇskozen´ı si pˇr´ıjemce vyˇz´ad´a opˇetovn´ y pˇrenos chybˇej´ıc´ı ˇc´asti. Na druhou stranu UDP protokol pˇren´aˇs´ı data pomoc´ı datagram˚ u a pokud ho vyˇsle tak uˇz ho nezaj´ım´a jestli byl doruˇcen. Z toho vypl´ıv´a, ˇze kaˇzd´ y protokol je urˇcen pro jinou aplikaci. TCP/IP se pouˇz´ıv´a pro pˇrenos obr´azk˚ u ˇci program˚ u, nebot’ je poˇzadavek aby cel´ y obsah byl doruˇcen v poˇr´adku a je jedno, jak dlouho to bude trvat. V opaˇcn´em pˇr´ıpadˇe napˇr. pˇri poslechu stream˚ u jako jsou napˇr. internetov´a r´adia nebo televize je d˚ uleˇzitˇejˇs´ı vˇcasn´e doruˇcen´ı dat neˇz je to jestli jsou vˇsechna. Vzhledem k tomu, ˇze m´am poˇzadavek aby model dˇelal to co se od nˇej poˇzaduje a nez´aleˇz´ı na tom, jestli se jeho reakce nepatrnˇe zpozd´ı volil jsem protokol TCP/IP. Protokol TCP/IP
Obr´azek 16: Porovn´an´ı model˚ u TCP/IP a OSI
vyuˇz´ıv´a ˇctyˇri vrstvy na rozd´ıl od klasick´eho sedmivrstv´eho OSI modelu. Na obr´azku je vidˇet jejich vz´ajemn´e porovn´an´ı. Z tˇechto ˇctyˇr protokol definuje prostˇredn´ı dvˇe (Internet(IP) a TCP). Z hierarchick´eho hlediska je pod nimi fyzick´a a linkov´a (spojovac´ı) vrstva kter´e jsou definov´any standardem pˇr´ısluˇsn´eho pˇrenosov´eho m´edia. V´ yhodou protokolu TCP/IP je, ˇze v pˇr´ıpadˇe pouˇzit´ı jin´e technologie ˇreˇsen´ı spoje, napˇr´ıklad klasick´eho Ethernetu po kabel´aˇzi nen´ı nutn´e vlastn´ı programy pˇrepisovat, uprav´ı se pouze nˇekolik direktiv pro pˇrekladaˇc. Portfolio produkt˚ u Chipweb ER2x zahrnuje napˇr´ıklad desku
´ ´I JEDNOTKU A PRIPOJEN ˇ ´ PC 4 SOFTWARE PRO OVLADAC E
44
Obr´azek 17: Pr˚ ubˇeh zpracov´av´an´ı TCP/IP paketu
ER22 kter´a disponuje jak PCMCIA/WiFi rozhran´ım tak i obvodem RTL8139 a konektorem pro pˇripojen´ı UTP kabelu (Ethernet 10/100Mbps). Aplikace d´ale popisovan´a je proto nasaditeln´a nejen v prostˇred´ı bezdr´atov´ ych s´ıt´ı ale lze i s minim´aln´ımi n´aklady na v´ yvoj vytvoˇrit aplikaci plnˇe provozovatelnou napˇr. po internetu.
4.1
Program pro mikrokontroler
Program pro mikrokontroler vych´az´ı z SDK dod´avan´eho s v´ yvojovou deskou ER25. Aplikace nahran´a v procesoru obsahuje jednoduch´ y webserver, kter´ y zobrazuje str´anky uloˇzen´e v pamˇeti EEPROM, driver pro PCMCIA rozhran´ı driver pro WiFi rozhran´ı a jednoduch´ y IP stack s implementac´ı TCP, UDP a ICMP protokol˚ u. SDK obsahuje zdrojov´e k´ody k tˇemto komponent˚ um a p´ar vzorov´ ych aplikac´ı. Algoritmus ˇ r´ızen´ı praˇ cky Na obr´azku je zn´azornˇen v´ yvojov´ y diagram ˇr´ıd´ıc´ıho algoritmu. Jedn´a se o jednoduch´ y algoritmus pro ovl´ad´an´ı jednoduch´e praˇcky kter´ y testuje vstupy kter´ ymi jsou tlaˇc´ıtko power, kontakt dv´ıˇrek bubnu a posledn´ı vstup je kontakt termostatu kter´ y d´av´a sign´al spr´avn´e
´ ´I JEDNOTKU A PRIPOJEN ˇ ´ PC 4 SOFTWARE PRO OVLADAC E
Obr´azek 18: V´ yvojov´ y diagram ˇr´ıd´ıc´ıho algoritmu
45
´ ´I JEDNOTKU A PRIPOJEN ˇ ´ PC 4 SOFTWARE PRO OVLADAC E
46
teploty vody. Ty pak vyhodnocuje a nastavuje odpov´ıdaj´ıc´ı v´ ystupy podle ˇr´ıd´ıc´ıho programu. V poli Program jsou jednotliv´e ˇcinnosti kter´e praˇcka m˚ uˇze prov´adˇet a v poli Time se nach´az´ı hodnota urˇcuj´ıc´ı ˇcas po kter´ y za dodrˇzen´ı vstupn´ıch sign´al˚ u se ˇcinnost prov´ad´ı. Jelikoˇz jsou v´ ystupy na modelu pˇr´ımo spojeny s jednotliv´ ymi bity v´ ystupn´ı br´any PORT B hodnoty z pole Program po pˇrekop´ırov´an´ı na PORT B vytv´aˇr´ı bitov´ y obraz urˇcuj´ıc´ı nastaven´ı v´ ystup˚ u. Rozhodl jsem se navrhnout dvˇe verze obsluˇzn´ ych program˚ u a to: • pˇr´ımo ˇr´ızenou • autonomn´ı Aˇckoliv jsem je navrhl pro stejn´ y model a to model praˇcky kaˇzd´a z nich se hod´ı pro jinou oblast pouˇzit´ı. Autonomn´ı model Autonomn´ı model je charakteristick´ y t´ım, ˇze ke sv´emu provozu nepotˇrebuje spojen´ı s ˇr´ıd´ıc´ım poˇc´ıtaˇcem. Ten mu pouze zaˇsle ˇr´ıd´ıc´ı paket ve kter´em jsou v datov´e ˇc´asti uloˇzeny parametry prov´adˇen´eho programu (v naˇsem pˇr´ıpadˇe program pran´ı). Mikrokontrol´er tuto informaci zpracuje a zaˇcne prov´adˇet pˇr´ısluˇsn´ y program aniˇz by vyˇzadoval jak´ ykoliv ˇr´ıd´ıc´ı z´asah z okol´ı.
Obr´azek 19: Princip autonomn´ıho modelu
Tento zp˚ usob pr´ace je vhodn´ y pro jednoduch´e a bezpeˇcn´e procesy kde m˚ uˇze mikrokontrol´er automaticky zasahovat. Kl´ıˇcov´e hodnoty z ˇr´ıd´ıc´ıho procesu se mohou ukl´adat v jeho intern´ı pamˇeti EEPROM a n´aslednˇe jednou za urˇcit´ y ˇcas se pˇripojit a poslat nashrom´aˇzdˇen´a data ke kontrole a pˇr´ıpadn´emu zpracov´an´ı Vzhledem k tomu, ˇze syst´em pracuje zcela autonomnˇe, nen´ı zde zavedena zpˇetn´a vazba k ˇr´ıd´ıc´ımu poˇc´ıtaˇci. Protoˇze mikrokontrol´er nepotˇrebuje komunikovat s okol´ım, m˚ uˇze m´ıt po vˇetˇsinu ˇcasu vypnutou komunikaˇcn´ı PCMCIA kartu a t´ım v´ yraznˇe sn´ıˇzit spotˇrebu a ˇsetˇrit t´ım baterie ze kter´ ych by mohl b´ yt nap´ajen. Zad´an´ı parametr˚ u potˇrebn´ ych pro bˇeh programu se v naˇsem pˇr´ıpadˇe dˇeje zasl´an´ım paketu v jehoˇz datov´e ˇc´asti je uloˇzen datagram se strukturou kter´a je zobrazena na obr´azku. Datagram je na zaˇc´atku a na konci ohraniˇcen hodnotami 0x80h coˇz znamen´a, ˇze jde o ˇr´ıd´ıc´ı datagram a data jsou platn´a. Ostatn´ı datagramy nejsou zpracov´av´any a jsou zahozeny hned po jejich pˇrijet´ı.
´ ´I JEDNOTKU A PRIPOJEN ˇ ´ PC 4 SOFTWARE PRO OVLADAC E
47
Obr´azek 20: Datagram s obsahem cel´e sekvence
Pˇ r´ımo ˇ r´ızen´ y model Zcela opaˇcn´ y pˇr´ıpad je druh´a verze ˇr´ızen´ı praˇcky, kter´a je pˇr´ımo ˇr´ızen´a z ovl´adac´ıho poˇc´ıtaˇce. Zde mikrokontrol´er zast´av´a roli jak´ehosi prostˇredn´ıka mezi ˇr´ıd´ıc´ım poˇc´ıtaˇcem a samotn´ ym procesem. Jeho jedin´ ym u ´kolem je pˇrij´ımat pakety a n´aslednˇe jednor´azovˇe prov´adˇet co se po nˇem ˇz´ad´a.
Obr´azek 21: Princip ˇr´ızen´eho modelu Nem´a ˇz´adnou ˇr´ıd´ıc´ı ani rozhodovac´ı u ´lohu. Mikrokontrol´er m˚ uˇze obdrˇzet dva r˚ uzn´e druhy ’ paket˚ u. Bud ˇr´ıd´ıc´ı, kde je obsaˇzen pˇr´ıkaz co m´a prov´ezt a nebo tzv. pollovac´ı, kter´ ym se ˇr´ıd´ıc´ı poˇc´ıtaˇc dotazuje na jeho aktu´aln´ı stav aby mˇel zpˇetnou vazbu od procesu. V ˇr´ıd´ıc´ım datagramu je v naˇsem pˇr´ıpadˇe obsaˇzen pouze jeden byte kter´ y reprezentuje stav na portu ’ B a mikrokontrol´er ho jen na tento port zap´ıˇse. Nezjiˇst uje ˇz´adn´e okolnosti a jen ho tam zkop´ıruje. Pollovac´ı datagram obsahuje jeden jedin´ y byte s hodnotou 0xFFh. Po jeho pˇrijet´ı mikrokontroler obratem poˇsle paket jenˇz obsahuje datagram se dvˇema byty. Ty reprezentuj´ı Port B coˇz jsou v´ ystupy a Port C kter´ y pˇredstavuje vstupy od ˇr´ıd´ıc´ıho procesu. Oba typy datagram˚ u jsou zobrazeny na obr´azku.
Obr´azek 22: Datagramy pro ˇr´ızen´ y model. Vlevo datagram s pˇr´ıkazem a vpravo odpovˇed’ se stavem procesoru Takov´ yto syst´em ˇr´ızen´ı se uplatn´ı zejm´ena u sloˇzitˇejˇs´ıch proces˚ u a technologi´ı kter´e vyˇzaduj´ı komplexnˇejˇs´ı a sloˇzitˇejˇs´ı ˇr´ızen´ı pˇr´ıpadnˇe lidsk´ y dohled za pouˇzit´ı nˇejak´eho druhu vizualizace. Jelikoˇz jsem navrhoval oba dva zp˚ usoby mohu ˇr´ıci, ˇze aˇckoliv je Chipweb programov´an v jazyce C a tud´ıˇz psan´ı a u ´pravy r˚ uzn´ ych funkc´ı ˇci procedur jsou oproti assembleru podstatnˇe
´ ´I JEDNOTKU A PRIPOJEN ˇ ´ PC 4 SOFTWARE PRO OVLADAC E
48
snazˇs´ı je z hlediska v´ yvoje v´ yhodnˇejˇs´ı druh´ y zp˚ usob. Pro u ´spˇeˇsn´e naprogramov´an´ı a n´asledn´e odladˇen´ı byly pouˇzit´e n´asleduj´ıc´ı prostˇredky • MPLAB IDE v 7.42 • Kompil´ator HI-TECH PICC18 v 3.02 • In-Circuit debugger SCPD2 • In-Circuit program´ator Presto 4.1.1
Popis SDK Chipweb
Zdrojov´e k´ody SDK jsou organizov´any tak, aby ˇsel cel´ y projekt zkompilovat z pˇr´ıkazov´e ˇr´adky kompilac´ı jednoho souboru (p18web.c) tj. vˇsechny dalˇs´ı soubory jsou do tohoto souboru vloˇzeny pomoc´ı direktivy #include. N´asleduje v´ ypis soubor˚ u SDK a popis funkc´ı soubor˚ u. ht make.bat skript pro kompilaci z pˇr´ıkazov´e ˇr´adky p18web.c hlavn´ı soubor do kter´eho jsou ostatn´ı zdrojov´e soubory vkl´ad´any ccs p18.h direktivy a definice pro pˇrekladaˇc CCS ht p18.h direktivy a definice pro pˇrekladaˇc HI-TECH ht utils.c zdrojov´e k´ody nˇekter´ ych funkc´ı implementovan´ ych v kompil´atoru HI-TECH pˇr´ımo p18 def s.c definice datov´ ych typ˚ u a nˇekter´ ych maker pouˇz´ıvan´ ych v SDK p18 drv.c funkce pouˇz´ıvan´e n´ızko´ urovˇ nov´ ymi drivery p18 eth.c a p18 wlan.c p18 eth.c ovladaˇc ethernet rozhran´ı (nevyuˇzit) p18 wlan.c ovladaˇc WiFi rozhran´ı wlan.h konstanty a struktury pro p18 wlan.c p18 net.c s´ıt’ov´ y driver p18 ip.c funkce IP protokolu p18 dhcp.c DHCP protokol p18 udp.c funkce UDP protokolu (nevyuˇzit) p18 tcp.c funkce TCP protokolu (modifikov´an, pˇrid´an handler portu 514)
´ ´I JEDNOTKU A PRIPOJEN ˇ ´ PC 4 SOFTWARE PRO OVLADAC E
49
p18 tcpc.c TCP klient (nevyuˇzit) p18 http.c jednoduch´ y http server, zobrazuje str´anky z ROM pamˇeti 4p18 lcd.c ovladaˇc pro LED (nevyuˇzit) p18 mail.c SMTP/POP3 klient (nevyuˇzit) p18 ser.c ovladaˇc s´eriov´eho rozhran´ı p18 time.c NTP klient (nevyuˇzit) p18 usr.c funkce pro uˇzivatelskou konfiguraci webrom.h definice pro souborov´ y syst´em ROM kde jsou uloˇzeny webstr´anky W EBP AGE.ROM obsah pamˇeti ROM 4.1.2
Zpracov´ an´ı pˇ r´ıchoz´ıho paketu v ChipWebu
Pˇr´ıchoz´ı data jsou zpracov´ana podle OSI modelu. Po pˇrijet´ı je 802.11 r´amec uloˇzen do RAM WiFi karty a n´aslednˇe funkc´ı getwc rxbuf f () (soubor p18 wlan.c) naˇcten do vstupn´ıho bufferu. V pr˚ ubˇehu hlavn´ı smyˇcky je na data mimo jin´e zavol´ana funkce load rxbuf f () (soubor p18 net.c) kter´a r´amec zpracuje do podoby paketu, vyˇcist´ı buffer a pˇriprav´ı ho na pˇr´ıjem dalˇs´ıch dat. Je li paket IP paketem je na nˇej zavol´ana funkce ip recv() ( soubor p18 ip.c ) ve kter´e je rozhodnuto o jak´ y podprotokol (TCP, UDP, ICMP ) se jedn´a a je vol´an pˇr´ısluˇsn´ y handler (tcp recv(), udp recv(), icmp recv()) Pˇri pˇr´ıchodu TCP paketu se bˇehem funkce tcp recv() rozhoduje o portu na kter´ y paket pˇrijde a podle toho je opˇet vol´an pˇr´ısluˇsn´ y handler. Aplikace v souˇcasn´e dobˇe podporuje tyto porty: HTTP (80) , DAYTIME (13) a RCMD (514). Na port RCMD reaguje vol´an´ım funkce cmd recv() (soubor pracka.c) kter´a paket pˇrijme rozhodne jestli paket obsahuje dotaz na stav (hodnota FFh) nebo pˇr´ıkaz pro praˇcku (jak´akoliv jin´a hodnota) a podle toho vol´a bud’ funkci state report(), kter´a odpov´ı aktu´aln´ım stavem, nebo paket zpracuje jako pˇr´ıkazprogram pro praˇcku. 4.1.3
´ Upravy SDK pro potˇ reby aplikace
Soubor p18web.c jsem zkop´ıroval do p18pracka.c a pˇridal soubory pracka.c a pracka.h, kter´e jsem pomoc´ı direktivy #include vloˇzil. V´ ychoz´ım souborem pro kompilaci se tak stal tento soubor. Do ˇc´asti, kter´a zpracov´av´a TCP (soubor p18t cp.c) pakety jsem zaˇradil rutinu kter´a reaguje na port 514:tcp a vol´a funkci kter´a obsahuje vlastn´ı k´od programu ˇr´ızen´ı praˇcky. Tato funkce je v souboru pracka.c. Dalˇs´ı u ´pravy se t´ ykaly odstranˇen´ı zbyteˇcn´ ych komponent jako napˇr´ıklad NTP server a SMTP-POP3 klient.
´ ´I JEDNOTKU A PRIPOJEN ˇ ´ PC 4 SOFTWARE PRO OVLADAC E 4.1.4
50
MPLAB IDE v 7.42
Tento program, kter´ y se pouˇz´ıv´a pro v´ yvoj programu pro mikroprocesory PIC, je volnˇe dostupn´ y na str´ank´ach spoleˇcnosti Microchip. Verze programu 7.42 byla posledn´ı verz´ı dostupnou v dobˇe psan´ı t´eto pr´ace a byla zde pouˇzita. V´ yvojov´e prostˇred´ı obsahuje n´astroje pro psan´ı programu, vˇcetnˇe zv´ yraznˇen´ı syntaxe, n´asledn´e kompilaci a vytv´aˇren´ı zdrojov´ ych souboru pro program´ator a debugger. Umoˇzn ˇuje tak´e program krokovat v re´aln´em prostˇred´ı mikroprocesoru, nastavovat breakpointy a mˇenit hodnoty v registrech a pamˇeti. Pro z´akladn´ı nastaven´ı konfiguraˇcn´ıch registr˚ u mikroprocesoru lze pouˇz´ıt n´astroj Visual Initializer, pomoc´ı nˇehoˇz lze komfortnˇe nastavit a vybrat funkce jednotliv´ ych perifern´ıch obvodu a kter´ y n´aslednˇe vygeneruje podprogram, kter´ y provede inicializaci obvodu po restartu. S programem se instaluj´ı vˇsechny potˇrebn´e knihovny, hlaviˇckov´e soubory, kompil´atory a skripty linkeru. Program t´eˇz disponuje pomˇernˇe rozs´ahlou n´apovˇedou. Popis rozhran´ı programu V lev´em horn´ım oknˇe je vidˇet seznam soubor˚ u projektu organizovan´ y podle typu souboru. Prav´e horn´ı okno je editor zdrojov´eho k´odu programu. Do lev´eho spodn´ıho okna IDE vypisuje v´ ystupy bˇehem kompilace programu, ladˇen´ı a programov´an´ı procesoru. Prav´e spodn´ı okno slouˇz´ı ke sledovan´ı hodnot registr˚ u procesoru a promˇenn´ ych programu. Okno vprostˇred je Stimulus workbook kter´ y sdruˇzuje stimuly zas´ılan´e programu bˇehem simulovan´eho pomoc´ı prostˇredku MPLAB SIM. IDE je moˇzno provozovat s r˚ uzn´ ymi kompil´atory, tato volba je souˇc´ast´ı parametr˚ u projektu, jin´ ymi slovy je moˇzno m´ıt v´ yvojov´e prostˇred´ı nainstalov´ano s nˇekolika kompil´atory najednou a vhodn´ y kompil´ator volit nejen pˇri vytvoˇren´ı projektu ale i pˇred kaˇzdou kompilac´ı. Debugger/Simul´ ator MPLAB SIM Tento n´astroj slouˇz´ı pro ladˇen´ı program˚ u mimo procesor, simulac´ı jejich bˇehu v poˇc´ıtaˇci. Je moˇzn´e jak mˇenit pˇr´ımo hodnoty SFR registr˚ u tak i hodnoty promˇenn´ ych programu. Pomoc´ı Stimulus Workbook lze vyvol´avat v procesoru asynchronn´ı i synchronn´ı ud´alosti a stimulovat vstupy diskr´etn´ımi i analogov´ ymi hodnotami. Ostatn´ı n´ astroje MPLAB IDE V´ yvojov´e prostˇred´ı d´ale obsahuje prostˇredek pro pr´aci s obsahem procesoru jako je maz´an´ı, ˇcten´ı, z´apis a to jak programov´e pamˇeti, pamˇeti EEPROM, tak i konfiguraˇcn´ıch a ochrann´ ych bit˚ u procesoru. K pouˇzit´ı tohoto n´astroje je tˇreba m´ıt k poˇc´ıtaˇci pˇripojen´ y hardwarov´ y program´ator nebo debugger, kter´e pop´ıˇsu ve zvl´aˇstn´ıch kapitol´ach. Pro v´ yvoj ve skupin´ach MPLAB IDE obsahuje rozhran´ı pro CVS server.
´ ´I JEDNOTKU A PRIPOJEN ˇ ´ PC 4 SOFTWARE PRO OVLADAC E
51
Obr´azek 23: Prostˇred´ı MPLAB
4.1.5
Kompil´ ator HI-TECH PICC18
V´ ybˇer kompil´atoru je mnohem d˚ uleˇzitˇejˇs´ı neˇz by se na prvn´ı pohled mohlo zd´at. Z´aleˇz´ı pr´avˇe na nˇem jak v´ ysledn´ y program bude fungovat. Nem´am ted’ na mysli jeho funkˇcnost, ta by mˇela b´ yt zaruˇcena bez ohledu na kompil´ator, ale z´aleˇz´ı pr´avˇe na nˇem jak bude v´ ysledn´ y program velik´ y a jak rychle se bude vykon´avat. Nejpouˇz´ıvanˇejˇs´ımi C kompil´atory pro procesor PIC18F452 jsou: • Microchip C18 • CCS C Compiler • HI-TECH PICC18 Jak z n´azvu vypl´ yv´a, prvn´ı uveden´ y je vyvinut v´ yrobcem procesor˚ u PIC. Bohuˇzel tento kompil´ator nen´ı v´ yrobcem Chipwebu podporov´an a tak bylo nutno pouˇz´ıt nˇekter´ y jin´ y. CCS kompil´ator bohuˇzel nen´ı dostupn´ y vzhledem ke sv´e vysok´e cenˇe, ˇcili volba padla na posledn´ı, HI-TECH PICC18, kter´ y je nab´ızen v limitovan´e verzi ke staˇzen´ı na firemn´ıch webov´ ych str´ank´ach.
´ ´I JEDNOTKU A PRIPOJEN ˇ ´ PC 4 SOFTWARE PRO OVLADAC E
52
V´ yrobce uv´ad´ı n´asleduj´ıc´ı vlastnosti: • Pln´a podpora standardu ANSI C • V´ ykonnost v´ ysledn´eho k´odu srovnateln´a s programem psan´ ym pˇr´ımo v asembleru • Modularita (organizov´ano ve zdokumentovan´ ych knihovn´ach) • Kompatibilita (Integrace s MPLAB IDE) • Komplexnost prostˇred´ı (makroasembler,preprocesor) Bˇehem sv´e pr´ace na programu jsem vyzkouˇsel jak kompil´ator od Microchipu tak i HITECH takˇze jsem mˇel moˇznost srovn´an´ı. Podle m´eho n´azoru je HI-TECH opravdu lepˇs´ı kompil´ator, nicm´enˇe proklamovan´a kompatibilita s MPLAB IDE je pˇrinejmenˇs´ım sporn´a, protoˇze po instalaci kompil´atoru a plug-in˚ u se mi nepodaˇrilo z MPLABu zkompilovat program, kter´ y z pˇr´ıkazov´e ˇr´adky bez probl´em˚ u zkompilovat ˇsel. Kompil´ator podporuje datov´ y typ ”bit” coˇz je v pˇr´ıpadˇe pr´ace s jednotliv´ ymi I/O piny kontrol´eru velmi uˇziteˇcn´a vlastnost. Aˇckoliv u jednoˇcipov´ ych mikrokontrol´er˚ u pˇristupujeme na vstupnˇe v´ ystupn´ı porty ˇcasto bit po bitu, ne vˇsechny kompil´atory si porad´ı s takovouto promˇennou. D´ale disponuje velmi dobrou optimalizac´ı k´odu z ˇcehoˇz plyne, ˇze bin´arn´ı soubor pro upload do procesoru vych´az´ı velmi mal´ y. 4.1.6
Debugger SCPD2
Debugger SCPD2 je zaˇr´ızen´ı urˇcen´e k ladˇen´ı aplikac´ı procesor˚ u PIC osazen´ ych v obvodech, tzv. In-Circuit Debugging. Je sign´alovˇe, a softwarovˇe kompatibiln´ı s ICD2 od firmy Microchip a je li pˇripojen k MPLAB IDE, zach´az´ı se s n´ım stejnˇe. Od sv´eho vzoru se liˇs´ı pouze absenc´ı USB rozhran´ı z ˇcehoˇz vypl´ yv´a i niˇzˇs´ı rychlost komunikace s mikrokontrolerem, coˇz se projevilo hlavnˇe bˇehem ladˇen´ı s´ıt’ov´ ych funkc´ı. 4.1.7
Program´ ator PRESTO a aplikace Up!
Program´ator podporuje programov´an´ı osazen´ ych souˇc´astek - ISP (In-System Programming) a ICP (In-Circuit Programming). S poˇc´ıtaˇcem je propojen rozhran´ım USB ze kter´e je i nap´ajen. Komunikuje v reˇzimu Full speed a pracuje na poˇc´ıtaˇc´ıch s portem USB 1.1 i 2.0. K pˇripojen´ı aplikace slouˇz´ı 8-pinov´ y konektor ISP, kter´ y je shora kompatibiln´ı s 6-pinov´ ym konektorem ICSP pro mikrokontrol´ery PIC, kter´ y obsahuj´ı vˇsechny program´atory firmy ASIX. Funkce v´ yvodu VPP je rozˇs´ıˇrena o obousmˇernou datovou komunikaci, pˇrid´any jsou v´ yvody MISO (vstup) a LVP (vstup/v´ ystup). V´ yvod VDD pˇripojen´ y k v´ yvod˚ um nap´ajec´ıho ’ napˇet´ı programovan´e souˇc´astky m˚ uˇze volitelnˇe bud poskytovat napˇet´ı z USB o nomin´aln´ı hodnotˇe 5 V nebo vyuˇz´ıvat napˇet´ı pˇriv´adˇen´e z programovan´e aplikace v rozsahu 3 aˇz 5 V s toleranc´ı ±10%. Toto napˇet´ı je pak pouˇzito i pro digit´aln´ı sign´aly. Lze detekovat pˇr´ıtomnost extern´ıho nap´ajen´ı pro tˇri u ´rovnˇe - 3 V, 5 V a pˇrepˇet´ı. Je implementov´ana i nadproudov´a ochrana programovac´ıho a nap´ajec´ıho napˇet´ı.
´ ´I JEDNOTKU A PRIPOJEN ˇ ´ PC 4 SOFTWARE PRO OVLADAC E
53
Stav program´atoru je pˇrehlednˇe indikov´an pomoc´ı dvou LED. ON-LINE (zelen´a LED) informuje o pˇripojen´ı k USB, ACTIVE (ˇzlut´a LED) signalizuje aktivitu na programovac´ım rozhran´ı, napˇr. programov´an´ı ˇci verifikaci. Vlastn´ı programov´ani se spouˇst´ı pomoc´ı tlaˇc´ıtka Go. Software Z´akladn´ım softwarov´ ym prostˇredkem pro pr´aci s program´atorem PRESTO je program UP. Kromˇe bˇeˇzn´ ych pˇr´ıkaz˚ u poskytuje ˇradu nadstandardn´ıch funkc´ı. Jde napˇr. o moˇznost definov´an´ı projekt˚ u, parametry pˇri spouˇstˇen´ı z pˇr´ıkazov´eho ˇr´adku umoˇzn ˇuj´ıc´ı bezobsluˇzn´e pouˇzit´ı program´atoru pˇri rutinn´ım programov´an´ı, nastaven´ı prostˇred´ı vˇcetnˇe kl´avesov´ ych zkratek, automatick´e generov´an´ı s´eriov´eho ˇc´ısla apod. Program UP je urˇcen pro Windows verze 95, 98, ME, 2000 a XP. Podpora USB je k dispozici od verze W98SE, pro komunikaci se zaˇr´ızen´ımi se sbˇernic´ı USB se pouˇz´ıvaj´ı modifikovan´e ovladaˇce D2XX firmy FTDI. Software UP podporuje mikrokontrol´ery Microchip PIC a Atmel AVR a 8051. Bohuˇzel tento prostˇredek nen´ı podporov´an MPLAB IDE, takˇze z hlediska v´ yvoje aplikace slouˇzil sp´ıˇse k fin´aln´ımu naprogramov´an´ı mikrokontroleru a pˇrehledn´e orientaci v obsahu pamˇeti EEPROM. PRESTO kromˇe samotn´eho programov´an´ı poskytuje i z´akladn´ı podporu pˇri ladˇen´ı aplikac´ı. U mikrokontrol´er˚ u PIC lze s jeho pomoc´ı ˇr´ıdit i stav souˇc´astky - reˇzimy Reset a Run.
´ ´I JEDNOTKU A PRIPOJEN ˇ ´ PC 4 SOFTWARE PRO OVLADAC E
4.2
54
Program pro PC
Ovl´adac´ı program pro PC mus´ı splˇ novat n´asleduj´ıc´ı poˇzadavky: • Vytvoˇren´ı ovl´adac´ıho datagramu pro program v mikrokontroleru • Odesl´an´ı datagramu pomoc´ı TCP protokolu • Zpˇetn´a vazba z mikrokontroleru, zobrazen´ı stavu/ˇcinnosti mikrokontroleru Program jsem napsal ve v´ yvojov´em prostˇred´ı Microsoft VisualBasic 5.0 z ˇcehoˇz i vypl´ yv´a platforma bˇehu, MS Windows 95 - XP. Srdcem cel´eho programu je OCX komponent MS Windows Socket komponent (winsock.dll) kter´ y v podstatˇe funguje jako datov´a pumpa. Vytvoˇr´ı TCP spojen´ı na portu 514 k serveru, v tomto pˇr´ıpadˇe mikrokontroleru, a do spojen´ı odeˇsle datagram. 4.2.1
Autonomn´ı model
Mikrokontroler po obdrˇzen´ı datagramu uzavˇre TCP spojen´ı a zaˇcne vykon´avat program na z´akladˇe dat kter´a obdrˇzel. Pokud je s vykon´av´an´ım hotov, ˇcek´a na dalˇs´ı datagram. Ten m˚ uˇze m´ıt dvˇe r˚ uzn´e funkce. Pokud je uvozen hodnotou 0x80h mikrokontroler zaˇcne s vykon´av´an´ım nov´eho programu s ohledem na svoje vstupy a v´ ystupy a nebo zaˇc´ın´a hodnotou 0xFFh a v tom pˇr´ıpadˇe odpov´ı paketem v nˇemˇz je uloˇzen jeho moment´aln´ı stav (hodnoty na portech B a C)
Obr´azek 24: Rozhran´ı pro autonomn´ı model
´ ´I JEDNOTKU A PRIPOJEN ˇ ´ PC 4 SOFTWARE PRO OVLADAC E 4.2.2
55
Pˇ r´ımo ˇ r´ızen´ y model
Stejnˇe jako v pˇr´ıpadˇe autonomn´ıho modelu komunikace prob´ıh´a pomoc´ı datagram˚ u jeˇz ˇr´ıd´ı ˇcinnost mikrokontroleru. Rozd´ıl je v tom, ˇze veˇskerou ˇr´ıd´ıc´ı funkci zde pˇreb´ır´a ovl´adac´ı program bˇeˇz´ıc´ı v PC. Tento program neustale vys´ıl´a pakety, kter´e obsahuj´ı datagramy o d´elce jednoho bytu a hodnotˇe 0xFFh. Na nˇe mikrokontroler odpov´ıd´a datagramem jenˇz obsahuje 2 byty s jeho stavem jak bylo pops´ano v´ yˇse. Zvolil jsem interval 500ms nebot’ tento proces m´a dlouh´e ˇcasov´e konstanty a pro jeho sledov´an´ı to bohatˇe staˇc´ı. Pokud mikrokontroler obdrˇz´ı datagram jenˇz zaˇc´ın´a a konˇc´ı hodnotou 0x80h detekuje ho jako ˇr´ıd´ıc´ı. Tento datagram m´a pevnou d´elku jednoho bytu a obsahuje nastaven´ı v´ ystup˚ u. Tento stav je ovˇeˇren prvn´ım pollovac´ım paketem a jeho stav zpˇet posl´an do ˇr´ıd´ıc´ıho programu kde se nastav´ı pˇr´ısluˇsn´e v´ ystupn´ı indik´atory.
Obr´azek 25: Rozhran´ı pro pˇr´ımo ˇr´ızen´ y model
Popis rozhran´ı Vlevo je schematicky zn´azornˇena praˇcka respektive, jej´ı funkˇcn´ı ˇc´asti. Prostˇredn´ı ˇc´ast jsou programovac´ı tlaˇc´ıtka kter´a upravuj´ı hodnotu v textov´em poli oznaˇcen´em ”Povel”. Hodnota je zobrazov´ana dekadicky a lze ji upravovat. Do textov´eho pole ”# vteˇrin” se zapisuje doba ve vteˇrin´ach po kterou m´a povel bˇeˇzet. Ovl´adac´ı datagram se pomoc´ı tlaˇc´ıtka [>] shromaˇzduje v seznamu v prav´e ˇc´asti okna programu odkud lze jednotliv´e povely odstranit pomoc´ı tlaˇc´ıtka [<]. Tlaˇc´ıtkem [Start Programu] se zaˇcnou vys´ılat datagramy s jednotliv´ ymi povely. Schematick´e zn´azornˇen´ı vlevo t´emˇeˇr okamˇzitˇe reaguje na jak´ekoliv zmˇeny stavu vstup˚ u a v´ ystup˚ u kter´e mu na jeho periodick´e ˇz´adosti mikrokontrol´er pos´ıl´a. Nepatrn´e zpoˇzdˇen´ı je zapˇr´ıˇcinˇeno t´ım, ˇze pollovac´ı paket chod´ı jednou za 100ms.
´ ER ˇ 5 ZAV
5
56
Z´ avˇ er
V zad´an´ı diplomov´e pr´ace bylo navrhnout a realizovat bezdr´atov´e spojen´ı a aplikovat ho na jednoduch´ y model. Pro prostudov´an´ı moˇznost´ı jsem vybral spojen´ı na z´akladˇe standardu 802.11b (WiFi). Pro tento u ´ˇcel jsem si pomˇernˇe zdlouhav´ ym procesem opatˇril od firmy IOSOFT v´ yvojovou desku ER25. V´ ybˇer padl na tuto ne pˇr´ıliˇs dostupnou desku z toho d˚ uvodu, protoˇze jej´ım srdcem je mikrokontroler od firmy Microchip. S v´ yrobky t´eto firmy m´am dobr´e zkuˇsenosti a i dostupnost program´ator˚ u a debugger˚ u je pomˇernˇe dobr´a. Po t´e co jsem v´ yvojovou desku obdrˇzel a mˇel moˇznost si j´ı prohl´ednout zarazilo mˇe jej´ı ponˇekud neˇst’astn´e hardwarov´e zpracov´an´ı. Ocelov´ y pl´aˇst’ PCMCIA karty se nach´azel pˇr´ımo pod deskou s ploˇsn´ ymi spoji a v nˇekter´ ych m´ıstech se j´ı dokonce dot´ ykal. Podle m´eho n´azoru kdybych pˇripojil nap´ajec´ı napˇet´ı mohlo by pˇrinejmenˇs´ım doj´ıt k jej´ı ˇspatn´e funkˇcnosti a nebo dokonce ke zniˇcen´ı. Pˇri pr´aci mi nejv´ıce vadila absence moˇznosti debuggov´an´ı pˇr´ımo v procesoru jelikoˇz nˇekter´e vstupy a v´ ystupy k tomu urˇcen´e byly vyuˇzity pro obsluhu PCMCIA karty. I pˇres tuto pˇrek´aˇzku ˇsel program docela dobˇre odladit pomoc´ı informac´ı vypisovan´ ych na s´eriov´e rozhran´ı RS232. V cel´e pr´aci jsem se snaˇzil postupovat zp˚ usobem, co nejv´ıce podobn´ ym n´avrhu komerˇcn´ıho zaˇr´ızen´ı se zˇretelem na flexibilitu, cenovou dostupnost, odolnost v˚ uˇci chyb´am a variabilitu pouˇzit´ı. Popsan´ ym zp˚ usobem, za minim´aln´ıho u ´sil´ı, lze ovl´adat prakticky libovoln´ y jednoduch´ y technologick´ y proces zaloˇzen´ y na diskr´etn´ıch hodnot´ach vstupu a v´ ystupu. Po doplnˇen´ı pˇr´ısluˇsn´ ym hardwarem jako jsou posuvn´e registry pˇr´ıpadnˇe A/D nebo D/A pˇrevodn´ıky by bylo moˇzn´e pouˇz´ıt v´ yvojovou desku ER25 t´emˇeˇr na jak´ ykoliv technologick´ y proces.
REFERENCE
57
Reference [1] Rita Puˇzmanov´a: Bezpeˇcnost bezdr´ atov´e komunikace, Vydalo CP Books 2005 [2] Patrick Zandl: Bezdr´atov´e s´ıtˇe WiFi Praktick´y pr˚ uvodce Vydalo CP Books 2003 [3] Libor Dost´alek, Alena Kabelov´a: Velk´y pr˚ uvodce protokoly TCP/IP a syst´emem DNS Vydalo CP Books 2000 [4] Miroslav Virius: Jazyk C a C++: kompletn´ı kapesn´ı pr˚ uvodce Vydalo Grada 2005 [5] Microchip DataSheet ”39564c.pdf” http://ww1.microchip.com/downloads/en/DeviceDoc/39564c.pdf [6] Wi-Fi Alliance http://wi-fi.org/
Pˇ r´ılohy: Sch´ema v´ yvojov´e desky ER25