Aris Edge S3A3 – nakładka z wyświetlaczem TFT Aris Edge LCD

Aplikacja demonstracyjna pracuje pod kontrolą systemu RTOS. Aby obsłużyć wyświetlacz, a w zasadzie interfejs użytkownika zbudowany w oparciu o wyświetlacz i panel dotykowy, zdefiniowano w konfiguratorze Synergy Configuration programu e2studio wątek GUI Thread – rysunek 7.

Rysunek 7. Dodanie wątku GUI Thread

Teraz trzeba dodać do stosu wątku framework SPI. Po jego dodaniu pojawi się różowy prostokąt z prośbą o dodanie sterownika SPI. Mamy do wyboru interfejs SCI pracujący jako SPI, lub RSPI. Wyprowadzenia modułu Aris Edge umożliwiają tylko użycie interfejsu SCI i dlatego wybieramy r_sci_spi. Dodanie frameworka i wybór interfejsu SPI został pokazany na rysunku 8.

Rysunek 8. Dodawanie frameworka SPI oraz dodanie drivera r_sci_spi

Konfigurator doda automatycznie wszystkie potrzebne moduły niższego poziomu – rysunek 9.

Rysunek 9. Konfiguracja frameworka SPI z automatycznie dodanymi modułami niższych poziomów

Moduły oznaczone paskiem szarym działają samodzielnie, a oznaczone paskiem niebieskim są współdzielone i mogą być w projekcie dodane tylko raz.

W module frameworka g_sf_spi_lcd konfigurujemy parametry pracy interfejsu SPI:

  • Fazę zegara LCD_SCLK i jego polaryzację, kiedy moduł nie jest wybrany (stan IDLE)
  • Linię portu, która pełni funkcję sygnału wyboru LCD_CS – w naszym przypadku jest to linia P411
  • Aktywny poziom linii LCD_CS

Współdzielony moduł g_st_spi_bus0 nie wymaga konfiguracji. W module drivera obsługującego moduł komunikacyjny SCI skonfigurowanego do pracy jako SPI konfigurujemy:

  • Kanał (nr 1)
  • Tryb pracy Master
  • Dosuniecie bitów (MSB)
  • Prędkość transmisji

Można tu również zmienić priorytety przerwań zgłaszanych przez interfejs SCI.

Te konfiguracje dostarczają narzędzi do obsługi interfejsu SPI. Można teraz interfejs wykorzystać do komunikacji ze sterownikiem wyświetlacza. Biblioteka SSP nie wspiera bezpośrednio specjalizowanych sterowników wyświetlaczy i należy odpowiednie funkcje napisać samemu lub skorzystać z gotowych rozwiązań. W projekcie programu demonstracyjnego firmy Reloc można znaleźć pliki z gotowymi driverami mogącymi pracować pod kontrolą RTOS. Żeby sterowanie wyświetlacza było możliwe, trzeba zacząć od procedur wysyłania przez SPI do sterownika komend i danych obrazu. Na listingu 1 pokazano przykładową procedurę zapisywania danych do rejestru sterownika wyświetlacza.

Listing 1. Funkcja wysyłania danych do rejestru sterownika wyświetlacza

Sterownik musi być zainicjalizowany z parametrami właściwymi dla użytej matrycy TFT. Dane konfiguracyjne (inicjalizacyjne) zostały zapisane w tablicy pokazanej na listingu 2. W celu dokładnej analizy należy je skonfrontować z dokładnym opisem rejestrów sterujących użytego sterownika.

Listing 2. Definicja wartości inicjalizacyjnych sterownika wyświetlacza

Zgodnie z zasadami tworzenia modułów współpracujących z modułami biblioteki SSP napisano funkcję SF_ILI9225_Open(), która wykonuje:

  • inicjowanie struktury p_ctrl wartościami konfiguracyjnymi
  • zainicjowanie interfejsu SPI
  • wyzerowanie sprzętowe sterownika wyświetlacza
  • wysłanie do sterownika sekwencji komend inicjujących jego pracę

Funkcja SF_ILI9225_Open() została pokazana na listingu 3.

Listing 3. Funkcja inicjalizacji sterownika wyświetlacza

Firma Arrow Electronics przygotowała 10 zestawów, w skład których wchodzą Aris Edge S3A3 oraz nakładka z ekranem LCD Aris Edge LCD. Będą one nagrodami w konkursie, w którym pytania oparte będą na treści artykułów o zestawie. Zadania konkursowe ogłoszone zostaną na początku września. Serdecznie zapraszamy do udziału już teraz!

O autorze

Absolwent Wydziału Elektroniki Politechniki Wrocławskiej, współpracownik miesięcznika Elektronika Praktyczna, autor książek o mikrokontrolerach Microchip i wyświetlaczach graficznych, wydanych nakładem Wydawnictwa BTC. Zawodowo zajmuje się projektowaniem zaawansowanych systemów mikroprocesorowych.