Displays Touch ja, aber bitte einfach

Im Vergleich zu Tastaturen, Joysticks und Mäusen ist das Benutzer-erlebnis mit Touchscreens um ein Vielfaches besser. Nun erhalten auch viele weitere elektronische Geräte grafische Benutzeroberflächen: Haushaltsgeräte, Alarmsysteme, Warenautomaten, Steuerungen in der Industrie und Thermostate.

Durch Smartphones, Tablets etc. sind berührungsempfindliche Bildschirme weit verbreiten und allgemein akzeptiert. Dadurch können Gerätehersteller auch in anderen Bereichen ihre Produkte aktualisieren. Schalter und Tasten werden durch Steuerungs- und Dateneingabemechanismen ersetzt, die vielseitiger sind, sich einfach aktualisieren lassen und einfacher zu bedienen sind. Neben den Touch- und Grafikelementen kommen nun immer häufiger auch Audiofunktionen mit hinzu.

Ein herkömmliches »intelligentes« Display-System mit Berührungs- und Audiofunktionen ist in Bild 1 dargestellt. Die Basis bildet ein entsprechend leistungsfähiger Mikrocontroller (MCU) für das pixelweise Erstellen und Bearbeiten der Grafiken. Hinzu kommen ein NAND-Flash-Speicher mit hoher Speicherkapazität, der die umfangreiche Grafikbibliothek enthält, und ein großer Frame-Buffer zur Verarbeitung der Bildinhalte und Ansteuerung des Displays. Ein Touch-Controller erfasst die Touchscreen-Eingaben, und ein Audio-D/A-Wandler sorgt für die Tonerzeugung. Das System besteht normalerweise aus drei bis sechs separaten Chips mit großen parallelen Busstrukturen für die Video-Implementierung, was eine entsprechend lange Stückliste, hohe Kosten und viel Platz auf der Leiterplatte mit sich bringt - von der höheren Stromaufnahme ganz zu schweigen.

Der Einsatz einer Hochleistungs-MCU mit zahlreichen I/Os und der große externe Speicher schränken die Implementierung von grafischen Benutzeroberflächen (Graphical User Interface, GUIs) in Nicht-Consumer-Anwendungen ein, die oft auch kostengünstig sein müssen. Die Komplexität dieser Systeme führt auch zu einem großen Design-Overhead und bringt solche Entwickler in Bedrängnis, die mit der GUI-Implementierung nicht vertraut sind.

Läge ein kosteneffizienterer, schlankerer und stromsparender Ansatz vor, wäre die Implementierung moderner GUIs in Nicht-Consumer- 
Anwendungen wesentlich einfacher.

Die Entwickler bei FTDI Chip haben sich dieser Herausforderung angenommen - und die entstandene Lösung ist in Bild 2 dargestellt. Das einfache System senkt den Datentransfer zwischen den Bausteinen, dem Display, Touch-Controller und der Audioverarbeitung. Da es auch weniger kompliziert ist, bietet es zudem noch eine kleinere Stellfläche, es soll eine einfachere Entwicklung garantieren, die Gesamtkosten verringern und eine schnellere Markteinführung ermöglichen.

Objektorientierter Ansatz

Die Grundlage dieses Display-Systems ist der »FT800« von FTDI: ein hochintegriertes, einfach einsetzbares Grafik-Controller-IC, das Display-, Audio- und Touch-Funktion in einem Baustein vereint (Bild 2). Statt eines pixelweisen Renderings des Displays nutzt der Baustein einen objektorientierten Ansatz für die Audio- und Videoausgänge des Systems. Objekte können Bilder, Schriften, spezielle Töne, Vorlagen, Overlays, JPGs, Logos etc. sein. Im Embedded-ROM des Controllers sind verschiedene Schriften und Töne vorgeladen, sodass der Entwickler die GUI für die jeweilige Anwendung einfach erstellen kann. Sie können auch ihre eigenen Objekte erstellen oder JPEG- und Audiodateien übertragen, die fertig auf dem Coprozessor des FT800 ausgeführt werden.

Da mit dem Baustein wesentlich weniger Daten bewegt werden, kann man auf den Frame-Buffer und auf großen Speicher verzichten. Der integrierte, 256 KByte große Objektspeicher kann in etwa 2000 Objekte speichern und ausführen, was verschiedene Display-Anforderungen erfüllt. Das Rendering erfolgt mit einem 2 KByte großen Pufferspeicher. Dieser kompakte Vorgang wird durch eine objektorientierte Designmethode möglich. Der FT800 sorgt für die Grafikaufbereitung, sodass der Hostprozessor des Systems nur minimale Grafikverantwortung tragen muss, was den Einsatz einer Low-End-MCU (z.B. 8-Bit-Baustein anstelle einer 32-Bit-MCU) ermöglicht; oder wenn der vorhandene Mikro-controller im System verbleibt, lässt sich aufgrund der geringen Bandbreiteanforderungen in bestehende Produkte eine professionelle GUI integrieren. Zur Kommunikation zwischen dem System-Host und dem FT800 kommen anstelle eines breiten Datenbusses SPI- oder I²C-Schnittstellen mit geringer Bandbreite zum Einsatz. Dies verringert die Zahl der Anschlüsse, den Platzbedarf auf der Leiterplatte und den I/O-Stromverbrauch.

Der FT800 ist der erste Baustein von FTDI Chip, der die Grafikplattform »EVE« (Embedded Video Engine) enthält und für kostengünstige, »intelligente« QVGA- (480 x 272 Pixel) und WQVGA-TFT-Displays (320 x 240 Pixel) vorgesehen ist (Bild 3). Der integrierte Touch-Controller unterstützt resistive 4-Draht-Touchsensoren; ein einkanaliger Audio-Controller verarbeitet PCM-Signale und erlaubt MIDI-ähnliche 
Klangqualität (damit lassen sich Signaltöne erzeugen, und auch die Wiedergabe aufgezeichneter Audiodaten von einer SD-Karte oder einem USB-Stick ist möglich). Dithering-Hardware bietet 24-Bit-Support (True Colour) über eine 18-Bit-Schnittstelle. Die Anti-Aliasing-Funktion glättet Linien und verbessert die Bildqualität, was zu schärferen Bildern führt. Die 262 000 Farben sind mehr als ausreichend für die Zielanwendung. Spezielle Widgets helfen bei der Umsetzung komplexer Objekte wie Analog-Uhren, Tasten, Schieberegler, Drehknöpfe, Schalter und Auswahlkästchen. Die einfache Anwendung des FT800 ermöglicht auch die Definition von Displaybereichen und die Zuweisung bestimmter Berührungswerte. Findet eine Berührung in diesem Bereich statt, muss der Controller nur einen einzigen Datenwert zurücksenden anstelle der gesamten xy-Koordinaten.

Das Tool »VisualTFT« von MikroElektronika unterstützt die Entwicklung von Grafiken, die sich für die System-MCU in Code kompilieren lassen. Entwickler können mittels Drag&Drop Objekte auf eine Palette legen, um den Bildinhalt zu erstellen, den der Prozessor anzeigen soll.

VisualTFT kann grafische Eingaben in Text-Code verwandeln, der dann mithilfe verschiedener Compiler umgewandelt wird. Der Code lässt sich mit dem Text-Editor noch weiter bearbeiten, um die Anordnung und die Farbe der Objekte auf der Palette zu verändern.

Über die Autoren:

Lee Chee Ee ist Senior Software Engineer und Prashanth Boggarapu ist Engineering Manager, beide bei FTDI Chip.