Renesas DevCon 2015 Erste Synergy-Mikrocontroller enthüllt

Nachdem wir bereits Mitte Juni exklusiv über Renesas' neue Mikrocontroller-Familie »Synergy« berichtet hatten, wurden im Vorfeld der Entwicklerkonferenz DevCon 2015 erste konkrete Produkte und weitere Details über das Software-Framework enthüllt.

„Software first“ – das ist die Idee hinter Renesas‘ neuer Mikrocontroller-Familie „Synergy“, wie USA-Chef Ali Sebt der DESIGN&ELEKTRONIK im Vorfeld der DevCon 2015 bestätigt hatte. Wir hatten bereits im Juni über das grundlegende Konzept hinter Synergy erläutert. Der Ansatz ist ähnlich zu Infineons DAVE 3, der 2012 mit den XMC-Controllern vorgestellt wurde.

Renesas geht jedoch nicht nur einen, sondern mehrere Schritte weiter: Für die einzelnen SW-Komponenten, auf die wir in der Folge noch im Detail eingehen werden, wird es, wie man es von Hardware-Produkten kennt, Datenblätter geben, in denen konkrete Eigenschaften wie Lauf- und Latenzzeiten auf dedizierter Hardware garantiert werden. Anders als Infineon seinerzeit hat Renesas die Software-Entwicklung nicht (nach Indien) outgesourct, sondern sie in fast 2 Jahren mit einem Team von bis zu 250 Mitarbeitern gemeinsam mit der Hardware selbst im Silicon Valley entwickelt.

Wenn man bei einem hiesigen Software-Entwickler von einem Jahresgehalt von nicht unter 200.000 US-Dollar ausgeht, kann man – auch wenn Renesas diese Zahlen natürlich nicht herausgibt – von einem Mindestbudget von 180 Mio. Dollar für Synergy ausgehen, wir halten sogar 200 Mio. Dollar für realistisch.

Zum Start gibt es einen High-End-Controller

Die ersten MCUs aus der S7-Familie mit ARMs Cortex-M4 heissen S7G2 (Bild 1) und weisen mit 3-4 MB Flash-Speicher und 640 KB SRAM für Cortex-M4-basierte Controller außergewöhnlich viel Speicher auf – hier kommt die 40-nm-Fertigung bei TSMC zum Tragen, welche die Größe des Silizium-Dies in erträglichen Grenzen hält. Die Taktfrequenz beträgt 240 MHz, was bei M4-MCUs Stand heute der Top-Wert am Markt ist (ST Microelectronics mit dem STM32F4 und Freescale mit dem Kinetis-K liefern maximal 180 MHz).

Der hauseigene MONOS-Flash-Speicher (Details hierzu finden Sie hier) arbeitet bis 120 MHz ohne Wait-States, während dies bei direkten Wettbewerbern oft nur bis 50 MHz der Fall ist. Bei höchster Taktfrequenz wird 1 Wait-State fällig. Um Chipfläche (Kosten) und Energie zu sparen, konnte Renesas dank MONOS mit einem Zweifach-Puffer eine z.B. gegenüber ST Microelectronics ART-Beschleuniger vergleichsweise einfache Cache-Architektur implementieren, die über einen 64 bit breiten Bus an die CPU angebunden ist. Der Flash hat eine sogenannte Mirror-Funktion, um die Firmware im laufenden Betrieb updaten zu können. Für Daten steht ein separater Flash-Bereich von 64 KB zur Verfügung. Mit der Speicherschutzeinheit (MPU) können bestimmte Speicherbereiche vor dem Zugriff geschützt werden. Für das SRAM gibt es einen Paritäts-Check. Innerhalb des Code-Flash-Adressraums kann man geschützte Bereiche definieren, die nicht neu programmiert werden können. Über eine allerdings zusätzlich zu erwerbende Softwarelizenz ist eine Secure-Boot-Funktion einsetzbar, bei welcher der Binärcode der Anwendung vor dem Start authentifiziert wird, um sicherzustellen, dass dieser nicht manipuliert wurde. 

Zielapplikation sind u.a. vernetzte Mensch-Maschine-Schnittstellen (HMI) z.B. ein High-End-Security-Panel oder ein smarter Kühlschrank, Power Conversion, Überwachungssysteme, Kommunikations-Infrastrukturen, Industrieautomation oder PLCs. Diese Familie mit der Bezeichnung „G“ unterscheidet sich gegenüber anderen Synergy-MCUs durch einen LCD-Controller mit einem Hardware-Beschleuniger für 2D-Grafik und JPEG-Codec. Auf 3D-Grafik wurde bewusst verzichtet, weil diese deutlich mehr Speicher und Chip-Fläche benötigt. Alle Synergy-Produkte haben einen auf kapazitiven Messungen basierenden Touch-Controller, da Renesas Touch zukünftig als Mainstream bei HMIs betrachtet. Die IP wurde von einem unbekannten Drittanbieter lizensiert. Die sogenannte Parallele Data-Capture-Einheit dient zur Anbindung von CMOS-Sensoren, um Grafiken wir z.B. Barcodes und andere Bilder einzulesen – für Videos ist sie allerdings nicht ausgelegt.

Wie auch alle anderen Synergy-MCUs haben die S7G2 einen Fokus auf Safety und Security, was sich z.B. in umfangreichen Verschlüsselungsfunktionen für SHA, AES und RSA sowie chip-internen Diagnose-Funktionen für Taktversorgung und A/D-Wandler niederschlägt. Beim A/D-Wandler werden z.B. die erwarteten mit den tatsächlichen Ergebnissen verglichen, indem der Ausgang auf den Eingang zurückgeführt wird. Jeder Chip enthält zudem eine einzigartige 128 bit breite ID, die z.B. zur Erzeugung von Schlüsseln verwendet werden kann, mit deren Hilfe in der Folge Code und/oder Daten verschlüsselt wird. Die ID liegt in einem nicht zugreifbaren Bereich des Flash-Speichers und wird direkt der Verschlüsselungs-Engine zugeführt.

Hinsichtlich der reichlichen Konnektivität ist erwähnenswert, dass man auf Gigabit-Ethernet verzichtet und „nur“ Dual-10/100-Mbit-Ethernet gemäß IEEE 1588 für halb- oder vollduplexen Transfer implementiert hat. Der Cortex-M4 wäre wohl auch trotz seiner hohen Taktfrequenz mit dem Handling von zwei GbE-Kanälen überfordert. Die Konkurrenz hat allerdings bei ihren M4-Produkten oft nur einen 100-Mbit-Kanal an Bord, so dass man dies nicht als echten Nachteil betrachten kann. Renesas hat einen dedizierten Ethernet-DMA-Controller implementiert, der den Datentransfer ohne CPU-Eingriff realisiert. Unterstützt wird auch Wake-on-LAN, d.h. der Controller wartet auf ein so genanntes Magic Packet (Schutzmarke von AMD), bei dessen Empfang die Übertragung aktiviert wird. Das Datenpaket enthält sechsmal in Folge den hexadezimalen Wert FF, unmittelbar danach erscheint die ununterbrochene 16-malige Wiederholung der MAC-Adresse des jeweiligen Zielsystems. Dieser Inhalt kann in ein beliebiges Paket  verpackt sein.

Wie Bild 1 zeigt, stehen z.B. für Motor-Control-Anwendungen zahlreiche PWM-Timer zur Verfügung. Diese haben bei halber CPU-Taktfrequenz eine Auflösung von rund 8 ns.

Die Peripherie wurde übrigens nur zum Teil komplett neu entwickelt, z.T. wurden die "besten" IP-Blöcke aus den RL-, RX- und sogar SuperH als Basis genommen und für Synergy weiterentwickelt bzw. optimiert. Während z.B. bei RX jeder Timer oder A/D-Wandler im Zweifel eine unterschiedliche Register-Belegung hat, wurde bei Synergy eine auf gleiche Software über alle MCU-Familien zielende möglichst große Harmonisierung der Peripherie-Register vorgenommen. So läuft Software, die für einen 8-Kanal-A/D-Wandler entwickelt wurde, in ähnlicher Weise auch auf einem 12-Kanal-A/D-Wandler. Gleiches gilt für zusätzliche Timer-Ports. Bild 2 zeigt ein Beispiel an Hand der Echtzeituhr, die bei der S1-Familie gegenüber dem S7 in abgespeckter Form implementiert wurde. Demnach gibt es beim S1 gewisse Register für die fehlende Time-Capture-Einheit nicht. Die übrigen Blöcke weisen jedoch eine identische Registerzuordnung auf, die auf identische Adressen abgebildet sind.

Ziel war es, möglichst ähnliche Hardware-Treiber mit nur wenigen Unterschieden für alle MCU-Familien entwickeln zu können, nicht nur, um Arbeit und Kosten zu sparen, sondern vor allen Dingen aus Qualitätsüberlegungen, um z.B. eine maximale Testabdeckung zu erreichen.

Einer der interessantesten von RX geerbten Funktionsblöcke ist sicherlich der Event Link Controller (ELC), der eine direkte Verbindung zwischen unterschiedlichen Peripherieeinheiten ermöglicht. Über den direkten Weg kann eine Peripherie ein Event erzeugen, das ohne Eingreifen der CPU oder zusätzlicher Software eine andere Peripherie-Einheit aktiviert. So kann zum Beispiel das Überschreiten eines Grenzwerts am A/D-Wandler direkt einen Output an einem definierten Pin auslösen. Durch den Wegfall zusätzlicher Software erfolgt die Reaktion nicht nur deutlich schneller, sondern auch sicherer. Der ELC kann z.B. Timer starten/stoppen/zurücksetzen und hoch- und runterzählen, A/D- und D/A-Wandlungen anstoßen, eine kapazitive Touch-Messung initiieren, einen DMA-Transfer einleiten und den Status von GPIOs wechseln. Natürlich - so möchte man sagen - können durch diese Aktivitäten auch Interrupts an die CPU ausgelöst werden.

Was den ELC von hartverdrahteten Lösungen, die ja viele MCU-Hersteller in mehr oder weniger großem Umfang anbieten, unterscheidet, ist, dass fast alle Peripherien zur Signalgenerierung herangezogen werden können und nicht nur eine wenige ausgewählte. Da sind z.B. Ethernet-MAC-Controller, CAN, Watchdog-Timer, Echtzeituhr, Komparatoren, USB, 2D-Grafik-Engine u.s.w. Timer, A/D-Wandler, GPIOs können sowohl Signale generieren als auch welche empfangen, einzig und alleine der D/A-Wandler kann keine eigenen Events auslösen, sondern nur Signale empfangen, um darauf z.B. mit einer Wandlung zu reagieren.

Als Schaltmatrix wurde die AXI-IP von ARM hergenommen, es gibt getrennte Busse für langsame und schnellere Peripherie-Blöcke wie z.B. den LCD-Controller.

Die Stromversorgung erfolgt entweder über einen Schaltregler oder einen DC/DC-Wandler. Bei letzterem werden im aktiven Modus bei abgeschalteter Peripherie und Codeausführung aus dem Flash-Speicher 75 µA/MHz aufgenommen, mit dem LDO 133 µA/MHz. Dies sind extrem gute Werte: So genehmigt sich STs STM32F4 bei 180 MHz 244 µA/MHz mit aktiviertem ART-Flash-Beschleuniger und sogar 316 µA/MHz bei Codeausführung aus Flash (ART abgeschaltet). Beide Werte gelten für ebenfalls deaktivierte Peripherie. "Schuld" ist primär der 90-nm-Fertigungsprozess. Freescales Kinetis K65 nimmt immerhin bei 180 MHz unter identischen Rahmenbedingungen 179 µA/MHz auf, er wird in Freescales proprietärer 90-nm-Flash-Dünnschicht-Technologie (TFS) gefertigt.

Sieben Low-Power-Modi ermöglichen wie bei M4-MCUs üblich abgestufte Aufweckzeiten und Stufen des Datenerhalts. In dem sogenannten „Deep Software Standby Mode“, bei dem Registerinhalte teilweise erhalten bleiben, sind die Echtzeituhr und ein Timer aktiv, mit deren Hilfe die CPU aufgeweckt wird. Die Leistungsaufnahme in diesem Energiesparmodus beträgt 16 µA, was für einen auf hohe Rechenleistung optimierten 40-nm-G-Fertigungsprozess akzeptabel ist. Nichtsdestotrotz kann der S7 hier natürlich weder mit STM32F4 (3 µA im Standby-Mode mit Echtzeituhr an) noch mit Kinetis K6x (ähnliche Größenordnung wie STM32, je nachdem welchen der zahlreichen von Freescale implementierten Energiespar-Modi man zum Vergleich heranziehen möchte) konkurrieren.

Der Temperaturbereich des S7G2 beläuft sich wie auch für die anderen Synergy-Chips auf -40°C bis 105°C, es gibt Varianten mit bis zu GPIO-172-Pins und als Gehäuseoptionen LQFP (100, 144, 176), BGA (176, 224) und LGA (145). Daneben sind auch Derivate erhältlich, die einen abgespeckten Temperaturbereich von -40°C bis +85°C haben.

S3A7 mit Cortex-M4 in Low-Power-Prozess

Neben dem S7G2 ist mit dem S3A7 noch eine weitere Familie mit ARMs Cortex-M4 vorgestellt worden. Diese wird in Renesas proprietären 130-nm-Ultra-Low-Leakage-Prozess gefertigt und folgerichtig nur mit 48 MHz getaktet. Ihre Zielmärkte dürften somit z.B. portable Medizingeräte, vernetzte intelligente Sensoren,  Thermostate und Appliances sein. Die Leistungsaufnahme im aktiven Modus ist mit 246 μA/MHz bei 48 MHz, deaktivierter Peripherie und Codeausführung aus dem Flash-Speicher deutlich schlechter als beim 40-nm-S7, dafür werden im Software-Standby-Modus im Best Case, d.h. bei teilweise deaktiviertem SRAM, nur 0,9 µA aufgenommen - bei einer Temperatur von 25°C. Bei 105°C steigt dieser Wert auf 12,2 µA an, ist das komplette SRAM aktiviert, sogar auf 19,6 µA.

Die Speicherausstattung ist mit 1 MB Flash (plus 16 KB separater Datenspeicher) und 192 KB SRAM natürlich auch bescheidener als beim S7, ebenfalls wurde bei der Peripherie abgespeckt, wie Bild 3 zeigt. Im Gegensatz zum S7 ist der SRAM-Speicher nicht nur über einen Paritäts-Check geschützt, sondern beinhaltet auch fehlererkennende bzw. -korrigierende Codes (ECC).

Keine Kompromisse hat Renesas wie Bild 2 zeigt auch beim S3 bezüglich Security und Safety gemacht (immerhin gibt es eine AES-128/256-Verschlüsselung). Dazu gibt es einen A/D-Wandler mit höherer Auflösung (14 bit statt die üblichen 12 bit) und 28 Kanälen. Auch wenn der LCD-Grafikcontroller fehlt, gibt es immerhin für einfachere HMIs einen Segment-LCD-Controller (SLCDC) mit bis zu 52 Segmenten.

Beim S3 gibt es bis zu 124 GPIO-Pins, als Gehäusevarianten LQFP (64, 100, 144), BGA (121), LGA (100, 145) und QFN 64.

Keine Wireless-IP auf dem Chip

Auffällig ist dem dem Zielmarkt IoT, dass Renesas in der ersten Chip-Generation kein Wireless-Funkmodul für WiFi, Bluetooth etc. auf dem Chip integriert hat und der Kunde somit immer ein separates Funkmodul anbinden muss, wenn er Daten drahtlos übertragen will. Dies kann Vorteile haben, wenn z.B. ein US-Kunde aus politischen Gründen nur ein Funkmodul eines US-Herstellers einsetzen möchte, allerdings macht es die Sache komplexer und erhöht die BOM.

Renesas bstätigte daher auf Nachfrage auch, dass es für die nächste Chipgeneration auch Produkte mit integrierter Wireless-IP von ARM oder einem anderen Anbieter geben wird.