TouchGFX – platforma dla STM32 od STMicroelectronics

 

TouchGFX to zaawansowana, bezpłatna platforma oprogramowania graficznego zoptymalizowana pod kątem mikrokontrolerów STMicroelectronics STM32. Wykorzystując funkcje graficzne i wydajną architekturę STM32, TouchGFX przyspiesza rewolucję HMI-of-things poprzez tworzenie rozbudowanych, graficznych interfejsów użytkownika podobnych do smartfonów. Pakiet TouchGFX zawiera: TouchGFXDesigner oraz TouchGFX Engine oraz TouchGFX Generator, plugin do STM32CubeMX, który jest konfiguratorem i generatorem warstwy abstrakcji TouchGFX. TouchGFXDesigner to łatwe w użyciu narzędzie do tworzenia grafiki oparte na przeciąganiu i upuszczaniu komponentów graficznych, natomiast TouchGFX Engine to wydajny i zoptymalizowany silnik graficzny. TouchGFX ułatwia tworzenie GUI, łącząc symulator WYSIWYG i automatyczne generowanie kodu. Obejmuje wszystkie etapy, od wczesnych szkiców projektowych do ekskluzywnych produktów końcowych, poprzez szybkie iteracje gotowych prototypów.

TouchGFX Designer jest dostępny jako samodzielne oprogramowanie, umożliwiające łatwy i szybki rozwój aplikacji graficznych oraz weryfikację koncepcji. Pakiet TouchGFX dostępny jest w zbiorze STM32Cube. Jest w pełni kompatybilny z narzędziem do inicjalizacji i generowania kodu STM32CubeMX oraz współpracuje z różnymi dostawcami narzędzi do pisania oprogramowania w tym bezpłatne narzędzie STM32CubeIDE.

Najważniejsze funkcje:
  • Struktura: łatwe tworzenie zawartości wielu ekranów i interakcji pomiędzy nimi,
  • Widżety: szeroki wybór konfigurowalnych widżetów, takich jak kontener przesuwania, czy wskaźnik postępu, do łatwego tworzenia GUI,
  • Skins: Zestaw gotowych do użycia „skórek” graficznych umożliwiających spójne prototypowanie bez konieczności korzystania grafika,
  • Brak ograniczeń w korzystaniu z niestandardowych grafik,
  • Interakcje: dynamiczne interakcje do tworzenia intuicyjnych interfejsów,
  • Niestandardowe kontenery: Łatwe tworzenie platformy o ujednoliconym wyglądzie i działaniu,
  • Obsługa tekstu:
    • Czcionki określone i zarządzane w jednym miejscu,
    • Pełna obsługa tłumaczeniowa,
    • Pełna obsługa wielu alfabetów i skryptów, takich jak łaciński, cyrylica, arabski, chiński i japoński,
  • Generowanie kodu:
    • TouchGFXDesigner automatycznie generuje kod C++,
    • Kod wygenerowany przez TouchGFXDesigner jest całkowicie oddzielony od kodu użytkownika,
    • Wszystkie typy rozszerzeń kodu możliwe dla unikalnych animacji, a także połączeń między systemami,
    • Obsługa kilku zintegrowanych środowisk programistycznych, takich jak IAR Embedded Workbench, Arm Keil oraz STM32CubeIDE oparte na GCC.

Platforma TouchGFX w połączeniu z mikrokontrolerami STM32 pozwala na pracę z wyświetlaczami o rozdzielczościach do 1024×768 (wielkościach do około 10-12’) przeróżnymi interfejsami takimi jak szeregowe SPI, równoległe I8080, 24-bit RGB i MIPI.

Zasoby MCU niezbędne do uruchomienia TouchGFX
  • CPU: 1-90% w zależności od aplikacji i sprzętowych akceleratorów,
  • System operacyjny: nie jest niezbędny lub jakikolwiek RTOS wspierany przez STM32: FreeRTOS, Azure ThreadX TROS,
  • Pamięć RAM:
    • Framework i stos 10-30kB,
    • Widżety: 1-15kB,
    • Framebuffer: 10kB-3MB w zależności od rozdzielczości ekranu, głębi kolorów i ilości framebufferów,
  • Pamięć FLASH:
    • Framework: 60-100kB,
    • Definicje ekranów, GUI, logika: 1-100kB,
    • Obrazy i czcionki: 1-40MB w zależności od rozbudowania aplikacji.
Aplikacje graficzne ”low cost”

Aplikacje graficzne nie zawsze muszą oznaczać drogi i wydajny sprzęt. Platforma TouchGFX pozwala projektować atrakcyjne interfejsy graficzne nawet już w oparciu o tanie MCU STM32G0 z taktowaniem 64Mhz oraz kolorowe wyświetlacze graficzne  z interfejsem SPI.

Poniżej przykładowa konfiguracja:

  • MCU: STM32G071RBT6
    • MCU RAM 36 kB
    • MCU Flash 128 kB
  • Wyświetlacz: PH320480T009-LAA01
    • Rozmiar: 3.5”
    • Rozdzielczość 320 x 480
    • Sterownik: ST7796S-G5
    • Interfejs: SPI 32MHz
  • NOR Flash: Amic A25LQ64M-F/G
    • Typ: NOR Flash
    • Wielkość: 64 Mbit
    • Interfejs: SPI 32 MHz

Wyświetlacz podłączony jest do SPI1 natomiast pamięć FLASH do SPI2 co pozwala MCU na odczyt danych z pamięci oraz jednoczesne wysyłanie danych do wyświetlacza.

Ograniczenia sprzętowe:
  • Odświeżanie obrazu – rozdzielczość to 320×480 co daje 153 600 pixeli lub inaczej mówiąc 307 200 Bajtów. Transfer danych pomiędzy MCU a wyświetlaczem to 32MHz co daje 4MB/s lub 2MPixele/s

Zakładając częstotliwość odświeżania 76 razy na sekundę w jednej ramce zdołamy przesłać 2 000 000 pixeli podzielone przez 76 co daje 26 280 pixeli (17% całego ekranu). Realnie będzie to jakieś 15% kompletnego ekranu do wyświetlenia. W takim przypadku, aby obraz na wyświetlaczu był płynny musimy optymalizować powierzchnię ekranu, która ma być odświeżana.

  • Prędkość rysowania – Należy zwrócić uwagę na format obrazu zapisywanego w pamięci SPI FLASH, aby nadążyć transferować dane z pamięci do wyświetlacza – maksymalnie RGB565.
Ograniczenia programowe TouchGFX:
  • Texture Mapper, Animation Texture Mapper, Scalable Image – te widgety z uwagi na niezbędne zasoby do działania domyślnie są wyłączone dla STM32G0. Jest możliwość ich włączenia ręcznie, natomiast należy pamiętać o ograniczeniach sprzętowych, nie w każdym projekcie na sTM32G0 z wyświetlaczme graficznym uda się to uruchomić.
  • Bitmap Painter (Line, Circle, Dynamic Graph) – podobnie jak wyżej i te widgety potrzebują wewnętrznej pamięci FLASH lub RAM do odpowiedniego działania i domyślnie są wyłączone dla STM32G0
  • L8 format – format ten może być użyty pod warunkiem wykorzystania wbudowanej pamięci FLASH

Czytaj więcej: kliknij tu

Wyświetlacze w ofercie Masters:

W ofercie firmy Masters znajdziesz wyświetlacze odpowiednio dobrane do typu mikrokontrolera STM32 oraz możliwości środowiska TouchGFX. Posłużę się przykładem firmy Powertip Technology Corp. (czołowy tajwański producent wyświetlaczy LCD), którego szerokie portfolio, poza standardowymi popularnymi wyświetlaczami monochromatycznymi znakowymi i graficznymi oraz TFT, zawiera również wyświetlacze z szerokimi kątami patrzenia, tzw. full viewing angle (FVA). Znajdziemy tu wiele dostępnych rozmiarów wyświetlaczy w przedziale od 2” do 10.1”. Wszystkie mogą zawierać pojemnościowy panel dotykowy, a niektóre wersje takie jak 3.5″, 4.3”, 7” dostępne są także w wersji z rozszerzoną temperaturą pracy. Możemy również wybierać spośród wielu dostępnych interfejsów sterowania tj. szeregowy SPI, równoległy I8080, 24-bit RGB, MIPI-DSI, LVDS, HDMI.

Dowiedz się więcej:

Nowe funkcje, które ułatwiają pracę z tekstami i wykresami

TouchGFXDesigner

X-CUBE-TOUCHGFX

Wyświetlacz X-Cube

X-NUCLEO-GFX01M2

Graficzny interfejs użytkownika STM32

Dodatkowe informacje o STM32G0:

Dedykowana strona o STM32G0

Seria STM32G0

 

 

Skontaktuj się z nami

Masters jest oficjalnym dystrybutorem firmy STMicroelectronics. Jeśli jesteś zainteresowany otrzymaniem próbek lub chcesz porozmawiać o swoim projekcie i możliwościach zastosowania produktów STMicroelectronics zachęcamy do kontaktu masters@masters.com.pl  lub bezpośrednio z wybranym Biurem Obsługi Klienta. Doradzimy najbardziej odpowiednie rozwiązanie do Twoich potrzeb.