Mikrocontroller Strategien zur Auswahl der richtigen MCU

Bei der Auswahl eines Mikrocontrollers für ein neues Design-in stehen die Entwickler vor einer schwierigen Aufgabe. Allein schon der Preisbereich der Mikrocontroller reicht von unter ein Euro bis mehrere 100 €, und neben den rein technischen Faktoren spielen auch andere Aspekte eine wichtige Rolle.

Welches die Entscheidungskriterien für einen Mikrocontroller sind, hängt von den jeweiligen Rahmenbedingungen und dem Projekt ab. Neben Speichergröße, Rechenleistung, Tool-Auswahl, Peripherie oder Energieeffizienz spielt natürlich auch eine Rolle, ob man „auf der grünen Wiese“ beginnt oder nicht. Oft gibt es bereits eine Mikrocontroller-Plattform, für die eine Nachfolge-Plattform gesucht wird, die den neuen Anforderungen (beispielsweise eine höhere Rechenleistung) gerecht wird. Vor dieser Situation stehen beispielsweise die Hersteller von Embedded-Modulen und Embedded-PCs. Bisher kamen in diesen Anwendungen in den meisten Fällen x86-Plattformen zum Einsatz, aber mittlerweile setzen auch viele Board- und Modul-Hersteller auf die ARM-Plattform, weil die neuen Cortex-A9-Prozessoren trotz ihrer geringen Verlustleistung eine hohe Rechenleistung aufweisen.

Für einen Hersteller von Embedded-PCs ist es z.B. von Interesse, welche Halbleiterhersteller welche ARM-Cortex-Implementierungen haben und welche Peripherieelemente jeweils auf den Chips vorhanden sind. Verlustleistung und Preise sind natürlich genauso von großem Interesse, ebenso das Familienkonzept der einzelnen Mikrocontroller. Gerade dieses Familienkonzept darf man nicht unterschätzen, denn oft sind beim Endprodukt unterschiedliche Leistungsklassen in unterschiedlichen Ausbaustufen gefragt - und das wirkt sich natürlich auch auf die Mikrocontroller aus, die dann beispielsweise einen größeren Speicher enthalten oder auch eine höhere Rechenleistung bieten müssen.

8, 16 oder doch 32 bit?

Immer dann, wenn es um eine geringe Anzahl von Pins am Controller-Gehäuse, einen niedrigen Preis und eine kleine Verlustleistung geht, dann sind 8-bit-Mikrocontroller nach wie vor (noch) attraktiv. Ein gutes Beispiel hierfür sind Metering-Applikationen, also vor allem elektronische Strom-, Wasser- und Gaszähler. Es gibt zwar auch 8-bit-Mikrocontroller, die sogar eine Vektorsteuerung von Motoren ermöglichen, aber der prinzipielle Trend geht bei derartigen Applikationen ganz klar in Richtung 32-bit-Mikrocontroller auf Basis von ARMs Cortex-M4.

Die Vorteile sprechen in diesem Fall einfach für sich: Der Core bietet eine hohe Rechenleistung inkl. Gleitkomma-Einheit und DSP-In-0struktionen (Bild 1), und auch der Betrieb unter einem bewährten Betriebssystem ist damit möglich. Außerdem sind genügend Timer-, USB- und oft auch Ethernet-Anschlussmöglichkeiten vorhanden.

Derzeit stehen viele Unternehmen vor dem Schritt, von der 8-bit-Welt in die 16- oder 32-bit-Welt zu wechseln - und auch dort steht meist die Beantwortung sehr ähnlicher Fragestellungen an. Immer dann, wenn sich die Notwendigkeit ergibt, auf eine neue Plattform zu setzen, geht es auch um die Auswahl eines neuen Mikrocontrollers oder einer Controller-Familie. Die Gründe für einen Plattformwechsel sind vielfältig und reichen von höheren Endkunden-Anforderungen über Preis-, Verlustleistungs- und Architektur-Aspekte bis zum Tool-Gesichtspunkt. Eventuell möchten die Entwickler aber auch weg von einer proprietären Prozessor-Plattform und hin zu einer äußerst weit verbreiteten Plattform wie zum Beispiel ARM, bei der viele Halbleiterhersteller unterschiedliche Lösungen anbieten.

Im Low-Cost-/Low-Performance-Bereich kommen primär 8-bit-Mikrocontroller zum Einsatz, und für Anwendungen, die eine höhere Verarbeitungsleistung benötigen, setzen die Entwickler mittlerweile meist direkt auf 32-bit-Mikrocontroller. In speziellen Anwendungen wie beispielsweise Automotive oder Metering spielen manche 16-bit-Mikrocontroller durchaus noch eine wichtige Rolle - auch bei neuen Design-ins.

Wenn es gilt, ein 8-bit-System durch ein System mit höherer Verarbeitungsleistung zu ersetzen, kommt jedoch oft  nur noch ein 32-bit-Mikrocontroller in Betracht, da u.a. Speichergröße, Rechenleistung und Tools klar für ihn sprechen. Zudem ist ja auch ein Trend zum ARM-Standard erkennbar und 16-bit-ARM-Controller gibt es schlichtweg nicht. Eine gewisse Ausnahme stellt lediglich der Automobilbereich dar, in dem die 16-bit-Controller nach wie vor eine wichtige Rolle spielen - und zwar auch bei neuen Design-ins. Hier zählt wirklich jeder Cent und proprietäre Cores sind weitreichend akzeptiert - auch weil es keine Automotive-qualifizierten ARM-Cortex-M-Alternativen gibt.

Früher zögerten manche Entwickler eher, auf 32-bit-Plattformen zu wechseln - unter anderem auch, weil dafür neue Tools erforderlich sind, deren Kosten sie im Budget berücksichtigen müssen, aber auch, weil die Programmierung von 32-bit-Systemen neue Herausforderungen darstellt. So lässt sich beispielsweise 32-bit-Code nicht mehr so einfach in Assembler programmieren oder für zeitkritische Applikationen optimieren.

Allerdings ist die Implementierung von 32-bit-Systemen auf Basis von Cortex-M mittlerweile verhältnismäßig einfach geworden, denn entsprechende Demo-Software sowie die Standard-Software senken die Hemmschwelle, einen 32-bit-Mikrocontroller einzusetzen.