. : New eShop! - Mobilní verze - Pandatron.cz - Pandatron.sk - Diskuzní fórum - Zakázkový vývoj : .
 
IR dekodér/kodér, komunikace
21. listopadu 2010 - 7:36 | Bc. Miroslav Skopal | IR dekodér/kodér, komunikace | Komentářů: 2  

IR dekodér/kodér, komunikace

Původní požadavek zadání tohoto projektu bylo realizovat aplikaci pro mikrokontroler na platformě AVR například ATMega16 dle zapojení z aplikační poznámky of firmy Atmel AVR410. Toto zapojení, ale využívá obvod SFH 506-36, který je hardwarově přizpůsobený pro příjem pouze protokolu RC5 (36kHz).

Uvedené omezení pouze na protokol od firmy Philips RC-5 jsem ale vyhodnotil jako velký nedostatek, a tak jsem se rozhodl vytvořit vlastní zapojení s obvodem TFDU4100. Jedná se obvod navržený pro IrDA komunikaci a v jednom pouzdru tedy je obsažen jak pijímač tak i vysílač infračerveného záření(IR transceiver).

Realizace:
Jak již bylo nastíněno v úvodu je celý modul IR přijímače/vysílače postaven na obvodu od firmy Vishay Telefunken TFDU4100. Tento obvod je primárně navržen jako fyzická vrstva IrDA protokolu verze 1.2. Tedy umožňuje přenášet data až do rychlosti definované standardem SIR (115.2kbit/s). Schopnost obvodu TFDU4100 zpracovávat signály s rychlosti 115.2kbit/s proto také umožňuje zachytit i mnohem pomalejší signály protokolů používaných v domáctnostech v IR dálkových ovladačích.

IR Transceiver modul (TFDU4100):
Zapojení tohoto modulu vychází z doporučeného zapojení z datasheetu součástky TFD4100. Jedná se pouze malou desku plošného spoje s povrchovou montáží SMD ve velikost 1206. Deska obsahuje pouze 2 rezistory 6k8 zapojené v sérii jako proudové omezení vysílací IR diody, jeden rezistor 47R, jeden rezistor 0R jako konstrukční můstek a tantalový kondenzátor 4.7uF pro vykrytí proudových špiček při vysílání. K tantalovému kondenzátoru je paralelně připojen ještě blokovací kapacitor 100nF. Samotný IR transceiver je v plastovém pouzdře s 8 vývody(viz obrázek č.1). Pro snadné připojení k mikroprocesoru jsem na desku přidělal 5 pinovou lištu, na kterou jsou vyvedeny všechny potřebné pinu. (viz obrázek č.2)


Obr. 1: IR Transceiver TFDU4100

Podrobnější informace o této součastce najdete zde.


Obr. 2: Schéma zapojení


Obr. 3: Deska plošného spoje


Obr. 4: Deska plošného spoje

Seznam součástek:

  • R1, R3...6R8 0.125W SMD1206
  • R2...47R 0.125W SMD1206
  • R4...0R 0.125W SMD1206
  • C1...4.7uF tantalový B
  • C2...100nF keramický 1206

Popis pinové lišty pro připojení modulu:

  • 1. GND - zem
  • 2. SC - řídící pin citlivosti přijímače (doporučeno připojit na zem)
  • 3. RXD - pin pro příjem 1=klidový stav, 0=detekován impuls (min 8us)
  • 4. TXD - pin pro vysílání 1=svítí, 0=nesvítí
  • 5. +5V - napájení 5V impulsní odběr až 500mA

Schéma a návrh plošné desky jsou ke stažení zde:
Soubory Eagle: [sch] [brd]
Deska plošných spojů: [ps] [pdf]

Protokol Philips RC-5:
Pro demonstraci funkčnosti vytvořeného IR modulu jsem si vybral asi jeden z nejrozšířenějších protokolů RC-5. Jedná se o protokol vyvinutý firmou Philips právě pro domácí elektroniku. Protokol je definován jako 14 bitový paket s rychlostí cca 563 bit/s. Protokol používá bi-fázové kódování (Manchester coding). Komunikace je zahájena dvěma start bity s hodnotou "1". 3. vysílaný bit je toggle bit, 4 až 8 bit je adresa zařízení a nakonec 9 až 14 bit pak určuje příkaz. Jednotlivé bity jsou pak vysílány jako série impulsů o frekvenci 36kHz, a v závislosti jestli je bit uvozen pauzou 889us nebo ne se rozhoduje o logickém významu bitu. Trvání impulsů o frekvenci 36 kHz po dobu 889us pak tedy odpovídá zhruba 32 impulsům s periodou 27.77us. Jestliže před vysláním těchto 32 pulsů byla detekována mezera u délce 889us jedná se o logickou 1. V případě že byly přijaty nejprve tyto pulsy a pak následné pauza 889us jedná se logickou 0. Na následujícím obrázku je vyznačeno uspořádání impulsů a mezery vzhledem k logickému významu bitu.


Obr. 5: RC-5 logická "1" a "0"

Struktura RC-5 paketu:
Z obrázku č.6 je patrné jak jsou jednotlivé bity vysílány. Snad jen pro úplnost popíši význam jednotlivých bitů:

  • 1-2 bit: dva start bity uvozující RC-5 paket musí být vždy "1"
  • 3 bit: toggle bit, je invertován pokaždé, když se uvolní tlačítko na dálkovém ovladači. Používá se pro detekování drženého tlačítka ovladače
  • 4-8 bit: 5 bitové adresy zařízení (TV, VIDEO, RADIO, atd..), jsou vysílání od nejvýznamnějšího bitu (MSB)
  • 9-14 bit: 6 bitový příkaz (zeslabit, vypnout, přepnout, atd..), jsou vysílány od nejvýznamnějšího bitu (MSB)


Obr. 6: Struktura RC-5 paketu

Podrobnější popis v anglickém jazyce protokolu RC-5 a jiných můžete naleznout na stránkách SB-Project.

Obslužný software MIRA - Multiple Infra Red Application:
Při vytváření obslužného software jsem si kladl za hlavní požadavek transparentnost využití IR modulu vůči libovolnému komunikačnímu protokolu. V praxi tato vlastnost znamená, že řídící software MIRA může automaticky detekovat různé komunikační protokoly(samozřejmě pouze ty které má implementovány). Detekce a rozpoznání jednotlivých komunikačních protokolů probíhá paralelně v rámci přerušení od čítače/časovače 1 v režimu INPUT CAPTURE. Přerušení je nastaveno tak, aby reagovalo na sestupnou hranu na pinu ICP1/PD6, a měří dobu v mikrosekundách mezi jednotlivými IR impulzi. Na sestupnou hranu právě proto, že obvod TFDU4100 generuje při detekci začátku IR impulsu krátký cca 8us impuls z klidové úrovně 1 do úrovně 0. Pro větší názornost přikládám obrazovku osciloskopu, kde horní signál prezentuje vysílání IR diody a dolní signál pak výstupní signál na pinu RXD z obvodu TFDU4100.


Obr. 7: Průběh při přijímání IR signálu

Samotná detekce a dekódování paketu RC-5 protokolu je řešena v jediné funkci s jedním vstupním parametrem us, který právě udává dobu mezi jednotlivými pulsy mikrosekundách. Prototyp funkce je tedy následující.

   void RC5(unsigned short int us)

Funkce pak pracuje jako stavový automat, který postupně dekóduje celý RC-5 paket. Výsledný paket je pak oznámen zavoláním stanového funkce ve tvaru

   void PrijatRC5(char Toogle, ,char Address, char Command)

Pro implementaci jiného protokolu je tedy nezbytně nutné aby detekující rutina obsahovala svou detekční funkci v tomto tvaru.

MIRA - Nastavení:
Pro možnost jednoduché konfigurace celého systému MIRA jsou všechny důležité parametry systému jako je popis zapojení pinů k mikrokontroleru nebo určení ,které protokoly se mají v signálu detekovat, sdruženy do jediného hlavičkového souboru MIRA.h
Tento soubor je dostatečně okomentován a možné nastavení je v něm naznačeno, proto zde není nutné konfiguraci podrobně rozepisovat.

Závěr:
IR modul s implementací protokolu RC-5 byl vyzkoušen na mikrokotroleru ATMega16 s taktem 8MHz a 16MHz. Testování probíhalo automatickým odesláním RC-5 paketů pro všechny možné adresy a všechny možné příkazy. Všechny takto odeslané pakety byly v pořádku detekovány a správně dekódovány. Další test probíhal příjímáním RC-5 paketů z dálkového ovladače od televizoru Sencor. Přijímač opět detekovat a rozkódoval všechny odeslané příkazy. Poslední zkouška funkčnosti proběhla odesláním příkazů na televizi Sencor, která jsem získal čtením příkázu v předchozím testu. I poslední test proběhl v pořádku.
Upozornění: V průběhu ladění a testování jsem si všimnul jednoho nedostatku konstrukce a to, že při trvalém svícení IR diodou se výrazně zahřívají rezistory R1 a R3, přes které při konstantním svícení teče proud až 500mA. Aby se zamezilo trvalému svícení IR diody je ve funkci MIRA_Init() obsažen příkaz pro její zhasnutí. Nevýhodou je fakt, že mikrokontroler v režimu programování přepíná všechny I/O piny do stavu vysoké impedance a tento stav je na pinu TXD, obvodu TFDU4100, vyhodnocen jako logická 1, tedy IR diody trvale svítí při programování mikrokotroleru. Tuto vlastnost by bylo možné vyřešit přidáním odporu cca 1000R mezi zem a pin TXD.


Obr. 8: Fotografie hotového modulu


Obr. 9: Fotografie testovacího zapojení

Zdrojové kódy systému MIRA jsou ke stažení zde.

Autor:
Bc. Miroslav Skopal - UREL, FEEC, VUT Brno

Literatura:
[1] MATOUŠEK, D. Práce s mikrokontroléry Atmel AVR. Praha: BEN - technická literatura, 2003.
[2] MANN, B. C pro mikrokontroléry. Praha: BEN - technická literatura, 2003.
[3] BERGMANS, S Philips RC-5 Protocol . Nizozemsko, 2008. http://www.sbprojects.com/knowledge/ir/rc5.htm
[4] ATMEL Datasheet ATMega16 . USA, 2008. www.atmel.com/dyn/resources/prod_documents/doc2466.pdf







GooglePlus1 FaceBook Twitter del.icio.us DiGG Google StumbleUpon Google Buzz Email RSS PDF Tisk

Komentáře (2):

Zobrazit starší 30 dnů (2)...

host
2. Dne 21. 11. 2010 v 22:26 zaslal host
Bez titulku
Proč znovu objevovat emeriku? roll

http://www.mikrocontroller.net/articles/IRMP


Název příspěvku: Vaše jméno: host
                 
  Zakázat formátování [Zakáže kódování a nahrazování smajlíky.]
Připojit soubory
reklama:
PGSM-M10: GSM/GPRS modul s M10
Čtyřpásmový GSM/GPRS modul s M10 firmy QUECTEL a podporou SMS, MMS, GPRS Class 12, TCP/IP, FTP a dalších.
Skladem od 690 Kč

Informace uvedené v článcích jsou platné v době jejich vydání a samotné články jsou určeny pouze jako zdroj informací. Autor článku ani správce webu nenesou žádnou zodpovědnost za případné újmy na majetku a zdraví. Názvy společností a výrobků, loga a další multimediální materiál mohou být ochrannými známkami příslušných společností.
RSS kanály: | |
+420 723 846 377
info@pandatron.cz
Všechna práva vyhrazena | mobilní verze | © Copyright 2000 - 2016 ISSN 1803-6007