STM32F746GDISCOVERY - tani zestaw startowy z mikrokontrolerem z rdzeniem Cortex-M7
| TechnikaMikrokontrolery 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
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.
"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). |
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.
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 (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