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

Elektronika Praktyczna Plus lipiec - grudzień 2012

Elektronika Praktyczna Plus

Monograficzne wydania specjalne

Elektronik maj 2021

Elektronik

Magazyn elektroniki profesjonalnej

Raspberry Pi 2015

Raspberry Pi

Wykorzystaj wszystkie możliwości wyjątkowego minikomputera

Świat Radio kwiecień - maj 2021

Świat Radio

Magazyn krótkofalowców i amatorów CB

Automatyka Podzespoły Aplikacje kwiecień 2021

Automatyka Podzespoły Aplikacje

Technika i rynek systemów automatyki

Elektronika Praktyczna maj 2021

Elektronika Praktyczna

Międzynarodowy magazyn elektroników konstruktorów

Elektronika dla Wszystkich maj 2021

Elektronika dla Wszystkich

Interesująca elektronika dla pasjonatów