Tanie narzędzia startowe dla Cortex-M7 z oferty STMicroelectronics (STM32F7)

Tanie narzędzia startowe dla Cortex-M7 z oferty STMicroelectronics (STM32F7)
Pobierz PDF Download icon
Mikrokontrolery STM32F7 dzięki budowie i możliwościom zastosowanego w nich rdzenia Cortex-M7 stanowią swoisty wydajnościowy pomost pomiędzy mikrokontrolerami i mikroprocesorami. Rdzeń może być taktowany z częstotliwością do 216 MHz, co przy średniej wydajności 2,14 DMIPS/MHz daje wynik 462 DMIPS, w przypadku zoptymalizowanych programów nawet 3,23 DMIPS/MHz (5 CoreMark/MHz).

Od strony technicznej Cortex-M7 to rozbudowana wersja rdzenia Cortex-M4, przystosowana do współpracy zszybką pamięcią SRAM TCM (dla danych i instrukcji programu), wyposażoną w pamięci cache dla danych i instrukcji (rysunek 1), a także zaawansowany 6-poziomowy mechanizm przetwarzania potokowego z predykcją oraz sprzętowym wsparciem superskalarnego wykonywania programu.

Rysunek 1. Schemat blokowy rdzenia Cortex-M7

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), 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.

Ważnym udoskonaleniem wprowadzonym w rdzeniu Cortex-M7 jest nowa magistrala komunikacyjna, która ma wpływ na wypadkową prędkość pracy mikrokontrolera: Master AXI (AXIM). Zapewnia ona "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).

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).

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. 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.

Rysunek 2. Schemat blokowy mikrokontrolerów STM32F75x

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

Producent opracowując mikrokontrolery STM32F7 zadbał o wyposażenie ich w bogaty zestaw elementów peryferyjnych (schemat blokowy pokazano na rysunku 2), 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 generacji 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ą SPDIF oraz 3 półdupleksowe kanały wejściowe SPDIF, 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.

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 mA w trybie STANDBY oraz 0,1 mA w trybie VBAT.

Fotografia 3. Wygląd zestawu STM32F746G-DISCOVERY

Producent przygotował tani zestaw startowy dla mikrokontrolerów STM32F7 - STM32F746G-DISCOVERY (fotografia 3) - który umożliwia wygodne zweryfikowanie działania mikrokontrolera STM32F746NGH6 (1 MB Flash, 320 kB SRAM, 216 MHz) w wymagającym otoczeniu: z zewnętrzną pamięcią SDRAM, wyświetlaczem graficznym LCD-TFT WQVGA, interfejsem Ethernet i kodekiem audio.

Fizyczne wymiary prezentowanego zestawu są większe niż dotychczasowych DISCOVERY z mikrokontrolerami STM32, co wynika przede wszystkim z użytego w nim dużego wyświetlacza LCD-TFT, który stanowi integralną część zestawu. Przekątna wyświetlacza wynosi 4,3 cala, wymiary matrycy 480×272 punktów, moduł wyświetlacza został wyposażony w zintegrowany, pojemnościowy touch-panel z kontrolerem na I2C.

Wyposażenie prezentowanego zestawu należy do ponadstandardowych jak na tanie rozwiązanie mikrokontrolerowe, bowiem STM32F746G-DISCOVERY jest kompletnym komputerem sieciowym! W skład wyposażenia zestawu wchodzą:

  • pamięci NOR Flash z interfejsem QSPI (128 Mb),
  • pamięć SDRAM o pojemności 128 Mb (z czego mikrokontroler obsługuje 64 Mb),
  • kodek audio WM8994 ze stereofonicznymi: wyjściem słuchawkowym, wyjściami głośnikowymi i wejściem liniowym,
  • wejście cyfrowego audio SPDIF,
  • interfejs Ethernet 10/100 bazujący na zewnętrznym MAC, komunikującym się z mikrokontrolerem poprzez interfejs RMII,
  • złącza: kart MicroSD i kamery CCD (dołączony interfejs DCMI) oraz złącza Arduino Rev.3 (jak w zestawach STM32 NUCLEO), które umożliwiają montaż shieldów przystosowanych do zasilania napięciem 3,3 V,
  • interfejsy USB OTG w wersjach: FS (PHY wbudowany w mikrokontroler) oraz HS (z zewnętrznym PHY USB3320C, który komunikuje się z mikrokontrolerem za pomocą interfejsu ULPI.

Atutem prezentowanego zestawu są złącza zgodne z Arduino Rev. 3, w których można instalować shieldy przystosowane do zasilania napięciem I/O o wartości 3,3 V. producent zachował dużą zgodność wyprowadzeń ze specyfikacją Arduino, bowiem zestaw można zasilać - jako jednego ze źródeł - także z napięcia zewnętrznego Vin.

Prezentowany w artykule zestaw STM32F746G-DISCOVERY wyposażono - podobnie do starszych modeli DISCOVERY - w dwa mikroswitche (w tym tylko jeden dla użytkownika), złącze dla ekspandera z pamięciami EEPROM NFC (M24SR/M24LR) oraz programator-debugger ST-Link/V2-1. Programator jest przystosowany do współpracy ze środowiskiem mbed.org.

Andrzej Gawryluk

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

Elektronika Praktyczna Plus

Monograficzne wydania specjalne

Elektronik wrzesień 2020

Elektronik

Magazyn elektroniki profesjonalnej

Raspberry Pi 2015

Raspberry Pi

Wykorzystaj wszystkie możliwości wyjątkowego minikomputera

Świat Radio wrzesień 2020

Świat Radio

Magazyn użytkowników eteru

Automatyka Podzespoły Aplikacje wrzesień 2020

Automatyka Podzespoły Aplikacje

Technika i rynek systemów automatyki

Elektronika Praktyczna wrzesień 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 sierpień 2020

Elektronika dla Wszystkich

Interesująca elektronika dla pasjonatów