wersja mobilna
Online: 429 Sobota, 2016.12.03

Technika

Bluetooth Low Energy i ANT. Protokoły komunikacji ultra low power

środa, 29 stycznia 2014 13:44

Dzięki rozwojowi protokołów komunikacji bezprzewodowej zoptymalizowanych pod kątem ograniczenia poboru mocy możliwości wykorzystania sieci czujników stale przybywa. Oprócz aplikacji pomiarowych w przemyśle sensory zasilane z tej samej baterii nawet przez kilka lat są już używane m.in. w automatyce domowej. Te mierzące tętno i przebyty dystans są z kolei mocowane na ciele albo na ubraniach sportowców. W artykule przedstawiamy protokoły Bluetooth Low Energy oraz ANT zaliczane do grupy ultra low energy (pobór prądu poniżej 1 mA). Obecnie to głównie one rywalizują o udziały w rynku WSNs (Wireless Sensor Networks).

W przeciwieństwie do wcześniejszych wersji protokołu Bluetooth, których rozwój nakierowany był przede wszystkim na zwiększenie przepustowości - z 1 Mb/s w Bluetooth BR (Basic Rate), przez 3 Mb/s w Bluetooth 2.0 + EDR (Extended Data Rate) aż do 24 Mb/s w Bluetooth 3.0 + HS (High Speed) - w wypadku Bluetooth Low Energy (BLE) priorytetem było maksymalne zmniejszenie poboru prądu. W rezultacie urządzenie komunikujące się za pośrednictwem BLE, które zasila pojedyncza bateria guzikowa, może (w zależności od aplikacji) pracować bez konieczności jej wymiany od kilku dni do nawet kilkunastu lat, ale przy przepustowości "zaledwie" 1 Mb/s.

BLE w pigułce

Węzły w sieci Bluetooth Low Energy komunikują się w paśmie częstotliwości ISM 2,4 GHz, które podzielono na czterdzieści kanałów o szerokości 2 MHz. Wyróżniono dwa typy kanałów: data oraz advertising (trzy kanały). Te pierwsze są wykorzystywane do dwukierunkowej komunikacji między urządzeniami w sieci, natomiast kanały advertising są używane w czasie wyszukiwania urządzeń BLE znajdujących się w pobliżu, nawiązywania połączenia oraz transmisji rozgłoszeniowej. Aby uzyskać jak najlepszą jakość sygnału, trzeba ograniczyć wpływ zjawisk specyficznych dla łączności bezprzewodowej, takich jak zaniki selektywne i wielodrogowość.

W tym celu stosuje się technikę przełączania częstotliwości (frequency hopping), która polega na tym, że w ustalonej kolejności, naprzemiennie oraz przez określony czas do transmisji informacji wykorzystywany jest każdy z 37 kanałów. Metodą modulacji stosowaną w BLE jest kluczowanie częstotliwości z gaussowskim kształtowaniem sygnału GFSK (Gaussian Frequency Shift Keying). Wymagana czułość odbiornika powinna być lepsza, a co najmniej równa -70 dBm.

W przypadku transmisji rozgłoszeniowej węzeł nadający korzysta z każdego z kanałów advertising po kolei. W komunikacji dwukierunkowej wymagane jest nawiązanie łączności.

Komunikacja w sieci BLE

Węzeł (advertiser) rozgłasza, że oczekuje na połączenie, a węzły (scanners) odbierające ten komunikat w odpowiedzi wysyłają wiadomość z żądaniem połączenia (connection request). Zawiera ona wszystkie niezbędne dane, m.in. sekwencję przełączania częstotliwości (można je później aktualizować).

Po nawiązaniu łączności w sieci BLE wyróżnia się węzły typu master (wcześniejsze scanners) oraz slave (wcześniejszy advertiser). Te pierwsze mogą równocześnie komunikować się z większą liczbą węzłów slave, natomiast każdy z tych ostatnich może nawiązać połączenie jednocześnie wyłącznie z jednym węzłem master. W ten sposób realizowana jest pikosieć w topologii gwiazdy. Urządzenie może należeć tylko do jednej w ten sposób zorganizowanej sieci.

Transmisję rozpoczyna węzeł master. Jeżeli węzeł slave odbierze nadany pakiet, powinien przesłać informację zwrotną z potwierdzeniem odbioru. Urządzenie pełniące funkcję mastera, nie musi na to odpowiadać. Wymagane jest natomiast, aby między zakończeniem transmisji jednego pakietu a rozpoczęciem nadawania drugiego minęło co najmniej 150 μs. Jest to odstęp międzyramkowy (IFS, Inter Frame Space). Pakiety zawierają też bit MD (More Data), sygnalizujący, czy transmisja będzie kontynuowana.

Jeżeli ani węzeł master, ani węzeł slave nie mają więcej pakietów do przesłania, proces ich wymiany (connection event) zostaje zakończony. Wcześniej, w dowolnym momencie, na przykład w razie stwierdzenia, że odebrany pakiet zawiera więcej błędów, niż jest to dopuszczalne, łączność może zostać przerwana zarówno przez węzeł master, jak i węzeł slave.

Stos

Stos protokołu Bluetooth LE składa się z: warstwy fizycznej (physical layer), warstwy łącza danych (link layer) oraz HCI (Host Controller Interface), interfejsu, który standaryzuje połączenie między hostem a kontrolerem (zwykle przez SPI, USB albo UART). Częścią stosu BLE jest także warstwa L2CAP (Logical Link Control and Adaptation Protocol), której zadaniem jest "ukrycie" szczegółów z niższych warstw protokołu przed tymi wyższymi i warstwa ATT (Attribute Protocol). Ta ostatnia odpowiada za komunikację między węzłami pełniącymi funkcję klienta i serwera za pośrednictwem danego kanału L2CAP.

"Wyżej" wyróżnia się warstwę SM (Security Manager), która generuje, zarządza i przechowuje klucze szyfrujące oraz warstwy: GATT (Generic Attribute Profile) i GAP (Generic Access Profile). W tej przedostatniej zdefiniowane są procedury korzystania z ATT oraz profile Bluetooth. GAP stanowi natomiast interfejs między aplikacją a profilami BLE oraz odpowiada za wyszukiwanie urządzeń i usług, nawiązywanie i konfigurowanie połączeń, jak również kwestie bezpieczeństwa transmisji.

Oszczędność energii w sieciach

Oszczędność energii w sieciach Bluetooth Low Energy uzyskuje się dzięki zastosowaniu kilku rozwiązań. Przede wszystkim węzły slave przez większość czasu pozostają w trybie sleep, z którego wychodzą okresowo, aby odebrać pakiety przesłane przez węzeł master. Nadawanie i odbiór tych ostatnich jest zsynchronizowane dzięki wdrożeniu techniki wielodostępu do medium transmisyjnego z podziałem czasowym TDMA (Time Division Multiple Access).

Ponadto węzły sieci Bluetooth LE muszą nasłuchiwać tylko na trzech kanałach advertising, których sprawdzenie zajmuje przeciętnie od 0,6 ms do 1,2 ms. W "zwykłym" Bluetooth nasłuchiwać trzeba bez przerwy 32 kanały, co zwykle zajmuje 22,5 ms. Dzięki temu pobór mocy ogranicza się od 10 do nawet 20 razy.

Skanowanie, połączenie, transmisja, potwierdzenie odbioru włącznie z zakończeniem transmisji w wypadku urządzeń BLE zajmuje typowo 3 ms - w "zwykłym" Bluetooth czas ten typowo liczony jest w setkach ms, co oznacza odpowiednio większy pobór mocy. Jest to możliwe m.in. dlatego, że pakiety danych w Bluetooth Low Energy są znacznie krótsze. Oprócz tego indeks modulacji GFSK stosowanej w BLE mieści się w przedziale od 0,45 do 0,55. Jest to nieco więcej niż w "zwykłym" Bluetooth (0,35), ale dzięki temu uzyskuje się większą efektywność widmową oraz poprawia niezawodność transmisji.

Protokół ANT - podstawowe fakty

Rys. 1. Węzeł sieci ANT

W opracowanym przez kanadyjską firmę Dynastream Innovations protokole ANT zdefiniowano warstwę fizyczną, łącza danych, sieciową, transportową i rozwiązania bezpieczeństwa niskiego poziomu. Węzły w sieci ANT, podobnie jak w Bluetooth Low Energy (patrz: porównanie tych protokołów w tabeli), komunikują się w paśmie częstotliwości ISM 2,4 GHz. W przeciwieństwie do BLE, podzielono je na kanały o szerokości 1 MHz. Metodą modulacji również jest GFSK, a przepustowość wynosi 1 Mb/s. Ograniczenie poboru prądu uzyskuje się m.in. dzięki temu, że węzły, korzystając ze swojej szczeliny czasowej (metoda dostępu do medium to TDMA jak w BLE), nadają bardzo krótko (podstawowa długość wiadomości to 150 μs), a gdy nie są aktywne, przechodzą w tryb deep sleep.

Każdy węzeł sieci opartej na protokole transmisji ANT składa się z silnika protokołu i kontrolera hosta (MCU). Rolą tego pierwszego jest ustanowienie i podtrzymanie połączeń oraz operacje w kanale, natomiast kontroler hosta odpowiada za szczegóły aplikacji i inicjację komunikacji z innymi węzłami (rys. 1).

Kanały w sieci ANT

Rys. 2. Kanał to podstawowy blok organizacyjny sieci ANT

Podstawowym blokiem organizacyjnym w sieci ANT jest kanał, który łączy dwa węzły (albo w wypadku transmisji rozgłoszeniowej węzeł master i wiele węzłów slave). Może on być jedno- lub dwukierunkowy. Ilustruje to rysunek 2: kanał A jest jednokierunkowy, a pozostałe dwa dwukierunkowe, przy czym węzeł Hub1 jest węzłem slave (na rysunku mniejszy grot strzałki od węzła) w kanałach A i B oraz węzłem master (na rysunku większy grot strzałki od węzła) w kanale C.

Podstawowy kierunek transmisji to master - slave, a typy wiadomości to: broadcast, potwierdzenie (w wypadku urządzeń ultra power należy pamiętać, że transmisja takich pakietów zwiększa pobór mocy) i typu burst. Te ostatnie służą do wysyłania bardzo dużych ilości danych. Polega to na transmisji serii danych z szybkością większą niż standardowa, nawet 20 kb/s.

Aby węzły się skomunikowały, muszą mieć jednakowo skonfigurowany kanał. Jego podstawowe dane to: typ, częstotliwość, ID, okres i sieć. Konfiguracja kanału może pozostać niezmienna w czasie połączenia, ale w wypadku większości parametrów dopuszcza się ich zmianę, gdy kanał jest już otwarty. Węzeł master może komunikować się wieloma kanałami, które są różnie zdefiniowane.

Jak w ANT rozwiązano problem interferencji?

W związku z coraz większą liczbą urządzeń komunikujących się w paśmie ISM 2,4 GHz rośnie prawdopodobieństwo, że węzeł sieci ANT będzie korzystał z tej samej częstotliwości, co węzeł innej sieci. W większości przypadków nie wpłynie to na jakość transmisji w tej pierwszej dzięki bardzo krótkiej aktywności jej węzłów, która jest wymagana do przesłania wiadomości. Jednak jeżeli jakaś sieć "zmonopolizuje" daną częstotliwość, interferencji się nie uniknie. Aby im zapobiec, w protokole ANT zaimplementowano technikę frequency agility. Wprawdzie jej cel jest podobny, jak ten metody przełączania częstotliwości w Bluetooth Low Energy, jest jednak zupełnie inaczej realizowana.

W obu przypadkach w efekcie zmienia się częstotliwość kanału, w Bluetooth cyklicznie, natomiast w ANT wyłącznie wtedy, kiedy jakość transmisji ulegnie znaczącemu pogorszeniu. Jakość łącza jest monitorowana przez wszystkie węzły, dlatego równocześnie wykrywają one jej spadek. Wówczas równocześnie przełączają się na częstotliwość, która jest kolejną na liście częstotliwości znanej i stałej dla wszystkich. Ta metoda synchronizacji jest prostsza i bardziej niezawodna niż techniki wymagającej wymiany dodatkowych informacji między węzłami master i slave, zwłaszcza gdy w kanale występują interferencje.

Kluczowe w technice frequency agility jest monitorowanie jakości łącza. W węzłach master i slave jest to realizowane nieco inaczej. W tych drugich przełączenie na nową częstotliwość następuje po stwierdzeniu określonej liczby wiadomości, które nie dotarły. Ta wartość progowa zależy od okresu transmisji przyjętego w danym kanale. Węzeł master zlicza z kolei potwierdzenia odbioru, które do niego docierają. Wartość graniczna w tym wypadku również zależy m.in. od okresu kanału.

ANT+

Tabela 1. Porównanie protokołów Bluetooth Low Energy i ANT

Rozwinięciem podstawowej wersji protokołu ANT jest ANT+. Zdefiniowano w nim tzw. profile urządzeń, które zawierają wytyczne (tzn. parametry kanału, format przesyłanych danych i inne mechanizmy komunikacji specyficzne dla danego przypadku) odnośnie do realizacji łączności w wybranych aplikacjach. Dowolne urządzenie, które jest zgodne z danym profilem ANT+, może komunikować się z innym o takim samym profilu, bez względu na typ i producenta tego drugiego. Jedno urządzenie może też obsługiwać kilka profili.

Dotychczas w protokole ANT+ przewidziano następujące profile: bicycle power i bicycle speed & cadence (łączność z czujnikami do monitorowania parametrów jazdy), blood pressure (komunikacja z miernikami ciśnienia krwi), controls (sterowanie smartfonami, kamerami, itp.), environment (łączność z czujnikami mierzącymi parametry środowiskowe), fitness equipment device (łączność ze sprzętem sportowym), geocache (lokalizacja GPS), heart rate monitor (transmisja wyników pomiaru tętna), light electric vehicle (komunikacja z pojazdami elektrycznymi niewielkich rozmiarów), multi sport speed and distance (łączność z miernikami prędkości i przebytego dystansu), muscle oxygen monitor (komunikacja z urządzeniami mierzącymi intensywność treningu), stride based speed and distance (łączność z krokomierzami) oraz weight scale (wymiana informacji z wagami). Charakterystykę poszczególnych profili i więcej informacji o protokole ANT/ANT+ można znaleźć na stronie internetowej www.thisisant.com.

Monika Jaworowska

W artykule wykorzystano informacje zamieszczone w Internecie przez firmę Digi-Key i na stronie internetowej www.thisisant.com