SPIRIT1 + STM32F0: rozwiązania low-power dla aplikacji ISM

STMicroelectronics rozwija swoją ofertę także w kierunku podzespołów dla aplikacji wymagających niewielkiego poboru mocy, w tym aplikacji radiowych na pasma ISM. W artykule przedstawiamy nowoczesne mikrokontrolery STM32F0 i transceivery z rodziny SPIRIT1, które w skrócie można określić triadą: tanio, wydanie, niezawodnie.

SPIRIT1 + STM32F0: energooszczędne rozwiązania dla aplikacji ISM

Transceiver SPIRIT1 jest jednoukładowym, kompletnym torem nadawczo-odbiorczym, który umożliwia dwukierunkowy transfer danych z prędkością (bitową, mierzoną w antenie) od 1 do 500 kb/s. Układ wyposażono w uniwersalny modulator pozwalający na korzystanie z następujących metod modulacji: 2-FSK, GFSK, MSK, GMSK, OOK oraz ASK. Standardowy odstęp międzykanałowy wynosi 12,5 kHz, dzięki czemu w każdym paśmie radiowym można ulokować lokalnie dużą liczbę niezależnych urządzeń nadawczo-odbiorczych. Odbiornik w układzie SPIRIT1 charakteryzuje się dużą czułością (–118 dBm), a tor nadawczy jest przystosowany do emisji sygnału o mocy wyjściowej do +11 dBm. Schemat blokowy transceivera SPIRIT1 pokazano na rysunku 1.

 

Rys. 1. Schemat blokowy transceivera SPIRIT1

Rys. 1. Schemat blokowy transceivera SPIRIT1

 

Podczas konstruowania tego układu wyraźnie nie wzięto sobie za punkt honoru bicie jakichkolwiek rekordów, poza rekordowym komfortem jego aplikowania: dotyczy to zarówno fizycznej aplikacji (rysunek 2), poboru mocy (9 mA w trybie odbioru, 21 mA w trybie nadawania przy poziomie mocy wyjściowej +11 dBm) jak i wewnętrznych rozwiązań sprzętowych wspierających transfer danych.

 

Rys. 2. Schemat elektryczny kompletnego toru nadawczo-odbiorczego na układzie SPIRIT1

Rys. 2. Schemat elektryczny kompletnego toru nadawczo-odbiorczego na układzie SPIRIT1

 

Tor radiowy jest programowany poprzez interfejs SPI, który służy także do transferu danych. W ścieżkach nadawczej i odbiorczej zastosowano niezależne bufory FIFO o pojemności po 96 bajtów każdy, a tor radiowy wyposażono w mechanizmy minimalizujące zmiany wielkości fizycznych w otoczeniu na jakość transmisji (np. filtr odbiorczy o programowanej szerokości przenoszenia, automatyczną kompensację offsetu częstotliwości referencyjnej, „inteligentny” system dywersyfikacji anten bazujący na pomiarze poziomu sygnału nośnego preambuł, wbudowany w strukturę czujnik temperatury itp.).

Prezentowany transceiver wyposażono także w sprzętowe bloki automatyzujące transmisję danych, w tym m.in. automatyczne potwierdzanie poprawnego odbioru, automatyczne żądanie retransmisji, monitorowanie czasu transmisji i sygnalizowanie wystąpienie timeout’u. Zautomatyzowano także system synchronizacji transmisji z mechanizmem CCA (Clear Channel Assessment), na którym bazuje mechanizm dostępu do kanału transmisyjnego CSMA.

Wymienione elementy „automatyki” transmisji są wbrew pozorom łatwe do przyswojenia i bardzo przydatne zarówno w prostych systemach transmisyjnych punkt-punkt, systemach rozgłoszeniowych oraz sieciach radiowych, w których w jednym zakresie częstotliwości musi komunikować się wiele urządzeń w tym samym czasie.

Użytkownik może w protokole transmisji zaimplementować dynamicznie modyfikowaną długość ramek danych oraz automatyczną detekcję adresu urządzenia docelowego, przesyłane dane mogą być szyfrowane za pomocą sprzętowego bloku kryptograficznego AES128. Minimalizację ryzyka błędnych transferów uzyskano dzięki systemowi automatycznej synchronizacji transmisji, sprzętowej ochronie konsystencji danych z CRC oraz wbudowanemu systemowi korekcji błędów FEC (Forward Error Correction).

Twórcy układu zadbali także o elektromagnetyczne skutki transmisji danych za pomocą transcievera SPIRIT1 i żeby zminimalizować poziom prążków emitowanych przez niego zakłóceń zakłóceń, wyposażyli go w sprzętowy system „zaszumiania” przesyłanych danych. Jest on stosowany w torze nadawczym i odbiorczym, a jego rolą jest zminimalizowanie poziomu emisji zakłóceń podczas transmisji szybko zmieniających się danych (np. ciągu 01010101). Kolejnym zabiegiem minimalizującym emisję zakłóceń podczas nadawania jest cyfrowa modulacja ASK z dyskretnymi poziomami mocy, włączanymi stopniowo. Czasy kroków narastania i zmniejszania poziomu wyjściowego są programowane przez użytkownika.

Diagnostykę połączeń nawiązywanych przez transceivery SPIRIT1 ułatwiają dodatkowe mechanizmy w nich zaimplementowane: detektor nośnej, cyfrowy wskaźnik poziomu odbieranego sygnału RSSI (Received Signal Strenght Indicator), programowany detektor jakości preambuły, a także miernik jakości połączenia, bazujący na statystycznej weryfikacji danych przesyłanych i odbieranych.

Bardzo przydatnym – przede wszystkim w aplikacjach bateryjnych – wyposażeniem układów SPIRIT1 jest wbudowany w nie system monitorowania stanu baterii zasilającej (z sygnalizacją zbyt niskiej wartości napięcia zasilającego) oraz system oszczędzania energii z mechanizmami usypiania i wybudzania za pomocą wewnętrznego timera lub zewnętrznego zdarzenia.

Bogactwu wyposażenia wewnętrznego i ogromnych możliwości transceivera SPIRIT1 „zaprzecza” niewielka obudowa QFN z 20 wyprowadzeniami, której wymiary zewnętrzne nie przekraczają 4×4 mm. Zaawansowana technologia produkcji struktur półprzewodnikowych umożliwiła jednak zintegrowanie w niej wszystkich wymienionych funkcji przy jednoczesnym zapewnieniu niewielkiego poboru mocy.

Warto pamiętać, że standardowe wersje układów SPIRIT1 mogą pracować w zakresie temperatur otoczenia od –40 do +85oC, spełniają one także wymagania norm i zaleceń Wireless M-BUS, EN 300 220, FCC CFR47 15 (15.205, 15.209, 15.231, 15.247, 15.249), jest także zgodny z ARIB STD T-67, T93, T-108.

Żeby ułatwić konstruktorom rozpoczęcie własnych prac ewaluacyjnych z transceiverami SPIRIT1, producent opracował i produkuje zestawy startowe o nazwie STEVAL-IKR001VxD – fotografia 3, które pracują w paśmie radiowym 868 MHz, pozwalając na weryfikację praktycznych możliwości transceiverów.

Fot. 3. Wygląd zestawu uruchomieniowego STEVAL-IKR001VxD z układem SPIRIT1

Fot. 3. Wygląd zestawu uruchomieniowego STEVAL-IKR001VxD z układem SPIRIT1

 

Z myślą o mniej wyrafinownych lub zorientowanych na niskie ceny, aplikacjach niskomocowych, firma STMicroelectronics wprowadziła do produkcji rodzinę mikrokontrolerów z rdzeniem Cortex-M0, które są pozycjonowane przez producenta jako tanie rozwiązanie low-power. Mikrokontrolery STM32F0 są wyposażone w rdzeń przystosowany do taktowania sygnałem zegarowym o częstotliwości do 48 MHz, przy której osiąga wydajność ok. 38 DMIPS.

W skład standardowego wyposażenia mikrokontrolerów STM32F0 wchodzą m.in.: 12-bitowe przetworniki A/C i C/A, szybkie linie GPIO z możliwością obsługi nastawników pojemnościowych (także suwaków i „obrotowych” – łącznie do 18 pól czujnikowych) i sprzętowy kontroler PMSM (Permanent Magnet Synchronous Motor). W zależności od typu mikrokontrolera, użytkownik ma do dyspozycji od 16 do 64 kB Flash, 4 lub 8 kB SRAM i obudowy o liczbie pinów od 20 (TSSOP20), przez 32 (UFQFPN32 i LQFP32) i 48 (LQFP48), aż do 64 (LQFP64). Standardowym wyposażeniem rodziny STM32F0 jest ponadto 5-kanałowy kontroler DMA, szybki – do 1 Mb/s – interfejs I2C, interfejs SPI z obsługą CEC-HDMI i elastycznie ustawianą długością ramki danych (od 4 do 16 bitów @18Mb/s), szybki USART (do 6 Mb/s), programowalne 16-/32-bitowe timery z możliwością generacji 3-fazowego przebiegu PWM i 17 liniami capture/compare, a także wygodny w obsłudze wbudowany RTC z kalendarzem zliczającym w kodzie BCD.

Mikrokontrolery STM32F0 wyposażono w interfejs do programowania i debugowania o nazwie SWD, który występuje także w starszych mikrokontrolerach STM32, nie wbudowano w nie natomiast interfejsu JTAG. Zastosowany w mikrokontrolerach STM32F0 blok wspomagający debugowanie jest rozszerzoną wersją standardowego rozwiązania firmy ARM, dzięki czemu m.in. programista może zarządzać sygnałami zegarowymi i przypisaniami funkcjonalnymi linii GPIO czy testować pracę mikrokontrolera w trybie obniżonego poboru mocy.

Producent dużo uwagi poświęcił na zapewnienie bezpieczeństwa aplikacji realizowanych na mikrokontrolerach STM32F0, w których pracują mikrokontrolery STM32F0, co przejawia się m.in. wyposażenie pamięci SRAM w sprzętowy kontroler parzystości, kontroler CRC dla pamięci Flash, dwa watchdogi i system monitorowania poprawności taktowania z automatycznym przełączaniem na wewnętrzne źródło sygnału zegarowego. Prezentowane mikrokontrolery wyposażono także w rejestry z niepowtarzalnymi 96-bitowymi numerami ID, za pomocą których można identyfikować urządzenia z wbudowanymi mikrokontrolerami.

Nowością w rodzinie STM32F0 są mikrokontrolery ValueLine (STM32F03x), które uproszczono minimalizując ich cenę. Zastosowane uproszczenia nie są dotkliwe dla konstruktorów: nowe mikrokontrolery wyposażono bowiem we wszystkie podstawowe peryferia komunikacyjne (w zależności od typu: 1 lub 2 x SPI/I2C/UART), szybki przetwornik A/C (12-bitowy, 12 lub 18 kanałów, częstotliwość próbkowania do 1MSps) i spore zasoby pamięci Flash/SRAM. Redukcji nie podległ także blok sprzętowego CRC, który może być wykorzystywany do kontroli poprawności zawartości pamięci Flash, konstruktorzy układów zachowali także w nowych mikrokontrolerach 5-kanałowy sterownik DMA oraz kalibrowalny czujnik temperatury. Mikrokontrolery Value Line są oferowane w obudowach TSSOP20 oraz LQFP z 32/48 lub 64 pinami, wszystkie obecnie oferowane modele mogą pracować z otoczeniu o temperaturze od –40 do +85oC. Na rysunku 4 przedstawiono zestawienie wybranych cech mikrokontrolerów STM32F0.

 

 Rys. 4. Zestawienie podstawowych cech mikrokontrolerów STM32F0

Rys. 4. Zestawienie podstawowych cech mikrokontrolerów STM32F0

 

Dla potencjalnych użytkowników mikrokontrolerów STM32F0 producent oferuje tanie narzędzia, spośród których dużą popularnością cieszą się zestawy z serii DISCOVERY (jak na przykład STM32F0DISCOVERY – fotografia 5, który to zestaw jest dostępny w dwóch wersjach: z mikrokontrolerem STM32F05x i STM32F03x).

 

 Fot. 5. Wygląd zestawu STM32F0DISCOVERY, który jest dostępny w dwóch wersjach: z mikrokontrolerem STM32F05x lub STM32F03x

Fot. 5. Wygląd zestawu STM32F0DISCOVERY, który jest dostępny w dwóch wersjach: z mikrokontrolerem STM32F05x lub STM32F03x

 

Podzespoły prezentowane w artykule nie są jedyną „ścieżką” w ofercie STMicroelectronics, na bazie której można budować radiowe tory transmisji danych o niewielkim poborze mocy. Firma oferuje także rodzinę energooszczędnych mikrokontrolerów STM32L (o dużej wydajności, wyposażone w rdzeń Cortex-M3) oraz układy warstwy fizycznej zgodne ze standardem Bluetooth 4. W zależności od wymagań, niemal każdy konstruktor znajdzie optymalne rozwiązanie dla tworzonej aplikacji, w czym będziemy starali się pomóc – kolejnymi publikacjami.

Autor: