Die wichtigsten Eigenschaften und Vorteile der RL78/L12-Mikrocontroller, der jüngste Spross von 16-Bit Mikrocontrollern.

Die wichtigsten Eigenschaften und Vorteile der RL78/L12-Mikrocontroller, der jüngste Spross von 16-Bit Mikrocontrollern.Rutronik

Viele Projekte lassen sich damit bewältigen und das einmal erworbene Know-how kann mehrfach genutzt werden. Über den eingebauten Highspeed-Oszillator können die Mikrocontroller getaktet werden. Mit +/- 1 % ist diese Taktquelle eng toleriert, über einen Temperaturbereich von -20 bis +85 °C sowie über einen Spannungsbereich von 1,8 bis 5,5 V. Dadurch lässt sich in vielen Fällen ein externer Quartz oder Resonator einsparen.

Auch verfügen die Mikrocontroller über ein 2 KByte großes Datenflash mit Background Operation (BGO). BGO bedeutet, dass die Daten gelöscht oder geschrieben werden können während die CPU Code aus dem Programmflash abarbeitet. Vorteilhaft ist dies für Echtzeitapplikationen, die nicht auf den Abschluss der Operationen auf dem Datenflash warten können. In zwei gleich großen Blöcken ist das Datenflash organisiert, die blockweise gelöscht und byteweise beschrieben werden können. Mit einer Million Zyklen bei 25 °C Umgebungstemperatur und einem Jahr Datenerhalt wird die Löschzyklenzahl angegeben. Ein Jahr Datenerhalt zählt ab dem Schreiben und beginnt mit jedem Wiederbeschreiben eines Bytes von vorne. Hält man die Löschzyklenzahl kleiner, so verlängert sich der Datenerhalt. Nähere Auskunft darüber gibt das Datenblatt. Durch das Datenflash kann ein externes EEPROM eingespart werden, was den Platzbedarf und die Systemkosten reduziert.

Auf einen Blick

Mit dem 16-Bit-Mikrocontroller RL78/L12 lassen sich stromsparende und kompakte Schaltungen mit LCD-Anzeigen bauen, denn wichtige Funktionen wie Datenflash, Power-on- und Unterspannungsreset sowie eng tolerierter Oszillator sind bereits integriert. Der Segmenttreiber unterstützt Anzeigen mit bis zu 280 Segmenten und erzeugt erstmalig auch Spannungsformen für bistabile Displays wie E-Paper.

Ein Großteil der CPU-Befehle wird in nur einem Takt abgearbeitet

Die Stromaufnahme beträgt lediglich 138 µA pro MHz Taktfrequenz bei Betrieb mit dem internen 24-MHz-Oszillator. Dank interner Pipeline wird ein Großteil der CPU-Befehle in nur einem Takt abgearbeitet. Im Stopmode, wenn nur die Real Time Clock (RTC) und der Low Voltage Detector (LVD) arbeiten, beträgt die Stromaufnahme typisch 0,72 µA bei Raumtemperatur.

Die RL78 kennen Run-, Halt-, Stop- und Snooze-Mode. Im Haltmode wird die CPU vom Systemtakt getrennt während die Highspeed-Oszillatoren weiter laufen. Noch mehr Energie spart der Stop-Mode, da hier die Highspeed-Oszillatoren nicht mehr laufen. Der 32-kHz-Oszillator der Real-Time-Clock ist davon nicht betroffen und kann das System zyklisch aufwecken. Zusammen mit intelligenten Peripherals wie zum Beispiel dem ADC und der UART/CSI arbeitet der Snooze-Mode. Der ADC verfügt über zwei programmierbare Schwellwertregister, mit deren Hilfe er entscheiden kann ob die CPU aufgeweckt werden muss oder nicht. Ein möglicher Ablauf ist zum Beispiel folgender: Die RTC weckt das System vom Stop- in den Halt-Mode und löst eine Wandlung des ADCs aus. Ist das Wandlungsergebnis innerhalb des Fensters, geht das System automatisch wieder in den stromsparenden Stop-Mode und wartet auf den nächsten Trigger der RTC. Ist das Wandlungsergebnis jedoch außerhalb des Fensters, geht das System in den Run-Mode und die CPU wird geweckt.

Der Snooze-Mode mit Betrieb des ADCs spart besonders dann Energie, wenn auf selten auftretende Signalpegel reagiert werden muss. Wird die USART im Snooze-Mode verwendet, geht das System mit dem Auftreten des Startbits automatisch vom Stop- in den Halt-Mode über. Bei einem fehlerfrei empfangenen Datum wird der Halt-Mode verlassen und die CPU geweckt, andernfalls geht das System wieder in den Stop-Mode über.

Mit RL78/L12 lassen sich stromsparende und kompakte Schaltungen mit LCD-Anzeigen bauen.

Mit RL78/L12 lassen sich stromsparende und kompakte Schaltungen mit LCD-Anzeigen bauen.Rutronik

Die eingebauten Sicherheitsmerkmale der RL78 verhelfen der Applikation zum Bestehen einer Zertifizierung nach IEC60730 Class B. Dazu gehören Prüfzahlbildung (CRC) über den Programmspeicher und mit einem Paritycheck ausgestattete RAM-Zellen, die bei jedem Lesezugriff im Hintergrund ausgeführt wird. Außerdem können bestimmte Special-Function-Register und RAM-Bereiche auf Nur-Lesezugriff gesetzt werden, damit sie nicht fälschlicherweise überschrieben werden. Renesas stellt eine vom VDE zertifizierte Bibliothek zur Erfüllung der IEC60730 Class B kostenlos zur Verfügung.

Der LCD-Treiber unterstützt bis zu acht Backplanes (Commons) und Spannungsformen vom Typ A und B sowie bistabile („Memory Type“) LCDs. Das ist ein echtes Novum und erlaubt den Einsatz äußerst energiesparender Displaytechnik, da bistabile Displays nur dann Energie benötigen, wenn sich der Anzeigeinhalt ändert. Der größte RL78/L12 kann bis zu 35 x 8 = 280 Segmente ansteuern.

Optimierte Pinausnutzung

Die Pins mit Segmentleitungsfunktion sind einzeln als IO- oder Segmentleitung konfigurierbar. Das optimiert die Pinausnutzung, was das Gehäuse klein hält.

Damit sich die Flüssigkristalle nicht zersetzen, dürfen die LCD-Segmente nur mit einer Wechselspannung zwischen den beiden Elektroden vom Typ Common und Segment betrieben werden. Die nötigen Spannungspegel können beim RL78/L12 auf drei verschiedene Arten erzeugt werden. Die Erzeugung der LCD-Spannungen erfolgt mit einem externen Widerstandsteiler, einem Kondensatorteiler (Split Capacitor) oder einem internen Spannungs-Vervielfacher mittels Ladungspumpe (Voltage Booster). Diese Auswahl erlaubt dem Hardware-Entwickler, sein Design auf ein bestimmtes Ziel hin zu optimieren, denn die drei Möglichkeiten zur Spannungserzeugung für das LCD bieten jeweils eigene Vorteile. Der Spannungsteiler mit Widerständen ist die kostengünstigste Variante, die Methode per Split Capacitor die energiesparendste und die Verwendung des internen Voltage Boosters bietet die Möglichkeit, die LCD-Spannungen innerhalb bestimmter Grenzen unabhängig vom Pegel der Versorgungsspannung zu halten. Das ist vorteilhaft bei Batterie-betriebenen Geräten, denn der Anwender genießt dann einen konstant hohen Anzeigekontrast auch bei sinkender Batteriespannung.

Beiträge des LCD-Segmenttreibers zur Gesamtstromaufnahme.

Beiträge des LCD-Segmenttreibers zur Gesamtstromaufnahme.Rutronik

Die RL78 ist eine der wenigen Familien, für die noch vollausgestattete In-Circuit-Emulatoren vom Chiphersteller zur Verfügung stehen. Der Entwickler hat damit Zugriff auf Funktionen wie Code Coverage sowie bedingte Triggerungen für Breakpoints und Traces (Vorgeschichte). Das hat Vorteile beim Verifizieren und Testen von Code und spart Zeit bei der Fehlersuche.

Erfahrene Programmierer kommen vielleicht aber auch mit einem Low-Cost-Debugger vom Typ E1 aus, der außer an RL78 noch an andere Controllerfamilien RX und V850 von Renesas passt. Ähnlich ist es bei den Software-Entwicklungswerkzeugen. Man hat die Wahl zwischen entweder professioneller IDE mit Compiler von IAR oder einem kostenlosen und unbegrenzten Compiler namens Gnurl unter www.kpitgnutools.com namens Gnurl. Eine auf Eclipse basierende und kostenlose IDE, genannt e²studio, arbeitet sowohl mit dem Gnurl als auch mit dem Compiler von IAR zusammen.

16-Bit-Mikrocontroller mit Segmenttreiber zur Ansteuerung von LCD-Gläsern.

16-Bit-Mikrocontroller mit Segmenttreiber zur Ansteuerung von LCD-Gläsern.Rutronik

Für schnelle Programmiererfolge gibt es den kostenlosen grafischen Codegenerator Applilet3. Nach dem grafischen Konfigurieren erzeugt Applilet3 ein Programmgerüst im Sourcecode inklusive Low-Level-Treiber für die Peripherals. Das bietet den Vorteil, dass die gleich vom Entwicklungsstart an steile Produktivitätskurve zu kurzen Entwicklungszeiten für knapp kalkulierte Budgets verhilft.

Es gibt drei Entwicklungsboards. Ein minimalistisches Targetboard, passend zum Debugger E1, Type QB-R5F10RLC-TB, ein Starterkit inklusive E1, Type RSK RL78/L12 und ein + Promotionboard, Type YRPBRL78L12.