. : New eShop! - Mobilní verze - Pandatron.cz - Pandatron.sk - Diskuzní fórum - Zakázkový vývoj : .
 
Referenční návrh vysílače s PIC12LF1840
4. července 2013 - 9:06 | Pandatron | Referenční návrh vysílače s PIC12LF1840 | Komentářů: 2  

Referenční návrh vysílače s PIC12LF1840

Příklad návrhu řešení bezdrátového vysílače (dálkového ovladače) s mikrokontrolérem řady PIC12 od společnosti Microchip pro frekvenční pásmo 418, 434 nebo 868 MHz.

Společnost Microchip má v nabídce bezpochyby celou řadu zajímavých mikrokontrolérů od PIC10F až po výkonné 32-bitové procesory PIC32 a dsPIC. Jedním z menších, ale o to zajímavějších, zástupců je mikrokontrolér PIC12LF1840T48A, který se vyznačuje tím, že přímo ve svém pouzdře integruje kompletní řešení bezdrátového rádiového vysílače, určeného pro provoz v bezlicenčním ISM pásmu 418, 434 a 868 MHz. Rovněž je k dispozici plnohodnotná podpora modulace typu OOK (On/Off Keying) nebo FSK (Frequency-Shift Keying). Obvod je tedy přímo ideální pro konstrukci malých bezdrátových ovladačů, senzorových snímačů apod. Tento článek se pokusí přiblížit realizaci jednoduchého vysílače s použitím uvedeného obvodu.


Obr. 1: Vnitřní blokové schéma mikrokontroléru PIC12LF1840T48A

Hlavní požadavky
Vysílač, integrovaný do obvodu PIC12LF1840T48A, má k dispozici dva hlavní funkční režimy.

První pracovní režim, označovaný jako „Preset mode“, nabízí uživateli volbu ze dvou předdefinovaných režimů. Nastavení se provádí jednoduše pomocí nízké nebo vysoké logické úrovně na pinu CTRL. Odesílání povelů se pak řídí pomocí datového pinu DATA, který spouští modulaci a zapíná blok integrovaného vysílače.

CTRL = 1 433 MHz
OOK modulation
10 dB output power
CTRL = 0 868.3 MHz
FSK modulation
Fdev = 20 kHz
10 dB output power
Tab. 1: Preset mode nabízí dvě předdefinované konfigurace

Pokud se použije jedna z předdefinovaných konfigurací, pak již na straně vysílače není potřeba používat další I/O piny pro řízení CTRL. Konfigurace na pinu CTRL se provádí pomocí rezistoru k zemi nebo kladnému pólu napájení (pomocí odporu >20 kOhm, ale méně než 1 MOhm).


Obr. 2: Schéma vysílače s výstupním VF filtrem. Hodnoty součástek jsou platné pro 433,92 MHz a krystal postačí libovolného typu s frekvencí 26 MHz (HC-49).

Druhý pracovní režim se nazývá Pokročilý režim (Advanced mode). Tento režim je vhodný v případě, kdy uživatel potřebuje vytvořit vlastní konfiguraci, kterou nelze zajistit pomocí jednoho ze dvou přednastavených režimů. Součástí pak může být libovolné vlastní nastavení například frekvence, výstupního výkonu, časovače vypnutí, jemného doladění střední vysílací frekvence, použití modulačního schéma a další.

Jedinou podmínkou je, že i v tomto režimu musí být dostupné dvouvodičové komunikační rozhraní, které se používá k zápisu dat do konfiguračních registrů procesoru. Jejich přehled i význam je uveden v podrobné technické dokumentaci obvodu, viz odkazy na konci článku.


Obr. 3: Schéma vysílače s výstupním VF filtrem. Hodnoty součástek jsou platné pro 433,92 MHz a krystal postačí libovolného typu s frekvencí 26 MHz (HC-49).

V tomto případě je však navíc potřeba pomocí některého z volných I/O pinů ovládat pin CTRL - vstup hodinového signálu. Stejně tak datová linka se obvykle připojuje k vybranému I/O pinu mikrokontroléru, neboť vysílač je uvnitř čipu od jádra mikrokontroléru oddělený. Tím dostáváme možnost nejen přenosu dat, které chceme odeslat do přijímače, ale také touto linkou přenášíme konfigurační data (při použití ve spojení s pinem CTRL). V našem referenčním návrhu je datový pin propojen s pinem CCP1 MCU. To proto, že případná implementace KEELOQ® Security IC využívá k přenosu bezpečných datových paketů integrovanou periferii ECCP.

Zápis konfiguračního registru
Vysílač s mikrokontrolérem PIC12LF1840T48A může být pomocí software nakonfigurován tak, aby používal různé vysílací frekvence, různé modulační schémata i libovolné frekvenční odchylky (v případě FSK). Všechna tato nastavení se provádějí pomocí sériového rozhraní (pomocí hodinového signálu na pinu CTRL a pinu DATA). Vlastní konfigurace přitom vyžaduje přenos pouze 16 bitů. Tedy jednoho start bitu (logická nula), definice čtení/zápisu a 12-bitového konfiguračního slova (viz obr. 4).


Obr. 4: Zápis konfiguračního registrů

Čtení konfiguračního registru
Kromě zápisu je rovněž možné uloženou konfiguraci opět vyčíst. Čtení probíhá obdobně jako proces zápisu dat, pouze je v tomto případě bit, který určuje operaci čtení/zápis, v logické '1'. Je však třeba upozornit na to, že pro čtení je potřeba celkem 64 hodinových cyklů (viz obr. 5), není možné číst pouze 13 konfiguračních bitů. Jedná se tedy spíše o speciální funkci, vhodnou pro vývoj aplikací, která se však v běžném provozním režimu obvykle nepoužívá.


Obr. 5: Čtení konfiguračního registru

Zapnutí obvodu vysílače
Pokud není vysílač aktuálně používán (nevysílá), nachází se celý jeho blok v režimu spánku. Při použití tzv. rozšířeného provozního režimu se dále pomocí bitu Tx Mode (D12) konfiguračního slova nastavuje jeho režim.

Pokud je bit Tx Mode = 0: aktivuje se vysílač náběžnou hranou na datovém pinu. Je však nutné zajistit, aby byla na datovém pinu vysoká logická úroveň po dobu delší, než je doba náběhu vysílače (2 ms). Po tomto čase je vysílač připraven k použití a přenosu dat. Přechod zpět do režimu spánku se provádí automaticky po uplynutí doby nečinnosti, ve které je na datovém pinu nízká logická úroveň. Délka této doby se programuje pomocí bitu D3 konfiguračního registru a jsou dostupné buď 2, nebo 20 ms. V případě, kdy využíváte implementace KEELOQ®, je vhodné nastavit dobu vypnutí na 20 ms, neboť se zde obvykle pracuje s 2 ms hlavičkou, která by mohla v případě časového prodlení způsobit vypnutí vysílače.

Pokud je bit Tx Mode = 1: je vysílač po zápisu do bitu (D12) po uplynutí času pro spuštění (2 ms) trvale zapnut. Kdykoliv je tedy ihned připraven k použití a přenosu dat. Vypnutí vysílače je možné provést pouze ručně, zápisem log. 0 opět do bitu Tx Mode a uplynutím nastaveného času vypnutí (2 nebo 20 ms).

Při použití přednastaveného režimu je k dispozici pouze automatické zapínání vysílače. Datový pin musí být tedy vždy před začátkem přenosu dat držen po dobu alespoň 2 ms ve stavu vysoké úrovně a až po tomto čase je vysílač připraven k použití. Přechod zpět do režimu spánku se zde rovněž provádí automaticky a to po uplynutí doby 2 ms (při použití režimu pro 433 MHz - OOK), nebo 20 ms (při použití režimu pro 868 MHz - FSK).


Obr. 6: Příklad provedení smyčkové antény pro frekvenci 433 MHz na DPS

Nastavení vysílače
Vysílač lze nastavit již zmíněným zápisem do konfiguračního registru. Následující kód ukazuje příklad konfigurace vysílače (kód lze nalézt v souboru 12LF1840T48ASettings.h, viz odkazy na konci článku):

 #define T48_AUTO_WAKE_UP 0b0000000000000
 #define T48_FORCED_TX    0b1000000000000
 #define T48_FREQ_41800   0b0000000000000
 #define T48_FREQ_43342   0b0001000000000
 #define T48_FREQ_43392   0b0010000000000
 #define T48_FREQ_86400   0b0011000000000
 #define T48_FREQ_86830   0b0100000000000
 #define T48_FREQ_86865   0b0101000000000
 #define T48_FREQ_86895   0b0110000000000
 #define T48_FREQ_86985   0b0111000000000
 #define T48_MOD_FSK      0b0000000000000
 #define T48_MOD_OOK      0b0000100000000
 #define T48_DEV_10K      0b0000000000000
 #define T48_DEV_12K      0b0000000100000
 #define T48_DEV_20K      0b0000001000000
 #define T48_DEV_25K      0b0000001100000
 #define T48_DEV_40K      0b0000010000000
 #define T48_DEV_50K      0b0000010100000
 #define T48_DEV_80K      0b0000011000000
 #define T48_DEV_100K     0b0000011100000
 #define T48_TX_0dB       0b0000000000000
 #define T48_TX_10dB      0b0000000010000
 #define T48_TX_2mS       0b0000000000000
 #define T48_TX_20mS      0b0000000001000
 #define T48_TUNE_6PLL    0b0000000000011
 #define T48_TUNE_4PLL    0b0000000000010
 #define T48_TUNE_2PLL    0b0000000000001
 #define T48_TUNE_0PLL    0b0000000000000
 #define T48_TUNE_-2PLL   0b0000000000111
 #define T48_TUNE__4PLL   0b0000000000110
 #define T48_TUNE__6PLL   0b0000000000101
 #define T48_TUNE__8PLL   0b0000000000100

Následující funkce se pak nachází v souboru 12LF1840T48ACommands.c:

 void sendTxCommand (int cmd) {
   sendByteTxCommand((cmd & 0xFF00) >> 8);
   sendByteTxCommand((cmd & 0x00FF));
 }
 void sendByteTxCommand (unsigned char cmd) {
   char i;
   for (i=0; i<8; i++) {
     if (cmd & 0x80)
       RA2 = 1;
     else
       RA2 = 0;
     CTRL = 1;
     NOP();
     NOP();
     CTRL = 0;
     cmd = cmd << 1;
   }
 }

Konfigurace vysílače se tedy provádí voláním funkce sendTxCommand() s parametrem v podobě konfiguračního registru, viz. následující zjednodušený příklad.

 sendTxCommand (
   T48_AUTO_WAKE_UP |
   T48_FREQ_43392 |
   T48_MOD_OOK |
   T48_DEV_20K |
   T48_TX_10dB |
   T48_TX_20mS|
   T48_TUNE_0PLL
 );

Závěr
Uvedený článek měl přiblížit snadné použití mikrokontrolérů PIC12LF1840T48A s integrovaným obvodem rádiového vysílače. Vysoký stupeň integrace umožňuje vytvořit kompletní obvod bezdrátového vysílače s použitím minimálního počtu vnějších součástek a při zachování velice nízké výrobní ceny. Obvody řady PIC12LF1840 jsou kromě autorizovaných distributorů dostupné například prostřední společnosti TME a to v ceně již pouhých 17 Kč/ks! Tedy i řádově méně, něž kolik stojí obvyklé jednoduché 433/866 vysílací moduly.

Uvedené řešení vychází z aplikační poznámky AN1393 společnosti Microchip a je plně kompatibilní i se stávající bezpečnostními systémy KEELOQ.

Odkazy & Download:
Domovská stránka firmy Microchip
microchipDIRECT
Přehled distributorů

Microcontroller Transmitter Reference Design (AN1393)
Informace o obvodu PIC12LF1840T48A
PIC12LF1840T48A Product Brief
PIC12LF1840T48A Data Sheet
MPLAB® X IDE Product Overview







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

Komentáře (2):

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



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:
Vývojový kit MEGA328
Nejvýkonnější varianta univerzálního a bohatě vybaveného vývojového kitu s obvodem ATmega328 společnosti ATMEL je vhodná jak pro začátečníky, tak i profesionály.
Skladem od 795 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