STM32F7: pierwsze mikrokontrolery z rdzeniem Cortex-M7

STM32F7: pierwsze mikrokontrolery z rdzeniem Cortex-M7
Pobierz PDF Download icon
Kilka tygodni temu zaskoczyły nas wszystkich dwie wiadomości, które zaburzyły stabilizujący się rynek mikrokontrolerów 32-bitowych. W "corteksowym" świecie zaszła kolejna zmiana, której nie można nazwać rewolucją ale na miano kolejnego kroku w ewolucji na pewno zasłużyła: rodzina Cortex-M powiększyła się o nowy rdzeń...

...nazwany przez firmę ARM mianem Cortex-M7, które to oznaczenie zgodnie z przyjętą logiką oznacza "coś" więcej niż dobrze już na rynku rozpropagowany Cortex-M4. I tak jest w rzeczywistości: Cortex-M7 jest rozbudowana wersją rdzenia Cortex-M4, przystosowaną do współpracy z szybką pamięcią SRAM TCM (dla danych i instrukcji programu), wyposażoną w pamięci cache dla danych i instrukcji, a także zaawansowany, 6-poziomowy mechanizm przetwarzania potokowego z predykcją oraz sprzętowym wsparciem superskalarnego wykonywania programu. Wypadkowa wydajność nowego rdzenia wynosi nawet 5 CoreMark/MHz (do 3,23 DMIPS/MHz), czyli ponad 47% więcej niż oferował rdzeń Cortex-M4 (3,4 CoreMark/MHz).

Prędkość odczytu danych: Flash vs SRAM

Pamięci cache oraz interfejs ART zastosowany w mikrokontrolerach STM32F7 umożliwiają pobieranie danych z pamięci Flash przez CPU z pełną prędkością taktowania, która obecnie wynosi do 200 MHz. Dzięki temu wydajność nowych mikrokontrolerów jest rekordowo duża, co pokazano na rysunku.

Rysunek 1. Uproszczony schemat blokowy rdzenia Cortex-M7

Ważnym, nowym interfejsem komunikacyjnym zastosowanym w rdzeniu Cortex-M7 i mającym wpływ na wypadkową prędkość pracy mikrokontrolera, jest Master AXI (AXIM), który zapewnia "splatanie" kilku kanałów magistrali AHB w jeden, bardzo szybki kanał dwukierunkowej komunikacji rdzenia z otoczeniem (w rdzeniach Cortex-M4 rdzeń komunikuje się z otoczeniem za pomocą "standardowych" interfejsów-magistral AHB). Schemat blokowy rdzenia Cortex-M7 pokazano na rysunku 1, jego pozycjonowanie w ofercie producenta pokazano na rysunku 2.

Architektura rdzenia Cortex-M7 jest taka sama jak w przypadku rdzeni Cortex-M3 i Cortex-M4 (zgodnie z nomenklaturą firmy ARM nosi ona oznaczenie ARMv7E-M - tabela 1), a jego działanie jest zgodne z definicją architektury Harvard: magistrale zapewniające komunikację z pamięcią danych i poleceń są rozdzielone.

Firma ARM w opisie konstrukcyjnym rdzenia użyła nowych mechanizmów obniżających pobór mocy, które są dostępne opcjonalne podczas implementacji rdzenia w nowoczesnych technologiach półprzewodnikowych, charakteryzujących się niewielkim wymiarem charakterystycznym.

Pierwszą na świecie firmą, która zdecydowała się na zastosowanie rdzeni Cortex-M7 w swoich mikrokontrolerach jest STMicroelectronics, która poinformowała o pierwszych mikrokontrolerach z nowej rodziny STM32F7 w tym samym momencie, w którym firma ARM wprowadziła oficjalnie na rynek rdzeń Cortex-M7.

Cortex-M7 w skrócie...

...to usprawniona wersja Cortex-M4. Modyfikacje wprowadzone przez firmę ARM mają na celu zapewnienie szybszego dostępu do pamięci (pamięci cache dla danych i poleceń z potokowaniem i systemem predykcyjnego poboru danych), a także zapewnienie szybszej komunikacji z peryferiami, do czego służy interfejs master magistrali AXI.

Zoptymalizowanie opisu HDL jednostki CPU pozwoliło poprawić także parametry czasowe, dzięki czemu wzrosła maksymalna częstotliwość taktowania rdzenia w stosunku do dotychczasowych rozwiązań (przy tej samej technologii produkcji).


Rysunek 2. Rdzeń Cortex-M7 jest przeznaczony do najwydajniejszych mikrokontrolerów m.in. przeznaczonych do stosowania w modnych obecnie aplikacjach IoT

Rozwiązania zastosowane przez firmę ARM w rdzeniu Cortex-M7 pozwalają na szybszy niż w przypadku poprzedników dostęp rdzenia do zawartości pamięci SRAM i Flash, oczywiście przy założeniu, że konstrukcja pamięci umożliwia bezpośredni odczyt danych z relatywnie wysoką częstotliwością (dla typowych pamięci nieulotnych za taką uchodzi próg 70-90 MHz).

Żeby uniknąć efektu "wąskiego gardła" w dostępie do zawartości pamięci Flash, producenci stosują różne rozwiązania, na przykład w mikrokontrolerach STM32 pobieranie danych z pamięci Flash jest buforowane za pomocą sprzętowego akceleratora ART (Adaptive Real-Time - rysunek 3). Jego działanie polega m.in. na dekompozycji 128-bitowych słów przechowywanych w pamięci Flash na słowa 16- lub 32-bitowe, które są kolejkowane w lokalnej (wbudowanej w ART) pamięci cache.

Rysunek 3. Uproszczony schemat blokowy interfejsu ART, który w STM32F7 służy przyspieszeniu odczytu danych z pamięci Flash

Według informacji publikowanych przez producenta, mechanizmy usprawniające dostęp do zawartości Flash spowodowały, że nie ma konieczności używania podczas odczytu wait-state'ów dotychczas istotnie zmniejszających realną prędkość transferu danych.

Efekty zabiegów konstruktorów mikrokontrolerów STM32F7 widać w ich wydajności: przy maksymalnej dopuszczalnej częstotliwości taktowania CPU, wynoszącej obecnie 200 MHz, uzyskiwana jest wartość CoreMark na poziomie 1000 (vs 608 w przypadku STM32F4 @180MHz), a zgodnie z wybiegającymi w niezbyt odległą przyszłość zapowiedziami producenta, planowane jest osiągnięcie wyniku testu CoreMark o wartości 2000.

Tabela 1. Podstawowe cechy rdzeni Cortex-M

Producent opracowując mikrokontrolery STM32F7 zadbał o wyposażenie ich w bogaty zestaw elementów peryferyjnych (schemat blokowy pokazano na rysunku 4), w skład którego wchodzą wszystkie interfejsy znane z poprzednich generacji mikrokontrolerów oraz kilka nowych rozwiązań, w tym m.in.:

  • zmodyfikowany podsystem generowania sygnałów zegarowych, pozwalający na modyfikację częstotliwości taktowania bloków peryferyjnych bez konieczności zmiany ustawień taktowania CPU,
  • dwukanałowy transceiver I2S z obsługą S/PDIF oraz 3 półdupleksowe kanały wejściowe S/PDIF, interfejsy USB-OTG z wydzielonym zasilaniem, co pozwala korzystać z tego interfejsu także przy zasilaniu mikrokontrolera napięciem 1,8 V,
  • dwa interfejsy QSPI, które sprzętowo realizują transmisję danych z pamięciami wyposażonymi w 1-, 4- lub 8-bitowe interfejsy komunikacyjne.

Rysunek 4. Schemat blokowy mikrokontrolerów STM32F75x

Mogłoby się wydawać, że bogate wyposażenie wewnętrzne i duże możliwości obliczeniowe muszą spowodować wzrost mocy pobieranej podczas pracy, ale według zapewnień producenta cechy te nie wpłynęły na pogorszenie ich parametrów "oszczędnościowych" w porównaniu z układami STM32F4, co pozwoliło uzyskać wynik 7 CoreMark/mW w trybie Run, statyczny pobór 120 mA w trybie STOP z podtrzymaniem zawartości pamięci SRAM, 1,7 µA w trybie STANDBY oraz 0,1 µA w trybie VBAT.

Projektanci podrodziny STM32F7 zadbali o jeszcze jedną ważną rzecz: ich kompatybilność z mikrokontrolerami STM32F4, zarówno pod kątem fizycznego rozmieszczenia wyprowadzeń w obudowie, jak i ich kompatybilności elektryczno-czasowej, co minimalizuje ryzyko powstania problemów w przypadku modyfikowania konstrukcji urządzeń z tymi mikrokontrolerami.

Zabieg ten niezupełnie udał się w przypadku najmniejszych dostępnych w rodzinie STM32F7 obudów - LQFP100 - w których 30 wyprowadzeń jest umieszczonych odmiennie w obydwu podrodzinach. Pozostałe planowane wersje obudów (na razie dla mikrokontrolerów STM32F75x) - LQFP144, LQFP176, UFBGA176, LQFP208, TFBGA216 oraz WLCSP143 - dokładnie odpowiadają mikrokontrolerom STM32F4.

Z tego krótkiego opisu widać, że możliwości współczesnych mikrokontrolerów szybko rosną, co firma STMicroelectronics skrzętnie wykorzystuje, oferując szeroką i szybko rosnącą gamę układów o możliwościach i wyposażeniu, które umożliwia realizację (coraz bardziej) dowolnych aplikacji.

Zapowiedzi producenta dotyczące podwojenia aktualnego rekordu wydajności - a doświadczenie mówi, że trzeba je traktować poważnie! - tworzą dla konstruktorów sprzętu i programistów nową perspektywę, równie przełomową jak wprowadzenie kilka lat temu na rynek mikrokontrolerów z rdzeniem Cortex-M3. Czekamy!

Piotr Zbysiński, EP

Artykuł ukazał się w
Styczeń 2015
DO POBRANIA
Pobierz PDF Download icon
Zobacz też
Elektronika Praktyczna Plus lipiec - grudzień 2012

Elektronika Praktyczna Plus

Monograficzne wydania specjalne

Elektronik lipiec 2020

Elektronik

Magazyn elektroniki profesjonalnej

Raspberry Pi 2015

Raspberry Pi

Wykorzystaj wszystkie możliwości wyjątkowego minikomputera

Świat Radio lipiec 2020

Świat Radio

Magazyn użytkowników eteru

APA - Automatyka Podzespoły Aplikacje lipiec 2020

APA - Automatyka Podzespoły Aplikacje

Technika i rynek systemów automatyki

Elektronika Praktyczna lipiec 2020

Elektronika Praktyczna

Międzynarodowy magazyn elektroników konstruktorów

Praktyczny Kurs Elektroniki 2018

Praktyczny Kurs Elektroniki

24 pasjonujące projekty elektroniczne

Elektronika dla Wszystkich czerwiec 2020

Elektronika dla Wszystkich

Interesująca elektronika dla pasjonatów