Implementácia protokolu RC5 na platforme procesora Cypress
![]() |
Trenčianska Univerzita Alexandra Dubčeka v Trenčíne
Fakulta Mechatroniky |
![]() |
Autor: | Július Jančo |
Pedagogický vedúci: | RNDr Peter Fabo PhD. |
Študijný odbor: | Mechatronika |
Akademický rok |
2009/2010
|
1. | Protokol RC-5 |
2. | Návrh hardvérovej časti dekodéra RC5-BIN |
3. | Implementácia dekodéra RC5-BIN v mikroprocesore Cypress
|
Abstrakt
Práca sa zaoberá návrhom a realizáciou softvérovej a hardvérovej časti implementácie protokolu RC-5 na platforme procesora Cypress. V prvej časti je opísaný protokol RC-5, jeho vlastnosti, opis a možnosti dekódovania signálu. Ďalšia časť práce popisuje všetky hardvérové časti, ktoré boli priamo využité pri implementácii. Opisuje novú generáciu procesorov PSoC od spoločnosti Cypress, jednotlivé bloky a časti procesora, ktoré boli pri práci využité. Taktiež sú opísané ďalšie hardvérové súčasti ako prijímač infračerveného signálu či komunikačné rozhranie RS232. V ďalšej časti sa práca zaoberá návrhom algoritmu na dekódovanie signálu, vývojom programu pre dekódovanie signálu v programovacom jazyku assembler. Vyvinutý zdrojový kód je dobre opísaný a nadväzuje na každý krok skôr navrhovaného dekódovacieho algoritmu. |
Abstract
The work deals with the design and implementation of software and hardware implementation of the Protocol on the RC-5 platform of Cypress Processor. The first part describes the RC-5 protocol, its characteristics and describes possible signal decoding. The next section describes all the hardware parts that were used for implementation. It describes the new generation of PSoC processors from Cypress, individual blocks and the parts of processor which were used at work. It also describes other hardware components such as an infrared signal receiver or RS232 communication interface. The next part deals with design algorithm to decode the signal, the development program to decode the signal in the assembler programming language. Developed source code is well described, and each step builds on the earlier proposed decoding algorithm. |
Úvod
V súčasnej dobe si už nedokážeme predstaviť život bez rôznych spotrebičov, zariadení či mechanizmov. Uľahčujú nám život, vykonávajú rôzne špecifické funkcie, na ktoré by sme inak museli vynaložiť veľa úsilia. Vyvstáva však potreba tieto zariadenia ovládať, zapínať, vypínať, prepínať na inú funkciu. Prvými riešeniami bolo ovládanie priamo na spotrebiči ako je napríklad televízor či rádio. Na zariadení respektíve spotrebiči bol panel s tlačidlami, ktoré mali rozličnú funkciu. Nevýhodou však očividne bolo nepohodlie, keď pri každej želanej zmene programu alebo hlasitosti musela dotyčná osoba ísť k televízoru či rádiu a prepnúť ho. Prvými takzvanými diaľkovými ovládaniami boli ovládače, ktoré mali niekoľko základných funkcií a viedol k nim viacžilový kábel z televízora. Iste, na tú dobu možno pokrokové riešenie avšak veľmi nepraktické pri predstave použitia na viacero zariadení. V 80.tych rokoch minulého storočia prišli prvé diaľkové ovládače, ktoré realizovali prenos signálu už nie tzv. „po drôte“ ale prostredníctvom infračerveného svetla. V tom momente už sa dalo hovoriť a praktickom diaľkovom ovládaní a rozširovali sa možnosti jeho využitia. Infračervené svetlo, ktoré diaľkové ovládanie vysielalo však bolo potrebné istým spôsobom modulovať aby sa doňho dala zakódovať funkcia, ktorú si užívateľ vybral stlačením príslušného tlačidla na diaľkovom ovládači. V prvých rokoch sa snažilo mnoho firiem a spoločností vytvoriť svoj vlastný mechanizmus kódovania signálu, avšak neskôr prišla myšlienka zjednocovania. Náhodou sa takýmto všeobecne uznávaným zjednotením stal protokol RC-80 od spoločnosti Philips. Kódovanie podľa tohto protokolu však nebolo spoľahlivé a preto firma vyvinula protokol RC-5, ktorý disponoval vysokou mierou možností využitia a aj spoľahlivosti. I napriek tomu, že firma Philips vydala len jednu publikáciu o tomto protokole a dá sa povedať, že sa dlho snažila uchovať čo najviac pre seba, ostatní výrobcovia kód dekódovali a protokol popísali. Touto etapou sa otvorili dvere výrobcom spotrebičov najrozličnejších funkcií. Už nemusíme hovoriť len o televízoroch čí rádiách. Množstvo zmysluplných využití môžeme napríklad nájsť aj v obyčajnej domácnosti. To môže predstavovať ovládanie intenzity svetla, ovládanie roliet či žalúzií, ovládanie strešných okien, ku ktorým býva problematický prístup. Našou úlohou bolo tento protokol pomocou technologickej novinky od spoločnosti Cypress nazvanou PSoC (programovateľný systém na čipe) dekódovať a implementovať program, ktorý bude schopný pracovať s týmto protokolom. Tým by sa naskytli nové možnosti použitia diaľkového ovládania či už v domácnosti alebo v akomkoľvek inom prostredí.
Protokol RC 5
Prenos signálu pomocou infračerveného svetla je jedným z najpoužívanejších v spotrebnej elektronike. Typickým príkladom je diaľkové ovládanie televízora, rádia a pod. Povely, ktoré vysiela diaľkový ovládač sú vysielané LED diódou s infračerveným žiarením. Toto žiarenie sprostredkuje informáciu logickej nuly – v prípade ak LED dióda nesvieti a opačne, logickej jednotky – v prípade ak svieti. Vysielaný signál musel byť modulovaný podľa istého predpisu resp. istým spôsobom – protokolom. Koncom 80.-tych rokov 20. storočia, sa protokoly RC-80 a RC-5 spoločnosti Philips, náhodne stali medzinárodnými štandardmi. Nakoľko však protokol RC-80 nebol spoľahlivý, rýchlo ho nahradil v 90.tych rokoch protokol RC-5. Protokol sa veľmi rýchlo šíril a s istými obmenami sa využíval vo veľkej väčšine Európy a Spojených štátoch amerických. Naproti tomu, však bol v Japonsku rozšírený protokol NEC. Protokol RC-5 bol vyvinutý firmou Philips, konkrétne profesorom Ronaldom Rivestom. Bol navrhnutý pre diaľkové ovládanie prístrojov spotrebnej elektroniky. Je jedným z najpoužívanejších protokolov vďaka jeho dostupnosti a cenovej výhodnosti diaľkových ovládačov[1]
Opis protokolu
Prenos signálu je realizovaný infračerveným svetlom, ktoré je nositeľom informácie a je vysielané diaľkovým ovládačom. Nosná frekvencia je 36 kHz. Jeden impulz má dĺžku 27,8 µs. Z tejto dĺžky LED dióda svieti 25 až 33 %, čo je približne 6,944 µs. Zostatok LED dióda nesvieti. Impulz je znázornený na Obr.1.1 V protokole reprezentuje dávku 32 impulzov nosnej frekvencie a medzeru čas, zodpovedajúci 32 impulzom nosnej frekvencie. V tom prípade má dávka(pozn. z angl „burst“) alebo pauza podľa vzťahu 1.1 trvanie:
[math]\frac{n_i}{T_i}=\frac{n_i}{\frac{1}{f_n}}=T_d [/math]
kde, ni - je počet impulzov, Ti - perióda jedného impulzu, fn -nosná frekvencia a Td - perióda jednej dávky.