Choď na obsah Choď na menu
 

Komunikační moduly RFM12B

 

http://pandatron.cz/?1536&komunikacni_moduly_rfm12b

 

 

Komunikační moduly RFM12B

Základní představení bezdrátových komunikačních modulů RFM12B/868D, způsob jejich řízení i praktické zkušenosti s jejich využitím.

Komunikační moduly RFM12B představují dostupnou a snadnou možnost realizace bezdrátové komunikace. Tyto transceivery od firmy HOPE MICROELEKTRONICS jsou k nám dodávány ve dvou verzích z hlediska komunikační frekvence. Konkrétně jde o 433 MHz a 868 MHz. Obě frekvence spadají do bezlicenčního ISM pásma a vyhovují předpisům FCC (Federal Communications Commission) a ETSI (European Telecommunications Standards Institute). Moduly jsou vhodné pro dálkové řízení, přenos dat ze senzorů, zabezpečovací systémy aj.

Jádrem transceiveru je integrovaný obvod RF12B, který používá FSK modulaci a má integrovaný PLL syntetizér s výstupním zesilovačem, nízkošumový vstupní zesilovač, I/Q směšovače, filtry, zesilovače v základním pásmu a I/Q demodulátor. Komunikace modulu a mikroprocesoru probíhá přes SPI rozhraní, které je využíváno jednak pro přenos dat, tak pro přenos konfiguračních příkazů. Důležité parametry obsahuje tabulka 1.

Napájecí napětí (pracovní mód) 2,2 - 3,8 V
Výstupní výkon (433 MHz) 5 dBm
Citlivost (433 MHz) -105 dBm
Napájecí proud (TX mód, 433 MHz) 22 mA
Proud při sleep módu 0,3 ?A
Bitová rychlost (digitální mód) 115,2 kbps
Dosah (433 MHz, volné prostředí) >200 m
Tab. 1: Parametry modulu


Obr. 1: Transceivery RFM12B868/S2

Fyzické parametry
Moduly jsou k dostání ve dvou fyzických verzích. Jednak s pinovou lištou DIP 2x6 pinů a také pro povrchovou montáž SMD (obrázek 1). Verze s DIP lištou však skýtá možné problémy s dostupností vhodného protikusu. Piny na liště mají totiž nestandardní rozteče 2 mm, zobrazené na obrázku 2. Běžné pinové lišty dostupné od prodejců elektronických součástek mají rozteč pinů 2,54 mm.


Obr. 2: Rozměry modulu s DIP lištou [1]

Specifikace pro SMD montáž má po stranách destičky pájecí plošky, kterých je o dvě více než pinů u verze s pinovou lištou. Jde o jednu plošku pro anténu a jednu zemnicí navíc. Rozteče plošek jsou opět 2 mm. Další rozměry jsou na obrázku 3.


Obr. 3: Rozměry modulu pro SMD montáž [1]

nINT/VDI Interrupt input (active low)/Valid data indicator
VDD Positive power supply
SDI SPI data input
SCK SPI clock input
nSEL Chip select (active low)
SDO Serial data output with bus hold
nIRQ Interrupts request output (active low)
FSK/DATA/nFFS Transmit FSK data input/ Received data output/FIFO select
CLK/CFIL/FFIT Clock output/ external filter capacitor/FIFO interrupts when FIFO level set to 1, FIFO empty interruption can be achieved
CLK Clock output for external microcontroller
nRES Reset output (aktive low)
GND Power ground
Tab. 2: Funkce pinů [1]

Výčet funkcí jednotlivých pinů shrnuje tabulka 2. Při výběru vhodného mikroprocesoru pro obsluhu modulů je potřeba brát v úvahu jejich doporučené napájecí napětí. Nabízí se možnost použít mikroprocesory s napájením 3,3 V a napájet tedy z jednoho zdroje. Druhou možností je použít mikroprocesor napájený 5 V a mít oddělené stabilizované napětí 2,2 - 3,8 V pro radiový modul. V tomto případě je nutné snížit napětí na IO pinech pomocí předřazených odporů např. 4,7 kOhm.

Programování
V první řadě se provádí inicializace modulu odesláním konfiguračních příkazů. Seznam konfiguračních příkazů lze nalézt v katalogovém listu transceiveru RF12B [1]. Lze nastavovat vysílací výkon, frekvenční deviaci, bitovou rychlost, podobu synchronizačního bytu, lze aktivovat wake-up časovač, detekci nízké napájecí úrovně a další užitečné parametry.
Pro komunikaci lze využít hardwarovou SPI mikroprocesoru, nebo softwarovou obdobu, kterou zle nalézt v programátorské příručce [2].

Tvar odesílané zprávy je doporučován v [3] a měl by mít podobu:

  • Synchronizační byte 8-12 bitů (0xAA nebo 0x55)
  • Adresní byty (0x2D, 0xD4)
  • Datové byty
  • Kontrolní součet

Data jsou odesílána zapsáním jednoho bytu do vysílacího registru a ten je následně odvysílán. Vysílací registr má adresu 0xB8yy kde yy je vysílaný datový byte. Odeslání dat je potvrzeno nastavením NIRQ výstupu do nízké úrovně.

Inicializace přijímače je v podstatě shodná s vysílačem. Je třeba si dát pozor na aktivaci přijímače a deaktivaci vysílače v příkazu řízení výkonu. V kódu z programátorské příručky [2] se právě v tomto příkazu nachází chyba!

Funkci pro příjem dat je možné realizovat jako čtení status registru a kontrolu prvního bitu, který signalizuje naplnění FIFO registru přijatými daty. Poté data vyčteme, vynulujeme FIFO registr a restartujeme rozeznávání synchronizačního pole (1. bit FIFO a reset mode příkazu).


Obr. 4: Moduly připravené k testování

Zkušenosti
Osobní zkušenost s moduly RFM12B je velice dobrá. Moduly byly použity v projektu domácí meteostanice pro přenos senzorických dat, naměřených jednotkou umístěnou vně domu, k vnitřní jednotce, která údaje zpracovává a interpretuje. Aplikace není náročná na rychlost přenesených dat, ale na dosah vysílání i skrze překážky. Testování dosahu probíhalo jednak ve volném prostředí, tak z vnějšku dovnitř domu. Naměřená data jsou v tabulce 3.

  bezchybná data chybná data žádná data
volný prostor <130 m 130 m – 140 m >140 m
plastové okno s dvojsklem <110 m - >110 m
plastové okno s dvojsklem + 30 cm cihlová zeď <90 m - >90 m
Tab. 3: Dosah modulu

Moduly jsou vhodným prostředkem k realizaci aplikací vyžadující komunikaci na střední vzdálenost (desítky metrů) a jejíž požadavky na rychlost dat jsou do 115 kbps. Jsou velmi příznivé svou cenou a jednoduchostí implementace.

Autor: Ing. Jiří Dvořák

Seznam literatury:
[1] HopeRF. RFM12B datasheet [online]. [citováno 18.7.2010]. Dostupné z WWW: http://www.hoperf.com/upfile/RFM12B.pdf
[2] HopeRF. RF12B programming guide [online]. [citováno 18.7.2010]. Dostupné z WWW: http://www.hoperf.com/upfile/RF12B_code.pdf
[3] HopeRF. RF12B universal ISM band FSK transceiver [online]. [citováno 18.7.2010]. Dostupné z WWW: http://www.hoperf.com/upfile/RF12B.pdf