Jak si udelat irda spojeni -------------------------- od doby, kdy se na hw serveru objevil muj clanek o irda ubehla uz dost dlouha doba a hodne lidi se mailem ptalo, jak si postavit irda link bud misto ocicka (ktere lze koupit za 1000-1400 korun) pro lokalni spojeni napriklad s mobilem, nebo na vetsi vzdalenost pro prenos internetu. Nejprve pripomenuti charakteristiky irda: pouziva se LED diod v infra spektru (880nm) ale nikomu nic nebrani pouzit treba 950nm pro vlastni ucely pokud ma prijimac i vysilac. Prijimacem rozumim PIN diodu (je to polovodicovy prvek, na jehoz vyvodech se diky osvetleni ovjevuje naboj, pri pulsnim osvecovani tedy pulsy ktere se musi odfiltrovat od sumu a pozadi). Vysilac (v dalsim textu) je LED dioda v infra oboru spektra. IRda specifikace ma vice casti, jedna je hardwarova (880nm, kodovani pulsni 3/16 pro <=1.15Mbps, 1/4 pozicni pro 4Mbps, vyzarovaci uhly, vykon, vzdalenost), dalsi je vrstva definujici formaty ramcu (ala HDLC), jeste vyssi vrstvy se zabyvaji protokoly pro prenos dat. CO se tyce softwaru, neni nutne si jej psat a proto ho zde nebudu uvadet. Pod windows 98 je podpora irda zaintegrovana, pod Linuxem je soucasti jadra+ musi se pouzit prikaz pro povoleni a nastaveni komunikace. Pokud hodlate pouzivat irda link jako trasparentni null-modem kabel tak neni potreba pouzivat irda protokol, staci na linku spustit ppp (prime propojeni kabelem ve win), pod Linuxem prikaz pppd. Pro ppp je ale treba provozovat linku v full duplex modu (vysilac sam sebe nerusi a muze pri vysilani i prijimat). Co je k mani ve svete ====================== Predevsim pokud chcete spojit svuj stolni pocitac s telefonem nebo notebookem pres irda, muzete si koupit tzv. ocicko, ktere ma v sobe irda transceiver (prijimac/vysilac/pripadne modulator). Vyrabeji se jak ocicka ktere se pripojuji primo na seriovy port, tak na konektor irda na motherboardu pocitace (kde je uz seriovy tok dat modulovan irda modulaci) a to bud do rychlosti 115200bps nebo az do 4 Mbps. Rychlost nad 115200bps je ovsem soucasti IrDA 1.1 coz nemusi kazda zakladni deska podporovat a napriklad Intel 440BX cipset tyto vyssi rychlosti neumi. Pro vetsinu aplikaci to vsak nevadi. Prikladem budiz ocicko(dongle) firmy Tekram(http://www.tekram.com), model IrMATE IR-210 je do rychlosti 115kbps pripojene pres seriovy port(http://www.tekram.com/Hot_Products.asp?Product=IR-210), model IrMATE IR-220 se pripojuje na konektor na motherboardu primo s irda modulaci(IR header) nebo IrMATE IR-410 coz je predstavitel fast Irda 1.1 (http://www.tekram.com/Hot_Products.asp?Product=IR-410) dokonce s vlastni kartou s modulatorem (tedy ne pro irda header na motherboardu, redukce by se jiste dala udelat). Pokud si chcete udelat linku spojujici vzduchem dva pocitace ci site na vetsi vzdalenosti (tak 10-400 metru), muzete se inspirovat u techto projektu laserovy spoj 200metru (http://www.geocities.com/SiliconValley/Lakes/7156/laser.htm) jiny laser(http://www.alphalink.com.au/~derekw/upntcvr.htm) ronja(http://atrey.karlin.mff.cuni.cz/~clock/twibright/ronja/) coz je velmi podobne tomu co jiz par let provozujeme. (Nebo si rovnou kupte SIEMENS M101 coz je transparentni null-modem kabel pres mikrovlny, 300 metru dosah na volnem prostranstvi, 50 a vice v budovach, 115kbps full duplex to cele kolem 6000 korun....) Zde jsou schematicke nacrtky moznych kombinaci irda terminalu. Prvni je prime propojeni hsdl-1000 (transceiveru) na irda konektor na motherboardu. na obrazku je nejcastejsi rozlozeni pinu a u modulu hsdl1000 nejsou nakresleny kondenzatory a odpor. Protoze nektere motherboardy (resp. jejich cipsety) invertuji signal, je obcas nutne pomoci si tak jak je nakresleno v druhem schematickem vyobrazeni - vlozenim invertoru. Kdyz uz jsou k dispozici hradla invertoru je vhodne je pouzit, protoze to snizuje ruseni a zvysuje moznou delku dratu k ocicku. Na obrazku jsou i dva odpory , ktere byly nutne pridat do jedne konfigurace ktera bez nich nefungovala, tedy pokud Vam nebude chtit zapojeni fungovat zkuste to - minimalne to zvysi odolnost proti ruseni. Na tretim nacrtku je rozvrzeni obvodu pri vlastni modulaci irda pres seriovy port - pokud nema motherboard modulaci na sobe, musi si clovek pomoci vlastnim modulatorem. Na obrazku je za krystalem 1.8432 MHz vclenen jeste delic frekvence, ten je mozny nastavit v rozmezi 1:14 (deleni) a snizit tak maximalni rychlost (ale hlavne zvysit dosah ci spolehlivost). RTS signal je spojen s CTS takze handshaking necini problemy i kdyz je nastaven jakkoli, jeste je vhodne spojit DSR/DTR/CD ale to na obrazku jiz neni. Tyto signaly je mozne pouzit i k detekci zaveseni/vypnuti komunikujiciho protejsu linky jak uvedu dale. Z duvodu prehlednosti nejsou nakresleny napajeci draty, krystal je pouze schematicky (nebo aktivni) apod. Poznamka k laserum ================== Prenos dat laserem neni nic noveho pod sluncem, ale laser ktery se da modulovat je pekne drahy, pokud je infra je jeste drazsi a pokud ma optiku a rozumny vykon je drazsi nez si koupit mikrovlnne zarizeni pro uskutecneni prenosu. Nejznamejsi ukazovatkove laser diody ktere se daji poridit za par set korun nejsou modulovatelne (mozna tak fm s nizkym zdvihem na nekolika stovkach kHz) a nejsou delane ne trvaly provoz, proto se po nekolika tisicich hodinach vysviti. Presto jeden vyse uvedeny link ukazuje na zarizeni postavene prave z laserove diody. Pro ucely prenosu dat vetsiny lidi kteri toto ctou postaci spoj na rychlosti serioveho portu na nekolik stovek metru, coz se da dosahnout s infra led diodou za 20 korun a optickou soustavou za par set (cocky s vetsim prumerem z levnych lup). Samotna opticka soustava je jednoducha, jde o vysilac (ledka) ktera je v ohnisku lupy zamerene do nekonecna, na druhem konci linky je take cocka a v jejim ohnisku je prijimac, tedy PIN fotodioda. Opticka soustava je velmi nachylna k spatnemu nasmerovani, ale velmi odolna vuci ruseni typu deste. Opticka soustava =-================ Jako vysilaci prvek pouzivam infra LED diodu HSDL-4230 ktera ma polovicni vyzarovaci uhel 15 stupnu (od osy) a vykon asi 76mW/sr coz je hodnota, ktera by Vas mela zajimat pokud se budete pidit po jeste vhodnejsi diode. Nejvhodnejsi je samozrejme dioda ktera vyzari v co nejmensim kuzelu co nejvice energie. HSDL-4230 stoji asi 22 korun, tak pokud ji pri experimentovani odprasknete nic se nedeje. Je delana na proud 100mA nebo 500mA se stridou 1:5 (irda pouziva 3/16). Pro predstavu pri napajeni 5V pred tuto LEDku predrazuji odpor 8 Ohmu, v dokumentaci pisou asi az 6 ohmu pri 5V napajeni ale jde o ten proud. Modulace LEDky =-============ je docela problem protoze spinat 0.5 amperu na 100kHz je docela rychle, problem neni v rychlosti spinani (to zvladne obycejny tranzistor) ale v rychlosti vypnuti tranzistoru, resp. odvedeni naboje z jeho baze, aby se rychle vypnul. Pri pokusech s vystupnim zesilovacim stupnem je vhodne predradit pred LED diodu vetsi odpor, aby se pri "zakysnuti" tranzistoru ledka neodpraskla. Ma to ovsem vedlejsi efekt ze se spina mensi proud takze odladovani je zkreslene.... Pro nase ucely stacilo pouzit invertor 7404 (ten pravy od tesly co utahne elektrarnu;) a spojit sest jeho hradel paralelne a vystupem prizemnovat LED diodu s odporem proti 5 voltum. Hnusne ale funguje to..... Prijimac =-==================== PIN fotodiody se daji sehnat samostatne, ale kvuli ruseni, rychlosti a snadnosti jsem vyuzil jednu cast transceiveru HSDL-1000, coz je integrovane ocicko pro vysilani s prijimacim. Pokud si delate ocicko pro komunikaci s telefonem nebo notebookem na stul, je to genialni vec vse je v jednom krytu a staci tomu 4 kondenzatory a 1 odpor. Pro ucely infra pojitka na velke vzdalenosti staci vyuzit jen prijimac ktery je v ohnisku cocky pro prijem. HSDL-1000 je CMOS obvod a nema hysterezi - je to v podstate citlivy zesilovac s filtrem. V nasem zapojeni a na osciloskopu jsem zjistil, ze pri nizke intenzite osviceni (pulsu svetla kterym na to blikate) ma tendenci zkracovat impulsy ktere prijima a pak i amplitudu na svem vystupu. Navic ma dost slaby vystup co se tyce proudu, a tak jsem primo na desce vedle nej zaradil invertor s hysterezi v ttl logice, ktery neni pri svem vystupnim proudu tak nachylny k ruseni. problemy =-=========================================== Pri konstrukci jsem narazil na vice problemu. Z tech elektrickych je to krome rychlosti spinani vysilaci LEDky jeste ruseni prijimace vysilacem ve fullduplexnim modu. Filtr na napajeni z odporu 6Ohmu a kondenzatoru doporuceny v pdfku k hsdl1000 nepomahal, pouzil jsem uzavrene feritove jaderko s dvema zavity telefonniho dratku na napajeni hsdl-1000 (proste jsem napajeni 5V protahl dvakrat kolem jadra a zavrel ferit) a uplne to na odruseni staci - poznamenavam, ze ruseni vznika pri zapnuti vysilaci LEDky - v rytmu stovek kHz, pulamperovem proudu a nabezne hrane pulsu nekolik stovek nanosekund ma hsdl-1000 tendenci zesilit zvlneni napajeciho napeti na vystup. problemy s optikou =-====================== Cele zarizeni je z elektricke stranky velice jednoduche. Nejtezsi cast spociva v uchyceni a zasynchronizovani jednotek na sebe (aby na sebe dobre blikaly v obou smerech). Prumer svetelne stopy po 200 metrech je asi 1 metr, coz je dost maly svazek a vysilaci jednotka musi byt tedy dobre nasmerovana. Bez dalekohledu to skoro nejde - pouzil jsem jednoduchy levny dalekohled s krizem za 300 korun ktery je s jednotkou spojeny, Predchozi pokusy synchronizace pomoci laseroveho parsku nebyly moc uspesne, protoze laserove diody ktere se daji koupit nevyzaruji souose se svym pouzdrem :-((( a musely by se kalibrovat zvlast aby ukazovaly rovne. Podarilo se nam vsak posvicenim do protejsi optiky a nastavenim svetelne skvrny do ohniska (optickeho prvku) alespon zhruba jednotku nastavit a co je dulzeitejsi overit ohniskovou vzdalenost cocek. Pro kratsi vzdalenosti staci pouzit mensi prumery cocek - nase mely prumer 95 mm, pro vzdalenosti do 100 metru by mely staci cocky kolem 60-65 mm mozna i mensi. Mensi cocky maji ovsem problem s kratsi ohniskovou vzdalenosti (vetsinou) a nejsou asfericke - to se u vetsich cocek tak moc neprojevi ale zalezi to na konkretnim pripade. Dalsi zradou by se mohlo stat to co se stalo nam a neslo nam dlouho prijit cim to je, pri kratke vzdalenosti nez 40 metru se v signalu objevovaly chyby a pozdeji jsme prisli na to, ze signal se v protejsi cocce odrazi zpet do vysilace a jednotka tak rusi sama sebe - jako kdyby nebyla full duplex. Z toho plyne pouceni ze pro kratke vzdalenosti nepouzivat velke cocky (;-)))) ci spise ze je treba je mirne naklonit aby nefungovaly jako odrazka. Neverite-li, zkuste si nekdy posvitit laserovym ukazovatkem celne do nejake cocky uvidit ze se cast paprsku vraci zpet - nevim jak moc tim trpi ploskovypukle cocky ale ty nase vypuklo-vypukle z obo stran symetricke s ohniskovou vzdalenosti 20 cm rozhodne ano.... Mechanicka konstrukce opticke soustavy =-==================================== Prvni modely pojitka mely pevne cocky umistene na desce, zadni stenu v rovine ohniska a laditelne optoelektricke prvky (ve 3 osach). Bylo to velmi slozite a porad se to rozladovalo. Dalsi model mel pevnou zadni stenu s vysilacem a prijimacem a posuvne cocky na celni stene pomoci sroubu. Po delsich zkusenostech mohu rici, ze nejlepsi je zmerit si parametry cocek a udelat vsechno napevno, pokud se to udela presne (tak s toleranci desetin milimetru ale i vice) tak to bude fungovat. Navrhnul jsem tisteny spoj, ktery ma hlavni funkci drzet optoelektronicke prvky v ohniscich a vedlejsi funkci hostit potrebou elektroniku ;-). Kvuli univerzalnosti ma mit tistak moznost umistit oba optoelektronicke prvky pro prijem a vysilani s ruznou rozteci, aby se dal pouzit pro mensi zarizeni (mensi cocky i jejich rozestup) i vetsi. ELektricka cast projektu =-============================= Samotny navrh tisteneho spoje je jednostranny a mel by integrovat jak modulator RS232/Irda, RS422 linku pro vzdalene propojeni tak vlastni nosnou cast (zadni stranu) opticke lavice. Modulator je s jednou RS422 casti na oddelitelne casti desky, casti ktere neni nutne pouzivat neni treba osazovat (lze pouzit napr. jen rs232->irda modulator, nebo jen irda->rs422 transceiver) a na strane opticke jednotky je mozne preklenout a nepouzivat rs422 transceiver. Na zbyle casti volneho mista desky tisteneho spoje zbyl maly prostor takze tam je realizovano ocicko pro zapojeni na stole vcetne mista pro hradlo ktere muze/nemusi invertovat signal podle potreby(ale take se hradlo vubec nemusi osazovat). Vylepseni linky =-======================== Infracerveny prenos v popsane konfiguraci ma ruzne vlastnosti. Z hlediska chybovosti, nejvice zalezi na presnem nastaveni vysilaci strany a vzdalenosti. S rostouci vzdalenosti stoupa chybovost, de se to vsak kompenzovat snizenim rychlosti - prijimac totiz uzitecny datovy signal odlisuje od ruseni pomoci energie pulzu, ktere projdou jeho filtry. Tedy dvakrat vetsi energie pulzu nebo jeho dvojnasobne trvani by mely mit zhruba stejny ucinek - PIN fotodioda v prijimaci funguje tak ze prichozi svetelny puls "vyrazi" naboj ktery pak prichazi do filtru. Proto je v navrhu modulatoru rs232/irda za krystalem (ci zdrojem taktu 1.8432MHz) zapojen jeste delic frekvence realizovany pomoci citace 74193. Pri jeho delicim pomeru 1:12 a rychlosti serioveho portu 9600bps je mozne teoreticky dosahnout vzdalenosti spoje 3.5 krat vetsi nez s rychlosti 115200 bps (1:1). je to dano tim ze energie svetla klesa v druhou mocninou vzdalenosti. Delic hodin predrazeny pred irda modulator omezuje maximalni moznou prenosovou rychlost. Pokud je delic na 1:1 neznamena to ovsem, ze nelze pouzit nizsi rychlosti.... Delic se da tez pouzit pro vydeleni frekvence nejakeho krystalu na pozadovanych 1.8432 MHz, bud tedy 24MHz deleno 13 nebo 18.432 deleno 10. linky hsdl-1000 http://www.semiconductor.agilent.com/ir/hsdl1001.html http://ftp.agilent.com/pub/semiconductor/ir/hsdl1001.pdf hsdl-7000 http://www.semiconductor.agilent.com/ir/hsdl7000.html http://ftp.agilent.com/pub/semiconductor/ir/hsdl7000.pdf hsdl-42x0 http://www.semiconductor.agilent.com/ir/hsdl4200.html http://ftp.agilent.com/pub/semiconductor/ir/hsdl4200.pdf MAX232 http://dbserv.maxim-ic.com/quick_view2.cfm?pdf_num=1798 http://pdfserv.maxim-ic.com/arpdf/1798.pdf