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.

Podobne dokumenty