GUIX Studio: mikrokontrolery Renesas Synergy w aplikacjach graficznych [1]

Uwaga! Druga część artykułu jest dostępna pod adresem.

W każdej aplikacji wymagającej interakcji z użytkownikiem powinien być wbudowany interfejs użytkownika. Coraz częściej do jego implementacji wykorzystuje się wyświetlacze graficzne o różnej rozdzielczości. Zastosowanie takiego wyświetlacza znacznie podnosi atrakcyjność urządzenia i pozwala na umieszczenie na ekranie wielu przydatnych informacji. Z drugiej strony zaprojektowanie dobrego interfejsu użytkownika z wyświetlaczem graficznym wymaga dobrego projektu i poza tym jest dość skomplikowane programowo i wymaga odpowiednich zasobów mikrokontrolera (moc obliczeniowa, interfejsy sterujące i pamięć).

Moduł ewaluacyjny SK-S7G2 firmy Renesas (fotografia 1), dedykowany do prototypowania i testowania aplikacji IoT, jest wyposażony w graficzny kolorowy wyświetlacz TFT o przekątnej 2,4 cala i rozdzielczości 240×320 pikseli. Panel wyświetlacza ma wbudowany sterownik ILI9341V produkowany przez firmę ILTEK. Komunikacja pomiędzy sterownikiem, a mikrokontrolerem odbywa się poprzez równoległą magistralę pracującą w przemysłowym standardzie Intel 8080 lub przez magistralę SPI. Magistrala może mieć szerokość 8, 9, 16 lub 18 bitów. Opcjonalnie dane można przesyłać za pomocą szeregowej magistrali SPI. W module SK-S7G2 wykorzystywana jest 16-bitowa magistrala równoległa wykorzystująca w sumie 27 linii portów mikrokontrolera. Moduł wyświetlacza jest połączony do płytki za pomocą taśmy elastycznej i specjalnego złącza. Jeżeli linie sterujące wyświetlaczem są potrzebne do innych celów, to można taśmę wypiąć ze złącza.

Fot. 1. Zestaw SK-S7G2 Starter Kit z wyświetlaczem graficznym
Fot. 1. Zestaw SK-S7G2 Starter Kit z wyświetlaczem graficznym

Na ekranie jest umieszczony dotykowy panel rezystancyjny współpracujący ze sterownikiem SX8656 produkowany przez firmę Semtech. Zmiany rezystancji są mierzone (metodą techniczną) przez przetworniki analogowo cyfrowe o rozdzielczości 12-bitowej. Sterownik komunikuje się z mikrokontrolerem poprzez szeregowa magistralę I2C.

Jak już wspomniałem oprogramowanie wyświetlacza graficznego jest pracochłonne. Żeby zaoszczędzić czas potrzebny na napisanie na przykład procedur rysowania elementów wykorzystuje się gotowe biblioteki prekompilowane, lub z kodami źródłowymi, albo aplikacje generujące procedury na podstawie graficznego projektu ekranu (ekranów) wyświetlacza. Obecnie takie biblioteki i aplikacje mogą być dystrybuowane bezpłatnie bez ograniczeń licencyjnych. W tym artykule pokażę krok po kroku jak zaprojektować i zaprogramować prosty ekran wyświetlający informację na ekranie wyświetlacza modułu.

Do tego celu będziemy potrzebowali:

  • środowisko projektowe Synergy e2studio,
  • bibliotekę Synergy Software Platform SSP,
  • aplikację GUIX Studio.

Wszystkie te programy są dostępne bezpłatnie, po zarejestrowaniu się na stronach firmy Renesas.

 

Projekt w środowisku e2studio

Pracę zaczynamy od utworzenia i wstępnego skonfigurowania nowego projektu w środowisku e2studio. W tym momencie zakładamy, że e2studio zostało wcześniej skonfigurowane do wspierania projektów dla platformy Synergy i zainstalowano kompilator GCC ARM Embeded z plikiem licencji. Ponadto trzeba wcześniej pobrać ze strony Renesasa i zainstalować pakiet Synergy Software Package SSP. Te czynności zostały opisane w artykule opisującym pakiet e2studio.

Najpierw tworzymy nowe środowisko projektowe (workspace) File->Switch Workspace->Other (rysunek 2). W oknie Workspace Launcher nadajemy unikalną nazwę, w naszym przypadku będzie to GUI_APP (rysunek 3). Po kliknięciu na OK otworzy się okno pokazane na rysunku 4. Wybieramy opcję Workbench i otwiera się okno e2studio. Teraz pora na nowy projekt. E2studio tworzy nowy projekt po wybraniu File->New->Synergy projectrysunek 5.

Rys. 2. Opcja tworzenia nowego środowiska projektowego
Rys. 2. Opcja tworzenia nowego środowiska projektowego
Rys. 3. Okno z nazwą nowego workspace
Rys. 3. Okno z nazwą nowego workspace
Rys. 4. Wybór tworzenia nowego środowiska
Rys. 4. Wybór tworzenia nowego środowiska
Rys. 5. Tworzenie nowego projektu Synergy
Rys. 5. Tworzenie nowego projektu Synergy

O autorze