Touch-TFT Recycling / Umbau

Touch-TFT Recycling / Umbau

Durch Zufall fiel mir ein altes POS-PC-System [1] (Kassen-PC) in die Hände. Das All-In-One-Kassensystem besteht im wesentlichen aus einem 12,1"-Touch-XVGA-TFT Display und einem direkt angebauten PC-System auf Via-CPU-Basis. Vor allem die vielen seriellen Schnittstellen eignen sich hervorragend für beliebige Spielereien - mal sehen was sich daraus noch machen lässt.

Eigentlich ist der kleine x86-CPU leistungsfähig genug für ein älteres Betriebssystem (Win2000 oder XP), jedoch scheitert es bei moderner Software an den nicht vorhandenen Befehlssätzen. So unterstützt die Via-CPU keine SSE bzw. SSE2-Befehlssätze, welche von vielen gängigen Programmen benötigt werden.

Für unseren Jugendverein begann ich bereits eine Kassen-Software zu schreiben, welche den Verkauf unsere Getränke-Angebote vereinfachen sollte. Programmiert wurde die Software auf einem anderen PC, so dass ich anfangs gar nicht auf dieses Problem aufmerksam wurde. Nachdem das Programm einen funktionsfähigen Zwischenstand erreicht hatte, wollte ich die Software auf dem Kassen-PC erproben. Beim Versuch das Programm zu starten kam mir nur folgende Fehlermeldung entgegen:

Windows Fehlermeldung (kein SSE/SSE2)

Nanu? Auf dem anderen PC funktioniert es doch einwandfrei - ein Bug? Bis ich auf die Idee der fehlenden Hardware-Befehlssätze gekommen bin vergingen einige Stunden. Die eigens kreierte Kassen-Software wurde mit Qt-Bibliotheken erstellt, welche von Haus aus die SSE/SSE2 Befehlssätze erfordern. Nun hatte ich nur zwei Möglichkeiten das Problem zu lösen:

1. Sämtliche Qt- und MinGW-Bibliotheken ohne SSE/SSE2-Unterstützung neu übersetzen und mich durch unzählige Anweisungen durchhangeln oder...

2. Das Display auf Standalone-Modul umbauen, so dass alle möglichen PCs daran angeschlossen werden können.

Als Elektroniker entschied ich mich natürlich für die zweite Variante. Das hat auch den Vorteil, dass das Display zukünftig für viele verschiedene Zwecke eingesetzt werden kann.

Das Problem bei solchen LVDS-basierten TFT-Panels ist der nicht vorhandene Standard der Pinbelegung am LVDS-Stecker. Zum Glück ist in dem Kassen-PC ein kleines Adapterboard installiert, auf welchem ein TTL-to-LVDS-Transciever-IC installiert ist. Durch dessen Datenblatt konnte ich schnell die einzelnen Signale am Stecker zu dem Panel feststellen.

Pinbelegung Tabelle

Blick ins Innere

Unter anderem bei Pollin gibt es LVDS-zu-VGA Adapterboards bereits genussfertig zu ergattern. Die preiswerteste und einfachste Variante [2] für 5,95€ erschien mir dafür ausreichend. Einen DVI-Anschluss oder gar Audio-Unterstützung braucht es für meine Zwecke nicht. Die Pinbelegung des alten Steckverbinders musste nun noch an die der LVDS-VGA-Interface Platine angepasst werden. Das Pollin-Board unterstützt eine Betriebsspannung von 5-12V. Da die Hintergrundbeleuchtung des Panels ohnehin 5V benötigt und ich noch ein kleines 5V-Steckernetzteil rumliegen hatte, wurde der auf dem Pollin-Board vorhendene 5V-Spannungswandler direkt überbrückt. Die USB-B-Buchse dient dem Anschluss der resitiven Touch-Folie.

das TFT-Display mit montiertem LVDS-Adapter

Etwas knifflig war es den korrekten Modus für das Panel herauszufinden. Das Pollin-Board unterstützt verschiedene Auflösungen mit unterschiedlichen Übertragungsbreiten. Hier habe ich es einfach durch mehrere Versuche zu der richtigen Einstellung gefunden. An dieser Stelle sind die Angaben vom Touch-TFT und dem Pollin-Board etwas verwirrend - so erfordert das Panel laut Datenblatt einene 8bit 1ch Übertragung - bei dieser Einstellung funtioniert die Anzeige jedoch nicht richtig (nur 256 Farben und leichtes flackern). Als ich dann auf 6Bit 2ch umgeschaltet habe, strahle das gewohnte Bild in 24Bit-Farbtiefe bei einer sauberen Auflösung von 1024x768 Bildpunkten.

der erste Test des Displays

Das resitive Touch-Panel wird über USB angeschlossen um den Mauszeiger navigieren zu können. Zum Schluss fehlt nur noch eine Abdeckung, damit die Platine auf der Rückseite des TFT-Bildschirms nicht so offen liegt. Diese stammt natürlich aus meinem 3D-Drucker. Die Kabe habe ich gleich an die Platine geschraubt, mit Spiralschlauch ummantelt und zusätzlich an das Display mit einer Zugentlastung geschraubt, damit nicht die Platine vom Display gerissen werden kann.

Abdeckung für die Platine

Als PC-Ersatz kommt ein ausrangiertes Netbook ohne Display zum Einsatz. Das alte Akoya E1210 ist nur wenig Leistungsfähiger als der originale Via-PC, unterstützt jedoch SSE/SSE2 Befehlssätze. Damit können wir nun endlich unsere semi-professionelle Party-Kasse in Betrieb nehmen.

Das Touch-TFT mit altem Laptop als Kassen-PC

Fazit:

Dieses "Projekt" ist nicht sonderlich kompliziert, bekommt jedoch etwas mehr Aufmerksamkeit aufgrund der interessanten Problematik der älteren Hardware mit neuer Software. Der fehlenden SSE/SSE2-Befehlssätze wegen funktionieren unter Anderem auch Programme wie Skype, Notepad++ oder Firefox nicht bzw. nicht korrekt. Interessanter Weise ist dazu nichts in den einzelnen "Systemanforderungen" der Programme zu lesen. Da heißt es meist: "mindestens 2Ghz Prozessor" o.ä.

Außerdem kosten selbst kleinere, fertige Touch-Panels mit VGA-Anschluss mit dieser Auflösung weit über 50€. Durch den Umbau dieser alten Hardware konnte ich somit sogar sparen.

 

[1] Positive TPS-121V Kassensystem: Link

[2] LVDS-Interface PI-MT6820 - Bst.-Nr. 810 220 : Link