STM32F429I-DISCO – DISCOVERY z STM32 (Cortex-M4F) dla aplikacji GUI

Mikrokontrolery STM32 „podbiły” większość rynku aplikacji mikrokontrolerowych, co było możliwe m.in. dzięki ich przemyślanemu wyposażeniu. Producent zrobił w tym kierunku kolejny krok, który wzmacnia pozycje tych układów na rynku i jednocześnie kreuje nowe obszary ich stosowania, oferują jednocześnie kolejne narzędzie w cenie „DISCOVERY”, ale o jeszcze większych możliwościach…

Zestaw STM32F429I-DISCO (fotografia 1) od chwili pojawienia się pierwszych zapowiedzi jego wprowadzenia na rynek, wzbudził ogromne zainteresowanie: był to wynik jego zapowiadanego bogatego wyposażenia, którego centralnym elementem jest kolorowy wyświetlacz LCD-TFT zintegrowany z rezystancyjnym touch-panelem. Od razu po otrzymaniu do testów pierwszego zestawu tego typu przygotowaliśmy artykuł, teraz wracamy do tematu, bo wiemy o zestawie znacznie więcej i – co niezwykle ważne – jest on już dostępny w sprzedaży! Nowy zestaw występuje na rynku pod dwoma oznaczeniami: 32F429I-DISCOVERY oraz STM32F429I-DISCO (przegląd zestawów DISCOVERY z zestawieniem ich oznaczeń jest dostępny pod adresem). Niezależnie od oznaczenia, wygląd, budowa oraz możliwości funkcjonalne zestawów są takie same, różnica jest skutkiem braku konsekwencji w nadawaniu nazw przez producenta.

Fot. 1. Wygląd zestawu STM32F429I-DISCO

Fot. 1. Wygląd zestawu STM32F429I-DISCO

 

Na filmie poniżej przedstawiamy wybrane możliwości kontrolera graficznego wbudowanego w mikrokontroler, a także możliwości bibliotek STemWIN, które stanowią programową bazę demonstracyjnego interfejsu GUI.

Zestaw STM32F429I-DISCO wyposażono w mikrokontroler STM32F429ZIT6 z pamięcią Flash o pojemności 2 MB (podzieloną na dwa banki), wewnętrzną pamięcią SRAM o pojemności 256 kB, zamontowano go w obudowie LQFP144. Mikrokontroler STM32F429ZIT6 wyposażono w rdzeń Cortex-M4F (z wbudowanym koprocesorem zmiennoprzecinkowym FPU), taktowany sygnałem zegarowym o maksymalnej częstotliwości do 180 MHz.

Fot. 2. Wyświetlacz zastosowany w zestawie STM32F429I-DISCO ma przekątną 2,4 cala i wymiary matrycy 240x320 px (QVGA)

Fot. 2. Wyświetlacz zastosowany w zestawie STM32F429I-DISCO ma przekątną 2,4 cala i wymiary matrycy 240×320 px (QVGA)

 

Spektakularnym elementem wyposażenia zestawu jest kolorowy wyświetlacz LCD-TFT o przekątnej 2,4 cala i wymiarach matrycy 240×320 px (QVGA) – fotografia 2. Wyświetlacz jest sterowany przez kontroler LCD wbudowany w mikrokontroler STM32F429 wspomagany przez koprocesor graficzny. Koprocesor ten – o nazwie ChromArt (DMA2D) – zapewnia dużą wydajność mikrokontrolerów w aplikacjach graficznych, bowiem samodzielnie realizuje wiele podstawowych funkcji wspomagających wyświetlanie obrazów, w tym: 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 przeźroczystoś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.

Wszystkie mikrokontrolery z serii STM32F43x wyposażono w koprocesor graficzny ChromART (DMA2D). Mikrokontrolery STM32F4x9 wyposażono także w wewnętrzny sterownik LCD, który umożliwia obsługę wyświetlaczy bez własnej pamięci.

Rys. 3. Schemat elektryczny podłączenia wyświetlacza LCD do mikrokontrolera w zestawie STM32F429I-DISCO

Rys. 3. Schemat elektryczny podłączenia wyświetlacza LCD do mikrokontrolera w zestawie STM32F429I-DISCO

 

Za współpracę mikrokontrolera z wyświetlaczem LCD odpowiada specjalny kontroler, który wchodzi w skład wyposażenia mikrokontrolerów STM32F4x9. Jest on bardzo elastyczny, może współpracować z wieloma typami modułów LCD o różnych interfejsach sprzętowych. Na rysunku 3 pokazano fragment schematu zestawu STM32F429I-DISCO ilustrujący dołączenie wyświetlacza zastosowanego w zestawie: jest to interfejs RGB666 z wydzielonymi liniami synchronizacji. Na schemacie pokazanym na rysunku 4 widać sprzętową część interfejsu obsługującego rezystancyjny touch-panel, którą wykonano na ekspanderze STMPE811QTR z oferty STMicroelectronics.

Rys. 4. Schemat elektryczny podłączenia ekspandera STMPE811QTR do touch-panela i mikrokontrolera w zestawie STM32F429I-DISCO

Rys. 4. Schemat elektryczny podłączenia ekspandera STMPE811QTR do touch-panela i mikrokontrolera w zestawie STM32F429I-DISCO

 

Atutem mikrokontrolerów STM32F4x9 w aplikacjach graficznych jest wbudowana w nie 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 x 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 DMA2D ma do niej dostęp, podobnie jak do pozostałych obszarów pamięci.

Rys. 5. Schemat blokowy zestawu STM32F429I-DISCOVERY

Rys. 5. Schemat blokowy zestawu STM32F429I-DISCOVERY

 

Podobnie do starszych typów zestawów DISCOVERY także prezentowany w artykule wyposażono w dodatkowe peryferia współpracujące z mikrokontrolerem, widać je na schemacie blokowym pokazanym na rysunku 5. Elementami standardowego wyposażenia zestawu są także: pamięć SDRAM o pojemności 64 Mb (o organizacji 1 M x 16b x 4 banki), 3-osiowy żyroskop MEMS (L3GD20), sześć diod LED (w tym 2 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). Ze względu na dużą powierzchnię zajmowaną przez wyświetlacz na powierzchni PCB mikrokontroler, pamięć SDRAM oraz kilka mniejszych elementów zamontowano na dolnej stronie płytki drukowanej zestawu (fotografia 6).

Fot. 6. Część elementów – w tym mikrokontroler i pamięć SDRAM – zamontowano na dolnej powierzchni płytki drukowanej zestawu STM32F429I-DISCO

Fot. 6. Część elementów – w tym mikrokontroler i pamięć SDRAM – zamontowano na dolnej powierzchni płytki drukowanej zestawu STM32F429I-DISCO

 

Podobnie jak pozostałe zestawów 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. Zestaw jest przystosowany do zasilania z USB współpracującego komputera lub zewnętrznego zasilacza stabilizowanego o napięciu wyjściowym 3 lub 5 V.

Rys. 7. Niektóre obiekty graficzne z bibliotek STemWIN

Rys. 7. Niektóre obiekty graficzne z bibliotek STemWIN

 

Oferowane przez STMicroelectronics rozwiązania sprzętowe nie były zbyt użyteczne bez odpowiedniego oprogramowania. Dlatego firma STMicroelectronic udostępniła bezpłatnie we współpracy z firmą Segger biblioteki graficzne o nazwie STemWIN, które pozwalają tworzyć szybko i wygodnie interfejsy GUI. Dzieki bibliotekom można używać predefiniowanych okien dialogowych, przyciski, checkboksy, można także 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 przeźroczystość). Przykładowe obiekty graficzne dostępne w bibliotekach STemWIN pokazano na rysunku 7.

Biblioteki STemWIN są dostarczane w postaci prekompilowanych obiektów i są one przystosowane wyłącznie do stosowania na mikrokontrolerach STM32 z rdzeniami Cortex-M3 lub Cortex-M4. Obecnie dostępna wersja bibliotek jest przystosowana do kompilacji w środowiskach EWARM (IAR), MDK-ARM (ARM/Keil), TrueSTUDIO (Atollic).

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

Andrzej Gawryluk

Autor: