IrDA standard vznikl z potreby mobilne propojit ruzne zarizeni mezi sebou
(hlavni vyuziti IrDA je pro spojeni notebooku ci ruznych personalnich
komunikatoru, ale IrDA rozhranim jsou vybavovany napriklad i videokamery).
IrDA zarizeni komunikuji pomoci infracervenych LED diod s vlnovymi delkami
vyzarovaneho svetla 875 nm +- tolerance vyroby (asi 30nm). Na tuto vlnovou
delku jsou citlive i mnohe CCD kamery. Prijimacem jsou PIN fotodiody, ktere
pracuji v generacnim rezimu (pri dopadu svetla na prijimac "vyrazi" svetlo
elektrony, ktere se odvadi do filtru (elektrickeho) ktery propusti jen ty
frekvence ktere jsou povoleny pro dany typ IrDA modulace). Existuje prima
umera mezi energii dopadnuteho zareni a nabojem ktery opticka cast prijimace
vygeneruje.
IrDA zarizeni dle normy IrDA 1.0 a 1.1 pracuji do vzdalenosti 1.0 m pri
bitove chybovosti BER (bit error ratio, pomer chybne prenesenych bitu ku spravne prenesenym) 10-9 a maximalni urovni okolniho osvetleni 10klux
(denni svit slunce). Tyto hodnoty jsou definovany pro nesouosost vysilace a
prijimace 15 stupnu, pro jednotlive opticke prvky se meri vykon do 30
stupnu. Jsou smerove vysilace (IR LEDky) pro vetsi vzdalenosti, ktere
nedodrzuji predepsany uhel 30 stupnu od osy pro ktery ma vysilac utlum 3 dB.
Rychlosti jsou pro IrDA v. 1.0 od 2400 do 115200 kbps, pouziva se pulsni
modulace 3/16 delky puvodni doby trvani bitu. Format dat je stejny jako na
seriovem portu, tedy asynchronne vysilane slovo uvozene startbitem.
IrDA v. 1.1 definuje navic rychlosti 0.576 a 1.152 Mbps s pulsnim kodovanim 1/4 delky doby trvani puvodniho bitu (strida 1/4). Pri techto rychlostech je jiz zakladni jednotka (paket) vysilan synchronne uvozen startovni sekvenci. Signal NRZ v obrazku je puvodni datovy tok bez modulace.
Pro rychlost 4 Mbps se pouziva zakzvana 4PPM modulace se stridou 1/4, v niz
se 2 bity informace zakoduji do pulsu v jednom ze ctyr moznych casovych pozic (chipu),
nositelem informace je zde tedy pozice pulsu v case namisto existence pulsu jako u predchozich modulaci.
Napriklad bity 00
se vyslou jako sekvence 1000
(blik-nic-nic-nic), bity 01
jako 0100
, bity 11
jako 0001
.
IrDA definuje jeste tzv. low-power IrDA zarizeni s dosahem do 20 cm a max.
rychlosti 115kbps (ala IrDA 1.0). Limitnim faktorem dosahu je intenzita
zareni na prijimaci v mW/cm2 , pro vyssi bitove rychlosti je minimalni
hodnota vyssi, pro nizke bitove rychlosti (dlouhe opticke impulsy) se mozna
vzdalenost IrDA zarizeni prodluzuje (coz se sice v norme nepravi, ale
souvisi to s mnozstvim dopadnuteho zareni - kratke pulsy s malou energii
povazuje prijimac za sum, je treba pulsy prodlouzit ci zvysit jejich energii
aby je filtr prijimace zaregistroval).
Prijimac musi mit moznost rozlisit mezi urovni okolniho osvetleni, rusenim a
prijimanym signalem. Pro tento ucel je vyhodne pouzivat co nejvetsi vysilaci
vykon, protoze cim vetsi vykon tim vetsi proud v prijimaci -> vetsi odstup
signal/sum. Vysilaci infradiody ovsem nemohou vysilat maximalnim vykonem
100% casu, pouziva se proto strida jen 3/16 ci 1/4 celkove doby trvani bitu
s 4 az 5 nasobnym vykonem jez by byl mozny pri neprerusenem svitu diod. Kdyz
vezmeme v uvahu, ze prenosova cesta neprenasi stejnosmernou slozku (prijimac
se neustale prizpusobuje prumernemu osvetleni a detekuje jen zmeny) tak je
pouziti pulsni modulace nutne. Integrovane IrDA transceivery (kombinovana
vysilaci infra LED dioda a prijimaci PIN fotodioda) maji jiz zabudovany
filtry ktere zabranuji ruseni mimo frekvencni oblast IrDA 2400-115200 bps a
0.576-4 Mbps (2Mbliky/sec).
Z vlastni zkusenosti mohu pouze popsat nekolik soucastek od firmy Hewlett Packard, ktera vyrabi jak
samotne IrDA vysilace (infra LED), prijimace i transceivery (integrovany prijimac s vysilacem v jednom pouzdre).
Pro rychlosti do 115kbps (IrDA 1.0) se prodava transceiver HSDL-1000, ktery pracuje v halfduplexnim rezimu.
Jeho zapojeni je velice jednoduche, vedle pouzdra samotneho transceiveru je pouze par kondenzatoru pro potlaceni ruseni
a filtraci signalu. tyto kondenzatory musi byt umisteny co nejblize transceiveru, nejlepe do vzdalenosti 0.7cm.
Protoze HSDL-1000 je SMD soucastka, je nejlepsi ji umistit na tistak s druhou stranou pokovenou a prizemnenou (kvuli odstineni ruseni).
Rychlejsi verze transceiveru ma typove oznaceni HSDL-1100 a umi i rychlosti FIR (az 4Mbit/sec).
S touto soucastkou jsem mel ovsem problemy, protoze pri spatnem zapojeni se z FIR vystupu stane oscilator. Soucastka je mnohem nachylnejsi k ruseni a zpetnevazbeni nez HSDL-1000 (pouze na FIR vystupu).
Dalsi ze soucastek HP ktere se daji sehnat jsou vysilaci LED infradiody HSDL-4230 a HSDL-4220.
Jsou to LED diody ktere snesou rychlost modulace az 10Mbitu, proud 0.5 A pri stride 0.2, resp. proud 100mA pri neustalem svitu.
Dve verze LED diod v teto rodine HSDL-4200 se lisi pouze vyzarovacim uhlem (HSDL-4220 ma vyzarovaci uhel 30°, zatimco HSDL-4230 pouze 17°).
HSDL-1000 |
HSDL-1100 |
Hewlett Packard dela i samotne PIN prijimace a kodery/dekodery IrDA modulace.
Integrovany koder/dekoder IrDA modulace 115kbps lze koupit pod typovym oznacenim HSDL-7000. Je to integrovany obvod
s 8 vyvody kteremu se krome napajeni a privodu/vyvodu serioveho portu a vstupu/vystupu modul. signalu
privadi jeste 16* bitove frekvence serioveho portu (pro 115kbps je to frekvence 115200*16=1.8432 MHz).
Mel jsem moznost vyzkouset i koder/dekoder HSDL-7001 ale ten nabizi navic pouze nektere funkce (jako napr. integrovany delic kmitoctu ci
moznost pripojeni pasivniho XTALu primo na svoje vyvody). Navic integrovany delic kmitoctu na nem funguje pouze pro Ir vstup, nikoli pro vystup.
Schema zapojeni modulatoru 3/16 HSDL-7000 |
Hewlett Packard neni samozrejme jediny vyrobce IrDA komponent. Z dalsich jmenuji napriklad Texas Instruments, ktery
vyrabi UARTty TIR1000 a TIR2000. TIR2000 ma jiz zabudovan radic pro 4Mbps modulaci (pouziva DMA mod).
Vyrobcu UARTu je vice, napr. i National Semiconductor vyrabi svoje verze. TI ci NS budou asi dve nejsehnatelnejsi firmy u nas
co se tyce UARTu.
Zde jsou odkazy na www stranky ruznych vyrobcu IrDA zarizeni.
IBM
Hewlett Packard
HP ir chip directory
HP ir center
Texas Instruments
National Semiconductor PC87109
Vishay-Telefunken (TEMIC)
TEMIC
Nemusim se zde zminovat o podpore IrDA protokolu u produktu firmy Micro$oft, misto toho upozornuji na projekt The Linux/IR Project, kteryzto si klade za cil zakomponovat protokoly IrDA do jadra Linuxu. Zdrojove kody jsou testovany na vyvojovych jadrech Linuxu (2.1.xxx)
Projekt IrDA pro Linux
Pri laborovani s IrDA prenosem dat jsme meli na mysli prenos na mnohem delsi
vzdalenosti nez je 1 metr specifikovany IrDA standardem. Pri pouziti infra
LED diod s polovicnim vyzarovacim uhlem (17 stupnu misto 30) jsme se bez
pridavne optiky dostali asi na 4 metry pri bitove rychlosti 115 kbps. Za
jistou hranici ma prijimac tendenci zacit vypoustet jednotlive pulsy, resp.
zmensovat jejich amplitudu a dobu trvani (ac by mel byt vystup prijimace
"digitalni" tak je videt ze je to pouze analogovy obvod). Pro pouziti na
vetsi vzdalenosti (pozadavek byl prenaset data na 200metru) je tedy treba
pridavne optiky. Pro dalsi prodlouzeni vzdalenosti je mozne zmensit rychlost
prenosu dat - prodlouzit delku trvani pulsu. Zjistili jsme, ze pri snizeni
rychlosti 4x lze vzdalenost prodlouzit 2x - tedy plati co jsem napsal o
detekci pulsu pomoci urciteho mnozstvi energie nutneho k pruchodu filtrem
prijimace.
Protoze cilem bylo spojit dva Linuxove stroje a spustit na seriove lince
protokol ppp, vytvorili jsme pridavnou logiku (1 hradlo ;) ktera mela za
ucel pri neaktivnim signalu DTR vysilat neustale impulsy a tim druhe strane
signalizovat zaveseni linky. Vedlejsi efekt tohoto obvodu je ten ze kdyz se
vytahne z pocitace seriovy kabel do IrDA pojitka, zacne pojitko vysilat
nepretrzite jako kdyby pocitac pomoci signalu DTR zavesil. Lze toho vyuzit
pri ladeni - hledani signalu. Navic lze na jedne strane spojit vysilani s
prijmem a pouzivat IrDA linku jako nekolikasetmetrovy loopback - idealni pro
zjisteni zda je spojeni kvalitni v obou smerech bez nutnosti litat na druhou
stranu.
S pouzitou optikou a po dlouhe dobe laborovani jsme zjistili, ze pro
vzdalenosti mensi nez priblizne 80 metru (pri rychlosti 115 kBd) neni mozne
pojitko pouzivat v fullduplexnim modu, protoze se vysilany paprsek vraci
odrazem od optiky na druhe strane a dela echo. To same plati pro pripady,
kdy je v ceste signalu nejaky predmet odrazejici paprsek zpet - typicky
okno.
Co se tyce nasmerovani pojitek na sebe, je nutne velmi tuhe ukotveni s
moznosti jemne natacet pojitka tak, aby byla v ose. Pro rozumnou bitovou
chybovost je treba nasmerovat je na sebe s presnosti zhruba metru (pri
jejich vzdalenosti 200m - jde tedy o zhruba polovicku uhloveho stupne).
Kriticke pritom neni nasmerovani pro prijimaci cast, ale pro vysilaci.
Nejlepsi dosazene chybovost je asi 0.0006 % vadnych paketu (MTU=296 bytu,
pingovani s delkou paketu 64 bytu), resp. priblizne kazdy 170000 paket je
vadny. V druhem smeru je statistika paketu asi 4x horsi - vliv nepresnosti
nastaveni. Normalni dest tomu evidentne nevadi (prsi uz druhy den), pouze
poradny slejvak nebo prime slunicko svitici do optiky.
ppp0 Link encap:Point-to-Point Protocol inet addr:10.1.2.4 P-t-P:10.1.1.4 Mask:255.255.255.0 UP POINTOPOINT RUNNING MTU:296 Metric:1 RX packets:49724542 errors:233 dropped:233 overruns:0 frame:0 TX packets:49625500 errors:0 dropped:0 overruns:0 carrier:0 coll:0Toto je statistika ppp linky 115kbps full duplex pri desti (200m)
ppp0 Link encap:Point-to-Point Protocol inet addr:10.1.2.4 P-t-P:10.1.1.4 Mask:255.255.255.0 UP POINTOPOINT RUNNING MTU:296 Metric:1 RX packets:25255596 errors:18 dropped:18 overruns:0 frame:0 TX packets:25276229 errors:0 dropped:0 overruns:0 carrier:0 coll:0a toto pri dobrem pocasi a jinem nastaveni(opet 200m)
V textu jsou pouzity obrazky z www stranek firem Hewlett Packard, Texas Instruments a bitmapove verze pdf dokumentu IrDA konzorcia.