Wiki source code of Touch Display

Last modified by Stefan Taferner on 2016/08/31 13:28

Show last authors
1 [[image:Touch_Display_27.png||alt="EIB_LCD mit 3.2~" TFT Modul" style="float:right"]]
2
3 == Features ==
4
5 * Steuert standard TFT Module mit 16k Farben an, 2.4" 320x240 Pixel bis 7.0" 800x480 Pixel
6 * LED Hintergrundbeleuchtung
7 * Touch Oberfläche
8 * Frei platzierbare Visu-Elemente
9 * Warnfunktionen
10 * Schnittstellen zu IR Empfänger, Temperatur- und Klimasensoren, LED und Taster
11 * Audio Signale (8kHz/9Bit Mono), beliebige Sound-Samples nutzbar
12 * EIB Anbindung über TPUART, potentialgetrennt
13 * ATMega128 mit zusätzlichen 8MB on Board Flash für Projektdaten
14 * Projektdatentransfer über SD-Karte
15 * Hilfsspannung 12-30V, <2W
16 * Abmessungen: (h/b/t) 64mm / 94mm / 21mm
17 * Anschlüsse über WAGO Steckklemmen auf Modulrückseite
18
19 == Beschreibung ==
20
21 Das LCD Touch Display ist ein zentrales Anzeige- und Steuerelement für KNX/EIB Anlagen. Es besteht aus einem TFT Modul mit Touch und 16k Farben, das durch eine Basisplatine angesteuert wird. Diese Basisplatine stellt den Kern des Projekts dar. Die TFT Module gibt es in vielfältigen Ausführungen. Lieferanten finden sich z.B. in der Bucht. Mittlerweile unterstützt die Firmware mehrere TFT Formate. Ursprünglich war es ein 3.2" (320x240) Display, dann kamen 5.0" (800x480), 2.4" (320x240), 4.3" (480x272) und 7.0" (800x480) hinzu.
22
23 Die Anzeige ist seitenweise organisiert. Die Seiten werden mit einem Java Tool zusammengestellt und mit Hilfe einer SD Karte in das Gerät übertragen. Als Seiteninhalt stehen verschiedene Anzeigeelemente bereit: Jumper (zum Seitenwechsel), statischer Text, statische Bilder, Schalter (für Schalten/Dimmen/Rolläden), LED (binäre Anzeige) und Zahlenwert Anzeige.
24 Die Elemente lassen sich frei auf den Seiten positionieren. Für alle Elemente können beliebige Vorlagen im jpg oder png Format importiert werden. Mit anderen Worten: Die grafische Gestaltungsvielfalt ist nur durch die Fantasie beschränkt!
25
26 Eine Soundausgabe ist vorhanden, um eine akustische Rückmeldung bei Berührung des Displays zu geben.
27 ETS Unterstützung existiert momentan nicht. Das Gerät wird ausschließlich durch den zugehörigen Editor konfiguriert. Eine Übernahme der Gruppenadressen via csv Format bzw. das Abfragen und Programmieren der physikalischen Adresse über den Bus ist angedacht.
28
29
30 == Hardware ==
31
32 Die Basisplatine enthält folgende Komponenten:
33
34 * ATMega128
35 Applikationsprozessor, führt die Firmware mit sämtlichen Steuerungsfunktionen des Geräts aus.
36 * S29GL064AR2
37 8MB Flash zur Aufnahme der Projektdaten, Bilder und Sound Clips.
38 * K6X4008C1F-GF70 (o. ähnlich)
39 512kB RAM zum speichern dynamischer Informationen. Hier ist noch viel Platz für Erweiterungen :-)
40 * TPUART-D
41 EIB Busanbindung. Der TPUART Bereich ist über Optokoppler getrennt. Daher können beliebig viele EIB_LCD Geräte von der gleichen Hilfsspannungsquelle versorgt werden.
42 * Xilinx XC9572XL
43 Buscontroller für das CS Mapping, Banking und die 8/16 Bit Umsetzung.
44 * TPA6203A1
45 Audioverstärker. Er steuert einen Lautsprecher mit PWM Signalen des ATMega an. Damit ist bescheidener Sound in 8kHz/9Bit Mono möglich.
46 * MC34063A
47 Schaltregler, der die externe Hilfsspannung von 12..30V je nach TFT Modul auf 5V oder 3.3V herunter regelt.
48 * ADP3333ARMZ-3,15R7
49 3.1V Linearregler. Er wird nur benötigt, wenn das verwendete TFT Modul 5V Versorgung braucht.
50
51 == TFT Module ==
52
53 Folgende TFT Module werden momentan unterstützt. Die eBay-Nummern dienen als Beispiel! Die Module sind teilweise auch bei anderen Händlern verfügbar. In so einem Fall aber bitte die Kompatibilität genau abklären. Teilweise gibt es Module, die auf den ersten Blick identisch aussehen, sich in den technischen Details dann aber doch unterscheiden.
54
55
56 |=Größe|=Auflösung|=Artikel# (Bsp.)|=Controller|= Code|=U[V]|=Kommentar
57 | 2.4"| 320 x 240| 170709357972| ILI9325| -| 5|
58 | 2.4"| 320 x 240| 270569308217| ILI9325| -| 5|
59 | 3.2"| 320 x 240| 200475566068| HX8347A| -| 5| nicht mehr erhältlich
60 | 3.2"| 320 x 240| 200475566068| SSD1289| -| 5| neue Variante
61 | 4.3"| 480 x 272| 221031507966| SSD1963| 4| 3|Dieses Modul besitzt keinen SD-Karten Slot. Die Pinbelegung seiner Pfostenleiste ist ebenfalls unterschiedlich.
62 Deshalb wird ein Adapter bzum Anschuss benötigt!
63 | 4.3"| 480 x 272| 111044792362| SSD1963| 2| 3| Ab V1.19, PCB sieht aus wie kleiner Bruder des neuen 5.0"
64 | 5.0"| 800 x 480| 221044250453| SSD1963| 1| 3| Pfostenleiste links, Touch-Scheibe A3271A-G. Nicht mehr käuflich
65 | 5.0"| 800 x 480| 221044250453| SSD1963| 0| 3| Pfostenleiste rechts, Touch-Scheibe LM50TQ142-A. Neue Variante. Siehe Anmerkung zu IR
66 | 7.0"| 800 x 480| 200900131661| SSD1963| 3| 3| Ab V 1.19, PCB sieht aus wie großer Bruder des neuen 5.0". Hilfsspannung für Beleuchtung nötig!
67 | 7.0"| 800 x 480| 111140237971| SSD1963| 3| 3| Ab V 1.19, PCB sieht aus wie großer Bruder des neuen 5.0". Hilfsspannung für Beleuchtung nötig!
68
69 Bis zur Firmware V1.19 gab es für TFT Module, die den gleichen Controller benutzen, jeweils ein speziell angepasstes Firmware-Image, denn jedes dieser TFT Module benötigt sein spezielles Setup. Da die Software immer den gleichen Controllertypen vorfand, konnte sie die Unterscheidung nicht treffen. Seit der Firmware V1.19 wird eine Typkennung per Widerstandscodierung der TFT Module unterstützt. Hierauf bezieht sich die Spalte "Code" in der Tabelle. Durch diese Codierung kann die Firmware eine eindeutige Zuordnung treffen. Ein einziges Firmware-Image kann damit alle unterstützten TFT Module ansprechen.
70
71 Module, in deren "Code"-Spalte sich ein Bindestrich "-" oder eine "0" befindet, brauchen keine Codierung und können out-of-the-box verwendet werden. Ansonsten gibt der Code die Position des Codierungswiderstands an. Es handelt sich um einen 4,7k (o.ä.) Typen, der zwischen zwei Pins des TFT Steckers gelötet wird (siehe [[TFT_Typkennung.ods>>attach:TFT_Typkennung.ods||rel="__blank" title="Position des Typwiderstands am Stecker"]]):
72
73 Typ1: Pins 21 und 22
74 Typ2: Pins 22 und 23
75 usw.
76
77 **__Anmerkungen:__**
78
79 1. Die Boardspannung und die TFT Spannung müssen natürlich passen. Sie werden durch diese Codierung nicht beeinflusst. Ein 3V TFT Modul braucht also nach wie vor ein 3V Board.
80 1. Der Bootloader unterstütz jeweils nur einen TFT Typen. Aufgrund der Platzbeschränkung von 8k ist die variable Ansteuerung mehrerer TFT Module nicht möglich. Ihr müsst also unter Umständen mit Kauderwelsch beim Firmware-Update leben.
81 1. IR in Verbindung mit neuem 5" LCD: Zur Zeit lässt sich die Hintergrundbeleuchtung nicht dimmen wenn IR eingeschaltet ist. Werte kleiner 100% schalten unter Umständen die Beleuchtung aus!
82
83 == Firmware / Editor ==
84
85 ==== Aktuelle Firmware ====
86
87 [[V 1.21 (2015-06-21)>>url:https://github.com/selfbus/software-misc/raw/master/EIB_LCD/Releases/EIB_LCD%200x32024002_121.bin]]
88
89 ==== Aktueller Editor ====
90
91 [[V 1.842>>url:https://github.com/selfbus/device-tools-incubation/raw/master/LcdEditor/Releases/LcdEditor_1.842.jar]]
92
93
94 == Projektdetails ==
95
96 [[Hardware>>TouchDisplay_Hardware]]
97
98 [[Firmware Historie>>TouchDisplay_Firmware]]
99
100 [[Projekt Editor>>TouchDisplay_Projekteditor]]
101
102 [[Beispielprojekte>>TouchDisplay_Beispielprojekte]]
103
104
105 ==== Schaltplan und Sourcen ====
106
107 [[Hardware Design>>url:https://github.com/selfbus/hardware/tree/master/Module/EIB_LCD]]
108
109 [[Firmware Sourcen>>url:https://github.com/selfbus/software-misc/tree/master/EIB_LCD||rel="__blank" title="Sourcen der FIrmware"]]