MCUs in modernen System-Designs 7 Kriterien für die Mikrocontroller-Auswahl

Mouser Electronics

Mit den passenden MCUs lassen sich Anwendungen und Entwicklungsprozesse gezielt beschleunigen.

Bild: iStock, PRAIRAT FHUNTA
05.06.2020

Bei einem Blick in einen beliebigen Katalog elektronischer Komponenten wird schnell deutlich, dass Entwicklern ein sehr breites Spektrum an Mikrocontrollern für ihre Designs zur Verfügung steht. Mit den folgenden Anhaltspunkten lässt sich die beste MCU für die jeweilige Anwendung finden.

Sponsored Content

Die große Auswahl an verfügbaren Produkten zeigt, dass MCUs zu einem wesentlichen Bestandteil der modernen Systemimplementierung geworden sind. Es ist heutzutage schwer, etwas zu finden, das nicht mindestens eine MCU enthält.

Die Breite des Angebots hat scheinbar keine Grenzen – aber das ändert sich schnell, wenn man das Systemdesign methodischer angeht und klare Entscheidungskriterien umreißt, um das optimale Modell für die betreffende Aufgabe zu finden. Im Folgenden werden sieben wichtige Aspekte dargestellt, die Sie bei der Betrachtung der MCU-Optionen bedenken sollten und die dazu beitragen können, die Eignung bestimmter Katalogprodukte für Ihre speziellen Anforderungen bestmöglich zu beurteilen.

1. Architektur

Die wichtigste Überlegung bei einem Embedded-Projekt ist, ob der MCU-Prozessorkern in der Lage sein wird, die an ihn gestellten Anforderungen angemessen zu erfüllen. Eine einfache 8-Bit-Pipeline wird in der Lage sein, Steuerungsaufgaben zu bewältigen, zu denen etwa die Überwachung von I/O-Anschlüssen und Statusänderungen auf der Grundlage dieser Eingaben zählen.

Wenn die Aufgabe jedoch eine arithmetische Manipulation der Eingaben in Algorithmen wie zum Beispiel Closed-Loop-Steuerung beinhaltet, kann für das System ein anspruchsvollerer Befehlssatz erforderlich sein, der eine Umstellung auf eine 16-Bit- oder sogar 32-Bit-Pipeline nach sich ziehen kann. Breitere Pipelines haben den Vorteil, dass sie Abtastwerte und andere reale Daten als eine Einheit behandeln.

Eine 8-Bit-Pipeline teilt alle Daten bis auf die kleinsten Werte für die Verarbeitung in Untereinheiten auf. Das führt zu Leistungseinbußen. Für die Closed-Loop-Steuerung bietet eine 16-Bit-Architektur mit digitaler Signalverarbeitung oft das beste Verhältnis zwischen Kosten und Rechenleistung. Für dedizierte Systeme, die eine Mischung aus Steuerungs-, Kommunikations- und Managementfunktionen unterstützen müssen, kann jedoch die größere Leistungsfähigkeit einer 32-Bit-Pipeline erforderlich sein.

2. I/Os

Der große Vorteil eines Designs mit MCUs liegt in der Vielfalt der bereits integrierten I/Os. Viele MCUs verfügen über einen durchdachten Mix von I/Os und sind speziell auf bestimmte Anwendungsbereiche zugeschnitten, die von registerprogrammierbaren digitalen Signalleitungen über „intelligente“ Motorsteuereinheiten bis hin zu kompletten drahtlosen Subsystemen für IoT-Konnektivität reichen. Wenn man die Systemfunktionen festlegt, die für eine bestimmte Anwendung benötigt werden, lässt sich hieraus mithilfe einer parametrischen Suche häufig einfach und problemlos eine Auswahlliste geeigneter Geräte erstellen.

Im Idealfall gibt es eine MCU mit allen I/Os, die Sie für die gewünschte Anwendung benötigen. Dies ist jedoch in der Realität manchmal nicht umsetzbar, insbesondere bei Nischendesigns. Viele externe Peripheriegeräte entsprechen den gängigen Schnittstellenspezifikationen (wie I2C oder SPI). Oder sie nutzen eine parallele Schnittstelle, die entweder den Anschluss an einen Speicherbus unterstützt oder durch Änderung von Mehrzweck-I/O-Leitungen aufrufbar ist.

Eine detaillierte Übersicht über die für das Design benötigten externen Komponenten gibt Aufschluss darüber, ob die ausgewählte MCU zusätzlich zu den integrierten Peripheriefunktionen noch weitere serielle oder parallele I/Os benötigt.

3. Speicher

Der Speicher ist häufig das Hauptkriterium für die Auswahl eines bestimmten Bauteils innerhalb einer MCU-Familie. Externer Speicher lässt die Gesamtkosten steigen und wegen der für die Zugriffe benötigten zusätzlichen Zyklen wird die Leistung oft beeinträchtigt. Daher sollte besonderes Augenmerk darauf gelegt werden, dass der Speicher der gewählten MCU zur Zielanwendung passt – wenngleich es häufig auch sinnvoll ist, einen externen seriellen Speicher zur Speicherung von Konfigurationsdaten zu verwenden, wenn das ganze System vom Netz getrennt wird.

Das Designteam muss, wie auch bei der Bewertung der Leistung, bei der Auswahl der MCU-Familie abschätzen, wie viele Bytes die Anwendung und das zugehörige Betriebssystem (falls erforderlich) für den Programm- wie auch für den Datenspeicher verbrauchen werden. Sehr häufig wird die Anwendung erst dann einsatzbereit sein, wenn die Entscheidung für eine bestimmte MCU getroffen wurde.

Darüber hinaus ist es selbst mit Schätzverfahren wie der Funktionspunktanalyse immer noch schwierig, eine genaue Vorhersage der tatsächlichen Speichernutzung zu treffen. Daher kann es sinnvoll sein, eine MCU-Familie zu wählen, bei der eine einfache Skalierung der Speichergröße möglich ist, und zwar sowohl beim Flash-Speicher als auch beim SRAM. Bei Bauteilen, die eine Reihe von verschiedenen Speichergrößen bieten, ist es im Allgemeinen einfach, auf den nächstgrößeren Baustein aufzurüsten, ohne dadurch die Pinbelegung oder andere Aspekte des Designs in irgend einer Art und Weise zu beeinflussen.

4. Leistung

Der Energieverbrauch ist zu einem wichtigen Thema für die Entwickler von Embedded-Systemen geworden. Bei vielen IoT-Projekten wird heute erwartet, dass sie jahrelang mit einer einzigen Batterieladung betrieben werden können. Und selbst bei Systemen, die über das Stromnetz gespeist werden, ist die Energieeffizienz heute ein zentrales Kaufkriterium für Designer.

Die sorgfältige Auswahl von MCUs verbessert die Energieeffizienz auf verschiedene Weise: zum einen durch die kontinuierliche Verlagerung hin zu dichteren Prozessen, um dadurch die Vorteile der Skalierung – nicht nur in Bezug auf Logik und Speicherkapazität, sondern auch in Bezug auf den Stromverbrauch – zu nutzen.

Eine größere Verbesserung der Energieeffizienz ergibt sich jedoch im Allgemeinen aus dem strategischen Einsatz von Low-Activity- und Sleep-Modi, wenn die MCU nur eine geringe Arbeitsbelastung zu bewältigen hat. Durch die Unterteilung der Aktivität in kurze Bursts können Entwickler die Vorteile von Sleep-Modi nutzen, welche die Stromaufnahme auf nur wenige nA reduzieren.

Zusätzlich bieten immer mehr MCUs intelligente Peripheriesteuerungen, die es ermöglichen, regelmäßige Funktionen auszuführen, ohne den Prozessorkern aufwecken zu müssen. Das maximiert die Sleep-Zeit und reduziert gleichzeitig die für die Ausführung der Anwendung benötigte Energiemenge.

5. Tools

Die Tool-Unterstützung ist ein wesentliches Unterscheidungsmerkmal für eine Reihe der führenden MCU-Architekturen. Eine parametrische Suche führt zwar häufig zu mehreren Kandidaten aus verschiedenen Familien von Prozessorarchitekturen, ein sehr wichtiges Entscheidungskriterium ist jedoch die Frage, in welchem Umfang die Tool-Unterstützung den Anforderungen des Entwicklungsteams entspricht.

Daher ist es wichtig, die Kompetenzen und Erfahrungen der Entwickler zu berücksichtigen. Entwickler mit fundierten Fachkenntnissen in höheren Programmiersprachen, die bei großen Systemen zum Einsatz kommen, tendieren natürlich eher zu 32-Bit-Architekturen wie ARM, da diese die größte Auswahl an Compilern bieten.

In Entwicklungsszenarien, die besonderen Speicher- und Kostenbeschränkungen unterliegen, ist es sinnvoller, 8-Bit- oder 16-Bit-Architekturen anzustreben und einige der Beschränkungen zu berücksichtigen, die sich dadurch für C-Code ergeben können. In vielen Fällen steht eine große Vielfalt an Tools zur Verfügung. Die wichtigsten 8-Bit- und 16-Bit-MCU-Architekturen werden durch komplette Toolchains von Compilern, Debuggern und Linkern unterstützt, die oft in einer integrierten Entwicklungsumgebung (IDE) gehostet werden und in einer sehr günstigen Preisklasse angesiedelt sind.

6. Gehäuse

Bei vielen Designs ist der Platzbedarf für die Unterbringung der MCU ein wichtiger Gesichtspunkt. Häufig entscheiden sich die Anwender für eine MCU-Lösung, weil ihre hohe Integration einen kompakten Formfaktor ermöglicht.

Allerdings werden immer Kompromisse zwischen dem Design des Kerngehäuses und dem, was das Board-Level-Design unterstützen kann, nötig sein. Eine wachsende Anzahl von MCUs wird beispielsweise in Gehäusen im Chip-Maßstab geliefert, die den abstrakten Platzbedarf dieser Geräte so weit wie möglich reduzieren. Die Dichte der Verschaltungen im Gehäuse kann das PCB-Design vor Herausforderungen stellen, was wiederum den Wechsel zu einem kostenintensiveren Stackup- und Montageprozess erforderlich macht.

Der Platzbedarf auf dem Board wird auch durch die Anzahl der benötigten unterstützenden Komponenten und die auf dem Ziel-PCB verfügbaren Routing-Möglichkeiten beeinflusst. In Szenarien mit geringer Lagenzahl oder flexiblen PCBs kann der Platzbedarf um die MCU herum für die Weiterleitung zu I/Os, Taktgeber, Masse und Strom schnell ansteigen, wenn eine große Anzahl von Verbindungen benötigt wird.

Designer müssen außerdem die Zuverlässigkeit des Geräts bei der Montage auf dem PCB im Zusammenhang mit der Zielanwendung berücksichtigen. Starke Vibrationen und Stöße können die Verwendung eines Spezialgehäuses erforderlich machen, was wiederum den Wechsel zu einer anderen MCU-Familie nach sich ziehen kann.

7. Kits

Die MCU ist eine nahezu ideale Plattform für Situationen, in denen es auf eine kurze Produkteinführungszeit ankommt, da sie das Hardware-Design erheblich vereinfacht. Die umfassenden Software-Tools, die die Hersteller jetzt zur Verfügung stellen, tragen dazu bei, dass die endgültige Anwendung schnell auf den Markt kommt. Mit diesen Projektbeschleunigern können Teams einen weiteren Vorsprung erzielen, indem sie eine MCU wählen, die mit Evaluierungs- und Entwicklungskits geliefert wird. Dabei handelt es sich um technisch fertige Boards, die neben der gewählten MCU alle zusätzlichen I/Os bieten, die eine typische Anwendung benötigt.

Zusätzlich bieten viele Kits jetzt I/O-Board-Familien, die direkt mit dem Motherboard verbunden werden, sodass die Designer eine kundenspezifische Hardwarelösung in wenig mehr als der Zeit zusammenstellen können, die für die Lieferung des Pakets durch den Distributor benötigt wird. Die Designerteams können somit durch einfaches Herunterladen von Prototyp-Software in das Evaluierungssystem einen Proof-of-Concept erstellen, der den Kunden vorgestellt werden kann. Diese Evaluierungskits können die Grundlage für frühzeitige Lieferungen bilden, während das Hardware-Designteam parallel an einer kostenoptimierten Lösung arbeitet, die sich langfristig als attraktiver erweisen wird.

Bildergalerie

  • Der PIC18F46Q10T-I/PT ist ein Beispiel für die beliebte PIC-Produktfamilie von 8-Bit-MCUs von Microchip.

    Der PIC18F46Q10T-I/PT ist ein Beispiel für die beliebte PIC-Produktfamilie von 8-Bit-MCUs von Microchip.

    Bild: Mouser

  • Blockdiagramm des MSP430F2132QRHBREP von Texas Instruments

    Blockdiagramm des MSP430F2132QRHBREP von Texas Instruments

    Bild: Mouser

  • Das Development Board 511-Nucleo-G070RB von STMicroelectronics basiert auf einem ARM-32-Bit-Prozessorkern.

    Das Development Board 511-Nucleo-G070RB von STMicroelectronics basiert auf einem ARM-32-Bit-Prozessorkern.

    Bild: Mouser

Firmen zu diesem Artikel
Verwandte Artikel