NXP-Mikrocontroller Noch energiesparender als i.MX8 Mini

Die neuen i.MX8M-Nano-Anwendungsprozessoren für Medizin und Industrie sind pinkompatibel mit der i.MX8M-Mini-Familie und bis auf ihre Multimedia-Eigenschaften nahezu identisch. Sie arbeiten jedoch erheblich energieeffizienter und sind dazu auch noch billiger.

Für einen Preis von nur 6 bis 10 Dollar und mit einer Leistungsaufnahme von 1 bis 1,5 W bekommt man je nach Konfiguration ein SoC mit bis zu vier Arm-Cortex-A53-CPUs, einem Cortex-M7-Echtzeit-Controller, einer 3D-GPU und mehr als 1 MB On-Chip-Speicher. Im Gegensatz zur i.MX8M-Familie, deren ursprüngliche Modelle von 2016 im 28-nm-HPC-Prozess von TSMC gefertigt wird, wird die Nano-Familie wie auch die neueren i.MX8Mini-Modelle bei Samsung in einem 14-nm-FinFET-Prozess gefertigt, was für die außerordentliche Energieeffizienz verantwortlich zeichnet. Die Abstriche seitens der Rechenleistung gegenüber der Mini-Familie bleiben trotz des geringen Preises überschaubar. Dazu später mehr.

NXP zielt auf Smart-Home-Geräte, Smart-Factory-Maschinen, netzbetriebe-ne IoT-Geräte, medizinische Geräte und andere embedded-Systeme ab, die eine höhere Rechenleistung und höhere Sicherheit benötigen, als sie derzeit ein Mikrocontroller bieten kann. Die Modelle mit GPUs können anspruchsvolle grafische Benutzeroberflächen anzeigen, und der Cortex-M7-Coprozessor kann Echtzeitaufgaben unabhängig von den Cortex-A53-CPUs abarbeiten.

Bild 1 oben zeigt den i.MX8M-Nano-Quad, der mit vier Cortex-A53 am obersten Ende der Familie thront. Andere Modelle haben nur einen oder zwei A53, und eine Lite-Version jedes Modells deaktiviert die GPU. Um die niedrigeren Preise und Leistungsaufnahmen zu erreichen, haben Nano-Chips mit 1,5 GHz gegenüber 1,8 GHz geringer getaktete A53-CPUs und weniger DRAM-Bandbreite als die i.MX8Mini. Außerdem entfallen die PCI-Express-Schnittstelle und der Videobeschleuniger. Dafür ist die Leistungsaufnahme im Schnitt um mindestens 25 % und der Preis um mindestens 33% geringer.

i.MX8 Nano vs. Mini

Nano-Prozessoren verfügen über zahlreiche Audio-In/Out-Ports, mehrere Kameraeingänge und andere I/O-Schnittstellen, so dass sie auch für Streaming-Audio- und sprachgestützte Systeme geeignet sind, die wenn auch limitierte lokale Spracherkennung durchführen (Tabelle 1). Auf der MCU-Seite fehlt ihnen bedingt durch die 14-nm-Fertigung der interne Flash-Speicher, dafür gibt es eine DRAM-Schnittstelle. Sie ist mit 16 Bit nur halb so breit wie die 32-bit-Schnittstelle des i.MX Mini und kommt auf einen Datendurchsatz von maximal 6,4 GB/s. Die Halbierung rechtfertigt NXP mit dem Entfall der PCIe-Schnittstelle und der Videobeschleunigung.

Obwohl die schmalere DRAM-Schnittstelle Energie und Chipfläche spart, könnte sie sich insbesondere bei großen Programmen deutlich eher als Flaschenhals erweisen als die reduzierte Taktfrequenz der CPUs. Um dies zu verhindern, gibt es 512 KB SRAM on Chip, in welchem die CPUs Code und Daten speichern können, um die Anzahl der DRAM-Zugriffe zu reduzieren. Außerdem verfügt der Chip über 512 KB L2-Cache und zwar unabhängig von der CPU-Zahl, so dass die Dual- und Solomodelle mehr Cache pro CPU haben als das Quad-Modell.

Der Cortex-M7-Controller verfügt über 256 KB eng gekoppelten Speicher (TCM) und kann sich die 512 KB SRAM mit den Cortex-A53-CPUs teilen.

Der mit 600 MHz getaktete Cortex-M7 ist eine ganz andere Hausnummer als der mit 400 MHz getaktete Cortex-M4 auf dem i.MX8Mini. Der Cortex-M7 mit seiner dualissue-superskalaren Befehlsausführung und seiner 64-Bit-Fließkommaarithmetik liefert fast 50 % mehr Durchsatz pro Taktzyklus, was bei maximaler Taktfrequenz mehr als eine Verdoppelung der Rechenleistung gegenüber dem Cortex-M4 darstellt (1,5 × fmax × 1,5 IPC = 2,25) – und dies bei gleicher Energieeffizienz. Damit kann der Nano komplexere Echtzeitfunktionen als der Mini verarbeiten. Das SoC kann die A53-CPUs sogar abschalten und die Cortex-A7-Domäne mit weniger als 50 mW im Always-on-Standby-Modus betreiben.

 i.MX8M Nano Soloi.MX8M Nano Duali.MX8M Nano Quadi.MX8M Mini Single-Corei.MX8M Mini Dual-Corei.MX8M Mini Quad-Core
AnwendungsprozessorenArm Cortex-A532x Arm Cortex-A534 Arm Cortex-A53Arm Cortex-A532x Arm Cortex-A534x Arm Cortex-A53
Taktfrequenz1,5 GHz maximal1,8 GHz maximal
L2-Cache512 KB256 KB512 KB1 MB
KoprozessorArm Cortex-M7Arm Cortex-M4
Taktfrequenz600 MHz maximal400 MHz maximal
SRAM256 KB TCM256 KB Scratchpad
GPU*Vivante GC7000UL UltraLiteVivante GC NanoUltra (3D) + GC328 (2D)
3D-GPU GFLOPS*18 maximal6,4 maximal
Video Encode*nicht vorhanden1080p 60 Frames/s H.264, VP8
Video Decode* 1080 p 60 Frames/s, H.265, H.264, VP9, VP8
DRAM-Schnittstelle16-bit-DDR3L-1600, DDR4-2400, LPDDR4-320032-bit-LPDDR4-3200, DDR4-2400, DDR3/3L-1600
DRAM Datendurchsatz maximal6,4 GB/s12,8 GB/s
Ethernet1 x GbE IEEE 15881 x GbE RGMII
USB1 x USB 2.0 + PHY
Display-SchnittstelleMIPI DSI 4 Leitungen
Kamera-SchnittstelleMIPI CSI 4 Leitungen
Audio-Schnittstelle10xI2S/SAI, SPDIF, DSD512, TDM, 8-Kanal PDM Mikrofon-Schnittstelle, Abtastraten-Umsetzer20xI²S, SPDIF, DSD512, 8-Kanal-×PDM-Mikrofon-Schnittstelle
PIC-ExpressNicht vorhandenPCIe Gen2 1 Leitung
Weitere I/OsNAND-Flash, SDIO/eMMC, I2C, Quad-SPI, UART
Leistungsaufnahme**1 W1,3 W1,5 W1,2 W1,6 W2 W
FertigungSamsung 14 nm LPC FinFET
Listenpreis (Dollar)**681091215

 

Tabelle 1: NXPs i.MX8M Nano-Serie im Vergleich zum i.MX8M Mini. Diese Multimedia-Prozessoren sind die leistungsärmsten Produkte der i.MX8M-Linie, behalten aber die meisten Funktionen der im letzten Jahr angekündigten Mini-Familie bei. *: Bei Nano-Lite-Modellen entfällt der Grafikprozessor. (Quelle: NXP, außer **: Schätzung)

Trotz fehlender Videobeschleunigung kann man mit dem Nano anspruchsvollere 3D-Grafiken als mit dem Mini erstellen. Implementiert wurde eine mit maximal 600 MHz getaktete GPU des Typs VeriSilicon Vivante GC7000UL UltraLite, während auf dem Mini die Vivante GC Nano Ultra zum Einsatz kommt. Rein rechnerisch sollte die i.MXNano-GPU dreimal soviel GFLOPS rechnen können wie die GPU des Mini (18 GFLOPS vs. 6,4 GFLOPS). Folgerichtig verzichtete NXP daher auf die im Mini zusätzlich implementierte Vivante GC328 für 2D-Grafiken, da der leistungsfähigere 3D-Grafikprozessor vom Nano einen 2D-Grafikprozessor überflüssig macht. Die Nano- GPU ist für die meisten Embedded-System-Displays geeignet und implementiert einige neue Standards wie OpenCL 1.2, OpenGL ES 3.1, Vulkan für Android und Google Fuchsia. Mit OpenCL kann sie die Cortex-A53s bei maschinellem Lernen unterstützen.

Die i.MX8Nano-SoCs verfügen auch über eine MIPI-CSI-Kameraschnittstelle mit vier Leitungen, sodass sie eine gute Wahl für die Computer-Vision sind, wie beispielsweise in Sicherheitssystemen und Remote-Fabrik-Monitoren. Designs, die unbedingt Video-Streaming erfordern, können den i.MX8M Mini wählen, aber Nano kann in vielen Designs mit weniger Stromaufnahme und Kosten eingesetzt werden.

Zertifiziert nach Arms PSA

Wie Tabelle 1 zeigt, verfügt der Nano über die von einer universellen MCU erwarteten I/O-Ports, einschließlich mehrerer NOR- und NAND-Flash-Speicher-Schnittstellen. Zu den integrierten Peripherien gehören vier Pulsweitenmodulatoren (PWMs), sechs Timer, drei Watchdogs, multiple Phase-locked Loops (PLLs), ein Temperatursensor und ein sicherer JTAG-Debug-Port. Analoge I/Os sucht man dagegen vergeblich.

Sicheres Booten ist heutzutage Standard, daher hat der i.MXNano ein sicheres Boot-ROM, Kryptografie-Beschleunigung, 32 KB sicheres SRAM und einige unveränderliche eFuse-Speicher für die Schlüsselspeicherung. Arm und das Sicherheitslabor BrightSight haben Nano (und Mini) für Level 1 von Arms Platform-Security-Architecture (PSA) zertifiziert (Kasten), was bedeutet, dass diese Prozessoren Programme in einer sicheren Partition ausführen können, die vom unsicheren Code getrennt ist.

Nano, Mini und einige andere i.MX-Modelle wurden ebenfalls für das Security-Evaluation-Scheme für IoT-Plattformen (SESIP) nach Level 1 zertifiziert. Unabhängige Labore testen dabei die Sicherheit einer IoT-Plattform von Grund auf, einschließlich Hardware, Firmware und sicherer Komponenten. Neben dem Standard-Temperaturbereich von 0 °C bis 95 °C sind die Chips auch in einem Temperaturbereich von -40 °C bis 105 °C erhältlich.

Für Audio verfügt der Nano über zehn Zweiwege-I²S/SAI-Ports, einen Zweiwege-SPDIF-Port, eine achtkanalige PCM-Schnittstelle für Mikrofone, eine Time-Division-Multiplexing-Schnittstelle (TDM) und eine Direct-Stream-Digital-Schnittstelle (DSD512) für hochpräzise Audiowiedergabe. Er verfügt auch über einen asynchronen Sample-Rate-Konverter (ASRC), der Audio-Streams konvertiert, die in verschiedenen Taktbereichen arbeiten (z. B. 44,1 kHz CD-Audio versus 8 kHz Bluetooth-Audio). Mit minimaler CPU-Unterstützung kann der ASRC bis zu 10 Audioströme gleichzeitig in höhere oder niedrigere Abtastraten im Bereich von 8-384 kHz umwandeln. Insgesamt kann der i.MXNano mehr als 20 Audio-Kanäle streamen. Nur Audio-Anwendungen können die Nano-Lite-Modelle ohne GPUs einsetzen, was zu noch mehr Kosten- und Leistungseinsparungen führt.

Darüber hinaus bringt NXP Microsofts Azure IoT-Edge in die i.MX8M-Familie. Diese Technologie kann maschinelles Lernen und Datenanalyse auf einem Client-Gerät statt auf einem Cloud-Server durchführen. Für die Spracherkennung würde der Server weiterhin das Training vornehmen, dann aber kann die Inferenzmaschine auf das Endgerät heruntergeladen werden. Die lokale Verarbeitung reduziert die Netzwerklatenz und verbessert die Sicherheit. Da Nano jedoch keine hardwarebasierte KI-Beschleunigung hat, muss die lokale Sprachverarbeitung auf den A53-CPUs laufen. Da die Spitzenleistung selbst des Quad-Modells nur bei 24 GFLOPS liegt, können ohne Serverunterstützung wahrscheinlich Sprachbefehle nur in einem Wortschatz von 10 bis 20 Wörtern verarbeitet werden.