STM32H7 czyli Cortex-M7 @400MHz – nowe mikrokontrolery w rodzinie STM32

Rodzina mikrokontrolerów STM32H7 jest przez producenta przedstawiana jako pierwsza na świecie, umożliwiająca uzyskanie pełnej wydajności rdzenia Cortex-M7 (architektura rdzenia ARMv7E-M – taka sama jak w STM32F4), wynikającej z konstrukcji tego rdzenia. Wprowadzone modyfikacje spowodowały, że wydajność CPU w STM32H7 w testach wynosi maksymalnie 2010 CoreMark/856 DMIPS (vs – 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 mamy na rynku mikrokontroler o rekordowej wydajności.

Pomimo rekordowej (wśród mikrokontrolerów) mocy obliczeniowej, nowe mikrokontrolery STM32H7 będą dostępne w obudowach identycznych z dotychczas produkowanym STM32F7, zachowany zostanie także rozkład wyprowadzeń, co ułatwi dobór wydajności mikrokontrolera do wymogów aplikacji, bez konieczności modyfikacji PCB i elementów w jego otoczeniu.

Jednostka CPU w mikrokontrolerach STM32H7 może pracować z maksymalną częstotliwością zegarową 400 MHz, a 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.

W mikrokontrolerach STM32H7 z maksymalną prędkością taktowania pracuje CPU i jej bezpośrednie otoczenie (rysunek 1). W tej samej domenie zegarowej, ale z częstotliwością o połowę mniejszą, pracują peryferia 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. 1. Peryferia w STM32H7 przypisano do trzech domen zegarowych


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

 

Rys. 2. Podawane przez producenta dane na temat poboru prądu przez CPU w STM32H7 w różnych trybach pracy

Na rysunku 2 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 są produkowane w technologii 40 nm, wyposażono je w system skalowanego (wewnątrz) zasilania. Pojemność wbudowanej pamięci Flash wynosi do 2 MB, RAM (w tym 192 kB obszaru TCM) – 1 MB, przy czym obydwie pamięci wyposażono w system kontroli błędów ECC. W portfolio bloków peryferyjnych producent przewiduje 35 różnych elementów, w tym kilka nowych, m.in. 14-bitowy przetwornik ADC (2 MSpS), programowany wzmacniacz operacyjny z opcjonalnym wejściem różnicowym, analogowy komparator oraz interfejsy komunikacyjne TT-CAN i FD-CAN.

 

Rys. 3. Już dostępne i planowane do wdrożenia produkcyjnego modele STM32H7


Portfolio mikrokontrolerów STM32H7 dostępnych obecnie i planowanych do wdrożenia do masowej produkcji w najbliższym czasie pokazano na rysunku 3.