Elektroniknet Logo

Grafik-ICs mit GUI-Simulator

HMI-Entwicklung vereinfachen

Neue Ansteuer-ICs stellen GUI-Simulatoren bereit, mit denen einige Testläufe eingespart werden können
© wee dezign | Shutterstock

Das Graphical User Interface (GUI) eines HMI wird iterativ optimiert. Dazu muss jeder Iterationsschritt von einem Softwareentwickler umgesetzt und auf dem Zielsystem getestet werden. Dieser Aufwand lässt sich durch Grafik-ICs mit GUI-Simulatoren reduzieren.

Touchdisplays sind heute der Standard bei HMI-Systemen (Human Machine Interface). Für Anwender sind eine grafische Darstellung von aktuellen Zuständen und auch die interaktive Bedienung selbstverständlich. Der günstige Preis von hochauflösenden Displays und die immer realistischere Darstellung lassen den Anspruch an alle Geräte mit einem HMI noch weiter steigen.

Anbieter zum Thema

zu Matchmaker+

Zwei Entwicklungsstrategien kombinieren

Umgesetzt werden HMIs mit Display und Touch heute hauptsächlich über eine der beiden folgenden Möglich­keiten:

  • Kombination einer mehr oder weniger hochintegrierten MCU mit einer Embedded-Video-Engine, die neben der Displayansteuerung auch Touch- und Audiounterstützung bietet. Hier übernimmt die MCU die Steuerung der Applikation. Die grafische Darstellung und die Interaktion mit dem Benutzer wird von einer Zusatzkomponente übernommen. Applikation und Darstellung bzw. Interaktion können dabei als getrennt betrachtet werden und sind meist durch einen einfachen Bus (I2C, SPI etc.) verbunden. Diese Methode wird häufig in einfachen Geräten genutzt oder in Applikationen, die erst im Rahmen einer Generationsüberarbeitung ein grafisches HMI erhalten haben.
  • Benötigt die Applikation mehr Rechenleistung und umfangreiche Schnittstellen, oder wird ein höher auflösendes Display mit anspruchsvoller grafischer Darstellung gefordert, müssen leistungsfähige SoCs verwendet werden. Derartige ICs sind hochinte­griert und benötigen meist eine komplexere Peripherie mit DDR-Speicher etc. Das wiederum führt zu einem aufwendigeren und damit auch teureren Hardwaredesign. Als Software werden meist auf Linux basierende Betriebssysteme verwendet, die bezüglich der grafischen Oberfläche spezielles Programmier-Know-how erfordern.

Die Vorteile der beiden Ansätze lassen sich kombinieren und dabei deren jeweilige Nachteile eliminieren.

Anforderungen an HMI-Komponenten

Um Produkte aus den Bereichen Smart-Building, Haushaltsgeräte, intelligente Bedienterminals und Kombiinstrumente für Fahrzeuge (Instrument Cluster) optimal unterstützen zu können, ergeben sich folgende Anforderungen an die Hardware: Neben Standardschnittstellen wie GPIOs, ADCs, PWM, I2C, SPI, UART/IrDA werden auch CAN, Ethernet, Bluetooth und SDIO (für WiFi, 4/5G) benötigt. Als statischer Onboard-Speicher für die Software und grafische Oberflächen müssen NOR/NAND-Flash unterstützt werden. Als portable Speichermedien sind SD-Karten oder USB-Sticks bei den genannten Produktgruppen inzwischen obligatorisch. Features wie ein Real-Time-Clock (RTC), Audio (In/Out) und ein Video-Capture-Interface zur Verwendung preiswerter Kameramodule oder zur Verarbeitung eines Videostreams vervollständigen das Anforderungsprofil.

Da die Display/Touch-Einheit ein wesentlicher Bestandteil eines jeden Produkts mit HMI ist, sollten hier bereits bei der Planung alle gängigen Displayschnittstellen berücksichtigt werden. Je nach gewählter Kombination aus Diagonale und Auflösung weisen marktübliche Displays mehr oder weniger spezifische Schnittstellen auf. Eine CPU- oder SPI-Schnittstelle wird meist nur bei kleinen Displays mit sehr geringer Auflösung verwendet. Bei größeren Displays kommt neben TTL (bis zu einer Auflösung von 800 × 600) meist LVDS oder MIPI-DSI zum Einsatz. Um zusätzliche externe Converter/Bridge-Bausteine zur Anpassung an das gewünschte Display zu vermeiden, sollten die genannten Schnittstellen bereits nativ unterstützt werden.

Neben der abgestimmten Integration von typischen Peripherieschnittstellen und der Grafikverarbeitung muss ein HMI-SoC auch ausreichend Prozessorleistung zur Verfügung stellen, damit auch aufwendigere Steuer- und Regelungsaufgaben verarbeitet und realisiert werden können. Hierfür wird auf eine Multi-Core-Arm-CPU oder sogar eine Kombination aus Arm-CPUs und RISC-Prozessor zurückgegriffen. Mit letzterer Kombination kann man nicht nur unterschiedliche Abläufe sauber voneinander trennen und eine besonders geschmeidige und reibungslose Grafikdarstellung erreichen, sondern auch eine Realtime-Applikation realisieren.

Ein weiteres Integrationselement, welches in den vergangenen Jahren vor allem im Bereich von Grafik-ICs immer häufiger zum Einsatz kommt, ist embedded DDR-Speicher. Ist der benötigte Speicher bereits im Anwendungs-SoC enthalten, vereinfacht sich nicht nur das Design und das Layout, sondern es werden auch weniger PCB-Lagen benötigt. Damit trägt integrierter Speicher erheblich zur Kostenreduzierung des Gesamtsystems bei. Bietet der gewählte Baustein auch noch Pin-Multiplexing, mit dem die benötigten Schnittstellen weitgehend beliebigen Bausteinpins zugeordnet werden können, vereinfacht das das Layout noch weiter und reduziert die benötigte PCB-Fläche.

Neue Grafik-IC-Familie IT986x

Funktionsblöcke des IT986x. Als Hauptprozessor ist ein 800 MHz-Arm-CPU integriert
Bild 2. Funktionsblöcke des IT986x. Als Hauptprozessor ist ein 800 MHz-Arm-CPU integriert.
© Display Solutions

Dass eine solche Wunschintegration in einem einfachen LQFP-Gehäuse mit 128 Pins durchaus möglich ist, zeigt der Anbieter iTE mit seiner neuen IT986x-Familie (Bild 1), die auch größere Displays bis zu einer Auflösung von 2160 × 1080 unterstützt. Bild 2 zeigt die integrierten Funktionsblöcke des Bausteins.

Ein Schritt weiter als Grafik-Designsoftware

Bei bisherigen intelligenten HMI-Einheiten wird eine Designsoftware mitgeliefert, über die der Anwender eine moderne grafische Bedienoberfläche (GUI) erzeugen kann (Bild 3).

Der SoC IT986x unterstützt diverse Peripherieschnittstellen und enthält bis zu 1 GB embedded DDR-Speicher
Bild 1. Der SoC IT986x unterstützt diverse Peripherieschnittstellen und enthält bis zu 1 GB embedded DDR-Speicher.
© Display Solutions

Das Erstellen von unterschiedlichen Oberflächen mit Bedienelementen, Animationen, Bildern und weiteren Elementen geschieht dabei über ein grafisches Werkzeug, wobei der gesamte Code in C++ im Hintergrund automatisch erzeugt wird. Der Ersteller der GUI benötigt hierbei keinerlei Softwarekenntnisse. Die GUI-Erstellung ist jedoch nur ein Schritt in der Entwicklung einer Steuerung mit HMI.

GUI-Designsoftware
Bild 3. GUI-Designsoftware.
© Display Solutions

Der gesamte Ablauf eines aktuellen Entwicklungsprozesses sieht wie folgt aus: Zunächst wird vom Systemdesigner der gesamte Funktionsablauf erstellt und sowohl die jeweiligen Displayansichten (Layers) mit den zugehörigen Elementen wie Taster, Regler, Anzeigen etc. als auch die benötigten Interaktionen (Touchevents) mit dem Bediener definiert. Danach entwirft ein Grafikdesigner mithilfe der bereits erwähnten Designsoftware die GUI entsprechend der vorgegebenen Szenarien.

Im klassischen Entwicklungsansatz für HMIs kann die korrekte Umsetzung des GUI erst geprüft werden, wenn alle nötigen Funktionen in Programmiercode umgesetzt wurden
Bild 4. Im klassischen Entwicklungsansatz für HMIs kann die korrekte Umsetzung des GUI erst geprüft werden, wenn alle nötigen Funktionen in Programmiercode umgesetzt wurden.
© Display Solutions

Im dritten Schritt schreibt ein Softwareentwickler den zugehörigen Programmiercode, der den zu steuernden Prozess kontrolliert und mit der GUI interagiert. Erst dann können die beiden letzten Schritte zusammengeführt und getestet werden. Der Ablauf ist in Bild 4 als Flussdiagramm gezeigt. Problematisch bei diesem traditionellen Entwurfsprozess ist, dass man das Gesamtergebnis erst jetzt, nachdem der Gesamtcode in die Hardware geladen wurde, sehen und überprüfen kann. Treten zu diesem Zeitpunkt Fehler auf oder entspricht das Ergebnis nicht dem gewünschten Funktionsumfang, muss der gesamte Prozess immer wieder von Beginn an durchlaufen werden.

GUI-Simulator vereinfacht HMI-Entwicklung

Der gesamten Softwareentwicklungsprozesses kann qualitativ und auch zeitlich optimiert werden, wenn man die beiden ersten Schritte vom dritten Schritt trennt. Dazu muss die Designsoftware um einen leistungs­fähigen Simulator erweitert werden. Er sollte die entwickelte grafische Benutzeroberfläche absolut originalgetreu anzeigen und realistisch auf simulierte Touchereignisse reagieren. Mithilfe eines derartigen Tools kann der Systemdesigner in Zusammenarbeit mit dem Grafikdesigner die Darstellung und das Verhalten des gesamten HMI so gestalten und verifizieren, wie es später auf der realen Hardware zu sehen ist.

 Mit einem GUI-Simulator kann die GUIOptimierung zu einem großen Teil zwischen System- und Grafikdesigner erfolgen. Der Softwareentwickler wird damit entlastet
Bild 5. Mit einem GUI-Simulator kann die GUIOptimierung zu einem großen Teil zwischen System- und Grafikdesigner erfolgen. Der Softwareentwickler wird damit entlastet.
© Display Solutions

Hierbei vergibt die Designsoftware für alle gewünschten Aktionen, die die reale Hardware später ausführen soll, und für alle Werte, die von der GUI erwartet werden, leere Funktionsgerüste mit festen Schnittstellenformaten. ITEs Designsoftware für die IT986x-Familie generiert hierfür ein spezielle Datendatei, die sowohl die Grafik als auch die Funktionsgerüste enthält, die unter Verwendung der Entwicklungsumgebung vom Softwareentwickler abschließend mit den Steueraufgaben gefüllt werden. Bild 5 zeigt diesen modifizierten Prozess.

Schneller durch Betriebssystemumgebung

Bisher werden viele HMI-Systeme, deren GUI mit komfortablen Designtools erstellt werden, hardwarenah (bare-metal), also ohne zugrunde liegendes Betriebssystem programmiert. Neben dem Vorteil der ressourcenschonenden direkten Ansteuerung der Hardware ist ein weiterer Grund dafür der günstige Systempreis. Kann man nicht auf die Vorteile der hardware­nahen Programmierung verzichten und möchte gleichzeitig auch die Vorteile einer auf einem Betriebssystem basierten Programmierung nutzen, dann ist ein Echtzeitbetriebssystem (Real-Time Operating System, RTOS) die richtige Wahl. Die Verwendung eines Echtzeitbetriebssystems mit vorhersagbarem Zeitverhalten der Systemaufrufe und Reaktionszeiten auf Ereignisse ist für Steuerungen mit HMI nicht nur von Vorteil, sondern in vielen Anwendungen ist es elementar. Die Multitask-Fähigkeit und unabhängige Interrupt-Bearbeitung ermöglichen eine komfortable Programmierung der gewünschten Steuerfunktionen. Die integrierte Grafikbeschleunigung erlaubt es, eine anspruchsvolle und äußerst flüssig funktionierenden GUI umzusetzen. Ein weiterer großer Vorteil von RTOS gegenüber gängigen Betriebssystemen wie Linux, Windows, Android und weiteren ist die extrem kurze Systemstartzeit von 1 – 1,5 Sekunden. Sie wird bei vielen Applikationen vorausgesetzt und sie ermöglicht auch einfache Energiesparkonzepte.

Wie bei jedem Betriebssystem wird die Verbindung zwischen der Applika­tionssoftware und den Hardwarekomponenten mittels Treiber hergestellt. Zusätzlich können bestimmte Funktionen wie Mediastreaming oder Bildschirmspiegelungen als Module zur Verfügung gestellt werden. Für den Anwendungsentwickler bedeutet dies, dass er »applikationsfremde«, aber benötigte Zusatzfunktionen wie Netzwerkanbindung, WiFi, Touchfunktionen oder Videostreaming einfach und ohne großen Zusatzaufwand implementieren kann.

Die Programmierung der Applikation in einer Betriebssystemumgebung erleichtert somit dem Softwareentwickler die Arbeit in ähnlicher Weise, wie dem Designer das Grafiktool zur Erstellung der GUI-Oberfläche. Auf diese Weise wird nicht nur die Produkteinführzeit (Time-to-Market) erheblich verkürzt, sondern es ist ohne großen Aufwand möglich, seinem Produkt Funktionen hinzuzufügen, die außerhalb der eigenen Kernkompetenz liegen, jedoch aufgrund der aktuellen Marktgegebenheiten für den Erfolg oder Misserfolg des Produktes entscheidend sein können

freeRTOS/openROTS

ITE verfolgt mit der Entwicklungsumgebung für seine IT986x-Familie diesen Ansatz und wählt als Basis für seine umfassende Entwicklungsumgebung freeRTOS/openRTOS. Dadurch, dass der Umfang der unterstützten Hardware- und Funktionsmodule stetig erweitert wird, können Produkte aus den eingangs erwähnten Produktgruppen auf einfache Art und Weise auf dem aktuellsten Stand entwickelt werden.

Als Besonderheit bietet die Entwicklungsumgebung zudem Softwaretools an, die den Programmierer bei der Einbindung von unterschiedlichen Displaytypen unterstützen. Mit diesen Werkzeugen können auf einfache Art und Weise die benötigten Konfigurations- bzw. Initialisierungsdatensätze erstellt werden, ohne besondere Kenntnisse über die jeweils zugrunde liegende Schnittstelle zu haben. Unterstützt werden hier neben Displays mit MIPI-DSI-Schnittstelle auch CPU-, SPI-, LVDS- und RGB (TTL)-Interfaces.

 

Der Autor

 

Norbert Erhart von Display-Solution
Norbert Erhart von Display Solution.
© Display Solutions

Norbert Erhart

ist Technischer Geschäftsführer des 2006 gegründeten Unternehmens Display Solution, das sich auf Lösungen rund um TFT-LCD-Anzeigen spezialisiert hat. Er hat mehr als 25 Jahre Erfahrung in der Entwicklung von Ansteuerungen für Flachbildschirme.


Verwandte Artikel

Display Solution AG