IrDA definuje medzinárodne uznávaný protokol pre prenos dát pomocou infračerveného žiarenia rýchlosťou až 4 Mbit za sekundu na vzdialenosť do 1 metra. V súčasnosti majú tento protokol implementované mnohé prenosné (mobilné) zariadenia ako sú notebooky, elektronické diáre, PDA (Personal Digital Asistant), mobilné teléfóny (Nokia, Siemens). Tak isto nájdeme možnosť IrDA komunikácie pre bežné PC systémy, kde je možné komunikovať bezdrôtovo s klávesnicou, myšou, tlačiaňou, modemom a ďalšími preriférnymi zariadeniami.
Hlavnou výhodou je pomerne nízka cena, spoľahlivosť a tiež možnosť implementácie na 8-bitové mikroradiče (s niektorými obmedzeniami oproti úplnej verzii). Porovnanie s riešením Bluetooth: IrDA and Bluetooth: A Complementary Comparison (pdf, 44kB)
Pre zoznámenie sa s problematikou infrakomunikácie doporučujeme
nasledovné články:
Normy pro IR datový přenos
Teorie IR datového přenosu a jeho dosah
Co je to IrDA
IrDA Specifikations
IrDA stack pozostáva z nasledovných vrstiev:
Fyzická vrstva prevedie vyslaný byte na sériový
tvar podľa V24 a moduluje každý vyslaný bit pomocou 3/16
modulácie. Toto sa môže diať čisto programovým spôsobom,
keď mikrokontrolér riadi priamo vysielač (rýchlosti 9600,
19200 bps). Pre vyššie rýchlosti je nutné použiť hardwarové
riešenie, sériovým vysielacím kanálom s následnou moduláciou
pomocou HP7001 (rýchlosti 9600, 19200, 38400, 57600, 115200 bps).
Fyzická vrstva je tiež zodpovedná za príjem Ir impulzov a ich
prevod zo sériového tvaru do podoby jedného byte. Pri
programovom spôsobe vyžaduje použiť pre príjem znaku prerušovací
vstup mikroradiča.
Linková vrstva vytvára prenosové rámce vyslaním úvodných
dát rámca a dopĺňa informáciu 16 bitovým CRC kódom pre
rozpoznanie chýb v prenose. Pri príjme odstraňuje linková
vrstva začiatok a koniec rámca a kontroluje správnosť CRC kódu.
IR LAP (IR Link Access Protokol) riadi prenos rámcov
a poskytuje spojovo orietovaný obojsmerný prenos dát.
Tento môže byť nezaručovaný, kde prípadnú chybu v prenášaných
datách musí riešiť príjemca, alebo zaručený, kde LAP
automaticky vyžiada opakovaný prenos chybných rámcov. Ďalej
je táto vrstva zodpovedná za vykonanie detekcie IR zariadení (discovery
proces) pri ktorom sa zisťujú prítomné IR zariadenia. Tiež
je zodpovedná za nadviazanie spojenia a dohodnutí sa na spôsobe
komunikácie.
IR LMP (IR Link Management protokol) poskytuje
multiplexované zaručované spojenie pre vyššie vrstvy, prípadne
koncové aplikácie. Dovoľuje teda súčasnú komunikáciu
viacerých koncových bodov cez jedno IR LAP spojenie.
IAS (Information Access Server) poskytuje informácie
o zabudovaných vyšších protokoloch. Okrem IrCOMM existujú ďalšie
ako napríklad Tiny TP, OBEX, IrLAN (tieto zatiaľ nie sú
podporované).
IrCOMM vytvára virtuálne obojsmerné COM alebo LPT
spojenie mezdi dvoma zariadeniami. Aplikácie môžu navzájom
komunikovať rovnako ako keby boli prepojené káblom cez COM
alebo LPT port. Doručovanie dát je zaručené, teda akékoľvek
chyby v prenose sa automaticky korigujú v predchádzajúcich
vrstvách. Tento protokol je vhodný všade tam kde je už
vypracovaná komunikácia cez COM alebo LPT port nakoľko nevyžaduje
žiadny zásah do koncových aplikácií.
Pre rýchlosti do 115200 bit/sek. definuje IrDA jednoduché a lacné riešenie založené na klasickom sériovom prenose podľa V24 (RS232). Pre nízke rýchlosti prenosu (9600, 19200 bps) je možné priame pripojenie Ir prijímača/vysielača (napríklad HSDL-1001) k mikroradiču. Výstup infra-prijímača sa pripojí na prerušovací vstup mikroradiča. Riadenie celej komunikácie i kódovanie zabezpečuje mikroradič. Na nasledovnom obrázku je znázornená schéma pripojenia.
Naša implementácia IrDA pre AVR mikrokontroléry sa vyznačuje:
secondary devices (teda sám neiniciuje nadviazanie komunikácie
s ďalším IrDA zariadením)
dovoľuje komunikáciu rýchlosťami až do 9600 bps.
data size =64bytes,
window size
=1,
max. turn arround time 500 ms,
disconnect/treshold time
of 3 seconds,
additional BOFs =0
*IrDA-implementácia má dĺžku približne 3000 bajtov a vyžaduje asi 200 bajtov dátovej pamäte; teda dá sa implementovať do typov so zodpopvedajúcou veľkosťou pamätí-nezabudnúť pritom ale na skutočnosť, že pre vlastnú aplikáciu je treba tiež niečo rezervovať. IrDA Stack je napísný v avr-asembleri (AVR Studio 4.XX).
Podrobný popis implementácie pre AVR (anglicky)
V prípade požiadavky komunikačných rýchlostí až do 115200 bps je treba použiť modulátor a demodulátor pre riadenie Ir prijínača/vysielača (napr. HSDL-7001), alebo vysoko výkonný mikroradič SX firmy Ubicom. Bloková schéma potom vyzerá nasledovne:
Aj pre túto variantu ponúkame implementáciu pre Atmel-AVR.
AVR IrDA Stack Application Note (pdf-formát, cca 476kB; vyžaduje
Acrobat Reader 4.x )
Datalogger na báze ATmega103. V tejto aplikačnej poznámke je
podrobne popísané nasadenie infra-komunikácie medzi výkonným
8-bitovým mikrokontrolérom a Palm handheldom. IrDA -stack
vyvinutý firmou psh-mikro je implementovaný v systéme na zber
dát vrátane podrobných schém, stavových a vývojových
diagramov. Poznámka je písaná po anglicky.
BT2 - merač viskozity betónu firmy Schleibinger Geräte GmbH. Je to prenosný prístoj, ktorý umožnuje v teréne merať viskozitu betónu. Meranie pozostáva zo záznamu údajov z troch tenzometrických snímačov a rýchlosti otáčania. Merania sú doplnené časovým údajom zo zabudovaného RTC a uložené do pamäte FLASH. Z tejto pamäte je možné jednotlivé merania vyčítať do prenosného zápisníka (PDA) Palm Pilot. Ten dovoľuje zobrazenie načítaných údajov vo forme grafu a ich prenos a spracovanie v PC. Okrem toho sa Palm používa na nastavenie parametrov prístroja (kalibrácia). Takéto riešenie má výhodu v tom, že v prostredí staveniska (prach, voda, cement, agresívne chemické látky) nemusíme použiť drahé a labilné LCDispleje a tiež v bezkontaktnej alebo lepšie bezkonektorovej komunikácii. Podrobný popis riešenia nájde záujemca tu: Referenčná aplikácia IrDA stacku na komunikáciu medzi jednočipovým mikrokontrolérom a Palm OS zariadením.
Posledná aktualizácia: 06.03.2002
Návrat hore
Referenčná aplikácia IrDA
stacku na komunikáciu medzi jednočipovým mikrokontrolérom a Palm OS zariadením
PSH homepage