Displays effizient ansteuern Embedded-Mikrocontroller für die LCD-Ansteuerung

Autor / Redakteur: Günter Plechinger, Til Stork* / Holger Heller

Die typische „Deeply-Embedded-Control“-Anwendung, die nur als geschlossene Einheit einen Kontrollalgorithmus abarbeitet, ist kaum mehr zu finden. Heutzutage sind die Hauptaufgaben in der Industrie Kommunikationsaufgaben – sei es intern im geschlossenen System oder als externe Aufgabe über eine Mensch-Machine-Schnittstelle.

Firma zum Thema

( Archiv: Vogel Business Media )

Die hier vorgestellte LCD-Demoapplikation ist eine Low-Cost-Lösung, die es erlaubt, hochqualitative LC-Displays für kostensensitive Produkte anzubieten. So lässt sich in Anwendungen wie Kühlschränke, Öfen, Thermostate, Elektrozähler oder medizinische Anzeigegeräte ein LC-Display einbinden und dadurch eine einfache Bedienung mit ansprechenden, visuellen Formaten gewährleisten.

Diese Direct-Drive-LCD-Ansteuerung kombiniert einen H8S/2378-Mikrocontroller von Renesas mit einem Softwarepaket von SEGGER Microcontroller Systems. Dieses beinhaltet Library–Routinen, um jede Form von Bildern auf dem Display anzuzeigen. Das Programm des Demoboards unterstützt Vollbildanimationen mit 25 Frames pro Sekunde auf einem Panel in QVGA-Größe. Damit lassen sich z.B. Bedieneroberflächen mit weichen Übergängen, aber auch kundenspezifische Bilder anzeigen.

Bildergalerie

Über das Software-Application-Programming-Interface (API) von Renesas lassen sich die emWin- and embOS-Softwarepakete in die H8S/2378-LCD-Applikationen einbinden. Das emWin-Softwarepaket erlaubt es dem Anwender, komplexe Bilder mit 2D-Grafiken und Animationssupport zu erstellen sowie benutzerdefinierte Textfonts zu unterstützen. Das embOS unterstützt die Multibus-DMA-Architektur des H8S/2378 und ermöglicht so, dass gleichzeitig mehrere Aufgaben bei minimalen Kosten ausgeführt werden können.

LCD-Ansteuerung fast ohne CPU-Overheads

Mikrocontroller dieser Leistungsklasse eignen sich für Consumer-Applikationen und industrielle Anwendungen. Im Consumerbereich sind Low-Power-Anwendungen typische Zielapplikationen, speziell bei geringem Platinenplatz. Die H8S/2378-Familie verfügt über eine Reihe von Kommunikationsschnittstellen – 2 × I²C-Bus und fünf serielle SCIs, jeweils mit Smartcard-Option. Die Speichervarianten ROMless mit RAM, 384/24 KByte oder 512 KByte Flash/32 KByte RAM sind als pinkompatible Bausteine erhältlich.

Für Timeraufgaben erweist die 6-Kanal-Timer-Pulse-Unit (TPU) mit 16 Input-Capture-/Output-Compare-Leitungen gute Dienste. Neben den Timerblöcken – 16-Bit-Timer-TPU, 8-fach 8-Bit-TMR, Watchdog-Timer – komplettieren die 10-Bit-A/D- und 8-Bit-D/A-Wandler die Peripheriemodule. Flexible Stromsparmodi ermöglichen einen langen Batteriebetrieb.

Der H8S/2378 (Bild 1) mit einer Geschwindigkeit von 35 MHz ist mit Peripheriemodulen ausgestattet, um Aufgaben in Echtzeit zu übernehmen. Die On-Chip-Funktionen bedienen das LCD-Panel in voll deterministischer Weise. Dadurch kommt es virtuell zu keiner Belastung der CPU. Ein externer LCD-Controller mit Framespeicher ist überflüssig. Die Multibus-Architektur und der On-Chip-exDMA-Controller übernehmen die Datenübermittlung vom externen Framebuffer zum LCD-Panel. Die wesentliche Entlastung der CPU wird durch den Einsatz des Single-Transfer-Cycle-exDMA-Moduls erreicht. Die Kontrollsignale werden mithilfe der TPU mit dem Datentransfer synchronisiert

Flexibles Softwarepaket

Das Softwarepaket für die LCD-Demoapplikation besteht aus dem Betriebssystem embOS und der Grafiksoftware emWin. Es bietet dem Anwender einen einfachen Einstieg in die Entwicklung von LCD-Applikationen. embOS wurde als prioritätsgesteuertes Multitasking-Betriebsystem entworfen, um Echtzeitanwendungen für ein große Anzahl unterschiedlicher Mikrocontroller entwickeln zu können. Es ist sowohl für einen minimalen RAM- und ROM-Verbrauch als auch für hohe Geschwindigkeit und Zuverlässigkeit optimiert.

emWin bietet für jede Applikation, die mit einem Display arbeitet, eine prozessor- und displayunabhängige GUI. emWin ist kompatibel zu Single- und Multitask-Umgebungen und lässt sich mit jeder Displaygröße und jedem LCD-Controller verwenden. Die LCD-Demoapplikation ist für das EDK2378-Starterkit von Renesas ausgelegt. Dem H8S/2378-Prozessor steht auf dem Starterboard neben dem 32 KByte großen internen RAM ein externes SRAM mit einer Größe von 256 KByte zur Verfügung. Dieses SRAM ist im 16 MByte großen Adressraum des H8S/2378 ab Adresse 0x80000 eingeblendet und dient als Video RAM (Bild 2). Das QVGA-Display ist über eine Adapterplatine mit dem Starterboard verbunden und bietet einen Auflösung von 320 × 240 Bildpunkten bei einer Farbtiefe von 16 Bit/Pixel.

Die LCD-Demoapplikation lässt zwei LEDs auf dem Starterboard in unterschiedlichen Frequenzen blinken und zeigt Anwendungen verschiedener emWin-Features auf dem LCD an. embOS startet nach der Initialisierung von emWin und des Displays drei Tasks. Zwei Tasks toggeln je eine der User-LEDs auf dem Starterboard. Die dritte Task ist für den Ablauf der LCD-Demoapplikation verantwortlich. In dieser Task werden in einer Endlosschleife Texte und Grafiken auf dem LCD dargestellt. Dabei schreibt emWin die Grafikdaten direkt in das externe SRAM. Der exDMA-Controller kopiert zyklisch alle Daten für ein Vollbild aus dem SRAM zum LCD-Panel. Dies sind 150 KByte Daten (320 × 240 × 16 Bit) pro Bildaufbau, die per DMA im Hintergrund übertragen werden. Die eigentliche Applikation wird nur durch eine kurze Interrupt-Serviceroutine des exDMA-Controllers unterbrochen.

Starterkits für reibungslosen Entwicklungsstart

Als Entwicklungswerkzeuge stehen der E10A-Debugger und die HEW-Workbench zur Verfügung. Letztere enthält alle notwendigen Tools zum Erstellen und Debuggen der Software. Die Demoapplikation wird mit allen nötigen Projektdateien ausgeliefert und ermöglicht so eine reibungslose Inbetriebnahme des Starterboards. Die mitgelieferten embOS- und emWin-Trial-Versionen ermöglichen es jedem, die LCD-Demoapplikation beliebig zu ändern und anzupassen, um den vollen Funktionsumfang von embOS und emWin zu evaluieren.

Die Starterkits bieten einen kostengünstigen und bequemen Kickstart für H8S-Entwicklungen an. Des Weiteren haben diese Boards einen gemeinsamen Applikationsbus, das den einfachen Anschluss weiterer Zusatzplatinen oder kundenspezifischer Module sicherstellt. Für die Direct-Drive-LCD-Entwicklung ermöglicht das EDOSK2378 Board mit einem Adaptermodul den einfachen hardwaremäßigen Anschluss des Displays. Die enthaltene Software erleichtert zusätzlich den Entwicklungseinstieg.

H8S/SX-Serie: Sicherheit durch Aufwärtskompatibilität

Ein Vorteil der H8S-Familie ist ihre Aufwärtskompatibilität zu den H8/300-, H8/300H-, SLP- und Tiny-CPUs. Dadurch wird eine lückenlose Verfügbarkeit der Leistungsbandbreite sichergestellt. Die Flash-Technologie von Renesas sorgt für hohe Zuverlässigkeit. Gegenüber der H8S-CPU haben die H8SX-MCUs mit 50 MHz (zukünftig mit bis zu 80 MHz) einen Geschwindigkeitsvorteil und verfügen über zusätzliche Architekturmerkmale:

  • Durchgängig 32-Bit-breite Busse, die die Instruktionsausführung erhöhen,
  • Integrierter 16×16-Bit-Multiplizier für MAC-Operationen,
  • Einführung einer Multiplizier-/Dividier-Einheit zu Beschleunigung arithmetischer Operationen,
  • VBR (Vector Base Register) für einfache Handhabung von Vektortabellen,
  • SBR-Register (Short Address Base Register) für schnelle Zugriffe über den 8-Bit-absoluten Adressbereich.

Ein lückenloser Memory Line-Up ermöglicht eine flexible Bausteinauswahl von ROMless Varianten über Masken-ROM-Derivaten bis zu hochintegrierten 50-MHz-/32-Bit-CISC-Controllern mit 1 MByte Flash. Darüber hinaus werden hohe Datentransfers über Ethernet oder über die Highspeed-Version von USB abgewickelt. Die H8S/SX-MCU-Serie bietet hier zahlreiche Derivate mit USB- und Ethernet-Schnittstellen.

*Günter Plechinger ist Produktmarketing-Ingenieur bei Renesas Technology Europe, Ratingen; Til Stork ist Softwareentwicklungs-Ingenieur bei SEGGER Microcontroller Systeme, Hilden.

(ID:218642)