Bluetooth 5.0 w aplikacjach mobilnych i IoT

| Prezentacje firmowe Zasilanie

Realizacja projektów, a w szczególności aplikacji mobilnych i urządzeń klasy IoT, to nieustanne szukanie kompromisu pomiędzy dążeniem do maksymalnego spełnienia wymagań klienta a koniecznością zapewnienia minimum zużycia energii. W większości aplikacje tego typu to rozwiązania zasilane z baterii. W nich szuka się oszczędności w postaci krótszego o milisekundy wykonywania kodu, ponieważ zużycie energii na transmisję danych w czasie nadawania jest kluczowe. Sukcesem jest zgranie w całość odpowiednio dobranego hardware’u oraz oprogramowania. W artykule przedstawiono najpopularniejsze rozwiązania klasy low energy przeznaczone do aplikacji mobilnych oraz zaprezentowano, na co zwrócić uwagę przy projektowaniu i implementacji najnowszego standardu Bluetooth 5.0 dla systemu Android.

Bluetooth 5.0 w aplikacjach mobilnych i IoT

Podczas projektowania aplikacji inżynierowie często napotykają trudności, począwszy od przemyślenia bloku zasilania współpracującego z odpowiednio dobraną baterią, przez układ mikrokontrolera, po moduł komunikacyjny wraz z anteną. Nacisk na miniaturyzację przy konieczności spełnienia norm kompatybilności elektromagnetycznej wymaga poświęcenia bardzo długiego czasu dla projektów składających się z potencjalnie niewielkiej liczby komponentów.

Warto zauważyć, że obecnie zaawansowanego projektu IoT nie da się należycie zaprojektować, odseparowując opracowanie założeń układu elektronicznego od założeń programistycznych. Zasada ta obowiązuje w zakresie modułów embedded, a w szczególności w odniesieniu do aplikacji mobilnych i środowisk chmurowych. W wielu wypadkach osiągnięcie wyśrubowanych parametrów skuteczności wymaga nie tylko doświadczenia, ale i konsultacji specjalistycznych z zespołami R&D dostawcy i producenta.

Tam gdzie na wagę złota jest pojedynczy mikrowat, każdy element algorytmu i zachowania układu musi być zaprojektowany kompleksowo, zachowując harmonię między warstwą sprzętową a oprogramowaniem komunikacyjnym.

Bluetooth 5.0 – nowe funkcje do rozwiązań IoT Low Energy

 
Rys. 1. Płytka ewaluacyjna firmy Masters do testowania układów zasilania w aplikacjach IoT (EVB.PM.P001.R33) oraz jej elementy pomocnicze

Android od wersji 8.0 zaczął wspierać Bluetooth 5.0. Ten nowy standard komunikacyjny wdrożony był z zamiarem poprawy parametrów przesyłu dla rozwiązań IoT z wykorzystaniem BLE. Największymi zaletami nowej wersji Bluetooth są większa szybkość i zasięg oraz jeszcze lepsza oszczędność energii. Warto tu wspomnieć, że powiększenie zasięgu odbywa się kosztem szybkości przesyłania danych. Przy małych odległościach pomiędzy urządzeniami wersja 5.0 umożliwia przesyłanie danych z prędkością 2 Mb/s. To prędkość dwa razy większa w porównaniu z poprzednią wersją 4.2. Przy zwiększaniu odległości pomiędzy urządzeniami prędkość transmisji z wykorzystaniem Bluetooth 5 może spadać. Natomiast dużą zmianą jest możliwość transmisji danych na odległość nawet 240 m.

W wersji Bluetooth 5.0 zostały wprowadzone dwie nowe warstwy fizyczne (PHY-sical Layer – LE 2M i LE Coded) oraz korekcja błędów. Sygnał Bluetooth można odbierać naprawdę z dużej odległości, jednak najważniejsza dla użytkownika jest duża poprawność odczytu sygnału, dzięki zaimplementowanemu mechanizmowi detekcji i korekcji błędów z użyciem sumy kontrolnej wszystkich bitów (CRC). Każdy pakiet danych zawiera dodany do pakietu 24-bitowy kod CRC obliczony przez nadajnik pozwalający na wykrycie przekłamań przy transmisji. Do korekcji błędów wykorzystano z kolei algorytm Forward Error Correction (FEC). Dzięki temu nie ma konieczności ponownego wysyłania pakietów w przypadku wykrycia przekłamań.

Podwojona szybkość transmisji

Bluetooth w wersji 4.2 korzystał z warstwy logicznej LE 1M, która umożliwiała przesyłanie danych z szybkością 1 Ms/s. Warstwa zastosowana w wersji 5.0 (LE 2M) podwaja wydajność transmisji do 2 Ms/s oraz dwukrotnie zwiększa również pasmo emisji z 1 do 2 MHz. Z jednej strony powoduje to więcej zakłóceń, ale z drugiej pozwala zwiększyć ilość transmitowanych danych. Warto zauważyć, że aby ograniczyć możliwość pojawiania się dużej liczby błędów, każda transmisja rozpoczyna się najpierw na LE 1M, następnie przechodzi na LE 2M, gdy błędów jest niewiele. W razie problemów znowu następuje powrót do LE 1M.

Jeszcze większą wydajność komunikacji zapewnia LE Coded. Jest to warstwa, która pozwala na dwu- a nawet czterokrotne zwiększenie odległości transmisji poprzez Bluetooth w porównaniu z LE 1M. Uzyskiwane jest to poprzez wykorzystanie mechanizmu korekcji błędów. Działa ona w dwóch trybach: S=2 oraz S=8. W trybie S=2 każdy bit ma jeden bit korekcyjny, a w przypadku S=8 każdy bit jest odwzorowany na dodatkowych 4 bitach.

Istotne zagadnienia przy implementacji dla Androida

Szerokie spektrum dostępnych na rynku urządzeń z Androidem prowadzi do tego, że każdy z producentów może w inny sposób implementować i konfigurować system operacyjny, także komponenty wykorzystujące Bluetooth. Dlatego pisząc kod na Androida, trzeba wziąć pod uwagę specyfikację każdego urządzenia.

Jest to istotne szczególnie, gdy chce się wykorzystać możliwości wersji 5.0, bo należy zawsze pamiętać o urządzeniach, które nie wspierają tej nowej wersji. Niektóre aplikacje wspierające Bluetooth 5.0 mogą mieć zaimplementowaną funkcjonalność wysyłania większej ilości danych (LE 2M), ale nie mają możliwości przesyłania danych na większą odległość (LE Coded), co wymaga uwzględnienia.

Ponadto należy pamiętać o wyborze odpowiedniej metody oszczędzania energii, szczególnie gdy komunikacja będzie wykorzystywana okazjonalnie, np. Bluetooth Advertising. Trzeba również pilnować, aby aplikacja nie została "zabita" lub została w odpowiednim czasie odtworzona przez Androida.

Bezpieczeństwo w Bluetooth 5.0

Ponieważ na urządzeniach z Androidem użytkownik może mieć zainstalowane różne aplikacje i nie zawsze są one bezpieczne, szczególną uwagę powinno się poświęcić bezpieczeństwu. Po połączeniu z urządzeniem Bluetooth, każda z aplikacji ma możliwość podglądu charakterystyk oraz przesyłanych danych, dlatego ważne jest, aby wrażliwe dane były adekwatnie zabezpieczone.

 
Rys. 2. Bluetooth 5.0 – możliwości nowego standardu w aplikacjach mobilnych i IoT

Dopasowanie do potrzeb

Podczas łączenia urządzeń oraz rozgłaszania z wykorzystaniem Bluetooth 5.0 ważne jest określenie potrzeb aplikacji, a więc wybór między szybszą transmisją danych a dużą odległością połączenia. Korzystając z funkcji Bluetooth Advertising, trzeba też ustawić typ warstwy fizycznej (PHY) pierwszego rzędu pomiędzy LE 1M i LE CODED (S=2 lub S=8) oraz warstwy drugiego rzędu (LE 2M). Dalej trzeba ustalić preferowany sposób połączenia PHY dla aplikacji. Wersja PHY może zostać zmieniona na podstawie preferencji innych aplikacji, możliwości odbiornika oraz nadajnika Bluetooth. Warto więc obserwować następujące zmiany i dostosowywać swoją komunikację, szczególnie w przypadku pogorszenia prędkości komunikacji.

Układy zasilania klasy low energy

Dobrze napisane i właściwie skonfigurowane oprogramowanie to dopiero połowa sukcesu. Aby aplikacja działała poprawnie i pojawiła się jako rzeczywisty produkt, niezbędny jest odpowiednio dobrany hardware. Klasyczne rozwiązanie zasilania zakłada użycie stabilizatora LDO, bo on jest w stanie wykorzystać maksimum dostępnej energii. LDO to prostota i stabilność napięcia, a w przypadku nowych układów również lepsze parametry i większa funkcjonalność. Przykładem nowoczesnego rozwiązania stabilizatora LDO jest STLQ020 firmy STMicroelectronics. Oprócz klasycznej obudowy SOT323, układ ten dostępny jest w miniaturowych wersjach jako DFN6 (2×2 mm) oraz Flip-Chip 4 (0,8× 0,8 mm) – tabela 1. Pobór prądu przez STLQ020 to zaledwie 0,4 μA bez obciążenia i jedynie 5 nA w trybie wyłączenia.

 
Rys. 3. Schemat aplikacyjny konwertera ST1PS02

W aplikacjach mobilnych wymagających zapewnienia najwyższej sprawności zasilania zaleca się zastosowanie przetwornic DC/DC. Najczęściej są to konwertery obniżające napięcie (buck). Ich wykorzystanie jest pełne problemów, ponieważ wymagają przemyślanej konstrukcji, dużej staranności doboru elementów i ich odpowiedniego umiejscowienia, aby zminimalizować zakłócenia.

Z tych powodów warto rozważyć zastosowanie nowej synchronicznej przetwornicy firmy STMicroelectronics ST1PS02. Może ona pracować z wypełnieniem PWM bliskim 100% i podobnie jak w poprzedniej wersji (ST1PS01) jej ultraniski pobór prądu sprawia, że ma ona bardzo wysoką sprawność nie tylko dla dużych obciążeń, ale również dla tych poniżej 1 mA. Nowością jest dodatkowy wbudowany klucz, dzięki któremu możliwe jest selektywne przełączanie napięcia wyjściowego przetwornicy pomiędzy odbiornikami.

Nawet najlepiej zaprojektowany układ zasilania wymaga dostępu do zmagazynowanej energii (najczęściej bateria) lub też odnawiania zmagazynowanej energii (np. ładowarki zasilane z USB lub paneli fotowoltaicznych). Sprawdzonym układem o wyjątkowej elastyczności napięcia wejściowego w zakresie 2,5–12 V zapewniającym współpracę z pojedynczymi ogniwami litowo-jonowymi i polimerowymi jest L6924D firmy ST Microelectronic.

Jego zintegrowana konstrukcja zawiera wszystkie elementy mocy, takie jak MOSFET mocy, diodę blokującą odwrotną polaryzację. Układ realizuje kontrolę prądu i ma zabezpieczenie termiczne. L6924D pozwala użytkownikowi zaprogramować wiele parametrów, takich jak prąd ładowania wstępnego, prąd dla trybu ładowania szybkiego, próg napięcia wstępnego, próg końca ładowania i licznik czasu ładowania.

Interesująca jest zdolność pracy w dwóch trybach: liniowym, stałe napięcie CV lub stały prąd CC i quasi-impulsowym zapewniającym zdolność do rozpraszania mocy. Na uwagę zasługuje ponadto możliwość komunikacji z mikrokontrolerem poprzez złącza diagnostyczne umożliwiające monitorowanie obecności ogniwa, zakończenie procesu ładowania oraz ochronę przed przeciążeniem termicznym.

Pomoc specjalistów

Aby zapewnić kompleksową realizację aplikacji mobilnej lub IoT, warto się zwrócić do firmy, która oferuje usługę dobrania odpowiednich komponentów, ma doświadczenie i możliwość zaoferowania gotowych rozwiązań, które można zaimplementować w nowym projekcie, oszczędzając czas i fundusze. Taką firmą jest Masters. Klient mający pomysł na aplikację otrzyma wsparcie również w zakresie zaprojektowania oprogramowania. Masters ma własny dział R&D oraz współpracuje ze sprawdzonymi partnerami, m.in. w zakresie projektowania oprogramowania.



Roman Litwin, Masters
Marcin Mazurek, Liki Mobile Solutions

Masters Sp. z o.o.
www.masters.com.pl