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
Elektronika Praktyczna
styczeń 2015
DO POBRANIA
Pobierz PDF Download icon
Elektronika Praktyczna Plus lipiec - grudzień 2012

Elektronika Praktyczna Plus

Monograficzne wydania specjalne

Elektronik grudzień 2024

Elektronik

Magazyn elektroniki profesjonalnej

Raspberry Pi 2015

Raspberry Pi

Wykorzystaj wszystkie możliwości wyjątkowego minikomputera

Świat Radio listopad - grudzień 2024

Świat Radio

Magazyn krótkofalowców i amatorów CB

Automatyka, Podzespoły, Aplikacje listopad - grudzień 2024

Automatyka, Podzespoły, Aplikacje

Technika i rynek systemów automatyki

Elektronika Praktyczna grudzień 2024

Elektronika Praktyczna

Międzynarodowy magazyn elektroników konstruktorów

Elektronika dla Wszystkich styczeń 2025

Elektronika dla Wszystkich

Interesująca elektronika dla pasjonatów