STM32F429I-DISCO + STemWIN. Metoda na bezpłatne GUI

| Technika

STMicroelectronics podbija serca konstruktorów szybkimi, nowoczesnymi i przy tym tanimi mikrokontrolerami 32-bitowymi, szeroką gamą tanich zestawów startowych, a także coraz szerszą ofertą bezpłatnych bibliotek, które rozwiązują konstruktorom wiele problemów. Jednym z takich pakietów jest STemWIN, a możliwości tego zestawu bibliotek można przetestować na rewolucyjnym (cenowo) zestawie STM32F429I-DISCO.

STM32F429I-DISCO + STemWIN. Metoda na bezpłatne GUI

Zestaw STM32F429I-DISCO (fot. 1) już przed pojawieniem się w sprzedaży wzbudził ogromne zainteresowanie wśród potencjalnych użytkowników: jest to pierwszy zestaw w tak niskiej cenie (poniżej 140 PLN brutto), wyposażony w kolorowy wyświetlacz LCD-TFT z touchpanelem oraz mikrokontroler STM32F4 z wbudowanym zaawansowanym koprocesorem graficznym i sterownikiem LCD.

Zestaw wyposażono w mikrokontroler STM32F429ZIT6 z dwusektorową pamięcią Flash o pojemności 2 MB, wewnętrzną pamięcią SRAM o pojemności 256 kB i łatwej w montażu obudowie LQFP144. Tak jak inne z rodziny STM32F4, także mikrokontroler zastosowany w zestawie wyposażono w rdzeń Cortex-M4F (Cortex-M4 z dodatkowym koprocesorem zmiennoprzecinkowym FPU), który może być taktowany sygnałem zegarowym o maksymalnej częstotliwości 180 MHz. Warto zwrócić uwagę, że nowy zestaw występuje na rynku pod dwoma oznaczeniami: 32F429I-Discovery oraz STM32F429I-DISCO - niezależnie od oznaczenia wygląd, budowa, wyposażenie i możliwości zestawów są identyczne.

Wyświetlacz

Fot. 1. Zestaw STM32F429I-DISCO jest pierwszym z serii Discovery wyposażonym w kolorowy LCD

Z przyczyn oczywistych, elementem wyposażenia zestawu zwracającym największą uwagę jest kolorowy wyświetlacz LCD-TFT o przekątnej 2,4 cala i wymiarach matrycy 240×320 px (QVGA). Wyświetlacz jest sterowany przez kontroler LCD wbudowany w mikrokontroler STM32F429 (oryginalne rozwiązanie producenta, stosowane w mikrokontrolerach STM32F4x9).

Wbudowany kontroler obsługuje różne tryby i konfiguracje pracy fizycznego interfejsu, w zestawie wykorzystano tryb RGB666 z wydzielonymi trzema liniami synchronizacji: HSYNC, VSYNC oraz DOTSYNC. Z kolei naklejony na LCD rezystancyjny touch-panel jest sprzętowo obsługiwany przez scalony ekspander STMPE811QTR z oferty STMicroelectronics. Jedną z jego zalet jest możliwość kompensowania zmian parametrów touch-panelu w funkcji temperatury otoczenia, a to dzięki wbudowanemu w układ STMPE811 czujnikowi temperatury.

Mikrokontrolery STM32F4x7/4x9 osiągają dużą wydajność w aplikacjach graficznych dzięki wbudowanemu w strukturę koprocesorowi graficznemu ChromART (DMA2D). Od strony konstrukcyjnej jest to wyspecjalizowany kanał DMA z możliwością specyficznego modyfikowania danych podczas ich przesyłu.

Dzięki temu ChromART samodzielnie realizuje wiele podstawowych funkcji wspomagających wyświetlanie obrazów, m.in.: wypełnianie zadanych obszarów kolorem zdefiniowanym przez użytkownika, kopiowanie i przenoszenie fragmentów obrazu, konwersja formatów z bazą w CLUT (Colour Look-Up table) definiowaną przez użytkownika, nakładanie obrazów z opcjonalnym definiowaniem przezroczystości itp. Nie jest to więc od strony funkcjonalnej "karta graficzna" w rozumieniu PC, ale doskonałe narzędzie wspomagające realizację typowych interfejsów graficznych w różnego rodzaju panelach HMI.

Atutem mikrokontrolerów STM32-F4×9 w aplikacjach graficznych jest także wbudowana pamięć Flash o dużej pojemności, która pozwala na przechowywanie w niej wielu obrazów QVGA. Przeciętnie do przechowania grafiki o wymiarach 320×240 pikseli w formacie RGB256c potrzebna jest pamięć o pojemności ok. 75 kB, taki sam obraz w formacie RBG16b potrzebuje ok. 150 kB.

W przypadku konieczności obróbki wyświetlanych obrazów pomocna może okazać się zewnętrzna pamięć SDRAM, która jest obsługiwana przez wbudowany w mikrokontrolery kontroler FMC (Flexible Memory Controller). Koprocesor DMS2D ma do niej dostęp, podobnie jak do pozostałych obszarów pamięci.

Dodatki sprzętowe

Podobnie do starszych typów zestawów Discovery także prezentowany w artykule wyposażono w dodatkowe peryferie współpracujące z mikrokontrolerem, które tworzą środowisko do testowania możliwości mikrokontrolerów. Elementami standardowego wyposażenia zestawu są (rys. 2): pamięć SDRAM o pojemności 64 Mb (o organizacji 1 M×16 b×4 banki), 3-osiowy żyroskop MEMS (L3GD20), sześć diod LED (w tym dwie do wykorzystania w aplikacji użytkownika), dwa mikroprzełączniki (w tym jeden dla aplikacji użytkownika), a także interfejs i złącze USB-OTG (złącze OTG A/B).

Mikrokontroler zastosowany w zestawie wyposażono w kompletny, konfigurowalny kontroler LCD oraz kontroler pamięci SDRAM - do prezentacji możliwości tych właśnie interfejsów jest polecany nowy zestaw, są one bowiem nowym, bardzo spektakularnym wyposażeniem mikrokontrolerów STM32F429/439. Jak wcześniej wspomniano, za obsługę 4-przewodowego touch-panelu rezystancyjnego, naklejonego na wyświetlacz LCDTFT, odpowiada w zestawie ekspander STMPE811, który komunikuje się z mikrokontrolerem poprzez magistralę I²C z własną linią przerwań.

Podobnie jak pozostałe zestawy z serii Discovery, także STM32F429I-DISCO ma zintegrowany programator-debugger zgodny z ST-Link/v2 oraz dwurzędowe złącza gold-pin (raster 2,54 mm) z wyprowadzonymi liniami GPIO mikrokontrolera. Urządzenie jest przystosowane do zasilania z USB lub zewnętrznego zasilacza stabilizowanego o napięciu wyjściowym 3 lub 5 V.

Oprogramowanie

Rys. 2. Schemat blokowy zestawu STM32F429I-Discovery

Sam - choćby najdoskonalszy - sprzęt nie rozwiąże problemów, jakie napotykają konstruktorzy w swoich aplikacjach. Dotyczy to także aplikacji graficznych (różnego rodzaju GUI), z czego firma STMicroelectronics zdawała sobie sprawę w chwili wprowadzania mikrokontrolerów STM32F4x9 do produkcji. Dlatego, we współpracy z firmą Segger, zostały bezpłatnie udostępnione biblioteki graficzne o nazwie STemWIN, które pozwalają szybko i wygodnie tworzyć dojrzałe graficznie i funkcjonalnie interfejsy GUI.

Tworząc je, można stosować predefiniowane okna dialogowe, przyciski, checkboksy, dekodować, skalować i wyświetlać obrazy w formatach JPG, GIF oraz PNG, korzystać ze skalowalnych fontów, rysować wykresy, a także obsługiwać obiekty z różnymi atrybutami (m.in. cieniowanie i przezroczystość). Biblioteki STemWIN są dostarczane w postaci obiektowej (prekompilowane), przystosowane wyłącznie do stosowania na mikrokontrolerach STM32 z rdzeniami Cortex-M3 lub Cortex-M4. Producent zastrzega, że są one przystosowane do kompilacji w środowiskach EWARM (IAR), MDK-ARM (ARM/Keil) i TrueSTUDIO (Atollic).

W zależności od typu zastosowanego mikrokontrolera (i jego wyposażenia), programista może użyć drivera kontrolera LCD współpracującego z ChromARTem lub drivera współpracującego z jednym z wielu typów zewnętrznych kontrolerów z magistralą równoległą, jak na przykład: S1D19122 (Epson), HD66772 (Hitachi), SSD1355, SSD1961, SSD1963, SSD2119 (Solomon) itp.

Sztandarową ilustracją możliwości prezentowanych bibliotek jest GUI demonstracyjne w zestawie STM32F429IDisco, które pokazuje efekty działania większości mechanizmów, jakie są potrzebne w typowych GUI.

Te pozornie drobne kroki firmy STMicroelectronics - wprowadzenie do sprzedaży szybkich mikrokontrolerów z wbudowanym pełnowartościowym kontrolerem LCD i bezpłatne udostępnienie bibliotek graficznych - są kolejnym etapem "corteksowej" rewolucji. Budowanie interaktywnych interfejsów graficznych nigdy nie było tak proste!

Dodatkowe materiały i informacje o zestawie STM32F429I-DISCO są dostępne pod adresem http://www.st.com/stm32f4-discovery

Piotr Zbysiński

Zobacz również