Łączność bezprzewodowa

Łączność bezprzewodowa

Przez długi czas rozwój wielu dziedzin elektroniki był możliwy przede wszystkim dzięki rozwojowi techniki mikroprocesorowej. Dzisiaj sytuacja wygląda inaczej, to technika łączności bezprzewodowej kreuje nowe standardy.

Bardzo silnym motorem napędzającym rozwijanie różnych technologii bezprzewodowych są dwa obszary. Jednym z nich jest rynek konsumencki. Smartfon – najbardziej popularne urządzenie konsumenckie na świecie korzysta z technologii GSM pozwalającej na połączenia głosowe, przesyłanie wiadomości tekstowych SMS i połączenia internetowe. Trudno dzisiaj o bardziej spektakularny przykład wpływu technologii bezprzewodowej na wiele aspektów życia społeczeństw na całym świecie. Podobnej rewolucji doświadczyliśmy w XX wieku za sprawą innych mediów: najpierw radia, a potem telewizji.

Wspomniany smartfon ma dodatkowe interfejsy radiowe: Wi-Fi i Bluetooth. Bez Wi-Fi nie można byłoby się połączyć z Internetem poprzez rutery dostępowe umożliwiające transfer danych bez dodatkowych kosztów. Jednym z najbardziej znanych, ale nie jedynym zastosowaniem Bluetooth, jest możliwość łączenia się ze zdalnymi systemami audio, na przykład zestawami głośnomówiącymi w autach lub słuchawkami bezprzewodowymi.

Rynek konsumencki korzysta z coraz większej liczby zaawansowanych technologii wykorzystujących połączenia bezprzewodowe. Oprócz łączności GSM dającej każdemu możliwość komunikacji dwukierunkowej możemy dzisiaj korzystać na przykład z nawigacji satelitarnej GPS, czy też innych konkurencyjnych satelitarnych systemów nawigacyjnych. Ta technologia jest już tak dostępna, że stosuje się ja nie tylko do nawigacji komunikacyjnej, ale też do geotagowania zdjęć i temu podobnych zastosowań.

Drugi obszar to rozwijająca się bardzo dynamicznie technologia Interentu Rzeczy IoT. Trudno sobie wyobrazić, aby tak dynamiczny wzrost był możliwy bez sieci radiowych.

Masowe stosowanie połączeń radiowych przez użytkowników nie posiadających kwalifikacji do eksploatacji urządzeń nadawczo odbiorczych wymaga specjalnych uregulowań. Dla takich zastosowań wydzielono pasma częstotliwości wolne od zezwoleń i opłat. Urządzenia pracujące w tych pasmach muszą mieć ograniczoną przepisami niską moc i wykorzystują przydzielone kanały. Najczęściej są to pasma ISM zarezerwowane dla zastosowań przemysłowych, naukowych i medycznych w celach innych niż telekomunikacyjne. W różnych krajach przewidziano różne częstotliwości do takich zastosowań i przy projektowaniu urządzenia pracującego w pasmach ISM trzeba wybrać odpowiedni zakres częstotliwości.

Połączenia radiowe mają bardzo wiele zalet. Są wygodne i tanie, bo nie wymagają kosztownego i kłopotliwego okablowania. Pozwalają na nieskrepowaną mobilność w obszarze rzeczywistego zasięgu. Ale niestety posiadają także wady. Przesyłanie danych w kanałach radiowych wymaga coraz bardziej zaawansowanego kodowania zapobiegającego podsłuchiwaniu danych, ale również ich przechwytywania i modyfikowania w celach przestępczych. Sporym problemem mogą być zakłócenia elektromagnetyczne powodujące zaniki lub przekłamania sygnału. W ważnych zastosowaniach stosuje się mechanizmy pozwalające odzyskać część utraconych danych metodami programowymi. Wymaga to jednak przesyłania danych nadmiarowych spowalniających przesyłanie danych właściwych.

W artykule zajmiemy się połączeniami bezprzewodowymi nie wymagającymi od użytkowników posiadania zezwoleń na korzystanie z częstotliwości i przeznaczonymi do przesyłania danych.

Z technicznego punktu widzenia do przesyłania danych potrzebujemy modemu radiowego i układu nadajnika i odbiornika, czyli transceivera. Modem zamienia sygnał cyfrowy po stronie nadawczej, czyli ciąg zer i jedynek na sygnał analogowy, który może być przesłany w kanale radiowym. Jedną z najbardziej znanych metod jest modulacja FSK i jej odmiany polegająca na dyskretnej zmianie częstotliwości nośnej zależnie od przesyłanego bitu informacji (rysunek 1a).

Rysunek 1a. Modulacja FSK

Innym rodzajem modulacji jest modulacja ASK, czyli modulacja amplitudy. W dużym uproszczeniu możemy przyjąć, że dla zera logicznego amplituda sygnału nośnej jest zerowa, a dla jedynki logicznej ma maksymalną wartość (rysunek 1b). Po stronie odbiorczej modem zamienia sygnał zmodulowany na ciąg zer i jedynek. Modulacja FSK i jej modyfikacje jest bardziej odporna na zakłócenia i dlatego jest chętniej stosowana.

Rysunek 1b. Modulacja ASK

Połączenia radiowe można organizować na różne sposoby. W mało wymagających rozwiązaniach stosuje się proste moduły radiowe wspierające konstruktora w przesyłaniu surowych danych. Bardzo dobrze spełniają swoją rolę do przesyłania danych pomiędzy dwoma punktami. Przykładem może być odczytywanie temperatury z czujnika umieszczonego na zewnątrz. Układ nadrzędny (stacja pogodowa) wysyła drogą radiową zapytanie o temperaturę a czujnik (termometr) w odpowiedzi odsyła zmierzoną wartość. Takie moduły mają wbudowaną prostą logikę i bufory danych. W trochę bardziej zaawansowanych układach mogą się pojawiać mechanizmy potwierdzania przesłanych pakietów danych oraz zabezpieczanie danych sumami (wielomianami) kontrolnymi. To rozwiązanie ma jedną zaletę - jest tanie w warstwie sprzętowej.

Jeżeli wymiana danych nie musi spełniać kryteriów dużej niezawodności przesyłania i nie jest wymagane skuteczne zabezpieczanie przed podsłuchem, to oprogramowanie również może się okazać relatywnie tanie. Do wspomnianego już zdalnego odczytywania danych meteorologicznych czy podobnych danych, takie rozwiązanie będzie wystarczające. Każda dodatkowa funkcjonalność, na przykład konfiguracja sieci, retransmisja danych przez urządzenia połączone takimi łączami radiowymi w celu zwiększenia zasięgu, wykrywanie przesyłania błędnych danych, wykrywanie utraty połączenia z obiektem, czy optymalizacja pobieranej mocy będzie się wiązała z dużym nakładem pracy programisty. Poza tym powstanie urządzenie, które będzie kompatybilne samo ze sobą co najczęściej jest wadą, a tylko czasami zaletą.

W wymagających zastosowaniach stosuje się połączenia radiowe wykorzystujące specjalnie do tego celu zaprojektowane i ustandaryzowane protokoły wymiany danych. Nie ma tu uniwersalnego rozwiązania i standard połączenia radiowego dobiera się do wymagań aplikacji. W technice komputerowej protokoły wymiany danych opisuje się za pomocą modeli warstwowych. W każdym z takich modeli jest przewidziany podział na najniższą warstwę fizyczną obejmującą rozwiązania sprzętowe i warstwy wyższe definiowane dla konkretnego protokołu. W interfejsach bezprzewodowych warstwa fizyczna to transceiver radiowy pracujący w zadanym paśmie częstotliwości z określoną modulacją i mocą wyjściową. Interfejs musi mieć możliwość modulowania fali nośnej kanału częstotliwości przez strumień danych cyfrowych nadawanych i demodulowania danych odbieranych.

Standardy łącz bezprzewodowych są dobrze udokumentowane i można bez problemu napisać ich implementację. To jednak wymaga sporego nakładu czasu pracy programisty i przez to koszty wyraźnie rosną. Dlatego na rynku dostępne są kompletne moduły zbudowane z części radiowej połączonej z mikrokontrolerem, w którym jest umieszczony firmware realizujący większość funkcji niezbędnych do nawiązania połączenia, przesyłania danych, obsługi błędów itp. Zależnie od wykonania, zaimplementowana jest obsługa dwu najniższych warstw: sprzętowej i dostępu do łącza MAC, lub całego protokołu z elementami warstwy aplikacji.

Proste moduły radiowe

Tam, gdzie potrzebujemy taniego rozwiązania najczęściej do połączenia punkt-punkt, optymalnym wyborem są proste moduły radiowe. Swego rodzaju standardem stały się moduły na bazie układu nRF24L01 firmy Nordic Semiconductor (fotografia 1). Popularność zawdzięczają niskiej cenie i sporym możliwościom. Moduły z układem nRF24L01 są szeroko stosowane w środowisku Arduino, co również przyczynia się do dużej popularności.

Fotografia 1. Moduł z układem nRF24L01

Niestety moje doświadczenia z nimi są różne. Kiedyś działały bardzo dobrze, ale w tych ostatnio kupionych zupełnie nie działa komunikacja na poziome interfejsu SPI. Po przejrzeniu kilku forów okazało się, że inni użytkownicy na całym świecie mają podobne problemy. Jeżeli nie chcemy mieć takich problemów i tracić mnóstwa czasu na to by w końcu stwierdzić, że układ na płytce jest albo uszkodzony, albo jest to nie działająca podróbka warto zakupić sprawdzone moduły znanej firmy (fotografia 2).

Fotografia 2. Moduł firmy Sparkfun z układem nRF24L01

Schemat blokowy serca modułu, czyli układu nRF24L01 został pokazany na rysunku 2. Układ pracuje w paśmie ISM 2,4...2,5 GHz z modulacją GFSK. Jest to zmodyfikowana wersja modulacji FSK, w której strumień danych wejściowych poddaje się filtrowaniu cyfrowemu przez filtr Gaussa (GFSK Filter) (rysunek 2). Układ ma wbudowany kompletny tor radiowy z syntetyzatorem częstotliwości, wzmacniaczem pośredniej częstotliwości i wzmacniaczem antenowym. Może pełnić rolę nadajnika i odbiornika w trybie pracy half duplex. Dostępne pasmo radiowe zostało podzielone na 125 kanałów. Czas przełączania pomiędzy kanałami jest krótszy niż 200 μs.

Rysunek 2. Schemat blokowy układu nRF24L01

Dostępne są dwa tryby pracy: Shock Burst i bezpośredni. W trybie Shock Burst host (mikrokontroler) zapisuje wewnętrzny bufor FIFO o rozmiarze 256 bajtów z wybraną prędkością transmisji przez interfejs SPI. Po wysłaniu wszystkich danych do FIFO logika sterująca inicjuje wysyłanie drogą radiową z prędkością 1 Mb/s, lub 250 kb/s.

W trybie bezpośrednim dane są wysyłane z prędkością z jaką je wysyła host do nRF24L01.

Jest również możliwość sprzętowego generowania wielomianu kontrolnego (CRC) w układzie nadajnika i sprawdzania poprawności przesłania na podstawie tego CRC w odbiorniku. Moduły z układem nRF24L01 są dość zaawansowane technicznie i można je z powodzeniem stosować do poważniejszych zadań mimo braku wsparcia protokołów radiowych.

Na rynku istnieją też prostsze moduły pracujące w pasmach 433 MHz i 868 MHz. Najczęściej jest to komplet dwu modułów: jeden jest nadajnikiem, a drugi odbiornikiem. To dość spore ograniczenie funkcjonalności, bo w takiej konfiguracji nie można zrealizować transmisji dwukierunkowej. Przykład bardzo prostego zestawu nadajnik-odbiornik na pasmo 433 MHz został pokazany na fotografii 3. Zastosowano tu modulację ASK, czyli kluczowanie amplitudy. Takie rozwiązania są przeznaczone w zasadzie tylko dla hobbystów i w takich zastosowaniach powinny się sprawdzić.

Fotografia 3. Zestaw nadajnik-odbiornik na pasmo 433 MHz

Inteligentne interfejsy radiowe – IQRF

Jeżeli potrzebujemy rozwiązania stosunkowo prostego, ale jednocześnie dającego unikalne możliwości warto zainteresować się ofertą czeskiej firmy MICRORISC. Prosty (z punktu widzenia programisty) moduł radiowy połączono z małym mikrokontrolerem i umieszczono ten układ na małej płytce drukowanej (fotografia 4). Taki pomysł nie wydaje się czymś odkrywczym i rzeczywiście tak by było, gdyby na tym poprzestano.

Fotografia 4. Moduł TR72

Produkt Microrisca to znacznie więcej niż moduł radiowy i mikrokontroler. Został zaprojektowany cały system zbudowany z małych łatwych w użyciu i programowaniu modułów radiowych, zestawów rozszerzających DCC Kits i firmowych narzędzi sprzętowych i programowych stanowiących kompleksowe wsparcie dla projektanta.

Użytkownik ma do dyspozycji część pamięci programu mikrokontrolera i może tam umieszczać swój firmware napisany w języku C współpracujący z wbudowanym OS (rysunek 3). Wydajność bardzo prostego rdzenia mikrokontrolera PIC16F i dostępne zasoby nie pozwalają na zaimplementowanie bardziej zaawansowanych protokołów radiowych, ale do prostych zastosowań bardzo się przydaje elastyczne połączenie mikrokontrolera wspieranego przez prosty OS z modułem radiowym.

Rysunek 3. Schemat blokowy modułu TR72

Obecnie oferowana jest kolejna generacja modułów. W torze radiowym pracuje układ SPIRIT1 produkcji STMicroelctronics. Mikrokontroler to jednostka Microchipa PIC16LF1938 ze znanym i prostym rdzeniem 8-bitowym PIC16F. Na płytce modułu zamontowano sensor temperatury MCP9808 i pamięć EEPROM 24AA256 o pojemności 256 kb. Schemat modułu TR72 został pokazany na rysunku 4. SPIRIT1 może pracować w pasmach 150...174 MHz, 300...348 MHz, 387...470 MHz, 779...956 MHz. To pozwala dobierać pasmo, w którym moduł będzie działał. Wybrane pasmo częstotliwości musi być dopuszczone do stosowania bez zezwolenia w kraju, w którym moduł będzie używany. W Europie jest to pasmo 868 MHz ISM.

Rysunek 4. Schemat modułu TR72

W pamięci mikrokontrolera modułu fabrycznie umieszczono prosty system operacyjny nazwany IQRF OS. Użytkownik ma do dyspozycji zestaw funkcji systemowych. Za ich pomocą realizowany jest transfer danych przez kanał radiowy i transmisja danych do układu hosta (standardowo przez interfejs SPI). Funkcje IQRF OS wspierają pracę sieci typu MESH. Program użytkownika jest pisany w języku C i kompilowany kompilatorem CC5X. Tu również producent zadbał o to by nie trzeba było się martwić o niezbędne narzędzia. Darmowa wersja kompilatora zupełnie wystarcza do napisania sporego programu. Trzeba pamiętać, że taki moduł jest inteligentnym układem peryferyjnym i nie są na nim uruchamiane duże zadania. Jeżeli jest to konieczne, to moduł radiowy pełni funkcje komunikacyjne, a bardziej wymagające zadania wykonuje host. Tworzenie aplikacji umożliwia firmowy pakiet IRQF IDE. Mimo, że na pierwszy rzut oka wygląda na proste narzędzie, to ma dość spore możliwości. Z jego pomocą możemy wykonać wszystkie czynności projektowe: edytować (za pomocą zewnętrznego edytora) plik źródłowy języka C, skompilować go, zaprogramować mikrokontroler modułu radiowego i debugować działający program. I na koniec „programator” modułów umożliwia z poziomu IRQF IDE zapisanie pamięci Flash mikrokontrolera kodem programu użytkownika. IDE ma też szereg przydatnych funkcji, na przykład podglądanie on line transmisji w kanale radiowym i podglądanie transmisji interfejsu SPI łączącego moduł z hostem (w tym przypadku hostem jest IDE).

Do programowania pamięci mikrokontrolera jest potrzebny dodatkowy moduł programatora z interfejsem USB. W programatorze umieszcza się moduł radiowy, na przykład wspomniany TR72 i po połączeniu kablem USB można programować jego pamięć. To jednak nie wszystko. Producent przewidział możliwość zdalnego przeprogramowania modułów poprzez połączenie radiowe. Można przeprogramować jeden konkretny moduł lub jednocześnie wszystkie z którymi jest łączność.

W systemie IQRF moduły radiowe TR52B tworzące sieć mogą pracować w dwu trybach:

  • Peer-to-peer,
  • IQMESH.

Peer-to-peer jest trybem domyślnym. Jest używany do połączenia dwu lub więcej obiektów bez systemowego Koordynatora sieci. Pakiety danych wysyłane przez moduł są dostępne dla wszystkich pozostałych modułów w sieci. Adresowanie i ruch pakietów nie są wspierane przez IRQF OS i musi być całkowicie zaimplementowane w warstwie aplikacji użytkownika. Ilość modułów w sieci nie jest limitowana. Można sobie wyobrazić sieć w topologii gwiazdy z modułami zaprogramowanymi do pracy w trybie Peer-to-peer. Moduł połączony z hostem pracuje jako Master i sekwencyjnie odpytuje wszystkie pozostałe (Slave). Każdy moduł Slave musi mieć przypisany na stałe unikalny adres i odpowiada w momencie, kiedy jest wywołany (zaadresowany) przez Mastera.

Tryb IQMESH pozwala na utworzenie sieci kratowej (MESH). Z założenia taka sieć daje możliwość komunikacji pomiędzy elementami sieci bez konieczności używania wydzielonego elementu centralnego. Każde urządzenie sieciowe (moduł radiowy) może komunikować się z każdym innym urządzeniem bezpośrednio (jeśli jest zasięg radiowy) lub za pośrednictwem dowolnych modułów (gdy element docelowy jest poza bezpośrednim zasięgiem źródła) (rysunek 5).

Rysunek 5. Przykładowa konfiguracja sieci IQMESH

W poważniejszych projektach na pewno docenimy kompletność systemu i możliwości szybkiego tworzenia prostych inteligentnych, interfejsów radiowych, silne wsparcie sieci MESH i możliwość szybkiego debugowania. W jednym z projektowanych urządzeń zastosowałem starsze moduły TR52D. Z praktyki wiem, że te moduły pracują niezawodnie, a pisanie i uruchamianie własnego firmware jest szybkie i nie sprawia problemów. Mimo wielu zalet IQRF niestety nie wpiera najbardziej znanych i popularnych protokołów sieciowych typu BLE, czy ZigBee i to z pewnością rzutuje na jego popularność.

Microchip Mi-Wi

Microchip ma w swojej ofercie ciekawy system połączenia bezprzewodowego nazwany Mi-Wi obejmujący kompletne rozwiązania sprzętowe i programowe. Częścią radiową pierwotnie zajmowały się dedykowane moduły radiowe współpracujące ze standardowymi mikrokontrolerami PIC z różnych rodzin i o wydajności zależnej od wymagań aplikacji.

Od roku 2018 firma zamroziła rozwój oprogramowania Mi-Wi dla mikrokontrolerów PIC a skupiła się na rozwiązaniu opracowanym przez przejętą firmę Atmel ze specjalnymi „radiowymi” mikrokontrolerami Microchip SAMR30 (sub-GHz) i SAMR21 (2,4 GHz).

Microchip Mi-Wi opiera się na radiowym standardzie IEEE802.15.4, opisującym sieci WPAN, przeznaczonym dla sieci bezprzewodowych o niskiej przepływności, małym zużyciu energii i niskich kosztach. To bardzo ważny standard będący fundamentem wielu bezprzewodowych protokołów sieciowych w tym tak znanych jak ZigBee, czy Thread.

Stos protokołu Mi-Wi używa zmodyfikowanej warstwy MAC standardu IEEE 802.15.4 polegającą na dodaniu poleceń upraszczających proces uzgadniania połączenia. Łatwiej jest zaimplementować procesy łączenia i rozłączania połączenia, oraz skanowanie kanałów radiowych. Jednak szereg czynności takich jak na przykład decyzje o tym, kiedy i jak skanować kanały, czy wprowadzać mechanizmy oszczędzania energii nie są zaimplementowane w protokole i trzeba je wykonać w warstwie aplikacji.

Mi-Wi może pracować w trybach P2P (peer to peer) lub z wydzielonym punktem centralnym (topologia gwiazdy). Urządzenia pracujące w sieci dzieli się na trzy rodzaje w zależności od wykonywanych funkcji:

  • Koordynator PAN (Personal Area Network Coordinator),
  • Urządzenie FFD (Full Function Device),
  • Urządzenie RFD (Reduced Function Device).

W topologii gwiazdy pokazanej na rysunku 6 koordynator PAN inicjuje wymianę danych i akceptuje połączenia przychodzące od urządzeń w sieci. Urządzenia końcowe FFD lub RFD mogą ustanowić połączenie tylko z koordynatorem PAN. W urządzeniach FFD transceiver jest zawsze włączony i urządzenia te są zasilane z sieci energetycznej.

Rysunek 6. Topologia sieci STAR Mi-Wi

Z kolei RFD jest przeznaczony do zasilania bateryjnego i jego transceiver jest wyłączany w stanie IDLE.

W topologii P2P pokazanej na rysunku 7, w odróżnieniu od sieci z topologią gwiazdy, urządzenia końcowe FFD mogą nawiązywać połączenia nie tylko z koordynatorem PAN, ale także między sobą. Można w ten sposób zbudować sieć kratową MESH. Microchip wspiera technologie Mi-Wi dostarczając moduły radiowe, zestawy ewaluacyjne oraz bezpłatne oprogramowanie. Biblioteki przeznaczone dla mikrokontrolerów PIC z rodzin PIC16, PIC18 i PIC24, dsPIC33 i PIC32 obsługują moduły radiowe z trasceiverami MRF24J40 (pasmo 2,4 GHz) i MRF89XA (pasmo 870 MHz). Stos protokołu używa maszyny stanów (bez RTOS).

Rysunek 7. Topologia P2P
Fotografia 5. Moduł MRF89XAM8A pracujący w paśmie 863...870 MHz

Na fotografii 5 pokazano moduł trasceivera MRF89XAM8A wpierającego sprzętowo funkcje warstwy MAC. Moduł jest przeznaczony do pracy z częstotliwościami 863...870 MHz z modulacją FSK, lub OOK (ASK). Maksymalne przepływności danych dla modulacji FSK wynoszą 40 kbps, a dla OOK 16 kbps. Moduł komunikuje się z mikrokontrolerami PIC za pomocą interfejsu SPI.

Oprócz modułów radiowych dostępne są kompletne moduły ewaluacyjne z mikrokontrolerem przygotowane do uruchamiania firmowych przykładów demonstracyjnych. Jednym z nich jest zestaw DM182018 zawierający trzy płytki. Jedna z nich jest przeznaczona do pracy jako koordynator PAN a dwie jako urządzenia końcowe. Taki zestaw pozwala na pełny test działania sieci Mi-Wi.

Microchip zarzucił rozwijanie sieci Mi-Wi w oparciu o dedykowane moduły i firmware zapisane w pamięci mikrokontrolera rodzin PIC micro. Po przejęciu Atmela nowe wcielenia stosu Mi-Wi pracują z mikrokontrolerami rodzin ATSAMR21 i ATSAMR30. ATSAMR21 jest rodziną mikrokontrolerów z rdzeniem Cortex M0+, w których jednym z układów peryferyjnych jest transceiver radiowy na pasmo 2,4 GHz. Układ ma też wbudowany sprzętowy układ akceleratora warstwy MAC IEEE 802.15.4 co znacząco ułatwia implementację stosu. Wystarczy dołączyć układ antenowy, żeby zbudować moduł radiowy o dużych możliwościach programowych. Stos Mi-Wi jest tylko jedną z możliwości użycia tych mikrokontrolerów. Inną opcją może być na przykład stos ZigBee. Na fotografii 6 pokazano moduł ATSAMR21 X Plained PRO z mikrokontrolerem ATSAMR21G18A przeznaczony miedzy innymi do testów pracy w sieci Mi-Wi. Stos MiWI dla mikrokontrolerów SAMR21 jest dostępny z poziomu IDE Atmel Studio lub IAR Workbench.

LoRaWAN

Większość łączy radiowych w pasmach przeznaczonych do użytku bez zezwoleń ma mały bezpośredni zasięg wynoszący maksymalnie 100...200 metrów w terenie otwartym. Wynika to z dużego ograniczenia mocy nadajników i zastosowanej modulacji. Zasięg można zwiększać stosując sieci kratowe i retransmisje pakietów danych przez urządzenia pracujące w sieci. Ale są takie zastosowania, w których potrzebny jest dużo większy zasięg bezpośredni przy braku możliwości retransmisji danych. Przykładem mogą czujniki IoT rozmieszczane w słabo zaludnionych obszarach, gdzie nie ma rozbudowanej infrastruktury i nie można użyć do tego celu łączy radiowych krótkiego zasięgu.

Dla dynamicznie rozwijających się sieci urządzeń IoT rozproszonych na dużym obszarze próbuje się projektować i wdrażać różne rozwiązania połączeń radiowych. Najbardziej obiecujące są dedykowane sieci radiowe bazujące na infrastrukturze sieci komórkowych GSM. Z założenia maja to być komercyjne rozwiązania oferujące płatny transfer danych, ale o ograniczonych kosztach wynikających z masowego stosowania. Alternatywnym rozwiązaniem mogą być sieci LoRaWAN.

LoRaWAN jest radiowym protokołem komunikacyjnym, który pozwala łączyć się z Internetem urządzeniom IoT wyposażonym w łącze radiowe. Połączenie nie jest realizowane wprost, ale za pomocą specjalnych stacji bazowych nazywanych koncentratorami. Bardzo ważną cechą standardu jest możliwość uzyskania relatywnie dużych zasięgów przy bardzo małej mocy nadawania (20 dBm) pomiędzy urządzeniami końcowymi a stacjami bazowymi liczonych w kilometrach. Male moce nadajników umożliwiają niskie zużycie energii i możliwość zasilania bateryjnego. Technologia LoRaWan bazuje na otwartym standardzie i wykorzystuje jedną z częstotliwości otwartego pasma ISM – w Europie 868 MHz. To ma daleko idące konsekwencje, bo umożliwia tworzenie własnych tanich sieci bez konieczności uzyskiwania administracyjnych zgód i ponoszenia opłat za używanie pasma. Tą technologią interesują się również operatorzy telekomunikacyjni, na przykład Orange, SK Telecom. Niestety w naszym kraju jak na razie pokrycie sieciami LoRaWAN jest bardzo małe i to głównie w dużych miastach.

Do transmisji w kanale radiowym używany jest system komunikacji nazwany LoRa. Przesyłanie danych na relatywnie duże odległości jest możliwe dzięki modulacji CSS (Chirp Spread Spectrum). Co ciekawe jest to technika opracowana w latach 30-tych XX wieku na potrzeby konstruowanych w tym czasie radarów. Stosowana też była do łączności w astronautyce. CSS jest odporna na zakłócenia wynikające z odbić (interferencja sygnałów), jest odporna na zjawisko Dopplera, nie wymaga synchronizacji odbiornika i nadajnika i co ważne amplituda sygnału nie ma praktycznie wpływu na stopę błędów podczas transmisji (amplituda ma wpływ tylko na zasięg sygnału).

Za to modulacja CSS ze względu na swoje właściwości nie pozwala na przesyłanie danych z dużymi prędkościami transmisji.

LoRaWAN jest protokołem dostępu do łącza MAC (Medium Access Protocol). Jak wiemy przy jego opracowywaniu położono nacisk na pracę z łączami dalekiego zasięgu, ale o małej przepływności i jest z zasady przeznaczony dla urządzeń IoT pracujących z optymalizowanym małym zużyciem energii. Dwukierunkowość przesyłania danych pozwala na realizację niezawodnego przesyłania informacji przez możliwość zaimplementowania mechanizmu potwierdzeń oraz przesyłanie komend sterowania. Bezpieczeństwo transmisji zapewnia silne szyfrowanie. Ważną cechą użytkową jest możliwość bezprzewodowej rejestracji nowych urządzeń w sieci oraz przesyłanie danych w trybie multicast (jeden do wielu).

Rysunek 8. Struktura sieci LoRaWAN

Na rysunku 8 pokazano strukturę sieci LoRaWAN. Węzły (urządzenia końcowe – czujniki) łączą się z koncentratorami za pomocą protokołu LoRaWAN RF. Koncentratory przesyłają dane do serwerów sieciowych standardowym połączeniem wykorzystującym protokoły LoRaWAN TCP/IP SSL (Wi-Fi, Ethernet), lub za pomocą usługi dostępowej w sieciach GSM (3G/LTE). Sieć jest zbudowana z czterech głównych komponentów:

  • urządzeń końcowych (węzłów),
  • koncentratorów (stacji bazowych, routerów, bramek),
  • serwera sieciowego,
  • serwerów aplikacji.

Urządzenia końcowe to sprzęt, który zawiera czujniki, układy sterowania, mikrokontroler i moduł transmisji radiowej. Obsługują transmisje dwukierunkową z koncentratorami – mogą same wysyłać dane, ale też otrzymywać dane z koncentratorów. W założeniu urządzenia IoT, które są czujnikami i pracują jako węzły sieci LoRaWAN powinny nieć możliwość długotrwałej pracy z zasilania bateryjnego. Ze względu na rodzaj transmisji i zużycie energii wprowadzono podział urządzeń na klasy: A, B i C. Klasa A – pobiera najmniej energii. Urządzenia tej klasy wysyłają krótkie informacje zdarzeniowo, to znaczy tylko wtedy, kiedy nastąpi zdarzenie typu przekroczona jakaś wartość mierzonego parametru. Urządzenia klasy B mogą przesyłać dłuższe informacje i odbierać dłuższe informacje z mniejszym opóźnieniem reakcji serwera spowodowanej losowym wysyłaniem danych uplink przez urządzenie klasy A. Urządzenie klasy C może ciągle odbierać dane z wyjątkiem, kiedy samo wysyła dane. Klasa ta nie jest przewidziana do zasilania bateryjnego i wymaga stałego zasilania z sieci energetycznej.

Węzły (urządzenia końcowe) sieci LoRaWAN jak wiemy powinny się charakteryzować bardzo małym poborem energii. W urządzeniach klasy A i B stosuje się głębokie uśpienie w czasie braku aktywności pozwalające na znaczące obniżenie poboru prądu. Ale niezbędny jest też pewien stopień wydajności zabudowanego mikrokontrolera pozwalający na obsługę stosu, kodowanie transmisji danych i oczywiście obsługę czujnika pomiarowego. Dlatego wielu producentów stosuje 32-bitowe mikrokontrolery z wbudowanymi zaawansowanymi trybami obniżonego poboru energii. Jednym z gotowych modułów przeznaczonych do pracy jako węzeł sieci LoRaWAN jest ATSAMR34 X Plained PRO Demo Board produkowany i oferowany przez firmę Microchip jednego z członków grupy LoRaAlliance (fotografia 7).

Fotografia 7. Moduł ATSAMR34 X Plained PRO Demo Board

Moduł jest oparty o specjalizowany mikrokontroler ATSAMR34J18B z wbudowanym trasceiver’em LoRa i 32-bitowym rdzeniem Cortex M0+. Jego podstawowe właściwości to:

  • wsparcie dla pasm 868 MHz i 915 MHz,
  • moc wyjściowa maksymalnie +20 dBm,
  • wbudowany oscylator TCXO,
  • gniazdo antenowe SMA RF z dołączoną w zestawie anteną (Whip Antenna),
  • układy do pomiaru poboru prądu współpracujące z XPRO Current Measurement System Data Visualizer,
  • wbudowany system zarządzenia energii z monitorowaniem poboru prądu,
  • wbudowany EDBG Debugger współpracujący ze środowiskiem Atmel Studio 7 ICE,
  • dwa złącza rozszerzeń,
  • 10-pinowe złącze dla programatora Cortex Programmer,
  • przyciski Reset i GIPO,
  • diody LED statusowa i sygnalizująca włączone zasilanie,
  • holder na baterię podtrzymującą CR1220.

Najważniejszym elementem modułu jest oczywiście mikrokontroler. Seria SAMR34 ma 32-bitowy rdzeń ARM Cortex M0+ połączony z wbudowanym tranceiverem UHF wspierającym standard LoRa z modulacją FSK. Rdzeń może być taktowany maksymalną częstotliwością 48 MHz.

Innym przykładem modułu ewaluacyjnego przeznaczonego do testowania technologii LoRaWAN jest zestaw B-L072Z-LRWAN1 LoRa/Sigfox Discovery produkowany przez STM (fotografia 8).

Fotografia 8. Zestaw B-L072Z-LRWAN1 LoRa / Sigfox Discovery

Podstawowym elementem zestawu jest zintegrowany moduł CMWX1ZZABZ-091 produkcji firmy Murata zawierający mikrokontroler rodziny STM32L072, lub STM32L082, transceiver SEMTECH SX1276 wyposażony w modem LoRa, oraz wszystkie niezbędne układy wielkiej częstotliwości. Schemat blokowy modułu został pokazany na rysunku 9. CMWX1ZZABZ-091 jest dostarczany w postaci zaekranowanego modułu z wyprowadzeniami do montażu powierzchniowego.

Rysunek 9. Schemat blokowy CMWX 1ZZABZ-091 produkcji firmy Murata

Zestaw B-L072Z-LRWAN1 Discovery zawiera wbudowany standardowy programator/debuger ST-LINK/V2-1, diody LED, przyciski, antenę, złącza Arduino Uno V3 i złącze USB OTG w formacie Micro-B. Stos LoRaWAN obsługuje klasy urządzeń typu A, B i C. Jest dostępny w pakiecie oprogramowania I-CUBE-LRWAN dostępnego przez STM32CubeMX. Dostępnych jest kilka przykładów, w tym zestaw poleceń AT, które pomagają użytkownikom skonfigurować kompletny węzeł LoRaWAN. Stos Sigfox jest zgodny z RC1, RC2, RC3c i RC4. Jest dostępny w pakiecie rozszerzeń X-CUBE-SFOX. Dostępnych jest również kilka przykładów, w tym modem AT-command, aby pomóc użytkownikom w skonfigurowaniu kompletnego węzła Sigfox.

Podsumowanie

Połączenia radiowe to od dłuższego czasu ważny temat. Szybki rozwój protokołów i rozwiązań sprzętowych jest napędzany ciągle rosnącą popularnością urządzeń IoT, ale również masowym stosowaniem w urządzeniach konsumenckich takich jak smartfony, laptopy, smartTV itp.

Do połączeń pomiędzy urządzeniami IoT i nie tylko stosuje się standardy pracujące w pasmach ISM z małymi mocami nadajników. Ograniczenie mocy powoduje, że zasięgi radiowe są niewielkie zależnie od standardu i warunków propagacji od 10 m do 200 m. To z jednej strony wada, a z drugiej strony zaleta, bo nadajniki przez ograniczony zasięg niż zakłócają się wzajemnie. Małe moce nie powinny w założeniu oddziaływać niekorzystnie na nasze zdrowie.

Z ograniczonym zasięgiem można sobie radzić w różny sposób. Jednym z nich jest budowa sieci kratowej (MESH). Umieszczone na jakimś obszarze urządzenia sieciowe mogą przekazywać pakiety danych do jednego do kolejnego i w ten sposób zwielokrotniać ograniczony zasięg bezpośredni. Przykłady takiego rozwiązania to standardy ZigBee, Thread, czy rozwiązanie IQMESH. Użycie w sieci ruterów granicznych (border router) pozwala na przesyłanie pakietów danych do sieci WLAN przez Wi-Fi i dalej przez Internet do chmury danych. Sprawdzone i już tanie rozwiązania na przykład WiFi umożliwiają tworzenie sieci z punktem dostępowym (acces point).

Zestandaryzowane rozwiązania protokołów sieciowych umożliwiły producentom rozwiązań sprzętowych zaoferować gotowe stosy protokołów umieszczane w pamięci mikrokontrolerów współpracujących z modułami radiowymi lub w pamięci mikrokontrolerów zintegrowanych z tranceiverami radiowymi. Stosy protokołów mogą być dostępne jako bezpłatne biblioteki dystrybuowane przez producentów mikrokontrolerów. Rozwiązuje to za projektanta wiele problemów związanych z kodowaniem transmisji, organizacją i konfiguracją sieci, wprowadzania mechanizmów oszczędzania energii itp. Trudno dzisiaj znaleźć argumenty za stosowaniem własnych rozwiązań sieciowych.

Urządzenia IoT pracujące w słabo zurbanizowanym terenie muszą mieć relatywnie duży zasięg rzędu kilometrów i bardzo ograniczony pobór energii (zasilanie bateryjne). Odpowiedzią na te potrzeby może być standard LoRaWAN promowany przez znaczących producentów mikroelektroniki. Jednak LoRaWAN potrzebuje sieci stacji bazowych podłączonych do Internetu. O ile nawet samodzielne zbudowanie takiej stacji nie jest technicznie skomplikowane, to dostęp do Internetu w słabo zurbanizowanym terenie może być problemem. Są miejsca, w których LoRaWAN rozwija się dynamicznie, ale niestety u nas jest na razie to bardzo mało popularne rozwiązanie.

Wspomniana już popularność sieci urządzeń IoT i związana z tym konieczność tworzeni sieci radiowych spowodowała, że pojawiły się również odpowiednie rozwiązania sprzętowe. Tu również da się zauważyć pewne tendencje. Początkowo były to moduły radiowe zawierające chipy z tranceiverem, układem modulatora, zintegrowaną anteną i układem modulacji. Jest to wielkie ułatwienie, bo poprawne zaprojektowanie układu wielkiej częstotliwości wymaga sporej wiedzy i jeszcze większego doświadczenia. Zastosowanie gotowego modułu zwalnia projektantów od rozwiązywania tych problemów. Wystarczy tylko wysyłać dane przez interfejs szeregowy. Przykładem takiego chipa jest nRF24L01 i moduły budowane z jego użyciem. Równolegle pojawiały się moduły, które potrafiły więcej. Oprócz transceivera zawierały układy mikrokontrolera i oprogramowanie obsługujące niższe warstwy protokołów sieciowych. Wiele tych rozwiązań jest opartych o standard IEEE 802.15.4 opisujący warstwę fizyczną i dostępu do mediów MAC w bezprzewodowych sieci osobistych o niskiej przepustowości (LR-WPAN). Ten standard jest stosowany w sieciach Mi-Wi, ZigBee, czy Thread.

Ostatnio daje się zauważyć kolejną nową tendencję. Do budowy elementów sieci bezprzewodowych stosuje się konstrukcje mikrokontrolerów z zintegrowanym kompletnym modułem radiowym. Wspominałem o takich mikrokontrolerach:

  • ATSAMR34J18B z rdzeniem Cortex i modułem radiowym LoRa,
  • Silicon Labs EFR32 ™ z modułem radiowym standard IEEE 802.15.4 przeznaczonym dla ZigBee i Thread,
  • Rodzinie mikrokontrolerów STM32WB z modułem radiowym standard IEEE 802.15.4 przeznaczonym dla BLE, ZigBee i Thread.

Szczególnie interesując jest ta ostatnia pozycja. Układ ma dwa rdzenie. Jeden z nich o mniejszej wydajności współpracuje z modułem radiowym i jest przeznaczony do implementacji protokołów sieciowych. Drugi o dużej wydajności ma wykonywać zaawansowane zadania stawiane przez aplikację.

Wszystkie nowe rozwiązania przywiązują szczególną wagę do dwu rzeczy. Po pierwsze układy transmisji bezprzewodowej muszą mieć możliwość pracy z bardzo ograniczonym poborem energii. Urządzenia końcowe w sieciach kratowych i sieciach LoRaWAN mogą pracować z zasilaniem bateryjnym i wprowadzanie zaawansowanych trybów oszczędzania energii z możliwością szybkiego wybudzania jest niezbędne.

Druga sprawa to bezpieczeństwo przesyłania danych. Standard WiFi pokazał, że tylko mocne szyfrowanie transmisji jest w stanie ochronić przed nieuprawnionym dostępem. Dlatego mikrokontrolery przeznaczone do pracy w sieciach bezprzewodowych mają wbudowane zaawansowane sprzętowe moduły szyfrujące pozwalające uzyskać trudne do złamania szyfrowanie transmisji.

Rynek modułów radiowych jest bardzo duży. Wystarczy zobaczyć oferty większych dystrybutorów elementów elektronicznych. Jest wielu producentów gotowych modułów dla wszystkich rodzajów sieci radiowych. Oprócz gotowych do użytku stosów protokołów oferowane są najczęściej bezpłatnie programowe narzędzia diagnostyczne pozwalające na testowanie i debugowanie transmisji.

Tomasz Jabłoński, EP

Artykuł ukazał się w
Czerwiec 2020
Zobacz też
Elektronika Praktyczna Plus lipiec - grudzień 2012

Elektronika Praktyczna Plus

Monograficzne wydania specjalne

Elektronik lipiec 2020

Elektronik

Magazyn elektroniki profesjonalnej

Raspberry Pi 2015

Raspberry Pi

Wykorzystaj wszystkie możliwości wyjątkowego minikomputera

Świat Radio lipiec 2020

Świat Radio

Magazyn użytkowników eteru

APA - Automatyka Podzespoły Aplikacje lipiec 2020

APA - Automatyka Podzespoły Aplikacje

Technika i rynek systemów automatyki

Elektronika Praktyczna lipiec 2020

Elektronika Praktyczna

Międzynarodowy magazyn elektroników konstruktorów

Praktyczny Kurs Elektroniki 2018

Praktyczny Kurs Elektroniki

24 pasjonujące projekty elektroniczne

Elektronika dla Wszystkich lipiec 2020

Elektronika dla Wszystkich

Interesująca elektronika dla pasjonatów