Infraƒervené rozhraní je jedním ze standardà pro komunikaci mezi poƒítaƒov∞mi i nepoƒítaƒov∞mi za²ízeními. Jak to vlastn╪ funguje?
Království neviditelnosti
Slovo infraport uº dnes zná asi kaºd∞ uºivatel v∞poƒetní techniky. Oznaƒuje schopnost poƒítaƒe nebo periferie komunikovat bezdrátov╪ se sv∞m okolím pomocí infraƒerveného sv╪tla. Uº mén╪ ƒasto se objevuje zkratka IrDA, oznaƒení Infrared Data Association. Jde o organizaci zaloºenou za úƒelem vytvo²ení a dalτího rozτi²ování standardà pro bezdrátov∞ p²enos dat pomocí infraƒerveného sv╪tla.
Pràkopníkem tohoto typu komunikace byla firma Hewlett-Packard, která jej zaƒala pouºívat u sv∞ch kapesních poƒítaƒà. Základní specifikace IrDA standardà také z pàvodního firemního protokolu HDLC vycházela.
Tento ƒlánek nabízí p²ehled standardà IrDA a jeho cílem je poskytnout ƒtená²i informaci o jejich vzájemné provázanosti. Obƒas v tom b∞vá zmatek, mimo jiné i kvàli samotné organizaci IrDA, která na sv∞ch stránkách http://www.irda.com není schopná poskytnout vτechny specifikace v jednotném formátu.
Fyzická vrstva
Fyzická vrstva p²ebírá data z vyττích vrstev a zajiτ£uje jejich p²enos na druhé za²ízení. V╪tτinou je realizována jako dv╪ odd╪lené ƒásti: p²ijímaƒ/vysílaƒ a modulátor/demodulátor. Její fyzické parametry urƒuje specifikace IrPHY. Minimální dosah standardního IrDA rozhraní je jeden metr. Pro za²ízení s nízkou spot²ebou, u kter∞ch by tento standard s dosahem jednoho metru znamenal podstatn∞ náràst spot²eby, je urƒena varianta low power s minimálním dosahem 0,2 metru a spot²ebou aº desetkrát niºτí.
V n╪kter∞ch materiálech se objevují zkratky SIR a FIR, které souvisejí s rychlostí p²enosu. Základní rychlostí, kterou musí kaºdé za²ízení podporovat, je 9600 b/s. Touto rychlostí vysílají vτechna za²ízení kompatibilní s IrDA ºádost o navázání spojení. Maximální rychlost p²enosu dat závisí na schopnostech komunikujících za²ízení. Do 115 200 b/s se jedná o rychlosti b╪ºné u sériového rozhraní RS232 a pro jeho realizaci se pouºívají upravené obvody UART. Pro programátory je potom práce s fyzickou vrstvou IrDA shodná s komunikací p²es b╪ºné sériové rozhraní. Takové za²ízení se oznaƒuje jako SIR (Serial Infrared). Pro vyττí rychlosti (576 000 b/s, 1 152 000 b/s a 4 000 000 b/s) se pouºívá zkratka FIR (Fast Infrared). Zejména za²ízení, která dokáºou komunikovat nejvyττí rychlostí, vyºadují specializovan∞ hardware a s upraven∞mi UART obvody nevystaƒí.
Existuje jedna v∞jimka. Starτí za²ízení schopná komunikovat jen rychlostí 2400 b/s samoz²ejm╪ nemohou navazovat spojení 9600 b/s, a proto pro n╪ existuje speciální postup, kter∞ jim má navázání spojení a komunikaci umoºnit.
S v∞jimkou nejvyττí p²enosové rychlosti 4 Mb/s je pro p²enos signálu pouºita modulace RZI (Return to Zero Inverted), v níº je nula reprezentována impulzem o délce 3/16 z celkové doby trvání jednoho bitu, resp. 1/4 k p²enosu rychlostí 0,576 a 1,152 Mb/s. Pro rychlost 4 Mb/s slouºí modulace 4PPM (Four Pulse Position Modulation). P²enáτejí se vºdy dvojice bità najednou a jsou zakódovány kódem jedna ze ƒty² (viz tabulka). Vzhledem k parametràm RZI modulace by se mohlo stát, ºe pomalejτí za²ízení nebude schopné detekovat p²enos rychlostí 4 Mb/s, zaƒne samo vysílat a tím znemoºní komunikaci vysokou rychlostí. Proto je nutné generovat v pravideln∞ch intervalech jeden impulz splσující parametry pro RZI, aby vτechna za²ízení v dosahu v╪d╪la, ºe nemají zahajovat vysílání. P²enos dat je proti chybám zajiτt╪n pomocí kontrolního souƒtu CRC.
Vzhledem k povaze p²enosu dat se nabízí moºnost prodlouºit dosah paprsku pomocí siln╪jτích zdrojà infraƒerveného zá²ení (nap²íklad laserem). Aby nemohlo dojít k poτkození zraku uºivatele, je souƒástí specifikace IrPHY i maximální hodnota intenzity sv╪telného zdroje.
IrLAP - Link Access Protocol
Vrstva IrLAP realizuje spojení dvou komunikujících za²ízení a vytvá²í spolehlivé spojení po nespolehlivém médiu. To znamená, ºe dokáºe vºdy zaruƒit bezchybn∞ p²enos dat, detekovat jakoukoliv chybu p²enosu nebo p²eruτení spojení. Jeho sluºeb vyuºívají dalτí vrstvy.
K tomu, aby bylo moºné navázat spojení, je nutné v╪d╪t, s k∞m se má navázat a jaké jsou vlastnosti prot╪jτku. Pomocí takzvané discovery procedury objeví IrLAP své prot╪jτky a p²edá informace o jejich vlastnostech do vyττí vrstvy. Souƒástí vyhledávání je i vy²eτení konfliktà adres vτech za²ízení v dosahu. Pokud bude vyττí vrstva poºadovat navázání spojení, vyjedná IrLAP se sv∞m prot╪jτkem detaily, jako je rychlost, ƒasové konstanty dàleºité pro ²ízení spojení a podobn╪. Potom bude spojení udrºovat a p²enáτet data podle poºadavkà vyττí vrstvy.
IrLAP umoºσuje vysílat data i tehdy, kdyº není navázáno spojení s prot╪jτí stanicí. Krom╪ v∞zvy k navázání spojení se tak dají posílat menτí objemy dat, u kter∞ch nepoºadujeme potvrzování p²íjmu.
IrLMP Link Management Protocol
Pokud bychom cht╪li pro komunikaci pouºívat jenom sluºeb IrLAP, mohly by spolu komunikovat vºdy jen dv╪ aplikace. Pro ostatní by byl infraport nep²ístupn∞. Vzhledem k tomu, ºe prakticky neexistuje aplikace, která by vyuºila linku po cel∞ ƒas na sto procent, je moºné p²enosovou kapacitu sdílet. K tomu slouºí sluºby vrstvy IrLMP.
IrMUX
Základní sluºbou IrLMP je IrMUX neboli multiplexer. Práv╪ tato sluºba umoºσuje, aby linku sdílelo více aplikací. Pro p²enos dat je moºné vyuºít bu╘ dalτí vrstvu IrDA - IrTinyTP, nebo màºe aplikace sama p²ímo pouºívat sluºby IrMUX.
IrMUX funguje ve dvou reºimech: exkluzivním a multiplexovaném. Exkluzivní reºim dává aplikaci, která o n╪j poºádá, v∞luƒn∞ p²ístup ke komunikaci prost²ednictvím IrLAP vrstvy. Tím se dá dosáhnout krátké odezvy, ale pon╪kud se tím vytrácí v∞znam sluºby IrMUX. Normální je ƒinnost v multiplexovaném reºimu, kdy více aplikací vyuºívá sluºbu IrLAP prost²ednictvím IrMUX.
IrIAS
Θlohou IAS - Information Access Service - je udrºovat a poskytovat informace o schopnostech a o konfiguraci vlastního za²ízení i jin∞ch IrDA za²ízení nalezen∞ch p²i prohledávání okolí. Informace, které IAS màºe poskytnout, mohou b∞t dalτími protokoly (jako je IrOBEX, IrLAN a podobn╪) jeτt╪ dále rozτi²ovány.
IrTinyTP
Tiny Transport Protocol zajiτ£uje sluºby spojené s p²enosem informací p²es IrMUX. Rozd╪luje p²íliτ velké objemy dat tak, aby je bylo moºné p²enést p²es niºτí vrstvu, a na druhé stran╪ je zase skládá dohromady. Stará se také o to, aby nedoτlo k p²eruτení spojení nebo ztrát╪ dat kvàli opoºd╪nému zpracování dat doruƒen∞ch IrLAP.
IrDA Lite
V praxi se ukázalo, ºe není snadné implementovat IrLAP a IrLMP v plné τí²i p²esn╪ podle specifikace. Pro mnoho aplikací to dokonce ani není nutné. Doporuƒení IrDA Lite navrhuje ²adu zjednoduτení vrstev IrLAP a IrLMP, která dovolují zmenτit pam╪£ovou nároƒnost i velikost kódu p²i zachování kompatibility se standardem IrDA. To umoºσuje implementovat IrDA rozhraní do menτích a levn╪jτích za²ízení. Typická implementace IrDA Lite màºe mít velikost n╪kolika desítek kilobajtà.
IrOBEX
OBEX - Object Exchange Protocol
Je urƒen pro v∞m╪nu dat. Umoºσuje p²ístup k souboràm, databázím nebo procesàm na za²ízeních, se kter∞mi komunikuje. Skládá se ze dvou ƒástí: OBEX Session protokolu a OBEX Application Frameworku.
OBEX Session protokol
Byl inspirován protokolem HTTP 1.1, kter∞ se pouºívá pro p²enos dat v rámci internetové sluºby WWW. Màºe pracovat s IrTinyTP stejn╪ jako s TCP/IP.
Definuje zpàsob popisu p²enáτen∞ch dat podobn∞m zpàsobem jako HTTP protokol. Umoºσuje tedy p²enáτet data strukturovaná do objektà, a nikoliv jenom jako proud bajtà.
Obsahuje prost²edky pro ²ízení komunikace na základ╪ modelu klient - server.
Rozτi²uje informace podávané IAS sluºbou vrstvy IrLMP.
OBEX Application Framework
Definuje typické sluºby, které se budou pro p²enos dat pomocí OBEX pouºívat. Pat²í mezi n╪ nap²íklad OBEX Client, OBEX Server, OBEX Application a podobn╪.
Aby bylo moºné rozpoznat, o jak∞ typ objektu se jedná, doplσuje OBEX p²enáτená data o informace, které objekt popisují. Informace jsou rozloºeny do n╪kolika hlaviƒek - "headers" - inspirovan∞ch podobn∞m mechanismem HTTP protokolu. Krom╪ hlaviƒek specifick∞ch pro OBEX je moºné pouºívat i hlaviƒky definované HTTP protokolem.
IrCOMM
Dalτí z protokolà IrDA - IrCOMM - nahrazuje komunikaci po sériové lince standardu RS232 nebo po paralelním rozhraní typu Centronics. Jeho úkolem je simulovat komunikaci v t╪chto dvou standardech tak, aby bylo moºné pouºít stávající software bez v╪tτích úprav.
V podstat╪ to znamená, ºe krom╪ dat se p²enáτejí také informace u t╪chto rozhraní definované dalτími vodiƒi. To dovoluje pouºít API pro komunikaci se sériov∞m a paralelním portem. Není nutné upravovat aplikace ani systémové sluºby pro komunikaci p²es infraport, staƒí vytvo²it nov∞ ovladaƒ periferního za²ízení, kter∞ se bude pro aplikace tvá²it jako RS232 nebo Centronics.
IrMC
Zkratka MC znamená mobilní komunikaci a standard IrMC - Mobile Comunication - dovoluje mobilním za²ízením vzájemnou v∞m╪nu informací jednoduττím zpàsobem, neº nabízí OBEX. Na rozdíl od IrCOMM ale mají p²enáτené informace jasnou strukturu. Jde o data pouºívaná v aplikacích typu PIM (Personal Information Manager), tedy o záznamy z adresá²e, události v plánovacím kalendá²i, poznámky a hodiny. Krom╪ toho jsou k dispozici sluºby pro ovládání mobilních komunikaƒních prost²edkà, pro p²enos dat a krátk∞ch textov∞ch zpráv a pro obousm╪rn∞ p²enos zvuku.
Pro kaºd∞ typ dat existují ƒty²i úrovn╪ sloºitosti. To sniºuje nároƒnost implementace a v p²ípad╪ jednoduττích za²ízení odpadá nutnost implementovat zbyteƒn╪ n╪co, co mobilní za²ízení neumí, jen proto, ºe to vyºaduje protokol.
N╪kdy se také místo IrMC màºete setkat s oznaƒením IrDA 2.0. Pouºívá se ve sv╪t╪ mobilních telefonà, kde si ƒasto ràzné termíny upravují podle svého (nap²íklad pojem integrovaná PC karta, coº je nesmysl).
IrLAN
Maximální rychlost 4 Mb/s uº dovoluje vytvá²et sít╪ pro mén╪ nároƒné vyuºití. Specifikace IrLAN - LAN access Extension for Link Management Protocol - rozτi²uje moºnosti IrLMP tak, aby bylo moºné p²ipojit IrDA za²ízení na lokální sí£. Jde zatím o návrh, takºe koneƒná specifikace màºe nakonec vypadat trochu jinak.
Za²ízení, která podporují IrLAN, se mohou k lokální síti p²ipojovat t²emi zpàsoby:
P²es speciální adaptér se napojí p²ímo na sí£.
Vyuºijí sluºeb poƒítaƒe, kter∞ je k síti uº p²ipojen.
Spojí se mezi sebou dva poƒítaƒe s infraportem.
IrTran-P
Zatím poslední specifikace IrDA definuje zpàsob p²enosu obrazov∞ch dat. Jedná se o podobn╪ specializovan∞ protokol, jako je IrMC. Má totiº slouºit pro p²enos obrazové informace z digitálních fotoaparátà. Souƒástí definice jsou dva protokoly. Jeden slouºí pro ovládání p²enosu (Simple Command Execute Protocol - SCEP) a druh∞ pro samotn∞ p²enos binárních dat (binary File Transfer Protocol - bFTP).
Shrnutí
Je vid╪t, ºe komunikace p²es IrDA rozhraní se ujala, a dá se p²edpokládat, ºe se jeτt╪ n╪jak∞ ten rok udrºí. Je pohodlné nemuset kupovat ke kaºdému za²ízení n╪kolik kabelà a trápit se s jejich p²ipojováním pokaºdé, kdyº chceme p²enáτet data. Také je to o mnoho levn╪jτí. Jen trochu neobvykl∞ kabel totiº màºe p²ijít na n╪kolik tisíc korun. Jedinou nev∞hodou IrDA je mal∞ dosah a nutnost udrºovat p²ímou viditelnost komunikujících za²ízení.
Na IrDA se také chystá konkurence v podob╪ standardu BlueTooth, coº je p²enos dat na malé vzdálenosti pomocí rádiov∞ch vln. Zatím je v∞hoda na stran╪ IrDA. Je to uº vyzrálá technologie a její realizace je n╪kolikanásobn╪ lacin╪jτí. Na druhé stran╪ má BlueTooth vyττí p²enosovou kapacitu a dovoluje spojit n╪kolik za²ízení do malé sít╪. Bude také zajímavé sledovat, jak se projekt BlueTooth pouƒil z chyb IrDA. Podrobn╪jτí informace o technologii Blue Tooth jsme p²inesli v letoτním kv╪tnovém Chipu.