8-Bit-Mikrocontroller sind aufgrund des geringen Stromverbrauchs und ihrer Benutzerfreundlichkeit noch immer eine Option

In den 1990er Jahren, also in der Zeit, die ich gerne als das „Goldene Zeitalter der Mikrocontroller“ bezeichne, gewannen C-Compiler zunehmend an Bedeutung. Wenn man jedoch in der Embedded-Programmierung arbeiten wollte, wurden nach wie vor Kenntnisse im Programmieren in Assembler vorausgesetzt. Anwendungstechniker (FAEs, Field Applications Engineers) wie ich fuhren zu den Kunden und priesen den dortigen Technikern die Vorzüge der aktuellsten Mikrocontroller an, während sie mit aufgerissenen Augen die von mir mitgebrachten Donuts aßen und meinen Ausführungen lauschten.

Damals wurden von den Halbleiterherstellern noch nicht monatlich neue Mikrocontroller geprägt, wie es heute der Fall ist. Üblicherweise brachten wir vierteljährlich ein oder zwei neue Modelle auf den Markt. Dennoch ändern sich manche Dinge nie. Die zwei Dutzend Techniker, die ich an jenem Tag mit meinen PowerPoint-Präsentationen unterhalten durfte, gehörten zu einer Gruppe, die Karosseriesteuergeräte fertigte. Diese Steuergeräte waren einfache kleine Kästen, die nach dem Prinzip hinein/hinaus funktionierten. Die Schaltsignale gehen in den Kasten „hinein“ und die Stellsignale aus dem Kasten „hinaus“. Kein Problem für einen 8-Bit-Mikrocontroller mit zahlreichen GPIO-Pins.

Es war eine standardmäßige Präsentations-Show, bis plötzlich in den hinteren Reihen jemand die Hand hob.

Jemand sagte mit kräftiger Stimme: „Das Management hat beschlossen, dass wir für unsere Steuergeräte auf 32-Bit-Mikrocontroller umsteigen müssen.“ Aus dem Gemurmel im Raum schloss ich, dass das Management nichts dergleichen beschlossen hatte und diese Person eventuell auf etwas Bestimmtes hinauswollte, beispielsweise auf einen bevorzugten Lieferanten, bei dem es sich leider nicht um meinen handelte.

„Sie benötigen keinen 32-Bit-Mikrocontroller und ich glaube Ihnen nicht“, hätte ich gerne erwidert. In Wirklichkeit reagierte ich natürlich diplomatischer und stellte folgende Frage: „Können Sie mir sagen, welche Funktionen einer 32-Bit-Architektur Sie für Ihre Controller der nächsten Generation benötigen?“

Nach einer kurzen Pause erhielt ich etwas trotzig die folgende Antwort: „Wir benötigen eben 32 Bit.“ Ich konnte in seiner Stimme eine gewisse Zögerlichkeit erkennen. Die anderen Techniker, die seine Unsicherheit bemerkten, drehten sich schnell nach vorn, um meine Antwort zu hören.

Gewissenhaft erläuterte ich die Vorteile einer 32-Bit-Architektur gegenüber einer 8-Bit-Architektur. Wird eine höhere Taktrate benötigt? Müssen vom Produkt der nächsten Generation komplexere Berechnungen durchgeführt werden? Handelt es sich um eine Multithreading-Firmware und benötigt sie ein Echtzeit-Betriebssystem (RTOS, Real-Time Operating System)? Benötigt die Firmware derart viel Speicherplatz, dass es Auswirkungen auf die Speicheradressierung hat? Alles das waren – und sind noch immer – stichhaltige Gründe für den Umstieg von einem 8-Bit- auf einen 32-Bit-Kern (16-Bit-Kerne sind der „Sweetspot“ dazwischen, aber das ist eine andere Geschichte).

Was daraufhin folgte, war eine unterhaltsame Diskussion über die Unterschiede zwischen 8-Bit- und 32-Bit-Architekturen. Die Architektur mit einem 8-Bit-Mikrocontroller ist weniger komplex und nutzt ein leicht verständliches Programmiermodell. Sie benötigt üblicherweise nur eine einzelne Stromversorgung. Trotz gegenteiliger Marketing-Aussagen sind moderne 8-Bit-Architekturen stromsparender als 32-Bit-Architekturen, da weniger Bussignale geschaltet werden.

Konkretes Beispiel einer 8-Bit-Architektur

Microchip Technology war über viele Jahre stolz auf sein Angebot an 8-Bit-Mikrocontrollern. Der beliebte 8-Bit-Kern megaAVR von Microchip (auch bekannt als ATMega) verfügt über eine konventionelle Harvard-Architektur, mit der bis zu 256 Kilobyte (KB) Programmspeicher adressiert werden können. Er nutzt eine einfache registerbasierte Architektur, die mit 32 8-Bit-Mehrzweckregistern (General Purpose, GP) überaus C-freundlich ist (Abbildung 1).

Abbildung 1: Der megaAVR-Mikrocontroller basiert auf 32 8-Bit-Registern, die mit R0 bis R31 bezeichnet sind. Die Register können auch als Registerpaare adressiert werden, um sechzehn 16-Bit-Register zu bilden. (Bildquelle: Microchip Technology)

GP-Register können auch zu Registerpaaren zusammengefasst werden, um sechzehn 16-Bit-Register zu bilden. Die letzten drei Registerpaare können optional als 16-Bit-Adressregister X, Y und Z zur indirekten Adressierung verwendet werden.

Außer diesen GP-Registern verfügt der megaAVR über ein 16-Bit-Stapelregister und ein 8-Bit-Statusregister. Das war es dann auch schon. Die Programmierung in Assembler ist kinderleicht („Echte Programmierer programmieren in Assembler!“).

Nein, auf den Programmzähler kann beim megaAVR nicht zugegriffen werden. Das sollten Sie besser nicht versuchen.

Ein typisches Beispiel aus der megaAVR-Produktfamilie ist der ATMEGA1609 mit 20 Megahertz (MHz). Hierbei handelt es sich um einen benutzerfreundlichen Mikrocontroller mit 16 KB Flash-Speicher, 2 KB RAM und einen EEPROM mit 256 Byte. Die meisten Instruktionen werden in einem Zyklus verarbeitet.

Abbildung 2: Der ATMEGA1609 von Microchip Technology ist ein benutzerfreundlicher und flexibler 8-Bit-Mikrocontroller mit geringem Stromverbrauch, der in den verschiedensten Umgebungen zum Einsatz kommen kann. (Bildquelle: Microchip Technology)

Er verfügt über einen 10-Bit-Analog-Digital/Wandler (ADC), fünf 16-Bit-Taktgeber, eine Echtzeituhr (RTC, Real-Time Clock), mehrere Stromsparoptionen und einen mit 2 Taktzyklen arbeitenden Signed-/Unsigned-Hardwaremultiplizierer.

Der megaAVR verfügt außerdem über Einzelzyklus-Instruktionen zum Setzen und Löschen von Bits sowie über Bit-Testinstruktionen, die ein bis drei Zyklen benötigen.

Die Bedeutung von Bit-Anweisungen wird von Entwicklern, die tief in der Programmiersprache C verwurzelt sind, häufig außer Acht gelassen. Die Wahrheit ist, dass native Bit-Instruktionen („Wir brauchen keine ATOMIC-Instruktionen!“) häufig dazu beitragen können, die Leistung enorm zu steigern, den Code-Umfang zu verringern, die Lesbarkeit des Codes zu verbessern und Ihnen das Leben leichter zu machen.

Der ATMEGA1609 benötigt eine flexible Spannungsversorgung mit 1,8 bis 5,5 Volt, die für einen Temperaturbereich von -40 °C bis +125 °C geeignet ist. Der große Spannungs- und Temperaturbereich ist ganz bestimmt nicht zufällig gewählt. Dieser 8-Bit-Mikrocontroller ist so konzipiert, dass er für eine Vielzahl von Designumgebungen angepasst und verwendet werden kann. Und wieder schlägt die „Benutzerfreundlichkeit“ zu!

Manchmal muss ein Entwickler einfach nur ein einfaches Projekt schnell erledigen. Dabei ist es von Vorteil, dass 8-Bit-Mikrocontroller benutzerfreundlich, flexibel und äußerst widerstandsfähig sind. Diese Merkmale kann man nur schwer ignorieren.

Über den Autor

Image of Bill Giovino

Bill Giovino ist Elektronikingenieur mit einem BSEE von der Syracuse University und einer der wenigen, die erfolgreich vom Entwicklungsingenieur über den Anwendungsingenieur zum Technologiemarketing wechselten.

Seit über 25 Jahren wirbt Bill für neue Technologien vor technischem und nicht-technischem Publikum für viele Unternehmen, darunter STMicroelectronics, Intel und Maxim Integrated. Während seiner Zeit bei STMicroelectronics trug Bill dazu bei, die frühen Erfolge des Unternehmens in der Mikrocontroller-Industrie voranzutreiben. Bei Infineon inszenierte Bill die ersten Erfolge des Unternehmens im Bereich Mikrocontroller-Design in den USA. Als Marketingberater für sein Unternehmen CPU Technologies hat Bill vielen Unternehmen geholfen, unterbewertete Produkte in Erfolgsgeschichten zu verwandeln.

Bill war zudem ein früher Anwender des Internets der Dinge, einschließlich der Implementierung des ersten vollständigen TCP/IP-Stacks auf einem Mikrocontroller. Die Botschaft von „Verkauf durch Aufklärung“ und die zunehmende Bedeutung einer klaren, gut geschriebenen Kommunikation bei der Vermarktung von Produkten im Internet sind Bills Anliegen. Er ist Moderator der beliebten „Semiconductor Sales & Marketing Group“ auf LinkedIn und spricht fließend B2E.

More posts by Bill Giovino
 TechForum

Have questions or comments? Continue the conversation on TechForum, Digi-Key's online community and technical resource.

Visit TechForum