STM32F746GDISCOVERY - tani zestaw startowy z mikrokontrolerem z rdzeniem Cortex-M7

| Technika

Mikrokontrolery STM32F7 z pewnym opóźnieniem w stosunku do zapowiedzi trafiły na rynek, a wraz z nimi także zestawy startowe i ewaluacyjne, pośród których szczególnie dużym zainteresowaniem cieszy się najtańszy i przy tym dobrze wyposażony zestaw z rodziny DISCOVERY

STM32F746GDISCOVERY - tani zestaw startowy z mikrokontrolerem z rdzeniem Cortex-M7

Fot. 1. Wygląd zestawu STM32F746GDISCOVERY od strony wyświetlacza LCD-TFT

Układy STM32F7 - jedne z pierwszych na rynku z najnowszym rdzeniem ARM Cortex-M7 - łączą cechy mikrokontrolerów, m.in. wbudowane: pamięć programu i danych, bogaty zestaw wewnętrznych peryferii, duża liczba GPIO i mikroprocesorów (szybkie CPU z pamięcią TCM-RAM, rozbudowane mechanizmy pipeline’ingu, wydajna magistrala komunikacyjna dla zewnętrznej pamięci SDRAM), co pogłębia "corteksowy" trend ostatnich lat.

Producent deklaruje maksymalną częstotliwość taktowania CPU w STM32F7 do 216 MHz, co pozwala im uzyskać prawdziwie "mikroprocesorową" wydajność obliczeniową 1082 CoreMark i prędkość wykonywania programu na poziomie 462 DMIPS. Pomimo kompleksowego wyposażenia mikrokontrolery STM32F7 pobierają prąd o relatywnie niewielkim natężeniu, w trybie normalnej pracy pobór prądu przez CPU nie przekracza 420 µA/MHz.

Mikrokontrolery STM32F7 wyposażono w zestaw klasycznych bloków peryferyjnych, znanych z wcześniejszych modeli mikrokontrolerów STM32 (w tym: 1×CEC, 1×SDIO, 2×CAN, 2×SAI, 2×USB OTG, 4×I²C, 4×UART, 4× USART, 6×SPI, 2×DAC 12-bitowy, 24 kanały ADC 12-bitowe, w wybranych modelach Ethernet MAC), zastosowano także kilka nowych rozwiązań, w tym m.in.:

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

Fot. 2. Wygląd zestawu STM32F746GDISCOVERY od strony elementów

"Pachnące" rekordami obietnice producenta, zawarte parametrach katalogowych mikrokontrolerów STM32F7, są poważną zachętą do ich weryfikacji, do czego niezbędne są zestawy startowe lub ewaluacyjne, które pojawiły się jednocześnie z produkcyjnymi wersjami mikrokontrolerów.

Szczególnym zainteresowaniem cieszy się najtańszy w ofercie STMicroelectronics zestaw startowy z serii DISCOVERY (STM32F746G-DISCOVERY), który umożliwia wygodne zweryfikowanie działania mikrokontrolera STM32F746NGH6 (1 MB Flash, 320 kB SRAM, 216 MHz, Cortex-M7) w wymagającym otoczeniu: z zewnętrzną pamięcią SDRAM, wyświetlaczem graficznym LCD-TFT WQVGA, interfejsem Ethernet i kodekiem audio.

Wygląd zestawu od strony wyświetlacza pokazano na fotografii 1, znacznie bardziej interesujący dla praktyków widok - od strony elementów - pokazano na fotografii 2.

Rdzeń Cortex-M7 jest rozbudowaną wersją rdzenia Cortex-M4, wyposażona w szybką pamięć SRAM TCM (dla danych i instrukcji programu) oraz cache dla danych i instrukcji. Dodatkowo zastosowano w tym rdzeniu zaawansowany 6-poziomowy mechanizm przetwarzania potokowego z predykcją oraz sprzętowym wsparciem superskalarnego wykonywania programu.

Ważnym udoskonaleniem wprowadzonym w rdzeniu Cortex-M7 w stosunku do starszych modeli rdzeni Cortex-M jest magistrala Master AXI (AXIM) zapewniająca komunikację CPU z blokami peryferyjnymi, która ma wpływ na wypadkową prędkość pracy mikrokontrolera. Zapewnia ona łączenie kilku kanałów magistrali AHB w jeden, szybki kanał dwukierunkowej komunikacji rdzenia z otoczeniem (w rdzeniach Cortex-M4 rdzeń komunikuje się z otoczeniem za pomocą "standardowych" interfejsów-magistral AHB).

W mikrokontrolerach STM32F7 zastosowano najnowszy rdzeń firmy ARM - Cortex-M7, którego schemat blokowy z opisami pokazano powyżej.

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", wymiary matrycy 480×272 punktów, moduł wyświetlacza został wyposażony w zintegrowany, pojemnościowy touch-panel z kontrolerem na I²C.

Fot. 3. Zestaw STM32F746GDISCOVERY może współpracować z shieldami Arduino

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.

Fot. 4. Jedna z aplikacji zestawu STM32F746GDISCOVERY - odtwarzacz plików audio z korektorem graficznym

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 (fot. 3). 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 STM32F7-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. W chwili przygotowywania artykułu prezentowany zestaw nie znajdował się jeszcze na liście domyślnych platform sprzętowych obsługiwanych przez to środowisko, ale w najbliższych dniach ma trafić na tę listę.

Ułatwieniem dla konstruktorów chcących szybko rozpocząć testy nowej platformy sprzętowej jest efektowna aplikacja demonstracyjna, zapisana w pamięci Flash mikrokontrolera użytego w zestawie. Składa się ona z ośmiu części uruchamianych i sterowanych za pomocą interfejsu dotykowego i graficznego menu sterującego, wśród nich szczególną uwagę zwracają: odtwarzacz audio z 5-pasmowym korektorem graficznym i regulowanym filtrem loudness (fot. 4), odtwarzacz wideo, rejestrator audio z analizatorem widm, sterownik ogrodowy, system alarmowy bazujący na kamerach wideo, jedna gra oraz serwer VNC (Virtual Network Computing).

Aplikacja w testowanej wersji (1.0.0) ma drobne niedoskonałości, pomimo których można poczuć poziom zaawansowania platformy i jej dużą moc obliczeniową. Z pewnością pojawią się kolejne wersje firmware dla tego zestawu, oferowane przez producenta biblioteki w ramach środowiska STM32CUBE (zawierają m.in. sterowniki HAL, USB, stos Ethernet, system plików, RTOS oraz biblioteki i sterowniki graficzne) umożliwiają przygotowanie własnych aplikacji, dzięki zewnętrznej pamięci SDRAM także o dużym stopniu skomplikowania.

Znacznie większe niż w dotychczas dostępnych platformach sprzętowych możliwości i bogatsze wyposażenie zestawu STM32F746G-DISCO zmusiły producenta do ustalenia wyższej ceny sprzedaży, ale jest ona nadal bardzo atrakcyjna w odniesieniu do wyposażenia zawartego na płytce, choćby samego wyświetlacza.

Piotr Zbysiński