Mikrokontrolery Infineon XMC4500 w praktyce, część 5. Obsługa kolorowego wyświetlacza LCD TFT
W artykule pokazano jak dla mikrokontrolera z rodziny XMC4000 firmy Infineon napisać program, który sterować będzie kolorowym wyświetlaczem LCD. Do stworzenia aplikacji wykorzystano pakiet programistyczny DAVE 3, natomiast jako platforma sprzętowa posłużyły: płytka uruchomieniowa XMC4500 Relax Kit oraz moduł z wyświetlaczem KAmodTFT2.
Poprzedni odcinek kursu jest dostępny tu.
Następny odcinek kursu jest dostępny tu. Podstawowe informacje o zestawie Relax Kit firmy Infineon są dostępne tu. Artykuł o zestawie Hexagon firmy Infineon jest dostępny tu. Przegląd rodziny XMC4000 jest dostępny tu. |
Krótki przegląd popularnych typów wyświetlaczy
Wyświetlacz to element używany w urządzeniach elektronicznych od dawna. Swoją popularność zawdzięcza umiejętności wyświetlania informacji, dzięki czemu jest niezwykle ważną częścią interfejsu użytkownika, a więc części urządzenia odpowiedzialnej za interakcję z użytkownikiem.
Na przestrzeni czasu postęp technologii wpłynął na rozwój wyświetlaczy. Najprostszą formą wyświetlacza jest wyświetlacz segmentowy. Jest to siedem diod LED ułożonych w pozycji tworzącej cyfrę osiem. Poprzez włączanie i wyłączanie odpowiednich diod LED wyświetlacz może prezentować pojedynczą cyfrę (od 0 do 9). Opcjonalna jest ósma dioda LED będąca znakiem kropki.
Innym rodzajem wyświetlacza jest wyświetlacz ciekłokrystaliczny (LCD – Liquid Crystal Display). Jego zasada działania oparta jest na zmianie polaryzacji światła na skutek zmian orientacji cząsteczek ciekłego kryształu pod wpływem przyłożonego pola elektrycznego. Popularne w urządzeniach elektronicznych są monochromatyczne wyświetlacze tekstowe typu LCD o dwóch liniach tekstu po szesnaście znaków każda.
Odmianą wyświetlacza LCD jest wyświetlacz TFT (Thin Film Transistor), w którym stosowane są tranzystory cienkowarstwowe. Zabieg ten pozwala na uzyskanie obrazu o wyższej jakości, w porównaniu do wyświetlaczy LCD. Jednym z nowszych typów wyświetlacza jest wyświetlacz OLED. Stosowane są w nim diody LED wytwarzane ze związków organicznych, które umożliwiają produkowanie wyświetlaczy o jasności i ostrości obrazu przewyższającej technologię LCD. Kolejnym nowym rodzajem wyświetlacza jest papier elektroniczny (inna nazwa to e-papier), który swoimi gabarytami i elastycznością dąży do imitacji papieru.
Rys. 1. Kilka typów wyświetlaczy: górny rząd od lewej: wyświetlacz segmentowy, wyświetlacz LCD 2×16, dolny rząd od lewej: wyświetlacz OLED, e-papier
Wyświetlacz z telefonu Nokia 6100/6610
Zastosowany w opisywanym projekcie wyświetlacz to model, który stosowany jest w telefonach Nokia 6100/6610. Jest to kolorowy, graficzny wyświetlacz typu LCD TFT z matrycą o rozdzielczości 132 x 132 pikseli, wyświetlający obraz z 12-bitową głębią (4096 kolorów). Domyślną orientację wyświetlacza (w razie potrzeby może ona zostać zmieniona programowo) pokazano na rysunku 2.
Rys. 2. Domyślna orientacja wyświetlacza [1]
Komunikacja z wyświetlaczem odbywa się przy wykorzystaniu interfejsu szeregowego kompatybilnego z SPI. Interfejs składa się z trzech linii: danych (SDIN), zegarowej (SCLK) oraz aktywacji transmisji (SCE). Pozostałe wyprowadzenia wyświetlacza to linie zasilania (VCC, GND, VLED+, VLED-) oraz linia resetu (RESET). Pojedyncze słowo przesyłane do wyświetlacza składa się z dziewięciu bitów: ośmiu bitów danych i jednego bitu informującego czy dane mają być interpretowane jako komenda konfiguracyjna, czy dane do wyświetlenia (rysunek 3).
Rys. 3. Sposób przesyłania 9-bitowych słów danych do wyświetlacza za pomocą interfejsu szeregowego [2]
Wyświetlacz dostępny jest w dwóch wersjach, różniących się zintegrowanym kontrolerem. Może być to albo kontroler Philips PCF8833, albo kontroler Epson S1D15G00. Kontrolery te nie są niestety ze sobą kompatybilne, co oznacza, że kod napisany pod wyświetlacz z kontrolerem firmy Epson nie będzie działał z wyświetlaczem z kontrolerem firmy Philips. Szczegółowe informacje dotyczące sterowania wyświetlaczem można znaleźć w dokumentacji kontrolerów: dokumentacja kontrolera PCF8833, dokumentacja kontrolera Epson S1D15G00.
Moduł KAmodTFT2
Aby w łatwy sposób podłączyć wyświetlacz do mikrokontrolera znajdującego się na płytce XMC4500 Relax Kit, wykorzystano moduł o nazwie KAmodTFT2. Moduł ten jest płytką, na której zintegrowano wyświetlacz telefonu Nokia 6100/6610 wyposażony w sterownik Philips PCF8833, gniazdo szpilkowe połączone z wyprowadzeniami wyświetlacza, bufory linii sterujących, zworkę pozwalającą na wybór napięcia zasilania (3,3 V lub 5 V) oraz obwód zasilania składający się z regulatora napięcia 3,3 V (do zasilania wyświetlacza) i przetwornicy podwyższającej napięcie (do zasilania diod podświetlenia wyświetlacza). Wygląd modułu KAmodTFT2 pokazano na fotografii 4.
Fot. 4. Wygląd modułu KAmodTFT2 [3]