Laboratoryjny model bezprzewodowej sieci pomiarowo
Transkrypt
Laboratoryjny model bezprzewodowej sieci pomiarowo
Romuald Maśnicki Paweł Witek Akademia Morska w Gdyni LABORATORYJNY MODEL BEZPRZEWODOWEJ SIECI POMIAROWO-KONTROLNEJ W artykule omówiono konfigurację sieci bezprzewodowej ZigBee współpracującej m.in. ze sterownikiem 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 sterownikiem mikroprocesorowym opartym na układzie MSP430F169. Opisano układ prototypowy – urządzenie końcowe sieci ZigBee – wykorzystują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 bezprzewodowej 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]. 96 ZESZYTY NAUKOWE AKADEMII MORSKIEJ W GDYNI, nr 66, grudzień 2010 Sieć bezprzewodowa ZigBee, zaliczana do grupy bezprzewodowych sieci sensorowych, 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 niego wysyłane są do odpowiednich urządzeń dane sterujące [8, 11]. Pozostałe elementy sieci, tj. routery i urządzenia końcowe, komunikują się miedzy sobą i z koordynatorem bezprzewodowo. Na rysunku 1 przedstawiono fragment struktury przykładowej sieci bezprzewodowej ZigBee. Koordynator Urządzenie końcowe Router Rys.1. Widok fragmentu sieci ZigBee [na podstawie [15]] W wykonanej laboratoryjnej sieci bezprzewodowej role koordynatorów i routeró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ą magistrali 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, R. Maśnicki, P. Witek, Laboratoryjny model bezprzewodowej sieci pomiarowo-kontrolnej 97 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), 2 2 • gniazdo magistrali I C (I C_I/O), • gniazdo magistrali SPI (SPI_I/O). Rys. 3. Schemat układu prototypowego urządzenia końcowego sieci ZigBee [oprac. własne] 98 ZESZYTY NAUKOWE AKADEMII MORSKIEJ W GDYNI, nr 66, grudzień 2010 R. Maśnicki, P. Witek, Laboratoryjny model bezprzewodowej sieci pomiarowo-kontrolnej 99 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 magistrali I2C dołączony jest sterownik mikroprocesorowy (z procesorem MSP430F169 Texas Instruments) [6, 9], a także czujnik temperatury TC74 [5], 8-bitowy przetwornik analogowo-cyfrowy i cyfrowo-analogowy PCF8591 [13] oraz pamięć EEPROM 24LC04 [4]. Układ mikroprocesorowy połączony jest za pomocą interfejsu 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ńcowego. 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 zakresu 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 magistralą 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 komunikacji 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ź odczytywania/zapisywania danych z określonej komórki pamięci. 100 ZESZYTY NAUKOWE AKADEMII MORSKIEJ W GDYNI, nr 66, grudzień 2010 Układy zastosowane w peryferiach urządzenia końcowego ZigBee charakteryzuje 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 warstwa fizyczna (PHY) i warstwa łącza danych (MAC) są zdefiniowane w standardzie 101 R. Maśnicki, P. Witek, Laboratoryjny model bezprzewodowej sieci pomiarowo-kontrolnej 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. Urządzenie Urządzenie Urządzenie Urządzenie peryferyjne peryferyjne peryferyjne peryferyjne 1 2 3 240 ZDO Zarządzanie aplikacjami peryferiów Security Services Bezpieczeństwo APS, NWK i MAC APS – Application Support Zarządzanie komunikacją z aplikacjami NWK – Network Komunikacja sieciowa MAC – Medium Access Control Kontrola dostępu do medium, identyfikacja urządzeń sieciowych PHY – Physical Bezprzewodowa transmisja danych IEEE 802.15.4 ZigBee Aplikacja użytkownika Interfejs aplikacji 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 realizują 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 czujnikiem bądź przetwornikiem, 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 komunikacyjnych 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. 102 ZESZYTY NAUKOWE AKADEMII MORSKIEJ W GDYNI, nr 66, grudzień 2010 5. PROTOKOŁY PROTOTYPOWEGO URZĄDZENIA KOŃCOWEGO Oprogramowanie prototypowego urządzenia końcowego ZigBee zostało opracowane 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 stosownie do potrzeb użytkownika. Pakiet ten został na potrzeby urządzenia końcowego zmodyfikowany i odpowiednio „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 magistrali 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ą, 2 • transmisja I C, • 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 parametró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 formowanie 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 prawidłowo skonfigurować parametry dotyczące częstotliwości transmisji, kanału modulacji, 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 modułach ZigBee Meshnetics, pełniących w sieci laboratoryjnej funkcje koordynatora i routera. R. Maśnicki, P. Witek, Laboratoryjny model bezprzewodowej sieci pomiarowo-kontrolnej 103 Układ prototypowy zostanie przetestowany dla różnych częstotliwości transmisji (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łania. 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łączonymi do magistrali I2C (TC74, PCF 8591, 24LC04 i sterownik mikroprocesorowy). Natomiast drugi algorytm będzie realizował procedury, w których układ prototypowy (jako urządzenie typu slave) będzie otrzymywał dane z czujników za pośrednictwem sterownika mikroprocesorowego. W tym przypadku sterownik mikroprocesorowy 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 prototypowego. 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 projektowania aplikacji użytkownika związanych z peryferyjnymi układami pomiarowymi i sterującymi. Badania planowane do przeprowadzenia w kolejnym etapie umożliwią ocenę funkcjonalności stanowiska i zorientowanie go na potrzeby dydaktyki. LITERATURA 1. 2. 3. 4. 5. 6. AVR2051_BitCloud_Stack_Documentaction.chm – www.atmel.com. BitCloud Quick Start Guide, Atmel, Application Note AVR2052, Document 8200F-AVR-10/09. BitCloud User Guide, Atmel, Document 8199E–MCU Wireless–11/09. DS21051E, http://www.microchip.com. DS21462B, http://www.microchip.com. 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. 104 ZESZYTY NAUKOWE AKADEMII MORSKIEJ W GDYNI, nr 66, grudzień 2010 8. Maśnicki R., Implementacja sieci M2M w przyrządzie wirtualnym, XL MKM, Przegląd Elektrotechniczny, 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 microprocessor 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.