, DK4AQ Grafik-Displays (UTFT)

15.09.2013, DK4AQ Grafik-Displays (UTFT) 29.05.14 ● Quellen und Eigenschaften für Grafik-Displays ● Die Uninversal TFT Display -Library UTFT ● ...
Author: Nele Jaeger
43 downloads 4 Views 2MB Size
15.09.2013, DK4AQ

Grafik-Displays (UTFT)

29.05.14



Quellen und Eigenschaften für Grafik-Displays



Die Uninversal TFT Display -Library UTFT



Das Grafikmodul ITDB02-2.8



Interface des Grafikmoduls



Schaltung des Display-Experiments



Software

Grafikt-Displays mit UTFT, A.Schultze, DK4AQ

1

1. Quellen und Eigenschaften von Grafik-Displays Farb-Grafik-Displays für Microcontroler sind derzeit günstig auf dem Markt zu haben. Es handelt sich um Restposten aus dem Handy-Business. Die Preise liegen zwischen 10 und 30 Euro, die Bildschirmgröße liegt derzeit zwischen 1 und 5“. Dazu kommen Farbinformationen mit 18b pro Farbpunkt. Displays gibt es mit unterschiedlichen Schnittstellen, Parallel-Schnittstellen zwischen 8 und 32 Bit und serielle Schnittstellen über SPI werden angeboten. Da sie seriellen Schnittstellen für die Datenmenge zu langsam kommen eher parallele Schnittstellen in Frage. Meist haben aber Microcontroller jedoch nur eine begrenzte Menge Ports. Daher ist eine 8-Bit-Schnittstelle ein tragbarer Kompromiss. Über ihn werden die Daten im Multipex-Verfahren übertragen. Die verschiedenen Displays arbeiten mit verschiedenen Grafik-Controllern. Grafikcontroller sind Chips, die aus der Dateninformation farbige Punkte über einen Bildschirm-Speicher auf die Anzeige bringen. Die Komplexität der Coptroller ist erheblich und ihre Funktion ist unterschiedlich. Es sind ca. 50 Register zu steuern ! . Da das Handy-Geschäft ein schnelllebiges Geschäft ist, ist die Erhältlichkeit der Module sehr kurzlebig.

29.05.14

Grafikt-Displays mit UTFT, A.Schultze, DK4AQ

2

PBS: Low-Loss Polarizing Beam-Splitters (mit Polarisierung der 3 Farbanteile)

Wie arbeitet ein Pixel ? B,G,R: Dichroic Reflectors (spektral filternde Spiegel)

TN-LC: Twisted Nematic Liquid Christal Cel (steuerbarerrer Polarisator)

Quelle: Buch Optics of Liquid Crystal Displays, Pochi Yeh,Claire Gu /ISBN-10:0-47018176-1 29.05.14

Grafikt-Displays mit UTFT, A.Schultze, DK4AQ

3

Daher die Frage: lohnt sich der Aufwand, wenn man das Display 2 Monate später nicht mehr bekommt ? Die Lösung ist die Verwendung von Grafik-Libraries, die mehrere Controller bedienen. Damit eignet sich die Entwicklung für eine Reihe von Controllern.

2. Die Universal TFT Display - Library UTFT Eine sehr interessante Library ist die UTFT-Library. Sie wurde von Henning Karlsen entwickelt und bedient mehrere derzeit verwendete Grafik-Controller und wird gepflegt.. http://www.henningkarlsen.com/electronics/index.php Unter dieser Adresse kann man die aktuelle UTFT-Dokumentation sowie die vorgesehene Anschlussbelegung bekommen. Es werden von der C-Seite her AVRProzessoren und ARM-Prozessoren unterstützt. Daher ist die Library für folgende ArduinoBoards geeignet:

29.05.14

Grafikt-Displays mit UTFT, A.Schultze, DK4AQ

4

Grafik-Controller und Bildauflösungen, die durch UTFT unterstützt werden (aus Quellcode entnommen) :

29.05.14

HX8347A: 239;x319

S1D19122: 239x319

ILI9327: 239x399

SSD1963_480: 271x479

SSD1289: 239x319

SSD1963_800: 479x799

ILI9325C: 239x319

SSD1963_800ALT: 479x799

ILI9325D_8: 239x319

S6D1121_8: 239x319

ILI9325D_16: 239x319

S6D1121_16: 239x319

HX8340B_8: 175x219

SSD1289LATCHED: 239x319

HX8340B_S: 175x219

ILI9320_8: 239x319

HX8352A: 239x399

ILI9320_16: 239x319

T7735: 127x159

SSD1289_8: 239x319

PCF8833: 127x127

ILI9481: 319x479

Grafikt-Displays mit UTFT, A.Schultze, DK4AQ

5

3. Das Grafikmodul ITDB02-2.8 ITDB02-2.8 Module ist ein 2.8" TFT LCD mit 65K Farbauflösung und 320 x 240 Punkten Auflösung. Das Modul hat Abmessungen von 76 x 51mm. Der Controller in diesem Grafikmodul ist ein ILI9325DS. Das Modul hat ein 8bit Daten-Interface mit 4 Steuerleitungen. Außerdem kann ein SD-Kartensockel über SDI angesprochen werden. . Auch ein Touch-Screen-Interface ist nutzbar. ITDB02-2.8 wird von der UTFT Library unterstützt.

29.05.14

Grafikt-Displays mit UTFT, A.Schultze, DK4AQ

6

4. Interface des Grafikmoduls Der Grafikcontroller kann mehrere Interface-Konfigurationen realisieren, das Modul ist jedoch auf einen Interface-Modus festgelegt durch HardwareSignale ! Dies ist bei mehreren Modulen so und führt bei nicht sorgfältig durch den Anbieter gepflegten Angebotstexten zu Verwirrungen.

Die markierten Signale sind Hardware-Pins und diese sind unter dem LCDModul fest verlötet. 29.05.14

Grafikt-Displays mit UTFT, A.Schultze, DK4AQ

7

Die markierten Signale sind Hardware-Pins und diese sind unter dem LCDModul fest verlötet.

Damit kann dieses Grafik-Modul nur noch im 8-Bit-Parallelmodus betrieben werden. 29.05.14

Grafikt-Displays mit UTFT, A.Schultze, DK4AQ

8

Es muss folgendes Hardware-Interface realisiert werden :

µC

CS

nCS

A1

RS

WR

nWR

nRD

nRD

D[7:0]

29.05.14

ITDBO2-2.8

(ILI9325)

DB[17:10]

Grafikt-Displays mit UTFT, A.Schultze, DK4AQ

9

Signalbedeutung des Parallelinterfaces

29.05.14

Grafikt-Displays mit UTFT, A.Schultze, DK4AQ

10

Schaltung des ITDBO2-2.8

29.05.14

Grafikt-Displays mit UTFT, A.Schultze, DK4AQ

11

UTFT Verwendete Pins des ITDBO2-2.8

29.05.14

Grafikt-Displays mit UTFT, A.Schultze, DK4AQ

13

IteadSchaltung: Von unten, Zählweise Gegenüberliegend

Steckerbelegungen

Von unten, Zählweise nebeneinander 29.05.14

Grafikt-Displays mit UTFT, A.Schultze, DK4AQ

14

Steckerbelegungen (Aufdruck Platine)

von untern

2

4

6

8

1

3

5

7

29.05.14

10 12 14 9

16 18 20

11 13 15 17 19

22 24 26 28 30 32 34 36 38 40 21

23 25 27 29 31 33 35 37 39

Grafikt-Displays mit UTFT, A.Schultze, DK4AQ

von oben

15

Belegung nach ITEAD (iMall) (1)

29.05.14

Grafikt-Displays mit UTFT, A.Schultze, DK4AQ

16

Belegung nach ITEAD (iMall) (2)

29.05.14

Grafikt-Displays mit UTFT, A.Schultze, DK4AQ

17

5V / 3V Eingänge ??

http://hifiduino.wordpress.com/2012/04/13/iteadstudio-tft-display-for-arduino/ http://hifiduino.wordpress.com/2012/04/13/iteadstudio-tft-display-for-arduino/ The iTead description says: The ITDB02 LCD module is work in 3.3V voltage level and it’s not compatible with Arduino MEGA pins, so we make a shield for Arduino MEGA. Now user can directly plug the ITDB02 in the shield and stand on the Arduino MEGA board. In reality, the ITDB02 module IS fully compatible with Arduino MEGA pins. The shield just makes it much, much easier to connect to the Arduino board. With respect to the 3.3 power, the shield merely connects the Arduino 5V power pin to the display module’s VCC pin which feeds a local LDO regulator that generates the required 3.3V. ….... (Update 9/7/12): The resistors in the shield are there to limit the current to the protection diodes in the display module, so they are just in series with the signal lines. The inputs of the display must be 5V tolerant even thought the display operates at 3.3V. The better solution is to implement a level conversion 5V->3.3V and this has been done in the new version of the shield. More information in the Arduino forums [link] 29.05.14

Grafikt-Displays mit UTFT, A.Schultze, DK4AQ

18

Möglichkeiten zum Umgang mit 5V-Signalen auf 3,3V Eingänge UB = 5V

UB = 3,3V Direkt: Gefahr der Zerstörung +3,3V 1kOhm

Über Schutzwiderstände +3,3V Arduino Nano

5V

3,3V

Aktive Pegelumsetzung über Level-Shifter

29.05.14

Grafikt-Displays mit UTFT, A.Schultze, DK4AQ

TFTDisplay

+3,3V

19

5. Schaltung des Display-Experiments

29.05.14

Grafikt-Displays mit UTFT, A.Schultze, DK4AQ

20

Vergrößerung 1

29.05.14

Grafikt-Displays mit UTFT, A.Schultze, DK4AQ

21

D14

Vergrößerung 2 29.05.14

Grafikt-Displays mit UTFT, A.Schultze, DK4AQ

22

29.05.14

Grafikt-Displays mit UTFT, A.Schultze, DK4AQ

23

6. Software Die UTFT-Library muss in den libraries-Ordner als Verzeichnis UTFT abgelegt werden. libraries muss in dem Verzeichnis angelegt werden, in dem das Skecthbook liegt (siehe Arduino IDE Einstellungen ) z.B.: c:...\Controller\Arduino_Code\ c:...\Controller\Arduino_Code\libraries\UTFT\

29.05.14

Grafikt-Displays mit UTFT, A.Schultze, DK4AQ

24

Im Kopf des Programms müssen folgende include-Parameter stehen: #include #define __AVR_ATmega328P__ Das erste Include linkt die Library mit in den Code und erlaubt so die Aufrufe der LibraryFunktionen. Das zweite Include bewirkt eine Umstellung im Code der Library. Es werden die zu dem Prozessor zugehörigen Namen der Ports umgestellt und die Wortbreite der Basisvariablen angepasst, z.B. int → 32b Die Software ist von der Struktur her sehr einfach. Sie besteht aus einer Aneinanderreihung aller Grafikaktionen mittels Funktionsaufrufen der UFT-Library. ● ● ● ●



Grundsätzlich wird mit clrScr() der Bildschirm geloscht (schwarz), Die Hintergrundfarbe wird mit fillScr() gefärbt Vor Grafikaktionen wird die Farbe für die Aktiopn gesetzt mit setcolor(). Zum Zeichnen gibt es draw---- oder fill--- Funktionen, Anwendung für Linie, Rechtecke, abgerundete Rechtecke und Kreise Zum Schreiben von Zeichen gibt es die die print---- Funktionen, sie erzeugen Schriftzeichen per Vektoren. .

29.05.14

Grafikt-Displays mit UTFT, A.Schultze, DK4AQ

25

GrafTextUTFTdk4aq (1)

29.05.14

Grafikt-Displays mit UTFT, A.Schultze, DK4AQ

26

GrafTextUTFTdk4aq (2)

29.05.14

Grafikt-Displays mit UTFT, A.Schultze, DK4AQ

27

GrafTextUTFTdk4aq (3)

29.05.14

Grafikt-Displays mit UTFT, A.Schultze, DK4AQ

28

GrafFlaechenUTFTdk4aq (1)

29.05.14

Grafikt-Displays mit UTFT, A.Schultze, DK4AQ

29

GrafFlaechenUTFTdk4aq (2)

29.05.14

Grafikt-Displays mit UTFT, A.Schultze, DK4AQ

30

GrafFlaechenUTFTdk4aq (3)

29.05.14

Grafikt-Displays mit UTFT, A.Schultze, DK4AQ

31

GrafFlaechenUTFTdk4aq (4)

29.05.14

Grafikt-Displays mit UTFT, A.Schultze, DK4AQ

32

GrafFlaechenUTFTdk4aq (5)

29.05.14

Grafikt-Displays mit UTFT, A.Schultze, DK4AQ

33