LABORATORYJNY MODEL BEZPRZEWODOWEJ SIECI
POMIAROWO-KONTROLNEJ
W artykule omówiono konfigurację sieci bezprzewodowej ZigBee współpracującej m.in. ze sterow-nikiem mikroprocesorowym. Opisano zbudowany układ prototypowy urządzenia końcowego sieci ZigBee oraz sposób połączenia z peryferiami. Przedstawiono algorytmy działania modelu.
WPROWADZENIE
W referacie omówiono konfigurację laboratoryjnej sieci bezprzewodowej ZigBee, której jedno z urządzeń końcowych (End Device) współpracuje ze sterow-nikiem mikroprocesorowym opartym na układzie MSP430F169.
Opisano układ prototypowy – urządzenie końcowe sieci ZigBee – wykorzy-stujący moduł ATMEL ATZB-24-A2, składający się z mikroprocesora ATmega 1281 z RF transceiverem AT86 RF230 oraz wbudowanej anteny.
Urządzenie końcowe komunikuje się ze sterownikiem mikroprocesorowym, wykorzystując magistralę I2C. Do magistrali tej dołączone są również: czujnik
temperatury TC74, 8-bitowy przetwornik analogowo-cyfrowy i cyfrowo-analogowy PCF8591 oraz pamięć EEPROM 24LC04.
W artykule przedstawiono algorytmy działania modułu komunikacji bezprze-wodowej oraz sterownika mikroprocesorowego, przepływ informacji pomiędzy urządzeniami.
1. KONFIGURACJA LABORATORYJNEJ SIECI ZigBee
W ostatnich latach w różnorodnych aplikacjach pomiarowych i kontrolnych stosowane są coraz częściej bezprzewodowe metody transmisji informacji. Wynika to z wielu korzystnych właściwości, które charakteryzują system bezprzewodowy wobec systemów tradycyjnych – przewodowych. Dzięki nowym technologiom w zakresie sprzętu i oprogramowania możliwe jest budowanie takich systemów, z zachowaniem wymaganych parametrów ich funkcjonowania [12, 14].
Sieć bezprzewodowa ZigBee, zaliczana do grupy bezprzewodowych sieci sen-sorowych, określanych akronimem WSN (wireless sensor network), jest siecią przeznaczoną do zastosowań w bezprzewodowych pomiarach i sterowaniu.
Sieć ZigBee składa się z trzech typów urządzeń:
• koordynatora, • routerów,
• urządzeń końcowych.
Koordynator połączony jest z komputerem PC za pomocą interfejsu USB. W komputerze tym gromadzone są informacje z urządzeń sieciowych, także z nie-go wysyłane są do odpowiednich urządzeń dane sterujące [8, 11]. Pozostałe ele-menty sieci, tj. routery i urządzenia końcowe, komunikują się miedzy sobą i z ko-ordynatorem bezprzewodowo.
Na rysunku 1 przedstawiono fragment struktury przykładowej sieci bezprze-wodowej ZigBee.
Rys.1. Widok fragmentu sieci ZigBee [na podstawie [15]]
W wykonanej laboratoryjnej sieci bezprzewodowej role koordynatorów i rou-terów pełnią układy MeshBean2 Board firmy Meshnetics (moduły ZDM-A1281-x). Natomiast funkcje urządzenia końcowego pełni oryginalny układ prototypowy, zaprojektowany i zbudowany specjalnie na potrzeby sieci laboratoryjnej. Zadaniem tego układu jest przesyłanie danych drogą bezprzewodową do routera (zgodnie ze specyfikacja ZigBee, na podstawie standardu IEEE 802.15.4) oraz komunikacja z układami peryferyjnymi, dołączonymi do urządzenia końcowego za pomocą ma-gistrali I2C [5].
2. PROTOTYPOWE URZĄDZENIE KOŃCOWE ZigBee
W prototypowym układzie urządzenia końcowego ZigBee wykorzystano moduł firmy ATMEL ATZB-24-A2 [15], składający się z mikroprocesora ATmega1281,
Koordynator
Router
Urządzenie końcowe
transceivera AT86 RF230 oraz wbudowanej anteny. Na rysunku 2 przedstawiono konfigurację modułu ATZB-24-A2 (2a) i układ wyprowadzeń układu scalonego (2b).
a)
b)
Rys. 2. Schemat blokowy modułu ATZB-24-A2 (a) i układ jego wyprowadzeń (b) [5] Układ zasilany jest napięciem 3 V pochodzącym z dwóch baterii AA.
Układ prototypowy, którego schemat elektryczny przedstawiono na rysunku 3, zawiera:
• 3 diody sygnalizujące stan pracy (LED1-3),
• 3 mikroprzełączniki podłączone do wejść cyfrowych modułu (SW_1-_3), • 2 mikroprzełączniki podłączone do wejść cyfrowych z możliwością wywołania
przerwania (S1, S2),
• mikroprzełącznik umożliwiający restartowanie układu (S3),
• konwerter transmisji RS232 (MAX3223) z gniazdem D-SUB (D-SUB), • gniazdo IDC 10pin umożliwiające podłączenie programatora Jtag (JTAG), • gniazdo IDC 10pin, na które zostały wyprowadzone 3 piny przetwornika ADC
oraz 2 piny wejścia/wyjścia cyfrowe modułu ATZB-24-A2 (P1),
• gniazdo magistrali I2C (I2C_I/O), • gniazdo magistrali SPI (SPI_I/O).
Rys. 3. Schem at uk ład u proto typowe go urz ą dzen ia ko ńcow ego si eci Z igB ee [oprac. w łas ne]
3. PERYFERIA URZĄDZENIA KOŃCOWEGO
Prototypowe urządzenie końcowe komunikuje się z układami zewnętrznymi za pośrednictwem interfejsu I2C. Ponadto, oprócz urządzenia końcowego, do
magi-strali I2C dołączony jest sterownik mikroprocesorowy (z procesorem MSP430F169
Texas Instruments) [6, 9], a także czujnik temperatury TC74 [5], 8-bitowy prze-twornik analogowo-cyfrowy i cyfrowo-analogowy PCF8591 [13] oraz pamięć EEPROM 24LC04 [4]. Układ mikroprocesorowy połączony jest za pomocą inter-fejsu 4-bitowego z wyświetlaczem LCD (sterownik HD 44780). Strukturę układów peryferyjnych urządzenia końcowego sieci ZigBee przedstawiono na rysunku 4.
Rys. 4. Schemat blokowy układów peryferyjnych prototypowego urządzenia końcowego
sieci ZigBee [oprac. własne]
Na rysunku 5 zamieszczono schemat elektryczny peryferii urządzenia końco-wego. Układy P82B96 są dwukierunkowymi bramami umożliwiającymi konwersję i dopasowanie sygnałów pomiędzy interfejsem I2C a innymi typami interfejsów
o różniących się poziomach napięcia i prądu, bez ingerowania w format i szybkość przesyłania danych.
Złącza JP1 i JP3 umożliwiają połączenie układu z urządzeniem końcowym ZigBee oraz sterownikiem mikroprocesorowym. Wprowadzenie X5.2 jest wyj-ściem przetwornika C/A (PCF5591P), natomiast zaciski X6-2, X6-4, X7-2 oraz X7-4 stanowią wejścia przetwornika A/C.
Układ TC74 [5] jest cyfrowym przetwornikiem z wyjściem 8-bitowym do pomiaru temperatury w zakresie –40°C do +125 °C. Zasilany jest napięciem z za-kresu 3,0... 5,5 V. W trybie aktywnym pobiera prąd 200 μA, natomiast w trybie uśpienia 5 μA. Czujnik aktywuje się po odbiorze odpowiedniego rozkazu magistra-lą I2C.
Układ PCF8591 [13] zawiera 8-bitowy przetwornik analogowo-cyfrowy (4 wejścia) oraz cyfrowo-analogowy (1 wyjście). Zasilany jest napięciem z zakresu 2,5... 6 V. Średni pobór prądu wynosi 125 μA.
Układ 24LC04 [4] jest to pamięć EEPROM mająca 2 bloki po 256 bajtów. Zasilana jest napięciem z zakresu 2,5.. 7 V. Średni pobór prądu w czasie komuni-kacji pamięci wynosi 1 mA, natomiast w trybie uśpienia około 10 μA. Istnieje możliwość odczytywania/zapisywania danych bajt po bajcie bądź odczytywa-nia/zapisywania danych z określonej komórki pamięci.
Układy zastosowane w peryferiach urządzenia końcowego ZigBee charaktery-zuje niski pobór energii i mogą być zasilane za pośrednictwem interfejsu I2C.
Rys. 5. Schemat elektryczny układów peryferyjnych prototypowego urządzenia końcowego sieci ZigBee [oprac. własne]
4. STOS PROTOKOŁÓW SIECI ZigBee
Urządzenia funkcjonujące w sieci bezprzewodowej ZigBee (koordynator, routery i urządzenia końcowe) tworzą platformę sprzętową, na której wykonywane są odpowiednie programy, zapisane w pamięciach tych urządzeń. Współdziałając ze sobą, poszczególne części oprogramowania tworzą stos protokołów, składający się z kilku warstw, wyodrębnionych z uwzględnieniem pełnionych funkcji. Na rysunku 6 przedstawiono stos protokołów sieci bezprzewodowej, w której war-stwa fizyczna (PHY) i warwar-stwa łącza danych (MAC) są zdefiniowane w standardzie
IEEE 802.15.4, zaś zadania wypełniane w warstwach sieciowej/bezpieczeństwa (NWK) oraz wsparcia aplikacji (APS) zostały zaproponowane przez fundację ZigBee Aliance.
ZDO
Zarządzanie aplikacjami peryferiów IEEE 802.15.4 ZigBee Aplikacja użytkownika Interfejs aplikacjiNWK – Network
Komunikacja sieciowaMAC – Medium Access Control
Kontrola dostępu do medium, identyfikacja urządzeń sieciowych
PHY – Physical
Bezprzewodowa transmisja danych
Se
curity S
e
rvices
B ezpie cz eń stwo A PS, NWK i MAC Urządzenie peryferyjne 1 Urządzenie peryferyjne 2 Urządzenie peryferyjne 3 Urządzenie peryferyjne 240APS – Application Support
Zarządzanie komunikacją z aplikacjami
Rys. 6. Warstwy modelu sensorowej sieci bezprzewodowej IEEE 802.15.4/ZigBee
[na podst. [2]]
Rdzeniem stosu programistycznego jest warstwa protokołów APS, które reali-zują zadania wymiany danych w sieci i udostępniania ich aplikacjom użytkownika. Grupa protokołów ZDO dostarcza interfejsów pozwalających na dołączanie aplikacji zorientowanych obiektowo, np. do wymiany danych z określonym czuj-nikiem bądź przetworczuj-nikiem, określa sposób, w jaki komunikują się one z innymi programami. Protokoły te zapewniają również nadzorowanie nad funkcjami sieci bezprzewodowej, m.in. procedurami inicjalizacji, łączenia z aktywnymi węzłami sieci itp.
Protokoły warstwy NWK umożliwiają wskazywanie ścieżek komunikacyj-nych w sieci bezprzewodowej. Warstwa MAC zapewnia m.in. kontrolę dostępu do medium transmisyjnego, zapewnia identyfikację węzłów w sieci bezprzewodowej. Warstwa PHY umożliwia bezprzewodową transmisję danych w sieci.
Protokoły składające się na stos współpracują ze sobą i wymieniają między sobą dane, odpowiednio do realizowanego zadania.
5. PROTOKOŁY PROTOTYPOWEGO URZĄDZENIA KOŃCOWEGO
Oprogramowanie prototypowego urządzenia końcowego ZigBee zostało opra-cowane na podstawie kodu źródłowego programu BitCloud [1, 2, 3, 7] firmy Atmel. BitCloud jest pakietem realizującym wszystkie funkcje określone w stosie protokołów sieci bezprzewodowej ZigBee. Stanowi platformę programistyczną dla tworzenia aplikacji bezprzewodowych i wspomagania projektowania aplikacji sto-sownie do potrzeb użytkownika.
Pakiet ten został na potrzeby urządzenia końcowego zmodyfikowany i odpo-wiednio „okrojony” o wszystkie zbędne linie kodu związane z obsługą urządzeń typu koordynator i router, a także te, które nie są wykorzystywane w projekcie, jak np. obsługa SPI czy 1-wire. Natomiast rozbudowana została część odpowiedzialna za obsługę komunikacji z czujnikami i przetwornikami z wykorzystaniem magi-strali I2C.
Ogólny algorytm działania prototypowego urządzenia końcowego:
• inicjalizacja modułu bądź wyjście ze stanu uśpienia, • wyszukiwanie sieci bezprzewodowych,
• połączenie z siecią bezprzewodową, • transmisja I2C,
• transmisja bezprzewodowa, • przejście w stan uśpienia.
Powyższy algorytm przedstawia ogólny zarys działania układu. Każdy z wy-żej wymienionych punktów składa się z zestawu pomniejszych algorytmów, które muszą być wykonane. Chodzi tu nie tylko o właściwe określenie wartości parame-trów (jak np. stałe wykorzystywane w programie), ale też odpowiednie procedury dotyczące transmisji. Na przykład standardowa ramka danych w transmisji I2C
składa się z bitu startu, bajtu adresu urządzenia, bitu potwierdzenia, bajtu danych, bitu potwierdzenia i bitu stopu. Oprogramowanie musi zapewnić poprawne for-mowanie kolejnych ramek wysyłanych i dekodowanie odbieranych.
Innym przykładem jest inicjalizacja połączenia bezprzewodowego. W celu znalezienia sieci bezprzewodowej, a następnie połączenia się z nią, należy prawi-dłowo skonfigurować parametry dotyczące częstotliwości transmisji, kanału mo-dulacji, który definiuje również rodzaj modulacji (CS_CHANNEL_PAGE, CS_CHANNEL_MASK, CS_EXT_PAN_ID), oraz parametry bezpieczeństwa (CS_ZDO_SECURITY_STATUS, CS_NETWORK_KEY). Dodatkowo należy wziąć pod uwagę wiele innych czynników mogących wpłynąć na stabilność dzia-łania programu, jak np. utrata połączenia z routerem czy wykrycie zajętości szyny magistrali I2C, i odpowiednio się przed nimi zabezpieczyć, chociażby przez reset
układu.
Stan aktywności układu jest sygnalizowany za pomocą diod LED (rys. 3). W celu uniknięcia pomyłek jest ona identyczna z sygnalizacją realizowaną w mo-dułach ZigBee Meshnetics, pełniących w sieci laboratoryjnej funkcje koordynatora i routera.
Układ prototypowy zostanie przetestowany dla różnych częstotliwości trans-misji (868 MHz, 915 MHz i 2,4 GHz), oraz różnych typów modulacji (BPSK i Q-QPSK). W wyniku testów zostaną określone prędkości przesyłania danych, oraz maksymalny zasięg transmisji.
Dla transmisji przez magistralę I2C będą przetestowane dwa algorytmy
działa-nia. Pierwszy z nich będzie polegał na tym, że układ prototypowy (jako urządzenie typu master) będzie komunikował się z poszczególnymi urządzeniami podłączo-nymi do magistrali I2C (TC74, PCF 8591, 24LC04 i sterownik mikroprocesorowy).
Natomiast drugi algorytm będzie realizował procedury, w których układ prototy-powy (jako urządzenie typu slave) będzie otrzymywał dane z czujników za pośred-nictwem sterownika mikroprocesorowego. W tym przypadku sterownik mikropro-cesorowy będzie nawiązywał komunikację z poszczególnymi urządzeniami w celu uzyskania wszystkich danych, aby w kolejnym kroku wysłać je do układu prototy-powego. Ma to na celu zmniejszenie do minimum operacji wykonywanych przez układ prototypowy.
PODSUMOWANIE
Laboratoryjny model sieci bezprzewodowej ZigBee opracowano w celu oceny możliwości wykorzystania dostępnej obecnie technologii do budowy systemów bezprzewodowych tego typu i ich wykorzystania w pomiarach i sterowaniu. Opracowany prototypowy układ urządzenia końcowego sieci ZigBee, wraz ze zgromadzonymi narzędziami programistycznymi, pozwala na prowadzenie badań w obszarze protokołów odnoszących się do sieci bezprzewodowej, a także projek-towania aplikacji użytkownika związanych z peryferyjnymi układami pomiarowy-mi i sterującypomiarowy-mi.
Badania planowane do przeprowadzenia w kolejnym etapie umożliwią ocenę funkcjonalności stanowiska i zorientowanie go na potrzeby dydaktyki.
LITERATURA
1. AVR2051_BitCloud_Stack_Documentaction.chm – www.atmel.com.
2. BitCloud Quick Start Guide, Atmel, Application Note AVR2052, Document 8200F-AVR-10/09. 3. BitCloud User Guide, Atmel, Document 8199E–MCU Wireless–11/09.
4. DS21051E, http://www.microchip.com. 5. DS21462B, http://www.microchip.com.
6. Górniak M., Krywald K., Maśnicki R., Czujniki i przetworniki pomiarowe w sieci przemysłowej M2M, COE 2008, Poznań, 22–25 czerwca 2008, Elektronika, 2008, nr 6, s. 112–113.
7. Jin-Shya L., Yu-Wei S., Chung- Chou S., A Comparative Study of Wireless Protocols: Bluetooth, UWB, ZigBee, and Wi-Fi, The 33rd Annual Conference of the IEEE Industrial Electronics Society (IECON), Taipei (Tajwan), 5–8 Nov. 2007, s. 46–51.
8. Maśnicki R., Implementacja sieci M2M w przyrządzie wirtualnym, XL MKM, Przegląd Elektro-techniczny, 2008, 12, s. 308–311.
9. Maśnicki R., The laboratory stand for research of data processing in distributed measurement system, Metrologia dziś i jutro, red. W. Kuciński, L. Swędrowski, monografia, Politechnika Gdańska, MKM, Gdańsk 2009, s. 105–112.
10. Maśnicki R., The wireless network implementation in the measurement and control system, Polish Journal of Environmental Studies, 2009, vol. 18, s.142–146.
11. Maśnicki R., Mindykowski J., The virtual instrument based on the ZigBee network, Proc. of 16th
IMEKO TC4 Symposium Exploring New Frontiers of Instrumentation and Methods for Electrical and Electronic Measurements, Florence (Italy), 22–24 Sept. 2008.
12. Olszyna J., Winiecki W., Wireless distributed measurement system utilizing ZigBee technology, PAK 2008, nr 6, s. 353–355.
13. PCF8591, http://www.semiconductors.philips.com.
14. Shizhuang L., Jingyu L., Yanjun F., ZigBee Based Wireless Sensor Networks and Its Applications in Industrial, Proceedings of the IEEE International Conference on Automation and Logistics, Jinan (China), 18–21 August 2007, s. 1979–1983.
15. ZigBit™ 2.4 GHz Wireless Modules, Atmel, Document 8226B- MCU Wireless-06/09.
THE LABORATORY MODEL OF WIRELESS MEASUREMENT AND CONTROL NETWORK
Summary
In this paper the configuration of wireless ZibgBee network co-operating e.g. with microproces-sor controller was discussed. The built End-Device prototype unit of ZigBee network as well as the connection method to the peripherals were described. The algorithms of model operation were presented.