Kaip buvo anksčiau jau minėta, IR nuotolinio valdymo protokolų yra labai daug, jų priskaičiuojama keli tūkstančiai, natūralu, kad aprašyti jų visų šiame skyrelyje negalim, todėl pamėginkime išskirti protokolų būdingąsias savybes, pagal jas aptarti protokolų pavyzdžius.
Kiekvienas IR valdymo protokolas turi tam tikrą „informacijos“ kiekį, bitų skaičių, kurį perneša tam tikra aplinka, oru, impulsais moduliuotu signalu, kuris turi savo moduliacijos charakteristikas, nešlio dažnį ir impulsinės manipuliacijos rūšį. Aptarkime Sony SIRC protokolo savybes [1].
- Šis protokolas gali būti 12, 15 ir 20 bitų ilgio (aptarsime 12 bitų ilgio protokolą);
- 5 bitai skirti adresui (įrenginiui nustatyti) 7 bitai komandai;
- Impulsų pločio moduliacijos tipas (angl, Pulse width modulation)
- Nešlio dažnis 40 kHz
- Bito trukmė 1,8 ms arba 1,2 ms
Kaip matyti iš 1 paveikslo, loginio vieneto trukmė sudaro 1,8 ms, o loginio nulio trukmė – 1,2 ms.
1 pav. Sony SIRC protokolo a) impulsų loginių lygiai b) 12 bitų impulsų seka
Tokį signalą invertavus labai patogu dekoduoti ir loginiams lygiams priskirti tik užtušuotą „zoną“. Todėl bito trukme laikoma 1,2 ms kai „1“ ir 0,6 ms kai „0“. Visas signalas atrodytų kaip 2 pav. b starto bitas yra 3 ms trukmės. Žemiausios skilties bitas LSB (angl. Low significant bit), aukščiausios skilties bitas MSB (angl. Most significant bit). Signalų pasikartojimo intervalas iki 45 ms, priklauso nuo to, koks nuotolinio valdymo mygtuko kodas.
Kadangi komandai skiriamų bitų skaičius yra 7, tai viso galimų komandų 27= 128, galimų įrenginių adresų skaičius 25 =64. Taigi, šiuo protokolu galima valdyti 64 skirtingus įrenginius, kurių kiekvienas gali turėti 128 komandas. Iš viso galimų kodų yra 64 • 128 = 8192. Keletas įrenginių ir komandų funkcijų pateikta 1 lentelėje.
1 lentelė. Įrenginių adresų ir komandų funkcijų pavyzdžiai.
Adresas | Įrenginys | Komanda | Funkcija | Komanda | Funkcija |
---|---|---|---|---|---|
1 | TV | 0 | Mygtukas 1 | 7 | Mygtukas 8 |
2 | VCR 1 | 1 | Mygtukas 2 | 8 | Mygtukas 9 |
3 | VCR 2 | 2 | Mygtukas 3 | 9 | Mygtukas 0 |
12 | Erdv.garso sistema | 3 | Mygtukas 4 | 16 | Myg. Kanalas + |
16 | Kasečių leist./imtuvas | 4 | Mygtukas 5 | 17 | Myg. Kanalas - |
17 | CD leistuvas | 5 | Mygtukas 6 | 18 | Myg. Garsas + |
18 | Ekvalaizeris | 6 | Mygtukas 7 | 19 | Myg. Garsas - |
Kitas panašus į Sony SIRC protokola būtų JVC [2] nuotolinio valdymo protokolas. Jis panaudotas nuotolinio valdymo pulte PTU94023B.
- 16 bitų protokolas
- 8 bitai įrenginių adresų ir 8 bitai komandų
- Nešlio dažnis 38 kHz
- Bito trukmė 1,05 arba 2,1 ms
- Atstumu tarp impulsų moduliuotas signalas
2 pav. „JVC“ protokolo pavyzdys a) impulsų loginiai lygiai b) 16 bitų seka ir stato bitas
Šis manipuliacijos būdas yra labai paprastas, kaip ir anksčiau aptartas. Esant loginiam vienetui, atstumai tarp impulsų yra didesni, esant loginiam nuliui – mažesni. Visa impulsų seka atrodytų taip, kaip parodyta 2 paveiksle.
Kaip matyti, starto bito trukmė 12,6 ms. Laikant nuspaustą pulto mygtuką impulsai pasikartoja kas 50 – 60 ms. Iš viso galimų kodų 28 • 28 = 216 = 65536.
NEC protokolas [3] yra tokios pačios moduliacijos tipo kaip ir anksčiau aptartas JVC, tačiau skiriasi savo ilgiu. Aptarkime šį protokolo pavyzdį.
- 8 bitų adresas, 8 bitų komanda
- Adresai ir komandos perduodami du kartus (siekiant išvengti klaidų)
- Atstumu tarp impulsų moduliuotas
- Nešlio dažnis 38 kHz
- Bito trukmė 1,12 ms arba 2,25 ms
3 pav. „NEC“ protokolo pavyzdys a) impulsų loginiai lygiai b) 32 bitų seka ir starto bitas
Kaip matyt iš 3 paveikslo, šiame protokole papildomai panaudoti invertuoti adresų bei komandų bitai. Tai padaryta, kad apsisaugoti nuo galimų klaidų priimant signalą. Galimų kodų skaičius toks pats kaip ir aptarto JVC protokolo. Laikant nuspaustą pulto mygtuką impulsai pasikartoja kas 110 ms, vidutiniškai du kartus ilgiau, nei JVC protokolo atveju.
Sharp protokole [4] panaudotas tas pats moduliacijos tipas kaip JVC ir NEC, tačiau skiriasi savo adresų bitų skaičiumi, jų yra 5, bei savo kontroliniais bitais Exp ir Chk (angl. Chek - tikrinti) , kurie panaudoti signalo pabaigoje, vietoj starto bito pradžioje (4 pav.).
4 pav. „Sharp“ protokolo pavyzdys impulsų seka
Be to impulsų seka yra perduodama du kartus 40 ms intervalu. Perduodant antrą kartą, impulsų seka invertuojama.
Aptarkime vieną labiausiai paplitusių protokolų Philips RC 5 [5]:
- 5 adresų bitai, 6 komandų bitai
- Binarinė fazinė manipuliacija (kaip Manchesterio kode)
- Nešlio dažnis 36 kHz
- Bito trukmė pastovi 1,778 ms
Kaip matyti iš 5 paveikslo a), bito trukmė yra pastovi, keičiasi tik aukšto lygio padėtis laike. Loginis „0“, kai lygis aukštas pirmoje bito trukmės pusėje; loginis „1“ – antroje bito trukmės pusėje. Toks manipuliacijos tipas dar vadinamas „Manchesterio“ kodu.
5 pav. RC5 protokolo pavyzdys: a) impulsų loginių lygiai b) 14 bitų seka ir starto bitas
RC5 protokolo impulsų seka prasideda starto bitais, S1 ir S2. Šie bitai tokios pat trukmės kaip ir kiti. S2 bitas gali būti panaudojamas kaip dar vienas komandos bitas RC5X protokole, tokiu atveju komodinių bitų gali būti ne šeši, o septyni. Trečias bitas „T“ (angl. toggle – perjungiklis) persijungia visada kai nuotolinio valdymo mygtukas atleidžiamas ir vėl paspaudžiamas. Šis protokolas skiriasi nuo anksčiau aptartų savo vyriausio (MSB) ir žemiausio (LSB) bito padėtimi, pirmiausiai yra priimamas vyriausias bitas, o paskutinis priimamas žemiausias bitas.
Impulsai pasikartoja kas 114 ms (protokolo pradžios atžvilgiu). Bitas „perjungiklis“ lieka pastovaus loginio lygio kai pulto mygtukas spaudžiamas neatleidžiant.
Skirtingų adresų skaičius 25=32, komandų skaičius 26=64 ( arba RC5X 27 =128) viso skirtingų komandų 2048 (arba RC5X 4096).
Kaip matyti, aptartas protokolas turi gan nemažai savų ypatumų: neįprastas starto bitas, perjungiklis „T“ ir pats moduliacijos būdas. Šis protokolas yra RC6 protokolo pirmtakas, kurį toliau aptarsime.
„Philips RC6“ protokolo [6] pagrindiniai parametrai ir paskirtis:
- Skirtingi darbo režimai, priklausomai nuo paskirties
- Skirtas „Philips“ ir originalių gaminių įrenginių nustatymams
- Skirtingas komandų ilgis, priklausomai nuo nustatymo
- Binarinė fazinė manipuliacija (kaip Manchesterio)
- Nešlio dažnis 36 kHz
Minimali impulso trukmė t šiame protokole yra apskaičiuojama 1•16/(36•103)= 444μs, kiti impulsai yra kartotiniai minimalios impulso trukmės.
Pirmas impulsas, kurio trukmė yra 6t (2,666ms), o nulio lygis 2t (0,889ms), yra skirtas IR imtuvo nustatymui (6 pav. a) . Informacijos ir kontrolės bitų trukmės yra pastovios keičiasi tik aukšto lygio padėtis laike, loginis „1“, kai lygis aukštas pirmoje bito trukmės pusėje loginis „0“ antroje bito trukmės pusėje (6 pav. b). Kaip matyt, šis protokolas yra atvirkščias RC5 protokolo moduliacijos būdui.
Pabaigos bitų trukmės dvigubai ilgesnės nei paprastų bitų impulsų trukmės 2t (0,889ms). Nulio trukmė irgi 2t (6 pav. c).
Pirmasis simbolis ir pabaigos bitas yra panaudoti tik antgalvyje, kuris yra naudojamas šiame protokole.
6 pav. RC6 protokolo elementarių bitų pavyzdžiai a) pirmo impulso loginiai lygiai; b) informacijos ir kontrolės bitų loginiai lygiai; c)pabaigos bitų loginiai lygiai
Antgalvis nustato protokolo dydi, režimą. Aptarkime vieną darbo režimą 0 – (angl. mode0) .
LS SB | mb2...mb0 | TR | a7 .............a0 | c7...............c0 | Laisvo laiko signalas |
Antgalvis | Valdymas | Informacija |
Antgalvis susideda iš 3 skirtingų dalių:
- Pirmasis simbolis LS (angl. Leader symbol). Šis simbolis eina pirmasis. Jo tikslas nustatyti IR imtuvo priėmimą. SB starto bitas eina po LS bito. Šis bitas yra visada loginis „1“, kuris sinchronizuoja imtuvą.
- mb2... mb0 skiltys nustato darbo režimą: jei rėžimas 0, kaip aptariamu atveju, tai visi skilčių bitai lygus nuliui.
- Pabaigos bitas TR (angl. trailer – pabaigos žymė), kaip buvo minėta, yra du kartus ilgesnis nei paprastas bitas. Šis bitas yra kaip perjungimo (angl, toggle) bitas, kuris pakeičia loginį lygį kiekvieną karta paspaudus nuotolinio valdymo mygtuką.
Valdymo laukas yra 8–ių bitų ilgio. Jo paskirtis adresuoti įrenginius. Iš viso nulinis rėžimas (mode0) gali turėti 256 skirtingus adresus (28).
Informacijos laukas yra 8–nių bitų ilgio, naudojamas kaip komandos baitas, iš viso komandų gali būti 256. Tokiu būdu galima valdyti 256 įrenginius, kurių kiekvienas gali turėti 256 komandas.
Laisvo laiko signalas (angl. signal free time) – tai signalas, kurio metu imtuvas nustato viso paketo pabaigą. Šis laukas svarbus atskiriant signalo pradžią ir pabaigą. Šio „laisvo laiko“ trukmė – 2,666 ms.
Taigi, įsitikinome protokolų gausa, jų panašumais ir skirtumais. Pastarasis RC6 protokolas yra daug sudėtingesnis. Jis gali būti pritaikytas kitokiems duomenim persiųsti, nes turi paskirtį nusakantį antgalvį, kuris parengia imtuvą įvairaus formato duomenims priimti.
Skirtumus ir panašumus galime pailiustruoti 2 lentele.
2 lentelė. Protokolų savybių palyginimas
Protokolo tipas/ Protokolo sąvybės | Sony SIRC | JVC | NEC | Sharp | Philips RC 5 | Philips RC 6 |
---|---|---|---|---|---|---|
Inf. bitų skaičius (savaime nusistatantis) | 12 | 16 | 16 | 13 | 11 | sn |
Adresų bitų skaičius | 5 | 8 | 8 | 5 | 5 | 8 |
Komandų bitų skaičius | 7 | 8 | 8 | 8 | 6 | 8 |
Bito trukmė kai loginis „0“ (ms) | 1,20 | 1,05 | 1,12 | 1 | 1,778 | 0,888 |
Bito trukmė kai loginis „1“ (ms) | 1,80 | 2,10 | 2,25 | 2 | 1,778 | 0,888 |
Starto bito trukmė (ms) | 3 | 12,60 | 13,5 | – | 1,778 | 0,888 |
Apsaugos bitai nuo klaidų** | nėra | nėra | yra | yra | yra | yra |
Specifiniai funkciniai bitai*** | nėra | nėra | nėra | nėra | nėra | yra |
Impulsų serijos pasikartojimo periodas (ms) | 45* | 50–60* | 110 | 40* | 114 | 2,666 |
Manipuliacijos tipas | ||||||
Impulso pločio | + | – | – | – | – | – |
Atstumo tarp impulsų | – | + | + | + | – | – |
Binarinė fazinė | – | – | – | – | + | + |
Nešlio dažnis (kHz) | 40 | 38 | 38 | 38 | 36 | 36 |
* Nurodyti atstumai tarp impulsų serijų.
** Apsaugos nuo klaidų bitai tai invertuoti informaciniai bitai, papildomas bitas gale, ar kitokia apsauginė realizacija.
*** Tai RC6 protokolui būdinga savybė, kuria šis protokolas nusako informacinių bitų trukmės ilgį ir kitus protokolo parametrus.
Literatūra
- Sony SIRC protokolo aprašymas http://www.sbprojects.com/knowledge/ir/sirc.htm
- JVC protokolo aprašymas http://www.sbprojects.com/knowledge/ir/jvc.htm
- NEC protokolo aprašymas http://www.sbprojects.com/knowledge/ir/nec.htm
- Sharp protokolo aprašymas http://www.sbprojects.com/knowledge/ir/sharp.htm
- RC-5 protokolo aprašymas http://www.sbprojects.com/knowledge/ir/rc5.htm
- RC-6 protokolo aprašymas http://www.sbprojects.com/knowledge/ir/rc6.htm