STM32H7 - nowa rodzina mikrokontrolerów z Cortex-M7

| Technika

Możliwości i wydajność współczesnych mikrokontrolerów rosną w ostatnich latach błyskawicznie, do czego rękę przyłożyła firma ARM, licencjonująca producentom mikrokontrolerów i mikroprocesorów rdzenie Cortex. Wydawać by się mogło, że po premierze rdzenia Cortex-M7 nic znaczącego wydarzyć się już nie powinno, ale firma STMicroelectronics po raz kolejny wyprzedziła konkurencję, wprowadzając do sprzedaży kolejną rodzinę bazującą na tym rdzeniu...

STM32H7 - nowa rodzina mikrokontrolerów z Cortex-M7

Rys. 1. Dostępne (w 2016 tylko jako próbki) i planowane do wdrożenia mikrokontrolery z podrodziny STM32H7x3

Nowa rodzina mikrokontrolerów jest oznaczona symbolem STM32H7 i jest pierwszą na świecie korzystającą z rozszerzonej wersji rdzenia Cortex-M7 (jego architektura to ARMv7E-M - taka sama jak w STM32F4). Dzięki kilku nowym rozwiązaniom, w tym zastosowaniu technologii produkcji struktur półprzewodnikowych o wymiarze charakterystycznym 40 nm, rdzeń mikrokontrolerów STM32H7 może pracować z maksymalną częstotliwością zegarową 400 MHz.

Wykonywanie programów z tą prędkością bez konieczności oczekiwania na pobranie danych z pamięci Flash umożliwiają dwie niezależne pamięci cache poziomu L1 (po 16 kB dla danych i rozkazów - 4-krotnie więcej niż w STM32F7) oraz szybkie pamięci TCM (tightly-coupled memory) o pojemnościach 128 kB dla danych (DTCM) i 64 kB dla rozkazów (ITCM). Dla porównania - w mikrokontrolerach STM32F7 pojemność pamięci DTCM wynosiła 64 kB, a pamięci ITCM - 16 kB.

Modyfikacje wprowadzone w mikrokontrolerach STM32H7 spowodowały, że wydajność CPU w testach wynosi 2010 CoreMark/856 DMIPS (odpowiednio 1082/462 w mikrokontrolerach STM32F7), czyli 5 CoreMark/MHz oraz 2,14 DMIPS/MHz. Są to wyniki identyczne z określaną przez ARM maksymalną prędkością wykonywania programów przez rdzeń Cortex-M7, co dobrze świadczy o staraniach konstruktorów technologów, w wyniku których możemy korzystać z zasobów mikrokontrolerów o rekordowej wydajności.

Jako pierwsze w rodzinie STM32H7 na rynku pojawiły się układy z podrodziny STM32H7x3, których portfolio pokazano na rysunku 1. Producent planuje w przyszłym roku wdrożenie do produkcji kolejnych dwóch podrodzin: STM32H7x5 oraz STM32-H7x7, ale nie są obecnie znane specyfikacje wyposażenia tych rodzin i ich parametry.

W mikrokontrolerach STM32H7 z maksymalną prędkością taktowania pracuje CPU i jej bezpośrednie otoczenie (rys. 2). W tej samej domenie zegarowej, ale z częstotliwością o połowę mniejszą, pracują peryferie dołączone do CPU za pomocą magistrali AXI. W wydzielonych domenach zegarowych pracują - rozdzielone na dwie grupy - bloki peryferyjne dołączone do magistrali AHB, która jest podrzędna względem AXI.

Rys. 2. Podział systemu taktowania na domeny

Przypisanie bloków peryferyjnych do domen zegarowych jest związane z optymalizacją poboru energii przez mikrokontroler - użytkownik może wyłączyć taktowanie całej grupy, łącznie z fragmentem sekcji AHB, co upraszcza działanie aplikacji, w których wymagane jest oszczędzanie energii przez mikrokontroler.

Na rysunku 3 pokazano podawane przez producenta pobory prądu z zasilania przez mikrokontroler, w różnych warunkach pracy. Średni pobór prądu CPU w STM32H7 podczas normalnej pracy jest w przybliżeniu 2-krotnie mniejszy niż w przypadku rodziny STM32F7, co daje - przy niemal 2-krotnie większej wydajności CPU - 4-krotnie większą wydajność na jednostkę poboru prądu.

Mikrokontrolery STM32H7 charakteryzują się pamięcią Flash o pojemności do 2 MB, pojemności RAM 1 MB (w tym 192 kB obszaru TCM), przy czym obydwie pamięci wyposażono w system sprzętowej kontroli błędów ECC.

W portfolio bloków peryferyjnych producent przewiduje udostępnienie użytkownikom 35 różnych interfejsów komunikacyjnych, z których część należy do kolejnej generacji rozwiązań oraz kilka nowych bloków peryferyjnych, m.in. 14-bitowy przetwornik ADC (2 MS/s), programowany wzmacniacz operacyjny z opcjonalnym wejściem różnicowym, analogowy komparator oraz interfejsy komunikacyjne TT-CAN i FD-CAN.

Użytkownik ma do dyspozycji także koprocesor zmiennoprzecinkowy FPU o podwójnej precyzji, sprzętowy kodek JPEG, sprzętowe interfejsy pamięci zewnętrznych, koprocesory kryptograficzne i wiele innych bloków peryferyjnych, uznawanych za klasyczne wyposażenie współczesnych mikrokontrolerów.

Z myślą o użytkownikach mikrokontrolerów STM32H7 firma STMicroelectronics przygotowała pakiet bibliotek STM32Cube, planowane są także zestawy ewaluacyjne i startowe, które mają być dostępne zarówno w wersji NUCLEO, Discovery, jak i EVAL - czyli rozwiązania dostępne dla każdej kieszeni. Szczegóły nie są jeszcze znane, ale najbliższe tygodnie rozjaśnią nieco rynkowe zamiary producenta.

Rys. 3. Podawane przez producenta dane na temat poboru mocy przez CPU w mikrokontrolerach STM32H7

Na koniec ważna uwaga dla praktyków: konstruktorzy mikrokontrolerów STM32H7 starali się zachować kompatybilność ich wyprowadzeń ze starszymi mikrokontrolerami z rodziny STM32, dzięki czemu są one (także!) dostępne w obudowach LQFP, możliwych do użycia na tanich, dwustronnych PCB i łatwych oraz tanich w automatycznym montażu. Poza minimalizacją kosztów technologicznych, zaletą takiego podejścia jest ułatwienie skalowania wydajności systemu mikrokontrolerowego w zależności od potrzeb aplikacji, bez konieczności modyfikowania PCB i BOM.

Jak widać, mikrokontrolery STM32H7 - pomimo swoich korzeni - mocno "ciągną" rodzinę STM32 w stronę systemów realizowanych dotychczas na mikroprocesorach. Jest to - być może - zapowiedź poszerzenia oferty STMicroelectronics w tym kierunku w najbliższej przyszłości - szczegóły poznamy zapewne wkrótce. Czekamy więc na ciąg dalszy, rozwój sytuacji na rynku mikrokontrolerowym będziemy raportować w kolejnych artykułach.

Piotr Zbysiński