Quicklink | Suche

Animierte Oberflächen ohne Grafik-Controller realisieren

Immer mehr Produkte werden mit einer farbigen, grafischen Oberfläche ausgestattet.
Ob für den Massenmarkt oder für die Industrie, die Verwendung einer grafischen Benutzerführung auf Basis von kostengünstigen TFT-LCDs wird immer beliebter. Zum Einsatz kommen vor allem Panels mit einer Bildschirmdiagonalen zwischen 2,2 und 10,2 Zoll.

» Lothar Felten

Diese kleineren bis mittleren Panels ermöglichen die Anzeige von Text in verschiedenen Farben und Schriftarten, Bildern bis hin zu farbigen Animationen. Viele Anwendungen nutzen diese Vorteile einer gesteigerten Benutzerfreundlichkeit: Der Kopierer, der anhand eines Diagramms zeigt, wo der Papierstau zu beseitigen ist, oder auch auffällige Sicherheitshinweise, Tipps und Hinweise erleichtern eine sichere, komfortable Bedienung des Geräts. Nicht nur grafische Hilfen undWarnungen für den Benutzer, auch informative und unterhaltende Darstellungen finden auf dem Display Platz.

TFT-LCDs sind flexible Ausgabegeräte und ermöglichen dem Programmierer die Darstellung einer grossen Menge Information in Form von Text, Grafik und Animationen. Anwendungen können so gestaltet werden, dass sie sich zur Laufzeit an die Anforderungen anpassen; auch die Integration dynamischer Inhalte ist problemlos möglich.

Vom Ausgabegerät zum Medium für interaktive Kommunikation

Wurden TFT-LCDs bisher primär als Ausgabegeräte wahrgenommen, so werden sie durch die Verwendung von Tasten neben dem Display (z. B. wie beim Geldautomaten) als Softkeys oder einem Touchpanel auf dem Display zum optimalen Medium für die intuitive Interaktion zwischen Mensch und Maschine. Ein weiteres Einsatzgebiet für Touchpanel findet sich dort, wo eine geschlossene Oberfläche von direktem Vorteil ist, sei es aus hygienischen Gründen oder als Schutz gegen äussere Einflüsse durch Wind und Wetter oder Vandalismus. Integration eines LCDs in ein Produkt stellt den Entwickler vor neue Herausforderungen: Auf Seiten der Hardware muss das LCD-Interface mit einer hohen Datenrate betrieben werden, softwareseitig wird neuer Programmcode zur Anzeige von Text und Grafik benötigt.

Renesas VisuRDKH8S

Für den einfachen Einstieg in die
direkte TFT-LCD-Ansteuerung mit
einem H8S/H8SX-Mikrocontroller
ist jetzt ein neues Entwicklungskit von MSC verfügbar

Von Renesas gibt es eine günstige Systemlösung

Für den einfachen Einstieg in die Entwicklung günstiger Systemlösungen mit leistungsfähiger Grafik bietet Renesas jetzt neue Mikrocontroller ihrer H8S- und H8SX-Serie an. Sie zeichnen sich durch ein schnelles, paralleles Interface aus, das direkt ein TTL-LCD-Interface ansteuern kann. Dieses Konzept kommt ganz ohne Grafikcontroller aus und ermöglicht so ein einfaches und kostengünstiges Hardware-Design, das lediglich aus einem Mikrocontroller mit internem Flash und einem externem SRAM besteht, der als Bildspeicher zwingend notwendig ist. Die Kosten für diese Lösung können bei einer Serienstückzahl von 500 Geräten mit etwa 8 Euro abgeschätzt werden.

Umstieg von 16 auf 32 Bit ist problemlos möglich

Zu Einsatz kommt ein 16-Bit-Mikrocontroller von Renesas aus der Familie H8S. Der H8S/2378 wird mit 35MHz getaktet und steuert direkt ein QVGA-TFT-LCD (Auflösung 320 $ 240) mit bis zu 75 fps (frames per second = Bilder pro Sekunde) an. Der ebenfalls bereits verfügbare «grosse Bruder» des H8S/2378 aus der 32-Bit- H8SX-Serie läuft mit bis zu 50 MHz und bewältigt Auflösungen bis VGA (640 $ 480), was einer Vervierfachung der Pixeldaten und somit auch einer Vierfachung der hierfür nötigen Datenrate entspricht. Durch die Aufwärtskompatibilität des H8SX mit der H8S-Serie ist ein Umstieg von 16 auf 32 Bit problemlos machbar, falls zu einem späteren Zeitpunkt eine Aufrüstung auf VGA-Auflösung vorgesehen ist.

RenesasH8S 2378MCU Block

Eine herausragende Eigenschaft der H8S- und H8SX-Mikrocontroller ist das Dual-Bus-System

Herausragende Eigenschaft ist das Dual-Bus-System

Eine herausragende Eigenschaft der H8S- und H8SX-Mikrocontroller ist das Dual-Bus-System: Eine separate DMA-Einheit kann so besonders effizient grosse Datenmengen vom externen SRAM-Speicher, der als externer Frame-Buffer benötigt wird, zum TFT-LCD-Interface transferieren. Da dieser Bus parallel und unabhängig vom CPU-Bus arbeitet, kann ein TFT-Display angesteuert werden, ohne zusätzliche Last auf dem CPU-Bus zu verursachen. Die CPU und die interne DMA-Unit werden in ihrer Funktion und Leistung nicht beeinträchtigt. Während das TFT angesteuert wird, können so parallel komplexe Algorithmen berechnet oder über die Peripherie- Module mit der Aussenwelt kommuniziert werden. Zu jeder Zeit kann der Frame-Buffer von der CPU geschrieben werden, das ermöglicht aufwendige grafische Oberflächen und Animationen.

LCD-Interface wird direkt mit dem Datenbus verbunden

Die im Controller integrierte Peripherie ermöglicht es, alle Signale zur Ansteuerung eines TFT-LCDs zu generieren: Steuersignale wie HSync, VSync, Data-Enable und der Pixeltakt werden über Timer (optional), DMA-Controller und IO-Ports erzeugt. Sie steuern die Synchronisation der Datentransfers zwischen dem SRAM und dem LCD-Interface. Um ein Minimum an Pins zu verwenden, werden zusätzlich zum gemeinsamen 16-Bit-Datenbus nur wenige weitere Pins benötigt. Das LCDInterface wird direkt mit dem Datenbus verbunden, 18-Bit-TFT-LCDs können mit einer Farbtiefe von 16 Bit (65536 Farben) betrieben werden, dabei werden die Farben Rot und Blau mit je 5 Bit und Grün mit 6 Bit codiert.
Das Timing der Datenübertragung muss dem jeweiligen TFT-LCD angepasst werden. Da die Parameter derDMA-Einheit unddes Timers die Datenübertragung steuern, muss lediglich die Software für das Timing angepasst werden. Eine einzige Hardware kann somehrere unterschiedliche TFT-LCDs ansteuern, Änderungen an der Anwendung selbst sind nicht nötig.

Komplexe Animationen und Effekte

Animierte Grafiken benötigen schnellen Zugriff von der CPU zum Bildspeicher. Der externe Bus des Systems wird zwar permanent für den Betrieb des LCDs verwendet, trotzdem steigt die Buslast nicht über 50 Prozent. Das bedeutet, dass noch ausreichend Bandbreite vorhanden ist, um auf externe Speicher zuzugreifen, zum Beispiel auf ein grosses externes Flashmit fertigen Bildinhalten. Der Prozessor kann selbst auch direkt auf den externen Speicher zugreifen, so lassen sich Effekte wie z. B. Transparenz schnell in Software realisieren. Bei ausreichend grossem Speicher kann auch mehr als ein Bildspeicher verwendet werden, das ermöglicht Double Buffering ohne Umschaltzeiten für besonders schnelle, flickerfreie Animationen. Für den Transfer von grossen Datenmengen zwischen zwei Speicherbereichen kann eine DMA-Einheit verwendet werden, dann wird wiederum die CPU entlastet.

Hohe Rechenleistung bei niedrigem Takt

Der effiziente CISC-Befehlssatz der H8S und H8SX ermöglicht eine hohe Codedichte und eine schnelle Ausführung aller häufigen Befehle. Durch die Dual-Bus-Struktur kann die CPU mit voller Geschwindigkeit auf den internen SRAM zugreifen und Programmcode direkt aus dem internen Flash ausführen. Zugriffe auf den externen Bus erfolgen im Interleaving-Mode mit der externen DMAUnit, wenn das LCD aktiv betrieben wird. Im TFT-LCD-Betrieb hat die CPU durch die Interruptroutine für die TFT-Ansteuerung eine Grundlast von unter 10 Prozent, sodass dem Anwender genügend Rechenleistung sowie schnelle Interrupt-Reaktionszeiten für Echtzeit-Anwendungen zur Verfügung stehen. Mit einem maximalen Oszillator-Takt von 17,5 MHz sind auch beim Board-Layout keine besonderen Massnahmen notwendig, um ein zuverlässiges und stabiles Systemverhalten zu erreichen.

Softwaresupport ist für den Programmierer unabdingbar

Die Realisierung einer grafischen Bedienoberfläche eines Embedded-Systems erfordert natürlich mehr als nur ein gutes Hardwarekonzept. Die Software muss dem Programmierer eine sinnvolle API zur Verfügung stellen. Damit ist die Software ein wichtiger, fester Bestandteil der gesamten Lösung: vom Treiber, der das richtige Timing für das LCD erzeugt, bis hin zur Bibliothek, die dem Anwendungsprogrammierer eine API mit umfangreichen Funktionen bietet. Eine konsequente Trennung von Treiber und Grafikbibliothek kann zur Arbeitsteilung genutzt werden.
Die Anwendungsprogrammierung kann durch Simulation am PC zu einem Zeitpunkt erfolgen, an dem die Hardware noch nicht verfügbar ist. Ein weiter Vorteil der Trennung ist die einfache Portierung von bereits vorhandenen Grafikbibliotheken auf die H8S/ H8SX-Hardwareplattform. Innerhalb kürzester Zeit konnte so zum Beispiel die von der Firma Segger verfügbare Grafikumgebung emWin portiert werden. Das emWin-Paket bietet für den H8S ein vollständiges Softwarepaket, basierend auf dem Multitasking-Echtzeit- Betriebssystem embOS. Es beinhaltet den Kernel, Treiber für die Peripherie und die emWin-Grafikbibliothek, optimiert für 2DGrafik, internationale Schriftdarstellung, GUIElemente und interaktive Animationen.

Entwicklungskit für einfachen Einstieg

Für den einfachen Einstieg in die direkte TFT-LCD-Ansteuerung mit einem H8S/H8SXMikrocontroller ist jetzt ein neues Entwicklungskit von MSC verfügbar: das VISURDKH8S- QVGA. Bestehend aus einem PCB mit einem H8S, einer Adapterplatine und dem QVGA-TFT-LCD ist die Lösung direkt einsetzbar. Zur schnellen Evaluierung des Konzepts können innerhalb kürzester Zeit die Beispiele an eigene Bedürfnisse angepasst werden. Die Softwaretreiber werden im Quellcode mitgeliefert, auch Touchpanel-Support ist bereits vorhanden.
Für Anwendungen mit anspruchsvollen 2D-Grafiken ist eine vollständige emWin-Grafikbibliothek von Segger zur Evaluierung mit dabei.

Entwicklungskit

Einige Softwarebeispiele demonstrieren die vielfältigen Möglichkeiten des embOSBetriebssystems und der emWin-Grafikbibliothek von Segger. Die Softwarebeispiele bieten dem Entwickler einen schnellen, problemlosen Einstieg in die Grafikprogrammierung. Dieses Kit aus Mikrocontroller, Grafikbibliothek und Beispielen stellt eine optimale Plattform für das zügige Erstellen von neuen grafischen Oberflächen zur Verfügung und reduziert die erforderliche Entwicklungszeit deutlich. Gleichzeit erhält man mit diesem Kit eine komplette Mikrocontroller-Entwicklungsumgebung einschliesslich IDE, Complier (Testlizenz) sowie einem E10A-JTAG-Emulator von Renesas. Entwicklungskit für einfachen Einstieg

Autor: Lothar Felten ist FAE (Field-Application- Engineer) bei MSC für den Produktbereich Mikrocontroller und der technische Ansprechpartner für unsere VisuRDK-Kits, MSC-Vertriebs GmbH, Industriestrasse 16, DE-76297 Stutensee, Tel. 0049 7249 910 37 10, Fax 0049 7249 910 516, lfel@msc-ge.com

Dieser Artikel erschien in der Fachzeitschrift Polyscope Ausgabe 03/2008. Download

Kontakte