In Zeiten, in denen selbst schwachbrüstigste Embedded-Prozessoren integrierte Grafikeinheiten mitbringen müssen, scheint die Uhr für separate Display-Controller abgelaufen. Dies gilt jedoch nur bedingt in der Welt der Embedded Systeme, in der selbst ein »Atom« häufig überdimensioniert ist. Hier liegt der Fokus auf Platz-ersparnis und möglichst einfacher Ansteuerung.
Gerade in Zeiten ästhetischer und funktionaler Screen-Layouts, die jedem Anwender von seinem Mobilgerät vertraut sind, erwartet dieser häufig auch von seiner Heizungsregelung oder Maschinensteuerung eine entsprechend informative und attraktive Anzeige auf einem Grafik-LC-Display an Stelle einer simplen Textausgabe. Die Verwendung von Proportionalfonts und grafischen Elementen wie etwa animierten Icons bedingen allerdings einen hohen Entwicklungsaufwand und den Einsatz entsprechend teurerer Mikrocontroller, um den Speicher- und Ressourcenbedarf abzudecken.
Mit »iLCD« hat Demmel eine Produktlinie im Angebot, die solcherlei Probleme lösen soll. Generell montiert das Systemhaus seine Controller auf die Rückseite der Panels, um so die Bauform möglichst klein zu halten. Die Systeme ersparen dem Gerätedesigner einerseits die Entwicklungskosten, andererseits lassen sich nach wie vor Low-Cost-Mikrocontroller oder beispielsweise bereits vorhandene Maschinensteuerungen zur LCD-Programmierung einsetzen, da alle benötigten Fonts, statische und animierte Grafiken, Textbausteine und Makros mittels der frei verfügbaren Setup-Software im Flash-Speicher des iLCD-Controllers abgelegt werden können.
Selbst komplexe Screen-Layouts lassen sich dann durch Senden nur weniger Bytes steuern. Zusätzlich können Grafiken und eigene Dateien auf einer MicroSD-Karte liegen. Je nach Einsatzzweck sind in den verschiedenen iLCD-Panels unterschiedliche Kommunikations-anschlüsse verfügbar. Die zugehörigen Controller weisen USB, Ethernet mit 10/100 MBit/s, einen serieller Anschluss für RS-232, eine multifunktionale serielle Schnittstelle für RS-232, RS-422 oder RS-485, einen I2C-Port (Bitrate bis zu 400 kHz) sowie SPI auf. Die Kommunikation kann auch während des Betriebs zwischen den verschiedenen Kommunikationsports wechseln, der Controller sendet seine Antwort immer an den zuletzt verwendeten Port.
Das Setup sowie ein allfälliges Firmware-Update können entweder über eine serielle Schnittstelle oder per USB erfolgen. Zusätzlich zur Displaysteuerung übernehmen die iLCD-Controller noch weitere I/O-basierte Aufgaben, die das Design der eigenen Applikation vereinfachen.
So ist eine Tastenmatrix-Abfrage für bis zu 128 Tasten nebst der Ansteuerung von bis zu 16 Ausgängen beziehungsweise LEDs an Bord. Bis zu vier ADC-Eingänge für analoge Messungen oder bis zu 16 digitale Inputs erlauben Reaktionen auf verschiedene Messwerte.
Ein- und Ausgänge sowie Tastaturspalten lassen sich frei zuordnen, außerdem lassen sich zwei Relais ansteuern. Für Lautsprecher oder Piezo-Schallwandler stehen optional PWM-Ausgänge bereit. Ein einstellbarer Watchdog überwacht angeschlossene Hardware. Außerdem sorgt eine batteriegepufferte Real-Time-Clock für den richtigen Takt (Bild 1).
Beinahe Hochsprache
Grafische Darstellung ist natürlich um einiges komplizierter als die Programmierung einfarbiger Punktmatrix-Displays. Aus diesem Grund lassen sich die Demmel-Controller über High-Level-Kommandos ansteuern. Tatsächlich ist die Script-artige Sprache vergleichsweise eingängig. Das beliebte »Hello World« an der Position x = 100, y = 50 ist mit drei Zeilen erledigt:
\i!
\iCK\D100\D50
\iDTHello World!\0
Der Befehlssatz erlaubt es, nahezu jedes beliebige Grafik-LCD mit einer Größe von 122x32 Pixel bis zu 1024x600 Pixel anzusteuern. Alle Grafiken, Fonts und Textbausteine werden vor der Verwendung mittels der Software »iLCD Manager XE« in den Flash-Speicher geschrieben. Etwa 150 Kommandos machen die Umsetzung verschiedener Aufgaben möglich:
Mausschubsen
Mit dem gerade auf der embedded world 2012 vorgestellten »iLCD Manager XE«, dem Nachfolger der bisherigen Setup-Software, hat der Hersteller eine komplette integrierte Entwicklungsumgebung herausgebracht. Die Benutzeroberfläche orientiert sich am Ribbon-Design neuerer Microsoft-Office-Versionen. Diese IDE vereinfacht die Programmierung deutlich, denn Grafiken und Bilder lassen sich per Maus anordnen, ebenso können Schriftarten gewählt werden.
Wer mit den Parametern der Befehle durcheinanderkommt, erhält Hilfe von der »Parameter Completion«. Lästigen Fehlversuchen beugt ein »Syntax Check« mit Markierung fragwürdiger Eingaben vor. Somit ist die eigentlich recht komplexe Aufgabe der Display-Ansteuerung auch für Anwender ohne Programmierkenntnisse einfach möglich.