STM32Butterfly2: obsługa LCD-TFT z touch-panelem

W artykule przedstawiono procedury programowe umożliwiające sposób sterowania pracą wyświetlacza LCD-TFT wyposażonego w ekran dotykowy (touch-panel rezystancyjny). W przykładzie zastosowano wyświetlacz PT0282432T firmy Princeton (dostępny w ofercie firmy TME), o przekątnej 2,8 cala i wymiarach matrycy 240×320 punktów. Wyświetlacz jest obsługiwany przez sterownik zgodny z układem HX8347 firmy Himax. Obsługę touch-panela zapewnia wyspecjalizowany przetwornik A/C oznaczony symbolem AR1020 (także z oferty TME).

Schemat elektryczny modułu wyświetlacza z touch-panelem pokazano na rysunku 1, na fotografii 2 pokazano wygląd wyświetlacza PT0282432T z fabrycznie naklejonym 4-przewodowym touch-panelem. Przed rozpoczęciem testów wyświetlacz należy połączyć płytką zestawu STM32Butterfly2 w sposób pokazany w tabeli 1.

 

Rys. 1. Schemat elektryczny modułu wyświetlacza

 

Tab. 1. Sposób podłączenia elementów peryferyjnych do zestawu STM32Butterfly2

STM32Butterfly Moduł wyświetlacza
Lp Port mikrokontrolera Złącze płytki motyla Złącze modułu wyświetlacza Funkcja
Linie wyświetlacza
1 PD0 Con1-PD0 Con1-D0 Magistrala wyświetlacza D0
2 PD1 Con1-PD1 Con1-D1 Magistrala wyświetlacza D1
3 PD2 Con1-PD2 Con1-D2 Magistrala wyświetlacza D2
4 PD3 Con1-PD3 Con1-D3 Magistrala wyświetlacza D3
5 PD4 Con1-PD4 Con1-D4 Magistrala wyświetlacza D4
6 PD5 Con1-PD5 Con1-D5 Magistrala wyświetlacza D5
7 PD6 Con1-PD6 Con1-D6 Magistrala wyświetlacza D6
8 PD7 Con1-PD7 Con1-D7 Magistrala wyświetlacza D7
9 PE2 Con2-PE2 Con3-nRES Linia sterująca RESET
10 PE3 Con2-PE3 Con3-nRD Linia sterująca RD
11 PE4 Con2-PE4 Con3-nRW Linia sterująca WR
12 PE5 Con2-PE5 Con3-RS Linia sterująca RS
13 PE6 Con2-PE6 Con3-nCS Linia sterująca CS
Linie AR1020
14 PE0 Con2-PE0 Con4-SDI Linia I2C SDA
15 PE1 Con3-PE1 Con4-CLK Linia I2C SCL
Zasilanie
16   Con1 +3,3 Con3 + VCC
17   Con2 GND Con3 GND GND

 

Fot. 2. Wygląd wyświetlacza PT0282432T

Fot. 2. Wygląd wyświetlacza PT0282432T

 

Na module wyświetlacza zwory powinny być ustawione w następujących pozycjach:

  • JP2 – interfejs 8-bitowy,
  • JP1 – komunikacja z przetwornik A/C touch-panela za pomocą interfejsu I2C.

Na płytce STM32Butterfly2 wybrane zwory powinny być ustawione w następujących pozycjach:

  • BOOT0 – 0,
  • BOOT1 – 1.

Dokumentacja produkcyjna płytki modułu wyświetlacza jest dostępna do pobrania tu.

Program demonstracyjny wyświetla kolorowe logo firmy KAMAMI oraz obsługuje touch-panel. Po dotknięciu wyświetlacza powinien pojawić się mały niebieski kursor podążający za piórkiem dotykającym ekran. Dla prawidłowego działania niezbędna jest kalibracja układu AR1020. Procedura kalibracji jest inicjowana po wykonaniu jakiegokolwiek ruchu joystikiem zamontowanym na płytce STM32Butterfly2. Kalibracja (jej przebieg pokazano na filmie) polega na dotknięciu ekranu w kolejnych czterech punktach wskazywanych przez kursory wyświetlane na LCD. Kalibrację najlepiej przeprowadzić precyzyjnym wskaźnikiem-rysikiem. Jeżeli kalibracja nie zostanie wykonana prawidłowo ruchomy kursor nie pojawi się lub będzie wskazywał niewłaściwe pozycje. W takim przypadku należy powtórzyć kalibrację.
Mikrokontroler STM32F107 zamontowany na płytce motyla przesyła i odbiera dane z wyświetlacza 8-bitową magistralą danych. Magistrala I2C służąca do komunikacji z przetwornikiem AR1020 jest sterowana programowo. Można zmienić wyprowadzenia wszystkich sygnałów poprzez zmianę przypisań portów w pliku definicje_globalne.h.
Procedury korzystają z bibliotek CMSIS dla STM32F. Oprogramowanie zostało napisane z wykorzystaniem kompilatora dostarczanego w pakiecie firmy Keil. Dla wprowadzenia własnych zmian i kompilacji procedur należy pakiet procedur umieścić w podkatalogu STM library/STM lib_3_1/Projekt/Template we własnym podkatalogu np. KAMAMI-DISP. Umieszczenie pakietu w innym podkatalogu wiąże się z koniecznością modyfikacji ścieżek dostępu do procedur biblioteki CMSIS.
Ryszard Szymaniak, Aries RS

Do pobrania

Autor: