16-Bit-MCUs aus Deutschland Plattform für Industrie- und Kfz-Anwendungen

Autor / Redakteur: Wolf Fronauer* / Holger Heller

Durch den Einsatz von Mikrocontrollern, die Teil einer skalierbaren Plattform sind, lassen sich Entwicklungskosten optimieren: innerhalb eines Projektes durch die Speicherskalierbarkeit und bei zukünftigen Projekten, die große Teile der Software weiterverwenden, auch wenn andere Anforderungen an die jeweilige MCU gestellt werden.

Firmen zum Thema

( Archiv: Vogel Business Media )

Der Vorteil bei der Wahl der MCU auf eine echte Plattform zu setzen, liegt auf der Hand. Durch die Forderung nach immer kürzeren Entwicklungszeiten bei steigender Komplexität der Anwendungen, muss sich der Entwickler frühzeitig mit seinem Einkauf auf eine MCU festlegen. Nicht selten jedoch ändern sich die Detailanforderungen z.B. an die Speichergröße während der Implementierung. Wer hier auf eine Einschränkung stößt, muss evtl. in einer späteren Projektphase die MCU wechseln – damit sind versprochene Termine natürlich nicht mehr zu halten. Wer aber schon zu Beginn der Entwicklung auf eine skalierbare Plattform setzt, geht derartigen Problemen aus dem Weg. Die Verfügbarkeit kompatibler Versionen mit unterschiedlichen Speichergrößen allein ist also ein wichtiges Detail einer Plattform.

Wie alle MCUs von Fujitsu wird auch die 16FX-Familie in hauseigenen Fertigungsstätten produziert. Sie basiert auf der aktuellen Generation des Embedded-Flash-Prozesses, der auch für neueste 32-Bit-MCUs verwendet wird. Bei der Entwicklung der 16FX-CPU lag der Schwerpunkt auf deutlich gesteigerter Applikationsperformance, bei gleichzeitig geringerer Leistungsaufnahme. Zusätzlich stand die Kompatibilität zum vorhandenen 16LX-Kern im Lastenheft (gleicher Befehlssatz). Das Ergebnis wird im direkten Vergleich zum 16LX Vorgänger deutlich.

Bildergalerie
Bildergalerie mit 6 Bildern

So erreicht der MB96F348 (16FX, 100 Pins, 544 KByte Flash) im Vergleich zu seinem 16LX-Vorgänger MB90F345 (16LX, 100 Pins, 512 KByte Flash) schon bei gleicher Taktfrequenz eine dreifach höhere Leistungsungsfähigkeit bei gleichzeitig nur ca. halb so hoher Stromaufnahme. Dies wird durch eine effizientere Implementierung des Befehlssatzes, durch das Pipelining in der CPU sowie den Einsatz eines Barrelshifters erreicht. Als Ergebnis bietet der 16FX mehr MIPS/MHz (Bild 1).

Mehr Leistung bei geringerer Stromaufnahme

Zusätzlich ist die maximale Taktfrequenz von 24 MHz (16LX) auf 56 MHz für den 16FX erhöht worden, so dass eine maximale Leistungssteigerung um den Faktor fünf bis sechs moglich wird. Wie effektiv die neuen 16FX-MCUs dabei sind, zeigt folgender Vergleich: Bei gleicher Applikationsperformance, benötigt der MB96F348 nur ca. 20% des Stromes seines Vorgängers (MB90F345) (Bild 2). Der 16FX-Kern ist durch seine skalierbare Leistungsfähigkeit bei gleichzeitig optimiertem Stromverbrauch die richtige Basis für eine MCU-Plattform, die unterschiedliche Anforderungen erfüllen und dabei eine hohe Effizienz durch Mehrfachverwendbarkeit von Software wie auch Entwicklungs-Tools bieten soll.

Die Grundlage einer MCU-Plattform sind kompatible Varianten mit unterschiedlichen Speichergrößen. Besonders komfortabel ist dies, wenn wie bei der 16FX-Familie die verschiedenen Speicherkapazitäten auf die gleiche Art segmentiert sind. Die Derivate bieten immer an den gleichen Adressen vier 8-KByte-Flash-Blöcke an, um Bootloader, Diagnoseroutinen oder Daten zu speichern. Der Speicherbereich wird dann mit einer bauteilabhängigen Anzahl von 64-KByte-Blöcken ergänzt. Dadurch ergeben sich Speicherkapazitäten von 160 bis 544 KByte. Durch diese einheitliche Segmentierung ist sichergestellt, dass Software, die für die 160-KByte-Variante entwickelt und qualifiziert wurde, ohne Änderung direkt auf grösseren Varianten lauffähig ist (Bild 3).

Häufig lassen sich die 8-KByte-Segmente verwenden, um externen EEPROM zu ersetzen. Der Flash kann wortweise beschrieben werden, was durch die deutlich geringere Schreibzeit schneller vonstatten geht als bei EEPROMs. Das Löschen des Flash erfolgt sektorweise. Rückwärtige Pinkompatibilität bedeutet bei Fujitsu Pinkompatibilität zu 16LX-MCUs, die heute in großer Zahl in Industrie- und Automobilanwendungen im Einsatz sind. So ist die erste verfügbare Serie der neuen 16FX-Bausteine (MB96340) pinkompatibel zur MB90340-16LX-Serie in 100-Pin-Gehäusen.

Echte Pinkompatibilität

Weiterhin sind 64-Pin-Varianten (MB96350) in der Entwicklung – diese runden die MB90350-16LX-Serie pinkompatibel nach oben ab. In der Planung befinden sich 48-Pin-Varianten, die das gleiche Anschlussschema haben werden wie die MB90360-16LX-Serie. Für den Anwender bedeutet dies, dass er im Idealfall seine Leiterplatte komplett unverändert übernehmen kann, wenn er eine existierende 16LX-basierte Anwendung als Ausgangspunkt für sein neues Produkt verwenden möchte. So ergibt sich aus dem MCU-Plattform-Ansatz bei vielen Kunden ein Produktplattform-Ansatz. Dieser hilft Entwicklungszeiten zu verkürzen, indem vorhandene Soft- und Hardware weiterverwendet werden kann.

Vorwärtskompatibilität steht für die Zusammenfassung vieler neuer Funktionen und Varianten, die neue Anwendungen ermöglichen und dabei untereinander pinkompatibel sind. So sind alle 16FX-MCUs sowohl in 3,3- wie auch in 5-V-Anwendungen einsetzbar. Weiterhin bestehen Skalierungsmöglichkeiten bezüglich wichtiger Peripheriemodule. So sind z.B. komplett kompatible MCUs mit und ohne CAN-Schnittstellen vorgesehen, dies kann besonders Anwendern in der Industrie helfen, kostenoptimierte Plattformen mit den verschiedensten Feldbus-Schnittstellen zu realisieren. So kann die gleiche Leiterplatte für Anwendungen mit und ohne CANOpen-Schnittstelle verwendet werden, den Unterschied macht nur die jeweils bestückte 16FX-MCU sowie CAN-PHY etc.

Die meisten Peripherieeinheiten wurden von den 16LX-MCUs übernommen. So beschränken sich Softwareänderungen auf das evtl. Anpassen von Vorteilern, abhängig von der gewählten Taktfrequenz. Folgende Komponenten sind zu existierenden 16LX-MCUs kompatibel: Der 1,2 µs schnelle A/D-Wandler mit bis zu 24 Kanälen, die bei Fujitsu LIN-USART genannte serielle Schnittstelle für synchrone-, asynchrone-, LIN- und SPI-Kommunikation, die I²C-Schnittstelle sowie die Standard-Timer mit Input-Capture- und Output-Compare-Funktionen. Spezielle Timer wie z.B. der Programmable Pulse Generator (PWM) wurden im Hinblick auf einfachere Programmierbarkeit verbessert.

Schnelle Startzeit für CAN-Anwendungen

Die CAN Schnittstelle mit bis zu 32 Message Buffers pro Kanal ist die gleiche, die auch bei Fujitsus 32-Bit-MCUs der MB91460-Familie Verwendung findet. Besonders im Bezug auf CAN-basierte Anwendungen ist auch die schnelle Startzeit der 16FX-Controller erwähnenswert, ca. 300 µs nach Einschalten der Versorgungsspannung ist ein 16FX-Controller einsatzbereit, damit sind „Wake-up-by-CAN“-Ansätze möglich, ohne CAN-Botschaften zu verpassen.Um das Handling von Daten zwischen Peripherie und Speicher oder zwischen Speichern zu beschleunigen, besitzt die 16FX-Familie einen echten DMA (Direct Memory Access). Dieser löst die EIIOS genannte Funktion der 16LX-Vorgänger ab. Der DMA besitzt bis zu 16 Kanäle mit fester Priorität, die Datenübertragung erfolgt ohne CPU-Eingriff, automatische Inkrementierung der Ziel- und Quelladressen ist möglich. Der DMA kann durch einen Resourceinterrupt automatisch gestartet werden.

Spezielle analoge Alarmkomparatoren können zur Über- und Unterspannungserkennung der Versorgungsspannung eingesetzt werden, hierdurch lassen sich externe Bauelemente einsparen und die Ausfallsicherheit wird weiter erhöht. Auch ein externer Watchdog ist nicht notwendig. Diese Aufgabe wird von internen Watchdogs übernommen und basiert auf den internen RC-Takten, womit auch ein Bruch des Quarzes sicher erkennbar ist. In einem solchen Fall kann die MCU mit den intern erzeugten Taktquellen weiterbetrieben werden und z.B. in einen Failsafe-Modus wechseln.

Um die BOM (Bill of Material) eines Produktes weiter zu reduzieren, sind bei den 16FX-Controllern alle I/O-Pins mit intelligenter Steuerung versehen. So können nicht verwendete Pins einfach offen gelassen werden – dies spart externe Widerstände sowie Platz auf der Leiterplatte. Sind Pull-up-Widerstände für bestimmte Funktionen notwendig, müssen diese nicht immer extern bestückt werden da die 16FX-Controller an jedem I/O-Pin über integrierte Pull-ups verfügen, die Pin für Pin aktiviert werden können.

EMV-Optimierungen

Systementwickler stehen in zunehmendem Maße vor der Herausforderung EMV-gerecht zu entwickeln. In den Normen und Richtlinien sind oft sehr niedrige Grenzwerte der maximal zulässigen Abstrahlung elektromagnetischer Wellen festgelegt. Deshalb wurde bei der Entwicklung der 16FX-Familie besonderes Augenmerk darauf gelegt, die Emissionen so gering wie möglich zu halten, ohne dabei Einschränkungen der Performance in Kauf zu nehmen. Der geringere Stromverbrauch in Verbindung mit einer reduzierten internen Betriebsspannung kommt diesem Ziel entgegen. Gegenüber den 3,3 V der Vorgängerfamilie arbeitet die 16FX-CPU nur noch mit 1,8 V. Diese Spannung wird durch integrierte Spannungsregler aus der zwischen 3,0 und 5,5 V liegenden externen Versorgung erzeugt. Der selbst bei doppelter Rechenleistung halbierte Stromverbrauch führt somit zu einer Verlustleistung und der damit einhergehenden elektromagnetischen Emission, die nur noch ein Viertel der des Vorgängers beträgt (Bild 4/5).

Ein spezieller Clockmodulator sorgt zusätzlich für eine gleichmäßige Verteilung der abgestrahlten Energie im Frequenzbereich. Hierdurch werden Störspitzen reduziert, die typischerweise bei der CPU-Taktfrequenz und deren harmonischen Oberwellen auftreten. Viel Wert ist eine solche Verbesserung besonders in Systemen mit mehreren getakteten ICs, die oft mit ähnlichen Taktfrequenzen betrieben werden und sich Störungen daher auf einigen wenigen Oberwellen addieren. Erreicht wird dieses Streuspektrum durch eine ständige, zufällige Variation der Taktfrequenz in einstellbaren Grenzen. Über mehrere Taktperioden betrachtet wird die eingestellte Frequenz jedoch exakt eingehalten, so dass das Zeitverhalten, z.B. von Timern, unbeeinflusst bleibt.

Weitere Optimierungen betreffen die Verteilung und Konfigurationsmöglichkeit der Taktsignale. Da sich üblicherweise die Anforderung an notwendige Taktfrequenzen z.B. von CPU, einer UART, Reload Timern oder einem PWM-Modul unterscheiden, können diese unabhängig voneinander eingestellt werden. Weil verschiedene Teile des Chips mit unterschiedlichen Frequenzen arbeiten, verteilt sich auch die elektromagnetische Emission, einzelne Störspitzen im Spektrum fallen geringer aus. Die skalierbare I/O-Treiberstärke (2 und 5 mA) kann dazu genutzt werden, die Signalflanken abzuflachen, d.h. Anstiegs- und Abfallzeit zu verlängern und somit die Oberwellen zu reduzieren. Das wohldurchdachte Pin-Layout sowie On-Chip-Kapazitäten vervollständigen das EMV-gerechte Design der 16FX.Familie.

On-chip-Debugging ohne externe Geräte

Nicht nur auf dem Silizium haben sich die Strukturen verkleinert. 16FX schafft auch auf dem Labortisch des Entwicklers mehr Platz. On-Chip-Debugging ist mit der MCU-Familie ohne lästige Geräte möglich. Adapter, wie sie bei herkömmlichen JTAG-Systemen notwendig sind, entfallen. Über eine serielle RS232-Schnittstelle oder USB (bei Nutzung eines entsprechenden Konverterbausteins) lässt sich die MCU direkt an den PC angeschließen. Da die Debug-Funktionalität vollständig im BootROM und der Debug Support Unit des Controllers steckt, ist das Laden eines speziellen Kernels oder das Linken einer Bibliothek nicht notwendig. Der Programmspeicher steht zu 100% der Applikation zur Verfügung.

Das Starten einer Debugsitzung erfolgt in drei Schritten: Zuerst wird das Projekt kompiliert und durch den Linker zum Binary verbunden. Hierbei kann dem BootROM durch Setzen entsprechender Flags im Flash mitgeteilt werden, ob die Debug-Schnittstelle verwendet werden darf. Ungewollter Zugriff auf die MCU kann somit auch unterbunden werden. Danach wird die Applikation in den Speicher geladen und schließlich eine Verbindung zwischen Debugger auf dem Host-PC und dem Controller etabliert.

Als GUI (Graphical User Inferface) auf der PC-Seite kommt EUROScope der Firma EUROS zum Einsatz. Fujitsu hat zusammen mit EUROS eine spezielle Lite-Version entwickelt, bei der sämtliche Standardfunktionen eines Debuggers zur Verfügung stehen: Breakpoints (inklusive Bereichs-Breakpoints) setzen und löschen, Run, Stop, Abort, Single Step Debugging (step in, step out), Memory Window, Watch Window, Mixed Source Code View und CPU Register Window. Diese Lite-Version wird ausschliesslich über Fujitsu zusammen mit einem entsprechenden Starterkit vertrieben. Die Lizenzbestimmungen erlauben zudem die Installation des Debuggers auf mehreren Arbeitsplätzen.

Weitere Funktionen bietet die Vollversion des EUROScope von Euros, so z.B. die Einbindung von Betriebssystemen (z.B. EUROS) mit Visualisierung der Tasks. Somit bietet EUROScope eine günstige Alternative zu vollwertigen Emulatorsystemen, die für die 16FX-Familie ebenfalls zur Verfügung stehen. Hier setzt Fujitsu auf den gleichen Emulator, der auch für die hauseigenen 32-Bit-MCUs zum Einsatz kommt

Von 48 bis 144 Pins: anwendungsoptimierte Lösungen

Um die 16FX-Familie zur echten Plattform für möglichst viele Anwendungen und Kunden werden zu lassen, wurden schon bei der Planung Varianten von 48 bis 144 Pins vorgesehen. Dabei sind die 48-, 64- sowie 100-Pin-Varianten pinkompatibel zu existierenden 16LX-Bausteinen. Diese sowie die in der Planung befindlichen 80- und 144-Pin-Varianten sind für Anwendungen im Kfz (z.B. Klimasteuerung, Body Control) wie auch der Industrie (Automation Control, Building Control, CANOpen) vorgesehen (Bild 6).

Durch die Möglichkeit, die Bauteile auch mit 3,3 V zu versorgen und kompatible Baustein ohne CAN-Schnittstelle verwenden zu können, ist die 16FX-Familie auch für Anwendungen im Consumerbereich (Weiße Ware etc.) interessant. Momentan sind die 100-Pin-Varianten der MB96340 Serie mit Speichergrößen von 288 bis 576 KByte Flash mit und ohne CAN-Schnittstellen verfügbar. Im Laufe des Jahres 2007 werden die 64- sowie 80-Pin-Varianten zur Bemusterung freigegeben. Alle 16FX-Bausteine sind nach AECQ-100 qualifiziert.

Ein kleiner Quantensprung

Die neue 16-Bit-MCU-Familie von Fujitsu Microelectronics Europe (FME) hat schon ein paar Überraschungen parat: Wenn die Geschwindigkeit um einen Faktor von ca. drei bei gleichbleibendem Takt wächst, und das bei vollständiger Maschinencodekompatibilität, dann bedeutet das nichts anderes als eine wesentliche Überarbeitung der internen Strukturen mit Beseitigung einiger Flaschenhälse. Und Fujitsu verrät auch, welche dies waren: die internen Datenwege.

Auch die Anbindung der Peripherie profitiert davon, einige periphere Elemente sind verbessert worden. Das Wort Peripherie ist dabei etwas irreführend. Studien zeigen, dass gerade in Embedded-Systemen mehr als zwei Drittel der Rechenleistung dort verankert sind. Somit ist es sinnvoll, gerade hier zu verbessern und zu ergänzen. Bestes Beispiel sind die Alarmkomparatoren, die eine aufwändige Abfrageroutine vermeiden, nur um Grenzwertüberschreitungen zu entdecken.

So ist die neue FX16-Familie in zweierlei Hinsicht interessant: Für neue Designs, um mit 16-Bit-MCUs in einen erhöhten Performancebereich (Faktor 2,5 bis 3 – je nach Datenmodell) zu kommen, und für alte Designs, um bei etwa gleichbleibender Performance ca. 75 bis 80% der elektrischen Energie einzusparen.

*Wolf Fronauer ist Marketing Manager Industrial bei Fujitsu Microelectronics Europe in Langen.

(ID:207499)