Welche MCU funkt am Besten? IoT-MCUs im Vergleich

IoT-Geräte mit dem Kurzstrecken-Funkstandard Bluetooth-Low-Energy werden immer beliebter. Als Reaktion darauf gibt es immer mehr Mikrocontroller mit BLE-Block auf einem Chip, wodurch ein separater Transceiver-Chip entfällt. Wir haben acht Funk-MCUs der drei führenden MCU-Hersteller verglichen.

Die IoT-Designs der ersten Generation mit herkömmlichen MCUs und diskreten Funkgeräten benötigten zu viel Platz auf der Platine, nahmen zu viel Leistung auf und waren zu teuer. Vor allen Dingen waren sie seitens der Security-Eigenschaften für einen vernetzten Einsatz mehr oder weniger unbrauchbar. Eine MCU, die für einen lokalen Einsatz zum Beispiel in einer herkömmlichen Waschmaschine völlig ausreichend ist, kann bei der Inbetriebnahme als IoT-Prozessor Hacker-Angriffen über das Netz vollkommen schutzlos ausgeliefert sein. Sicheres Booten, Verschlüsselung, Schlüsselverwaltung und Zufallszahlengeneratoren sind ebenso notwendig geworden wie integrierte Funkmodule. 

Im Wissen um diese Notwendigkeiten haben die drei großen MCU-Hersteller Texas Instruments, STMicroelectronics und NXP spezielle MCU-Familien mit integrierten Funkmodulen und erweiterten Sicherheitsmechanismen gegen Netzwerk-Hacker auf den Markt gebracht. Neben BLE verwenden auch die Funkprotokolle Thread und Zigbee das unlizenzierte 2,4-GHz-Band, so dass es wenig verwunderlich ist, dass von den untersuchten Controllern auch diese Standards gleich mit unterstützt werden. Mit schnelleren CPUs, mehr On-Chip-Speicher und mehr implementierter Security ist abzusehen, dass diese Chips mehr und mehr weniger effiziente Multichip-Designs der erstem IoT-Generation ersetzen werden.

Nachdem NXP mit seinen Kinetis-Chips diesen Markt quasi eröffnet hat, haben STMicroelectronics und Texas Instruments mit den STM32WB- beziehungsweise SimpleLink-Familien nachgezogen. Allen drei Familien ist die Haupt-CPU Cortex-M4 von arm für die Anwendung gemeinsam, die von einem weiteren Cortex-M0+ (ST und NXP) beziehungsweise Cortex-M0 (TI) unterstützt wird, auf dem Wireless-Protokollstack läuft.

Die K32W0x-Chips von NXP implementieren BLE5, Zigbee, Thread und 802.15.4. für proprietäre Protokolle und sollen im 3. Quartal 2018 in Massenproduktion gehen. Die neuen Funk-MCUs von ST heißen STM32WB. Sie implementieren ebenfalls BLE5, Thread und Zigbee sowie IEEE 802.15.4 und unterstützen auch USB und kleine LCDs. Sie sind im 2. Halbjahr 2018 in Serienproduktion überführt worden.

TI erweitert seine SimpleLink-Familie um vier Basismodelle, die jeweils eine Kombination aus BLE5, Thread, Zigbee, 802.15.4 und Sub-Gigahertz-Funk implementieren. Jede hat zudem einen eigenen Sensorcontroller. Was sie von der Konkurrenz unterscheidet, ist das riesige ROM, in welchem neben einem RTOS-Kernel auch die Low-Level-Protokollstacks untergebracht sind. Die Folge sind mehr freier Flash-Speicher und SRAM für Anwendungssoftware. Die Chips sollen im 1. Quartal 2019 in Massenfertigung gehen.

NXP erreicht als einziger 72 MHz

Die neuen Kinetis K32W0x-MCUs von NXP unterscheiden sich auf den ersten Blick seitens der Features nicht von dem Wettbewerb: eine Cortex-M4-CPU für die Anwendungssoftware, eine Cortex-M0+-CPU für die Wireless-Stacks, Flash-Speicher, SRAM und Unterstützung von BLE5, Zigbee, Thread und 802.15.4. Die Multiprotokoll-Unterstützung ist wichtig, da viele Kunden von proprietären Protokollen (oft basierend auf der Spezifikation IEEE 802.15.4) zu BLE5, Thread und Zigbee wechseln. IEEE 802.15.4 ist eine Spezifikation auf physikalischer Ebene, die keine höheren Schichten definiert, was zu Inkompatibilitäten in Ermangelung eines höheren Standards führt. Diese Industriestandards ermöglichen die Kompatibilität zwischen IoT-Geräten verschiedener Hersteller. BLE5 ist bei IoT-Anwendungen besonders wichtig, da es weniger Strom aufnimmt als herkömmliches Bluetooth und gut in drahtlosen Mesh-Netzwerken eingesetzt werden kann, die es einer Gruppe von Geräten wie zum Beispiel Sensoren ermöglicht, in einem großen Haus oder einer Fabrik zu kommunizieren. Selbstredend ist eine geringe Stromaufnahme insbesondere bei batteriebetriebenen IoT-Geräten wie Smartphones, Smart-Watches, Fitness-Trackern oder Augmented-Reality-Brillen wichtig.

Wie aus der Tabelle ersichtlich ist, erreichen sie aber als einzige eine Taktfrequenz von 72 MHz und haben jedenfalls in der größten Ausbaustufe mit 1280 KB Flash und 384 KB SRAM auch den größten Speicher. Die Folge ist, dass die leistungsaufnahme im aktiven Modus mit 76 µA/MHz höher ist, als bei den ST- und TI-Chips. Man muss allerdings sagen, dass die Messbedingungen bei TI und ST unklar sind, das heißt, welcher Code ausgeführt wurde. Bei NXP wurde der bekannte CoreMark-Benchmark von EEMBC ausgeführt.

ST ist Low-Power-Führer

ST definierte vier Hauptziele für die neue STM32WB-Serie: niedrigere Stücklistenkosten, höhere Sicherheit, mehrere drahtlose Protokolle und genügend On-Chip-Speicher für die gleichzeitige Verarbeitung mehrerer Protokolle. Die maximale BLE5-Datenrate beträgt 2 Mbit/s, was doppelt so hoch wie die ursprüngliche Low-Energy-Spezifikation ist. Für die Security enthält die STM32WB-Serie Hardwarebeschleunigung für AES-128/256-Verschlüsselung, elliptische Kryptographie (ECC), RSA sowie einen Zufallszahlengenerator. Das Funksubsystem verfügt über zwei AES-128-Beschleuniger zur Verschlüsselung der Funkverbindung. Ein separater AES-256-Block bietet stärkere Verschlüsselung für Anwendungssoftware. Der ECC-Beschleuniger minimiert die Leistungsaufnahme bei der Funkübertragung, die öffentlichen Schlüssel bei einem vergleichbaren Sicherheitsniveau etwa nur 1/12 so groß wie die RSA-Schlüssel.

Weiterhin gibt es einen sicheren Speicher für Kundenschlüssel und ein Feature namens »Ausleseschutz für proprietäre Codes«. Diese Funktion verhindert, dass Hacker die im Flash-Speicher gespeicherte Firmware des Kunden lesen, kopieren oder ändern. Die Isolierung der Wireless-Protokollstacks auf dem mit 32 MHz getakteten Cortex-M0+ bietet zusätzliche Sicherheit und Zuverlässigkeit, während der 64-MHz- Cortex-M4F für den Betrieb der Anwendung dient.

Alle STM32WB-Chips haben anders als die meisten anderen Wireless-MCUs eine USB-2.0-Schnittstelle, die mit voller Geschwindigkeit (12 Mbit/s) arbeitet. Die serielle Vollduplex-Audio-Schnittstelle unterstützt mehrere branchenübliche Audioprotokolle und Codecs wie I2S, SPDIF, PCM, TDM und AC97. Sie kann für audio-relevante IoT-Geräte wie zum Beispiel für eine sprechende Türklingel oder einen Rauchmelder eingesetzt werden. Mit 1 MB Flash-Speicher und 256 KB SRAM sollte genug Speicher für die Wireless-Protokoll-Stacks und Anwendungssoftware vorhanden sein. ST behauptet sogar, dass die MCUs gleichzeitig mit BLE5, Thread und Zigbee kommunizieren können.

Wie die Tabelle zeigt, liegen die wichtigsten Unterschiede der unterschiedlichen Familienmitglieder im Gehäuse, die Anzahl der GPIO-Pins und die Größe der von ihnen unterstützten LCDs. Das kleinste Modell kommt in einem 4,5-mm-Chip-Scale-Gehäuse, das mehr Pins hat als die größeren 7-mm- und 8-mm-Gehäuse. Der engere Pitch auf dem Chip-Scale-Gehäuse ermöglicht genügend GPIO-Pins, um ein 8-zeiliges, 40-stelliges LCD anzusteuern. Die größeren Modelle haben weniger Pins und müssen daher mit kleineren LCDs Vorlieb nehmen, dafür vereinfachen die größeren Pin-Abstände die Fertigung und ermöglichen es den Kunden, billigere zweilagige Leiterplatten zu entwerfen. Last but not least liefert ST die geringste Stromaufnahme im aktiven Modus, zumindest wenn die Messbedingungen fair waren (Codeausführung aus Flash-Speicher ohne Einsatz von Caches).

 NXP Kinetis K32W0xST STM32WB 55CxST STM32WB 55RxST STM32WB 55VxTI SimpleLink CC2652RTI SimpleLink CC2642RTI SimpleLink CC1352RTI SimpleLInk Cc1312R
CPU (Anwendung)arm Cortex-M4
Taktfrequenz72 MHz64 MHz48 MHz
CPU (Transceiver)arm Cortex-M0+arm Cortex-M0
Taktfrequenz72 MHz32 MHz48 MHz
SensorcontrollerkeinerProprietär
Flash-Speicher1280 KB256-1024 KB352 KB
SRAM-Speicher384 KB128-256 KB88 KB
ROM-Speicher48 KB256 KB
FunkprotokolleBLE5, Thread, ZigBee, IEEE 802.15.4
Frequenzbänder2,4 GHz2,4 GHz, Sub-GHzSub-GHz
Versorgungsspannung1,7-3,6 V1,71-3,6 V1,8-3,8 V
Leistungsaufnahme (aktiv)76 µA/MHz50 µA/MHz69 µA/MHz59 µA/MHz
Leistungsaufnahme (Sleep-Modus)2,1 µA1,8 µA0,9 µA0,8 µA
Leistungsaufnahme (Stop-Modus)300 nA<50 nA105 nA
SicherheitSicheres Booten, AES-128, SHA-2, RSA, ECC, TRNG, CRC, sichere Schlüsselspeicherung, Flash-ZugriffssteuerungSicheres Booten, AES-128/256, RSA, ECC, TRNG, CRC, sichere Schlüsselspeicherung, Code-Schutz PCROPSicheres Booten, AES-128/256, SHA-2-512, RSA, ECC, TRNG, sichere Schlüsselspeicherung
DisplayFlexIO4x23 LCD8x40 LCDKeines
USBUSB 2.0, FS+PHYUSB 2.0, FSKeines
Wandler12-bit-A/D, 12-bit-D/A12-bit-A/D
Sonstige PeripherieI2C, UART, SPI, GPIO, Echtzeituhr, Timer, Komparatoren, Audio, FlexIO, SDHCI2C, UART, SPI, GPIO, Echtzeituhr, Timer, Quad-SPI, AudioI2C, UART, SPI, GPIO, Echtzeituhr, Timer, Komparatoren, I2S
Temperaturbereich-40 bis +105 °C-40 bis +85°C
Package9 mm VFBGA-176 oder 5,9 mm CSP-1917 mm UFQFPN-488 mm VFQFPN-684,5 mm CSP-1007 mm VFQFPN-48
MassenproduktionQ3 20182. HJ 2018Q1 2019
Preis bei Abnahme 1,000 Stück in US-Dollar5,50*2,50-4,00*3,052,704,733,89

 

Tabelle: Vergleich Von NXP Kinetis K32W0x, ST STM32WB 55xx und TI SimpleLink CCxxxx, Quelle: Hersteller außer *: Schätzung der DESIGN&ELEKTRONIK,

TI mit riesigem ROM, aber niedrigen Temperaturen 

Die neuesten MCUs von TI sind die ersten in der SimpleLink-Low-Power-HF-Familie, die arms Cortex-M4 anstelle des Cortex-M3 verwenden und die ersten, die Thread und Zigbee unterstützen. Sie verdoppeln den Flash-Speicher (352 KB gegenüber 128 KB) und beinhalten zusätzlich 256 KB ROM für die Low-Level-802.15.4-Firmware. Dieses ROM beinhaltet auch einen TI-RTOS-Kernel, einen Bootloader und Low-Level-Treiber, wodurch der Flash-Speicher und 88 KB SRAM für den Anwendungscode frei werden. Die NXP- und ST-Chips müssen einen Teil ihres Flash und SRAM für diese Aufgaben reservieren, was ihre Vorteile in der numerisch höheren Speicherkapazität reduziert. Ein Nachteil des TI-Ansatzes ist jedoch, dass Firmware-Updates Patches im Flash-Speicher erfordern.

Im Gegensatz zu den anderen hier vorgestellten MCUs laufen bei diesen SimpleLinks die drahtlosen Protokolle auf Cortex-M0 statt auf dem neueren Cortex-M0+. Der Cortex-M0 nimmt rund 40 % mehr Leistung auf, dafür gibt es einen eigenen Controller, der Sensoren überwachen kann, während sich die CPUs im Sleep-Modus befinden. Falls ein Sensoreingang einen zuvor definierten Schwellwert überschreitet, wird die CPU aufgeweckt. Der Sensor-Controller verfügt über ein eigenes 4 KB großes und besonders leckstromarmes SRAM. Der Controller ermöglicht es den CPUs, öfter in den Sleep-Modus zu wechseln, was die Batterielebensdauer verlängert. Bei der Stromaufnahme zeigt sich ein den Architekturen entsprechendes Bild: Während TI die niedrigste Stromaufnahme im Standby-Modus erzielt, kommt man im aktiven Modus an ST nicht heran.

Wie die Tabelle zeigt, gibt es neben dem CC2652R, der wie NXP und ST die Protokolle BLE5, Thread, Zigbee und proprietäres IEEE 802.15.4 implementiert, noch den CC1352R, der zusätzlich die Sub-GHz-HF-Bänder von 769 bis 935 MHz unterstützt. Diese liefern gegenüber dem 2,4-GHz-Band eine geringere Leistungsaufnahme, eine größere Reichweite, weniger Störungen und eine bessere Durchdringung durch Hindernisse. Aus diesen Gründen werden sie oft bei IoT-Sensoren in Gebäuden, insbesondere in städtischen Gebieten, eingesetzt. Die weiteren Varianten CC2642R und CC1312R sind auf BLE5 beziehungsweise auf Sub-GHz beschränkt.

Insbesondere der CC1352R ist eine coole Idee. Der niederfrequente Funk kann Sensordaten erfassen, während der höherfrequente Funk mit größeren IoT-Geräten im Netzwerk kommuniziert. Viele Kunden haben ihre eigenen Sub-GHz-Protokolle, TI bietet aber auch einen eigenen Protokoll-Stack an. Um die Entwicklung zu vereinfachen, hilft das SimpleLink-SDK, Software von einem Protokoll auf ein anderes zu portieren, ohne sie komplett neu schreiben zu müssen. Kunden, die Sub-GHz nicht benötigen, können den ansonsten identischen CC2652R kaufen, der 1,65 Dollar weniger kostet.

Hardware-Beschleuniger stehen für AES-128/256, RSA, ECC und sichere Hash-Algorithmen von SHA-2 bis SHA-512 zur Verfügung, ebenso ein Zufallszahlengenerator. Diese erweiterten Security-Fähigkeiten passen zu den Zielmärkten von TI: Industrie- und Heimautomation, Gebäudesicherheitssysteme, Sensornetzwerke und IoT-Infrastruktur wie zum Beispiel intelligente Verbrauchszähler.

Starke Sicherheit beginnt bekanntlich im Silizium. Alle MCUs können aus einem Bootloader-ROM sicher booten und haben Vorkehrungen für sichere Firmware-Updates über Funk getroffen. Die Möglichkeit, die Firmware sicher zu aktualisieren, bietet einen gewissen Schutz vor unentdeckten Schwachstellen.

Alle diese Chips integrieren bis auf wenige Ausnahmen die in 32-Bit-MCUs üblichen seriellen I/O-Schnittstellen und Peripherien. NXP und ST haben USB 2.0., TI nicht. Alle haben 12-Bit-A-D-Wandler, NXP als einziger dazu noch einen 12-bit-D-A-Wandler. Die MCU von ST kann ein kleines LCD ansteuern ebenso wie NXP über seine FlexIO-Ports, TI hat an dieser Stelle nichts.

Was etwas irritierend ist, ist die Tatsache, dass der TI-Chip nicht für Industrietemperaturen bis 105 °C zertifiziert ist, obwohl diese Spezifikation ursprünglich auf der Roadmap stand. Automotive-Temperaturen bis zu 125 °C oder höher hält keiner der Kandidaten aus. Wenn es auf den Platzbedarf ankommt, ist STs 4,5-mm-Chip-Scale-Gehäuse erste Wahl.

Fazit 

Jede MCU in diesem Vergleich hat ihre Stärken und Schwächen, wie immer hängt die beste Wahl stark von der Anwendung ab. NXP liefert die höchste CPU-Leistung und den größten Speicher auf Kosten des Preises und der Stromaufnahme. ST ist dort Spitzenreiter.

TI spart Speicher, indem es einen RTOS-Kernel, Gerätetreiber und Teile der Wireless-Protokollstacks in ein ROM packt, und ist die einzige Option für Sub-GHz-Anwendungen. Für viele Wearables ist es auf Grund seines größeren Gehäuses und des Fehlens eines Display-Controllers trotzdem nur bedingt geeignet, was eigentlich schade ist, denn gerade Sub-GHz ist ja für weit entfernte Sensoren besonders geeignet.

Glücklicherweise bieten alle untersuchten MCUs viel Hardware-Security, sodass die Kunden in dieser Hinsicht keine Kompromisse eingehen müssen. Und auch nicht ganz unwichtig, alle kommen von großen MCU-Lieferanten, die über eine breite Distribution, ausgereifte Entwicklungstools und einen guten Produktsupport verfügen.