Bildschirm-Ansteuerung

Das Display-Script

16. April 2012, 9:20 Uhr | Nach Unterlagen von Demmel
© Demmel Products

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.

Diesen Artikel anhören

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.

Anbieter zum Thema

zu Matchmaker+
Bild 1: Ansteuerung von I/O-Funktionen mit dem »iLCD«-Controller
Bild 1: Ansteuerung von I/O-Funktionen mit dem »iLCD«-Controller
© Demmel Products

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:

  • Textausgabe: Auswahl beliebiger Fix- und Proportionalfonts, Fett-, Unterstreichen- und Invers-Attribut, Absatzkontrolle mit Umbruch, vertikales und horizontales Zentrieren, volle ANSI-Unterstützung, Ausgabe von im iLCD-Controller gespeicherten Textbausteinen.
  • Grafikausgabe: Zeichnen von Linien und Rechtecke auch gestrichelt oder strichpunktiert, Ausgabe von Kreisen sowie Rahmen mit abgerundeten Ecken und Schatten, Füllen und Löschen von Bereichen, Low-Level-Funktionen wie Pixel Setzen/Löschen.
  • Ausgabe von Images: Ausgabe von im Controller gespeicherten Bildern auf beliebiger Position, Kontrolle von bis zu acht selbstablaufenden, animierten Grafiken pro Screen.
  • Screenshots: Speichern von kompletten Bildschirminhalten, Verändern der Speicher-images, Ausgabe auf beliebiger Position.
  • Touch-Screen-Support: Bis zu 64 Touch-Felder mit beliebigem Layout und Verhalten definierbar, gedrücktes/losgelassenes Feld wird der Applikation gemeldet.

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.


Lesen Sie mehr zum Thema


Das könnte Sie auch interessieren

Jetzt kostenfreie Newsletter bestellen!

Weitere Artikel zu demmel products gmbh

Weitere Artikel zu Displays / HMI-Systeme / Panel-PCs