Freescale Technology Forum Neue MCU-Linie mit ARMs Cortex-M4-Core

Auf seinem jährlichen Technology Forum in Orlando, Florida, haben Freescale-CEO Rich Beyer und ARM-CEO Warren East eine neue Mikrocontroller-Familie mit dem Namen Kinetis vorgestellt, die auf ARMs Core Cortex-M4 aufsetzt. Die MCUs sollen primär Kunden bei industriellen Anwendungen finden.

Insgesamt 200 Drivate der Kinetis-MCUs will Freescale produzieren. Wie wichtig diese Ankündigung für Freescale ist, lässt sich daran ablesen, dass neben CEO Rich Beyer auch ARM-CEO Warren East aus England eingeflogen wurde, um die MCU-Familie zusammen mit Beyer der Öffentlichkeit zu präsentieren.

Allen gemeinsam ist der Cortex-M4-Core von ARM, einer Erweiterung des extrem verbreiteten Cortex-M3. Der M4 enthält 80 DSP- und SIMD-Befehle für die digitale Signalverarbeitung, optional ergänzt um eine Gleitkomma-Einheit (FPU), die mit weiteren 25 Befehlen mathematische Operationen in einfacher Genauigkeit ausführt. Der Befehlssatz leitet sich vom bekannten ARMv7 ab und heißt mit den DSP-Erweiterungen nun ARMv7ME.

Statt eines einfachen 32x32-bit-Multiplizierers können nunmehr innerhalb eines einzelnen Taktzyklus MAC-Operationen (Multiply ACcumulate) bis zu 64x64 + 64 bit durchgeführt werden. Wie auch beim Cortex-M3 ist ein 32-bit-Hardware- Dividierer integriert. Änderungen gibt es gegenüber dem Cortex-M3 bei der Anzahl der Watchpoints und Breakpoints , das ganze Thema Interrupts blieb hingegen, ebenso wie die Mikroarchitektur (dreistufige Pipeline, Harvard-Architektur), identisch. Für eine höhere Codedichte wurden beim Cortex-M4 die 16-bit-Thumb-2-Befehle implementiert.

Die Hardware-Erweiterungen sind allerdings nur ein Aspekt, wesentlich ist auch die Frage, wie deren Potential durch die Software genutzt werden kann. ARM hat dafür seinen von Keil entwickelten Compiler erweitert, so dass die meisten DSP-Befehle bereits durch Standard-C-Programme genutzt werden können.

Eine Besonderheit der in einem 90-nm-Prozess gefertigten Kinetis-MCUs ist der Dünnschicht-Flash-Speicher und das sogenannte FlexMemory. Der Flash-Speicher wird auf Basis der 90-nm-Thin-Film-Storage -Technik (TFS) auf den MCUs integriert. Die Schicht enthält eine Vielzahl von Silizium-Nanokristallen, die das herkömmliche Floating-Gate ersetzen. Dadurch umgeht dieser Ansatz das Leakage-Problem, mit denen die Floating-Gates bei schrumpfenden Strukturgrößen zu kämpfen haben. Außerdem lässt sich die Dünnfilmtechnik kosteneffektiv umsetzen: Die Abscheidung des Films geschieht auf Standard-Maschinen, die Fertigung des auf Split-Gate-Zellen basierenden Flash-Speichers erfordert um 30 Prozent weniger Masken als bisher. Die TFS-Speicher stellen die volle Flash-Funktionalität  bis zu einer spezifizierten Mindestspannung von 1,71 V bereit. Die Zugriffszeit liegt unter 30 ns.

Ein weiterer interessanter Bestandteil der TSF-Technik ist FlexMemory. Über Flex-Memory lassen sich EEPROMs emulieren, die über 10 Mio. Schreib-Lösch-Zyklen erreichen. Das FlexMemory kann der Anwender als zusätzlichen Flashspeicher oder als Kombination von EEPROM und Flash konfigurieren. Ein Lösch/Schreibvorgang benötigt lediglich 1,5 ms, ein Fünftel dessen, was traditionelle EEPROMs benötigen. Das FlexMemory lässt sich für die Speicherung zusätzlichen Anwendungscodes, die Speicherung von Datentabellen oder für das byteweise Löschen und Schreiben von Systemdaten nutzen. In allen Betriebsarten können Zugriffe auf das FlexMemory gleichzeitig mit solchen auf den Hauptprogrammspeicher erfolgen.

Für Mixed-Signal-Anwendungen im extrem preissensitiven Umfeld gibt es die K10/K20-Familie, die sich durch eine USB-Schnittstelle des K20 unterscheidet. Die kleinste Version, der K10 mit 50 MHz Taktfrequenz und 32 Kbyte Flash-Speicher wird nur 99 US-Cent kosten. Hervorzuheben sind 10 Low-Power-Modi, ein Deep-Sleep-Modus mit einer Stromaufnahme unter 500 nA, im aktiven Betrieb werden vom kleinsten Drivat weniger als 200 µA/MHz aufgenommen. Die Aufwachzeit vom Deep-Sleep-Modus in den Aktivbetrieb beträgt 4 µs. Eine Beispielanwendung für den K10 ist die Ssteuerung eines Kühlschranks, einer Waschmaschine oder eines Trockners, für die K20 wegen der USB-Schnittstelle eine über den PC konfigurierbare Universalfernbedienung.

Für HMI-Anwendungen gibt es die K30/K40-Familie, die sich wiederum durch eine USB-Schnittstelle des K40 unterscheidet. Beide enthalten eine LCD-Schnittstelle, die bei K10/K20 nicht vorhanden ist. Diese kann bis zu 16 Eingänge verwalten. Das Display darf bis zu 320 Segmente beinhalten (40x8 oder 44x4). Wie beim K10/K20 gibt es 10 Low-Power-Modi, ein Deep-Sleep-Modus mit einer Stromaufnahme unter 500 nA, im aktiven Betrieb werden vom kleinsten Drivat weniger als 200 µA/MHz aufgenommen. Die Aufwachzeit vom Deep-Sleep-Modus in den Aktivbetrieb beträgt 4 µs. Eine Beispielanwendung für den K30 ist ein Fahrradcomputer, für die K40 wegen der USB-Schnittstelle eine Thermostatregelung, deren Firmware über ein USB-Subsystem upgedatet werden kann.

Schließlich gibt es noch die High-End-Familie K60/K70, bei der der Cortex-M4 mit bis zu 180 MHz getaktet wird. USB ist Standard, die K70-Familie enthält zusätzlich noch eine LCD-Schnittstelle bis zu 24-bit-SVGA (hierfür ist allerdings externer Speicher notwendig). Für Sicherheitsanwendungen gibt es einen Verschlüsselungs-Coprozessor für Datentransfer und Datenspeicherung, der DES, 3DES, AES, MD5, SHA-1 und SHA-256 unterstützt. Weiterhin gibt es exklusiv bei diesen Familien einen Ethernet-Controller gemäß IEEE 1588 für industrielle Echtzeitanwendungen.

In der kleinsten Version kostet ein K60 mit 256 Kbyte Flash-Speicher und einer Taktfrequenz von 100 MHz 2,99 US-Dollar. Wie bei allen anderen Derivaten gibt es 10 Low-Power-Modi, ein Deep-Sleep-Modus mit einer Stromaufnahme unter 500 nA, im aktiven Betrieb werden vom kleinsten Drivat weniger als 200 µA/MHz aufgenommen. Die Aufwachzeit vom Deep-Sleep-Modus in den Aktivbetrieb beträgt 4 µs. Eine Beispielanwendung für den K60 ist eine Fabrik-Automatisierungs-Steuerung.

Alle MCUs vom K10 bis zum K70 sind wie die Blosckschaltbilder zeigen mit reichhaltiger Peripherie (u.a. CAN, I2C, I2S, SPI, UART, A/D-Wandler, D/A-Wandler, Timer u.a.) ausgestattet. Ein wichtiger Unterschied in jeder Familie besteht darin, dass es Derivate mit und ohne Speicherschutzeinheit (MPU) und mit und ohne On-Chip-Cache für den Cortex-M4 gibt. Bei den Zahlenangeben zum "Deep-Sleep-Mode" ist ein Schalfmodus gemeint, der offiziell"Stop" heisst. Es handelt sich um den "tiefsten" Schlafmodus, in dem alle Registerinhalte bestehen bleiben.

ARM-CEO Warren East hob hervor, dass die Kunden gegenüber den Allzweck-Cores nach einer zusätzlichen DSP-Funktionalität nachgefragt hätten, die mit dem M4 geliefert wurde. Freescale war bei der Entwicklung des Cortex-M4 laut East der "Lead-Partner". Freescale integriert ja schon länger ARM-Cores (ARM9, ARM11) in den i.MX-Produkten, die u.a. in E-Book-Readern und Automobil-Infotainment-Systemen zum Einsatz kommen.