Lepsze dopasowanie do potrzeb zastosowania dzięki zaawansowanym, zintegrowanym mikrokontrolerom z procesorem Arm® Cortex®
Przekazane przez: Północnoamerykańscy redaktorzy DigiKey
2024-06-04
Deweloperzy muszą zmierzyć się z licznymi wyzwaniami, aby spełnić coraz wyższe wymagania dotyczące inteligentnych produktów w zastosowaniach konsumenckich, przemysłowych, miast inteligentnych oraz opiece zdrowotnej. Każde zastosowanie ma unikalne wymagania w zakresie parametrów działania, zabezpieczeń, minimalnego poboru mocy, łączności bezprzewodowej dalekiego zasięgu oraz kosztów. Deweloperzy często muszą iść na kompromis w kwestii tych wymagań, ponieważ zastosowania nie zawsze dobrze współgrają z możliwościami dostępnych rozwiązań mikrokontrolerów (MCU).
Niniejszy artykuł przedstawia zestaw rozwiązań procesorowych firmy STMicroelectronics, które mogą zapewnić odpowiednią kombinację parametrów działania, czasu pracy baterii, zabezpieczeń i łączności bezprzewodowej, które są istotne dla powodzenia projektu w wielu różnych zastosowaniach.
Przestrzeganie surowych wymogów dotyczących zabezpieczeń
Mikrokontrolery MCU STM32H7R/S typu bootflash firmy STMicroelectronics (ilustracja 1) zapewniają wysoką wydajność, grafikę, zabezpieczenia i skrócony wykaz materiałów (BOM), oczekiwane w wielu inteligentnych produktach dla zastosowań przemysłowych, elektroniki użytkowej, miast inteligentnych i opieki zdrowotnej. Bazując na procesorze Arm® Cortex®-M7 600MHz z jednostką zmiennoprzecinkową (FPU) o podwójnej precyzji, ten mikrokontroler MCU posiada zintegrowany układ graficzny, podsystemy zabezpieczeń oraz kompleksowy zestaw peryferiów i interfejsów połączeniowych.
Ilustracja 1: mikrokontrolery MCU STM32H7R/S zawierają wydajny procesor Arm Cortex-M7 oraz kompletny zestaw urządzeń peryferyjnych, bloków funkcjonalnych i specjalistycznych funkcji, które są niezbędne do tworzenia bezpiecznych produktów inteligentnych. (Źródło ilustracji: STMicroelectronics)
Oprócz pamięci podręcznej L1 procesorów, która obejmuje 32kB pamięci podręcznej instrukcji oraz 32kB pamięci podręcznej danych, omawiane mikrokontrolery MCU posiadają 620kB statycznej pamięci o dostępie swobodnym (SRAM), 64kB wbudowanej pamięci flash oraz różnorodne interfejsy umożliwiające szybki dostęp do pamięci zewnętrznych. Taka kombinacja pamięci SRAM, wbudowanej pamięci flash oraz zewnętrznej pamięci z funkcją „execute-in-place” (XiP) zapewnia deweloperom dużą elastyczność przy wdrażaniu wydajnych i bezpiecznych systemów wbudowanych.
W celu zapewnienia bezpieczeństwa zastosowań używających pamięci zewnętrznej, mikrokontrolery MCU STM32H7S posiadają trzy moduły szyfrowania pamięci (MCE), które na bieżąco szyfrują i deszyfrują dane w zewnętrznych pamięciach nieulotnych lub ulotnych, z zaprogramowaną kontrolą dostępu do maksymalnie czterech różnych obszarów dla każdego MCE. Mikrokontrolery MCU STM32H7S, wyposażone w dodatkowe sprzętowe funkcje zabezpieczające, takie jak różnicowa analiza mocy oraz ochrona przed atakami międzykanałowymi, uzyskały certyfikaty SESIP i PSA Assurance Level 3.
Aby zagwarantować niezawodność zadań o kluczowym znaczeniu czasowym, takich jak procedury obsługi przerwań, część pamięci statycznej SRAM jest przypisana do interfejsu pamięci ściśle przyległej (TCM) mikrokontrolera MCU, co zapewnia pamięć o zerowym czasie oczekiwania dla istotnych instrukcji i danych. W celu zapewnienia integralności systemu, mikrokontroler MCU integruje różne funkcje zabezpieczeń z wbudowaną pamięcią flash, co pozwala na bezpieczne uruchamianie oraz weryfikację integralności aplikacji. Dzięki temu tworzy aparat zaufany (RoT) dla oprogramowania systemowego i aplikacyjnego działającego zarówno w pamięci wbudowanej, jak i poza nią. W połączeniu z odpowiednimi mechanizmami ochrony sprzętowej, wykorzystanie wbudowanej pamięci flash do przechowywania zaufanego programu ładującego zapewnia znacznie większą elastyczność niż używanie pamięci tylko do odczytu (ROM) w tradycyjnych mikrokontrolerach MCU.
Różne metody bezpiecznego uruchamiania
Aby stworzyć aparat zaufany (RoT) kluczowy dla bezpieczeństwa systemu, bezpieczne uruchamianie bazuje na zaufanym, niezmiennym kodzie, który zawsze jest uruchamiany natychmiast po zresetowaniu systemu. Ten kod sprawdza, czy w kolejnej fazie uruchamiania systemu działa jedynie zaufane oprogramowanie. Dzięki mikrokontrolerowi MCU STM32H7R/S deweloperzy dysponują licznymi opcjami bezpiecznego uruchamiania przy tworzeniu systemów zaufanych. Mogą używać gotowego oprogramowania układowego aparatu zaufanego (RoT) albo samodzielnie zarządzać sekwencją uruchamiania (ilustracja 2).
Ilustracja 2: mikrokontrolery MCU STM32H7R/S oferują wiele metod uruchamiania, zaprojektowanych w celu ułatwienia pracy deweloperom. (Źródło ilustracji: STMicroelectronics)
Po zresetowaniu systemu, wszystkie mikrokontrolery MCU STM32H7R/S inicjują sekwencję uruchamiania, uruchamiając podstawowe usługi zabezpieczające (RSS) umieszczone w zabezpieczonej pamięci flash systemu. Następne etapy w procesie uruchamiania zależą od rodzaju mikrokontrolera MCU oraz wybranej przez dewelopera metody uruchamiania. Dla każdej z metod uruchamiania, mikrokontrolery MCU STM32H7R/S stosują mechanizm ukrytego poziomu ochrony (HDPL), aby zagwarantować czasową izolację poszczególnych etapów uruchamiania. Kiedy sekwencja rozruchowa przechodzi na kolejny poziom, licznik HDPL zwiększa się, a zasoby związane z wcześniejszym poziomem są ukrywane przed aktualnym poziomem.
Utrzymanie dostępności aparatu zaufanego (RoT) przez cały proces uruchamiania
W systemach produkcyjnych opartych na urządzeniach STM32H7R, usługi RSS startują natychmiast po resecie systemu. Usługi RSS uruchamiają oprogramowanie układowe niezmienialnego aparatu zaufanego (iRoT) producenta oryginalnego sprzętu (OEM) znajdujące się w pamięci flash użytkownika. Gdy HDPL jest zwiększany na kolejnym poziomie, usługi RSS pozostają niewidoczne dla oprogramowania układowego OEMiRoT, które obsługuje następny krok w sekwencji uruchamiania. Jeżeli zastosowanie jest zaprojektowane w sposób umożliwiający obsługę aktualizowanego oprogramowania układowego aparatu zaufanego (RoT), OEMiRoT uruchamia oprogramowanie układowe OEMuRoT z pamięci zewnętrznej. W ostatniej fazie sekwencji uruchamiania oprogramowanie układowe OEMiRoT (lub opcjonalnie OEMuRoT) inicjuje kod aplikacji. HDPL gwarantuje, że usługi RSS, aparat OEMiRoT oraz opcjonalny OEMuRoT pozostają niewidoczne dla aplikacji.
Systemy produkcyjne bazujące na urządzeniach STM32H7S można ustawić tak, aby ich metoda uruchamiania była zbliżona do tej w systemach STM32H7R, dając deweloperowi pełną kontrolę nad procesem uruchamiania. Deweloperzy korzystający z mikrokontrolerów MCU STM32H7S mogą także zdecydować się na wysoce bezpieczną opcję, która uruchamia wstępnie skompilowane oprogramowanie układowe iRoT (STiRoT) firmy STMicroelectronics, umieszczone w chronionej pamięci flash systemu.
W metodzie uruchamiania obsługującej STiRoT, procedura iLoader umieszczona w chronionej wbudowanej pamięci flash ładuje kod dla kolejnego poziomu rozruchowego do wewnętrznej pamięci SRAM. Następnie STiRoT weryfikuje integralność i autentyczność kodu przed udzieleniem zgody na jego wykonanie. W przypadku jednoetapowych metod uruchamiania, iLoader umieszcza kod aplikacji w pamięci statycznej o dostępie swobodnym (SRAM). W przypadku dwuetapowych metod uruchamiania, iLoader przenosi OEMuRoT z zewnętrznej pamięci flash do pamięci statycznej o dostępie swobodnym (SRAM).
Po zapisaniu w statycznej pamięci o dostępie swobodnym (SRAM), kod aplikacji (lub oprogramowanie układowe OEMuRoT) jest weryfikowany pod względem integralności i autentyczności bez ryzyka ataku podczas weryfikacji kodu znajdującego się w pamięci zewnętrznej. Po walidacji, OEMuRoT sprawdza integralność i autentyczność kodu aplikacji przed jej uruchomieniem. Deweloperzy mogą bez trudu rozbudować tę dwuetapową metodę uruchamiania, aby weryfikować aktualizacje kodu aplikacji lub nawet oprogramowanie układowe OEMuRoT (ilustracja 3).
Ilustracja 3: mikrokontrolery MCU STM32H7S pozwalają na bezpieczną aktualizację oraz uruchamianie dzięki wieloetapowemu procesowi, który został stworzony, aby zagwarantować integralność i autentyczność kodu na każdym etapie. (Źródło ilustracji: STMicroelectronics)
W trakcie normalnej pracy, w systemach produkcyjnych wbudowana pamięć flash mikrokontrolerów MCU STM32H7R/S pozostaje zamknięta, co umożliwia dostarczenie oprogramowania układowego RoT oraz wymusza walidację elementu uruchomieniowego. Te mikrokontrolery MCU oferują łącznie cztery stany PRODUCT_STATE, które zostały stworzone do zarządzania pełnym cyklem istnienia produktu (ilustracja 4).
|
Ilustracja 4: mikrokontrolery MCU STM32H7R/S funkcjonują w jednym z czterech stanów PRODUCT_STATE, które zostały zaprojektowane do zarządzania całym cyklem istnienia produktu. (Źródło ilustracji: STMicroelectronics)
Deweloperzy mają trzy metody kontroli stanu PRODUCT_STATE:
- Stan nieulotny (NVSTATE), który konfiguruje pamięć flash jako otwartą lub zamkniętą
- Stan „dostarczony przez producenta oryginalnego sprzętu” (OEM_PROVD) określa stabilność obszaru bezpiecznego ukrywania (HDP), co gwarantuje, że kod działający w tym obszarze pozostaje niewidoczny po uruchomieniu systemu
- Metoda uwierzytelniania debugowania (DBG_AUTH) definiuje sposób, w jaki otwierane jest debugowanie urządzenia
Dzięki tym czterem stanom mikrokontrolery MCU STM32H7R/S spełniają wymagania zabezpieczeń w każdej kluczowej fazie istnienia produktu: rozwój produktu, produkcja oraz wdrożenie w terenie (ilustracja 5).
Ilustracja 5: kiedy produkt przechodzi z etapu rozwoju i produkcji do fazy terenowej, mikrokontrolery MCU STM32H7R/S mogą zabezpieczać wrażliwe kody oraz dane w zintegrowanej pamięci flash, jednocześnie umożliwiając uwierzytelniony dostęp do debugowania, jeśli jest to konieczne. (Źródło ilustracji: STMicroelectronics)
W praktyce uwierzytelnianie debugowania zapewnia silną funkcję zabezpieczeń, stworzoną, aby sprostać rzeczywistym wyzwaniom związanym z zarządzaniem cyklem istnienia produktu. W przypadku systemów operacyjnych działających w stanie zamkniętym, deweloperzy mogą korzystać z protokołu uwierzytelniania, który umożliwia bezpiecznemu debuggerowi ponowne otwarcie dostępu bez zagrożenia dla aparatu zaufanego (RoT) w ograniczonej sesji debugowania. Pełne debugowanie regresyjne nie gwarantuje ochrony kodu i danych.
Spełnienie potrzeby lepszych interfejsów użytkownika w produktach inteligentnych
Mimo że zabezpieczenia są kluczowe, produkty inteligentne opierają się na coraz bardziej zaawansowanych graficznych interfejsach użytkownika (GUI). Mikrokontrolery MCU STM32H7R/S realizują to dzięki wykorzystaniu zintegrowanych akceleratorów graficznych. Wśród nich znajduje się akcelerator Chrom-ART w mikrokontrolerze MCU STM32H7R3/S3 oraz procesor graficzny (GPU) NeoChrom w mikrokontrolerze MCU STM32H7R7/S7. Akcelerator 2D Chrom-ART oraz procesor graficzny 2.5D NeoChrom obsługują różne formaty, z operacjami rysowania i kopiowania bloków danych, natomiast procesor graficzny NeoChrom obsługuje operacje potrzebne do mapowania tekstur (ilustracja 6).
|
Ilustracja 6: akcelerator graficzny Chrom-ART w mikrokontrolerach MCU STM32H7R3/S3 oraz procesor graficzny NeoChrom w mikrokontrolerach MCU STM32H7R7/S7 oferują wydajność i funkcje interfejsu graficznego użytkownika (GUI) niezbędne w produktach inteligentnych. (Źródło ilustracji: STMicroelectronics)
Na potrzeby ewaluacyjno-rozwojowe, firma STMicroelectronics udostępnia płytkę ewaluacyjną NUCLEO-H7S3L8 STM32 Nucleo-144 dla STM32H7R3 oraz zestaw badawczy STM32H7S78-DK dla STM32H7S7.
Płytka Nucleo-144, opracowana z myślą o szybkim prototypowaniu, jest wyposażona w zintegrowany debugger/programator ST-LINK. Posiada również diody LED, przyciski i różnorodne opcje złączy. Zestaw badawczy STM32H7S78-DK zawiera moduł Wi-Fi, różne diody LED i przyciski, zintegrowany debugger/programator STLINK-V3EC oraz liczne złącza na płytce, w tym dwa USB Type-C® i jedno Ethernet RJ45.
Na potrzeby tworzenia oprogramowania, firma STMicroelectronics udostępnia pakiet STM32Cube MCU należący do ekosystemu STM32Cube. Pakiet STM32Cube MCU dostarcza moduły warstwy abstrakcji sprzętowej (HAL), pakiety wsparcia dla płytek (BSP) oraz interfejsy programowania aplikacji (API) na poziomie rejestrów niskiej warstwy, a także komponenty oprogramowania pośredniczącego, stosy łączności i przykładowy kod. Aby umożliwić tworzenie grafiki firma oferuje graficzne środowisko programistyczne X-CUBE-TOUCHGFX, które obejmuje:
- TouchGFX Designer - narzędzie do projektowania i symulowania aplikacji graficznych
- TouchGFX Engine - bibliotekę do sprzętowej akceleracji grafiki
- TouchGFX Generator - wtyczkę STM32CubeMX, umożliwiającą deweloperom konfigurowanie i generowanie warstwy abstrakcji TouchGFX, wykorzystywanej przez TouchGFX Engine do dostępu do bazowego sprzętu i systemu operacyjnego, na których aplikacja jest uruchamiana
Zagwarantowanie wydłużonego czasu pracy baterii
Minimalne zużycie energii oraz maksymalny czas pracy baterii wciąż stanowią kluczowe czynniki projektowe w wielu dziedzinach zastosowań. Mikrokontrolery MCU z serii STM32U0 firmy STMicroelectronics stworzono z myślą o oszczędzaniu energii i wydłużeniu czasu pracy na baterii, co jest niezbędne w wielu podstawowych zastosowaniach przemysłowych, medycznych, inteligentnych licznikach oraz aplikacjach konsumenckich. Seria mikrokontrolerów MCU STM32U0, oparta na procesorze Arm Cortex-M0+ 56 MHz ultraniskiej mocy, składa się z trzech różnych grup, umożliwiających deweloperom wybór najlepszej konfiguracji pamięci SRAM, flash oraz urządzeń peryferyjnych potrzebnych w projektach.
Grupa produktów STM32U031 oferuje najbardziej zwartą konfigurację z pamięcią SRAM 12kB, pamięcią flash do 64kB , wieloma układami czasowymi, analogowymi urządzeniami peryferyjnymi oraz opcjami łączności (ilustracja 7).
Ilustracja 7: trzy grupy mikrokontrolerów MCU z serii STM32U0 opierają się na coraz bogatszym zestawie funkcji dostępnych w grupie mikrokontrolerów MCU STM32U031. (Źródło ilustracji: STMicroelectronics)
Grupa STM32U031, rozwija funkcje dostępne w serii STM32U073 i wprowadza zintegrowany kontroler wyświetlacza ciekłokrystalicznego (LCD), dodatkowe kanały komunikacyjne oraz analogowe układy peryferyjne, a także oferuje pamięć SRAM 40kB i pamięć flash do 256kB. Grupa STM32U083 bazuje na tych cechach, dodając akcelerator sprzętowy z zaawansowanym standardem szyfrowania (AES).
Dzięki wysokiemu poziomowi integracji, wszystkie mikrokontrolery MCU z serii STM32U0 charakteryzują się pracą przy ultraniskiej mocy. Podczas pracy zużywają jedynie 52μA/MHz, korzystając z wewnętrznego regulatora napięcia o niskim spadku (LDO).
Deweloperzy mają do dyspozycji różne tryby niskiej mocy, w tym trzy tryby zatrzymania, które pozwalają zredukować pobór mocy w zastosowaniach z zasilaniem bateryjnym. Na przykład, w trybie zatrzymania o minimalnym poborze mocy, mikrokontrolery MCU STM32U031 pobierają jedynie 630nA z zegarem czasu rzeczywistego (RTC) lub 515nA bez niego. W tym samym trybie zatrzymania, mikrokontrolery MCU STM32U073 i STM32U083 potrzebują zaledwie 825nA z zegarem czasu rzeczywistego (RTC) lub 695nA bez niego. Jednakże wszystkie trzy grupy produktów z serii STM32U0, pracujące z zegarem wybudzania 24MHz, mogą przejść do trybu pracy z trybu najniższej mocy w zaledwie 12,0µs w pamięci flash i 7,67µs w pamięci SRAM.
Mimo pracy z ultraniską mocą i dzięki adaptacyjnemu akceleratorowi pamięci czasu rzeczywistego (ART), omawiane mikrokontrolery MCU osiągają wydajność równą pracy bez opóźnień z pamięci flash przy częstotliwości procesora 56MHz.
Aby wspierać prace rozwojowe, STMicroelectronics oferuje płytkę ewaluacyjną NUCLEO-U031R8 opartą na urządzeniu STM32U031, płytkę ewaluacyjną NUCLEO-U083RC opartą na urządzeniu STM32U083 oraz zestaw badawczy STM32U083C-DK oparty na urządzeniu STM32U083. Tak jak w przypadku innych urządzeń z grupy STM32, pakiet STM32Cube MCU dla ekosystemu STM32Cube oferuje moduły abstrakcji sprzętowej (HAL), BSP, interfejsy API niskiego poziomu, oprogramowanie pośredniczące, stosy komunikacyjne oraz przykładowy kod.
Łączność bezprzewodowa dalekiego zasięgu
Efektywność projektów z łącznością bezprzewodową dalekiego zasięgu w zakresie subgigahercowym (GHz) jest kluczowa w zastosowaniach Internetu rzeczy (IoT) w miastach inteligentnych, rolnictwie, zdalnych pomiarach oraz systemach przemysłowych. Wiele z tych zastosowań musi zapewniać niezawodną komunikację mimo zakłóceń ze źródeł środowiskowych, takich jak sieci energetyczne czy maszyny. To sugeruje użycie sieci rozległej dalekiego zasięgu (LoRaWAN), która jest odporna na zakłócenia.
Moduł STM32WL5MOCH6TR firmy STMicroelectronics oferuje rozwiązanie z certyfikatem sieci rozległej dalekiego zasięgu (LoRaWAN), które może działać w Europie, Azji i obu Amerykach. Działanie w wielu regionach jest możliwe dzięki temu, że moduł radiowy obsługuje europejskie standardy 868 MHz oraz północnoamerykańskie standardy 915 MHz, które wspierają wyższą moc wyjściową. Moduł może działać na całym świecie z różnymi standardowymi i zastrzeżonymi protokołami komunikacyjnymi, takimi jak Sigfox, W-MBUS i mioty, dzięki obsłudze wielu schematów modulacji oraz liniowemu zakresowi częstotliwości od 150 do 960 MHz.
Opierający się na dwurdzeniowej architekturze łączącej rdzenie Arm Cortex-M0+ oraz Arm Cortex-M4, moduł STM32WL5MOC integruje elastyczny nadajniko-odbiornik radiowy, maksymalnie 64kB pamięci SRAM oraz do 256kB pamięci Flash z zaawansowanym podsystemem bezpieczeństwa, układami czasowymi, analogowymi układami peryferyjnymi, interfejsami łączności, funkcjami sterowania oraz pasywnymi komponentami zasilacza impulsowego (SMPS). Ponadto wariant STM32WL5MOCH6STR zawiera element bezpieczny STSAFE-A100 firmy STMicroelectronics (ilustracja 8).
Ilustracja 8: moduł STM32WL5MOC zapewnia rozwiązanie typu drop-in dla łączności w zakresie sub-GHz, integrując dwurdzeniową architekturę z elastycznym radiem, funkcjami zabezpieczeń, licznymi blokami funkcjonalnymi oraz komponentami pasywnymi. (Źródło ilustracji: STMicroelectronics)
Zaawansowana zintegrowana funkcjonalność modułu STM32WL5MOC oraz certyfikat sieci rozległej dalekiego zasięgu (LoRaWAN) oferują projektantom zoptymalizowane rozwiązanie sprzętowe typu drop-in do zastosowań bezprzewodowych dalekiego zasięgu. STMicroelectronics dodatkowo przyspiesza prace rozwojowe dzięki kompleksowemu zestawowi zasobów, takich jak płytka rozszerzeń B-WL5M-SUBG1, która łączy w sobie moduł STM32WL5MOC, pamięć flash 4Mb, pamięć EEPROM 256kb, czujniki systemów mikroelektromechanicznych (MEMS) STMicroelectronics, wiele złączy płytkowych, diody LED i przyciski. Na potrzeby tworzenia oprogramowania pakiet STM32CubeWL MCU obsługuje płytki z serii STM32WL, stanowiące część ekosystemu STM32Cube.
Podsumowanie
Produkty inteligentne przeznaczone na rynek konsumencki, przemysłowy, opieki zdrowotnej i innych sektorów wyróżniają się poziomami zabezpieczeń, zużycia energii, łączności oraz złożonością projektów, które często przewyższają możliwości pojedynczego mikrokontrolera. Seria STM32 mikrokontrolerów MCU zapewnia projektantom szeroką gamę opcji przetwarzania, umożliwiając idealne dostosowanie do różnych potrzeb projektowych. Płytki i oprogramowanie wspomagają procesory, co ułatwia pracę deweloperom.
Disclaimer: The opinions, beliefs, and viewpoints expressed by the various authors and/or forum participants on this website do not necessarily reflect the opinions, beliefs, and viewpoints of DigiKey or official policies of DigiKey.



