Svetelektro.com

Svetelektro.com

Meno:
Heslo:

Vývojová doska pre RF moduly XBee - 1.časť

Kategória: VF technika | 17.04.2012 | Autor: zawin 

Popis bezdrôtového štandardu ZigBee a modulov XBee

Štandard ZigBee

Pojem XBee je obchodným názvom bezdrôtových komunikačných zariadení vyrábaných firmou Digi International. Tieto zariadenia využívajú bezdrôtový komunikačný protokol ZigBee, ktorá vychádza zo štandardu 802.15.4. S týmto bezdrôtovým štandardom možno komunikovať na bezlicenčných pásmach 2,4 GHz, 900 MHz a 868 MHz. Štandard je určený na priemyselné použitie.
Medzi hlavné výhody ZigBee modulov patrí najmä jednoduchosť protokolu, nízka cena, nízka spotreba elektrickej energie či možnosť tvorby rozsiahlych sietí. ZigBee sa teda nesnaží pôsobiť ako konkurencia pre Wi-Fi či Bluetooth, ale snaží sa byť ich doplnkom.

PRVKY SIETE ZIGBEE

Koordinátor:
 vyberá komunikačný kanál a PAN ID
 povoľuje routerom a koncovým zariadeniam pripojiť sa do siete
 nemôže byť v režime spánku
 môže sa podieľať na preposielaní dát
 môže dočasne ukladať dáta pre koncové zariadenia, ktoré sú v režime spánku

Router:
 musí sa najskôr pripojiť do siete aby mohol posielať, prijímať alebo preposielať dáta
 po pripojení povoľuje routerom a koncovým zariadeniam pripojiť sa do siete
 po pripojení môže preposielať dáta
 nemôže byť v režime spánku
 môže dočasne ukladať dáta pre koncové zariadenia

Koncové zariadenie:
 musí sa najskôr pripojiť do siete aby mohol posielať alebo prijímať dáta
 nemôže povoliť ostatným zariadeniam pripojiť sa do siete
 dáta ostatným zariadeniam môže len cez router alebo koordinátor
 môže byť v režime spánku a tak ušetriť svoju energiu



Obr. č. 2.1 - Schéma siete

TOPOLÓGIA SIETE ZIGBEE

So štandardom ZigBee možno využívať 3 topológie siete. Ide o topológiu Star, Cluster Tree a Mesh.
Topológia Star (hviezda) má jedného koordinátora, ktorý je zodpovedný za štart a inicializáciu siete a za udržiavanie informácii o ostatných uzloch siete. Všetky uzly, vrátane koordinátora komunikujú priamo z koordinátorom.
V topológiach Cluster Tree (Stromová) a Mesh (Pavúková) má koordinátor jednoduchšiu úlohu. Je zodpovedný za štart siete a nastavenie kľúčových parametrov, avšak rozširovanie siete závisí na smerovačov. Z ich pomocou možno sieť rozširovať ľubovoľne. Pohyb dátových a konfiguračných dát je v topológii Cluster Tree riadený hierarchickou smerovacou stratégiou, na rozdiel od topológie Mesh, kde každý uzol komunikuje z každým rovnocenným uzlom a musí si teda komunikáciu riadiť sám.



Obr. č. 2.2 – Druhy topológie siete

MODULY XBEE

Tieto moduly sa vyrábajú v 2 základných variantoch Xbee a Xbee PRO.
Ja budem pracovať s modulom XBee PRO 2. Ide teda o druhú generáciu tohto modulu. Oproti štandardnej verzii XBee sa odlišuje najmä vyšším vysielacím výkonom a teda aj dosahom, čo sa však bohužiaľ negatívne prejavilo aj vyššou spotrebou modulu.

Špecifikácia modulu XBee PRO 2:
 Napájacie napätie: 3.0 – 3.4 V
 Prúdový odber:
o Pri vysielaní – 295mA pri 3,3 V
o Pri prijme – 45mA pri 3,3 V
o Pri nečinnosti (Prijímač vypnutý) – 15mA
o Pri spánku – 3,5uA
 Dosah:
o 90 m v budove
o 3200 m vo voľnom priestranstve
 Vysielací výkon: 50mW
 Citlivosť prijímača: -102 dBm
 Rýchlosť sériového rozhrania (softwarovo nastaviteľné): 1200 bps – 1 Mbps
 Frekvenčné pásmo: 2,4 GHz

SPÔSOB PRENOSU DÁT

Moduly XBee slúžia primárne na bezdrôtový prenos dát. Dáta môžeme prenášať pomocou asynchrónnej sériovej linky (ďalej ako UART) s napäťovou úrovňou v rozsahu 2.8 – 3.4V. Spôsob prenosu dát možno vidieť na Obr. 3.1.


Obr. 3.1. Bloková schéma bezdôtového prenosu dát pomocou XBee modulov

Každý dátový bajt posielaný cez UART pozostáva zo štartovacieho bitu (log. 0), 8 dátových bitov a stop bitu (log. 1). Na obrázku č. 3.2 možno vidieť vyslanie decimálneho čísla 31.


Obr. 3.2. Prenos dát po asychrónnej sériovej linke

Rýchlosť, paritu a počet stop bitov možno nastaviť pomocou AT príkazov v XBee module.

Vysielanie dát:
Dáta posielame cez UART na pin DIN. Prijaté dáta sa ukladajú do vyrovnávacej pamäti (Serial Receive Buffer) pokiaľ nebudú spracované. Ak je to možné, dáta sú preposielané ihneď vysielaču.

Možné problémy:
- Ak prijímač prijíma súvislí tok dát, dáta vo vyrovnávacej pamäti nebudú odoslané pokiaľ tento tok neustane
- Ak modul vysiela packet dát, modul musí vyhľadať cieľovú adresu a nájsť cestu k nej. Po odoslaní dát modul môže opätovne vyslať dáta, ak neprišlo potvrdenie že dáta boli doručené v poriadku. Tento problém môže spôsobiť oneskorenie odoslania nachádzajúcich sa vo vyrovnávacej pamäti.

Aby sme týmto problémom zabránili (hlavne pri posielaní veľkého množstva dát), musíme kontrolovať stav bitu CTS (Clear to Send). Keď vyrovnávacej pamäti chýba 17 bajtov k jej naplneniu bit CTS sa nastaví do log. 1, čo dáva pokyn zariadeniu aby zastavil posielanie dát. Tento signál sa deaktivuje (nastaví do log. 0), pokiaľ voľne miesto vyrovnávacej pamäti presiahne 34 bajtov.

Prijímanie dát:
Dáta prijaté cez prijímač putujú do vyrovnávacej pamäti (Serial Transmit Buffer). Dáta sú následne posielané na výstupný pin DOUT ihneď po ich prijatí, pokiaľ nie je nastavený bit RTS (Ready to Send). Pokiaľ je bit RTS nastavený (log. 1), modul uchováva dáta vo vyrovnávacej pamäti a čaká na nastavenie bitu do log. 0.

Možné problémy pri ktorých môže dôjsť k strate dát:
- Ak sa dáta prijímajú vyššou rýchlosťou ako je rýchlosť odosielania dát cez UART
- Ak zariadenie zastavilo prenos dát pomocou RTS.
- Pri obidvoch problémov vzniká hromadenie dát vo vyrovnávacej pamäti. Pri jej pretečení dôjde k ich strate.
- Po prijatí dát posiela modul potvrdzujúcu správu o úspešnom prijatí dát.



Obr. 3.3. Vnútorná bloková schéma modulu (vysielanie a prijímanie dát)

MÓDY NASTAVENIA

Nastavovať parametre modulu XBee možno v 2 módoch - Transparentný a API (Application Programming interface).

Transparentný mód:
V tomto režime primárne funguje zariadenie ako bezdrôtová sériová linka.
Dáta sú posielané na pin modulu DIN a následne sú vyslané na iný modul, kde sa dáta odošlú na pin DOUT.
Na nastavenie modulu slúži command mód. Pred vstupom do command módu odošle XBee modul všetky dáta z prijímacej vyrovnávacej pamäti.

Aby sme mohli vstúpiť do Command módu musíme vykonať nasledovný postup:
- Vyčkáme ochranný interval (závisí od nastavenia GT - Guard time). Počas tohto času nesmieme vyslať žiadne dáta do modulu
- Pošleme tri ASCII znaky „+++“ (možno zmeniť nastavením CC – Command sequence Charakter)
- Opäť vyčkáme ochranný interval (GT).

Pri úspešnom vstupe do command módu nám modul pošle cez UART odpoveď „OK “. Následne môžeme posielať modulu príkazy na vyčítanie alebo zmenu jeho nastavení.
Príkazy majú nasledovný tvar: predpona AT, príkaz, medzera, parameter príkazu a znak (Carriage Return).
Tvar AT príkazu možno vidieť na Obr. č.3.4.


Obr. 3.4. Tvar AT príkazu

Po každom command príkaze počkáme na potvrdenie príkazu prijatím „OK “. V prípade že príkaz nebude prijatý správne, príde odpoveď „ERROR .“
Keď posielame príkaz na zistenie stavu určitého parametru, ako odpoveď nám príde hodnota tohto parametra.
Command mód zariadenia trvá len určitý čas. Tento čas je definovaný nastavením hodnoty CT (Command Mode Timeout). Pokiaľ chceme ukončiť command mód ešte pred týmto časom vyšleme príkaz „ATCN “.

API mód:
API rozranie je alternatívou k transparentému rozhraniu, rozširuje možnosti zariadenia pri interakcii so sieťou. Dáta vstupujúce a vystupujúce z modulu sú vysielané v rámcoch, ktoré obsahujú udalosti ktoré sa dejú vnútri modulu. Rámec odoslaný do modulu musí obsahovať dátový rámec (prenášané dáta) a príkazový rámec (príkazy slúžiace k nastaveniu parametrov modulu).
Rámec prijatý z modulu obsahuje dátový rámec, príkazový rámec (odpoveď na príkazy) a oznámenie udalosti (čo sa deje v module).

Výhody API rozhrania:
- Možnosť posielať dáta bez predchádzajúcej konfigurácie adries, všetko je súčasťou API paketu
- Je známy odosielateľ paketu, pretože jeho adresa je uvedená v prijatom packete
- Možno odoslať packet naraz všetkým zariadeniam
- Možnosť nastavenia vzdialeného zariadenia
- Obsahuje kontrolný súčet, čo zlepšuje ochranu proti vzniku chýb

Rozhranie API ponúka dva možnosti prenosu. Normálny prenos a prenos s escape znakmi.

Nasledujúce znaky by sa nemali na sériovej linky vyskytnúť:
- 0x7E – oddeľovací znak nového packetu
- 0x7D – escape znak
- 0x11 – XON – znak pre softvérovú kontrolu dátového toku pri sériovej komunikácií
- 0x13 – XOFF – rovnako ako predchádzajúci znak

Nežiaduce bajty filtrujeme tak, že pred neho vložíme escape znak (0x7D) a k bitu pričítame hodnotu 0x20. Režim je indikovaný zároveň cez parameter „AP“. Základná je hodnota 0 je pre transparentný mód, 1 pre API rozhranie a 2 pre API rozhranie s escape znakmi.

Štruktúra API packetu teda vyzerá nasledovne:

BajtPopis
0Oddelovač packetu – má hodnotu 0x7E
1-2Veľkosť API štruktúry packetu vrátane API identifikátora
3API identifikátor
4-NDátová časť packetu
N+1Kontrolný súčet



Prvý bajt je štartovací znak 0x7E, ktorým treba začať každý API dátový rámec.
V poradí 2. a 3. bajt udáva veľkosť API štruktúry, teda počet bajtov.
API identifikátor určuje aký API príkaz bude obsiahnutý v dátovej časti packetu. Zoznam podporovaných API príkazov možno vidieť v tabuľke.

API identifikátorHodnota
Modem status0x8A
AT command0x08
AT Command – Queue Parameter Value0x09
ZigBee transmit Request0x10
Explicit Addressing ZigBee Command Request0x17
Create Source Route0x21
AT command Response0x88
Modem Status0x8A
ZigBee Transmit Status0x8B
ZigBee Receive Packet (AO=0) 0x90
ZigBee Explicit RX indicator (AO=1) 0x91
ZigBee IO Data Sample Rx indicator 0x92
XBee Sensor Read Indicator (AO=0) 0x94
Node Identification Indicator (AO=0) 0x95
Remote Command Response 0x97
Over-the-Air Firmware Update Status0xA0
Route Record Indicator 0xA1
Many-to-One Route Request Indicator 0xA3

Každý API packet sa musí ukončiť kontrolným súčtom. Má veľkosť 1 bajt. Výpočet sa počíta od 1. bajtu s API identifikátorom až po posledný bajt dátovej časti packetu. Kontrolný súčet možno vypočítať nasledovným vzťahom:


, kde Bi je i-ty bajt paketu.

Použitá literatúra

Katalógový list obvodu XBee PRO

PAVEL BADIN,2011, SYSTÉM BEZDRÁTOVÉHO PŘENOSU DAT ZE SNÍMAČE Z OTOČNÉ MEŘICÍ STOLICE, Bakalárska práca, ČVUT

Viktor Černý,2009,Správa prvků bezdrátové sítě, Diplomová práca, ČVUT
 

25.07.2014

DDS generátor z Číny

 7088   5  Hodnotenie: 4Hodnotenie: 4Hodnotenie: 4Hodnotenie: 4Hodnotenie: 4

Priemerné hodnotenie: 4
Hlasov: 1

Veľmi dobrý

Zvoľte počet hviezdičiek:
Vynikajúci
Veľmi dobrý
Dobrý
Priemerný
Zlý



Za obsah komentárov je zodpovedný užívateľ, nie prevádzkovateľ týchto stránok.

Re: Vývojová doska pre RF moduly XBee - 1.časť (Hodnotenie: 1)
Od: jaromir - 17.04.2012
(O užívateľovi | Poslať súkromú správu) http://jaromir.xf.cz/
Uh, Xbee... skonstruoval som siet, pozostavajucu z 120-tich Xbee zariadeni, v piatich sietach, fyzicky sa prekryvajucich, ako nahradu existujuceho RS485 spojenia s jednoduchym round-robin prenosom od jedneho mastera k viacerym slave-om a musim uznat, ze to bola a doteraz je najvacsia nocna mora, aku som vo svojom profesnom zivote zazil - vdaka modulom Xbee. Xbee moduly su fajn ked ide o zriedkavy prenos dat medzi dvomi, tromi.. trebars piatimi zariadeniami na kratku vzdialenost; ak sa implementuje dobry komunikacny protokol s korekciou chybajucich dat. No ak chce clovek simultanny prenos na jednom kanale ale s viacerymi subkanalmi (ID), obcas dokonca aj simultanny prenos na viacerych kanaloch, pripadne je v ceste signalu (hoci aj mala) pohybujuca sa prekazka (napr. prechadzajuci clovek), nedajboze rusenie alebo bohvieco ine... zacina masaker, vypadky spojenia. Pretoze je cela inteligencia (nech sa za tymto slovom ukryva cokolvek) ukryta v moduloch, ani besna svina netusi, co robi problemy. Cize tie Xbee moduly vyzeraju dobre, na stole to funguje, ale akonahle sa siet modulov zvacsi a prenesie sa do realneho prostredia, zacne skutocna sranda. Inak to chodi dobre :-)
Autor stránky je Ondrej Závodský(zawin), o graficky design sa stará Ľuboš Fabo(BUFU).

TOPlist

Powered by Copyright © UNITED-NUKE CMS. All Rights Reserved.
Čas potrebný k spracovaniu stránky 0.01 sekúnd