Der Mikrocontroller (MCU) stellt praktisch seit Menschengedenken das Rückgrat eingebetteter Systeme dar. MCUs sind die bevorzugten Prozessoren für sehr viele Anwendungen auf unzähligen Märkten. Sowohl, Industrie-, als auch Verbraucherprodukte basieren auf Mikrocontrollern. Ihre geringe Größe, ihr geringer Energieverbrauch und ihre kompakten Speicher machen MCUs ideal geeignet für die verschiedensten Anwendungen. Integrierte Peripheriegeräte und Speicher machen diese Produkte, zusammen mit niedrigen Preisen, zu sehr attraktiven Angeboten für Systementwickler.
Die AVR®-Architektur ist eine der führenden 8-Bit-Architekturen. Diese Technologie ist seit ihrer Begründung in den 1990er Jahren durch Alf-Egil Bogen und Vegard Wollan, zwei Studenten der norwegischen Wissenschafts- und Technologieuniversität, mittlerweile zum Synonym für Benutzerfreundlichkeit geworden. Ein AVR ist das attraktivste Gerät für Studenten und Enthusiasten, um mehr über Computerarchitekturen und eingebettetes Programmieren zu lernen. Der AVR-Prozessorkern war einer der ersten MCUs mit On-Chip-Flash-Programmspeicher. Darüber hinaus ermöglicht die AVR-Architektur die In-System-Umprogrammierung. In den letzten 15 Jahren hat ihn seine einfache Einsetzbarkeit zur bevorzugten Processing Engine in einer Vielzahl von Anwendungen gemacht. Er wird auch in zahlreichen Embedded-Projekten an Universitäten auf der ganzen Welt verwendet. Die Entscheidung für AVR als Prozessorfamilie in der bekannten Open-Source-Entwicklungsplattform Arduino unterstreicht den Erfolg dieser Architektur.
AVR-Single-Cycle-RISC-Engine
Der AVR-CPU-Kern ist eine RISC(Reduced Instruction Set Computer)-Engine. RISC steht nicht für eine geringere Zahl von Befehlen, sondern für deren geringere Komplexität. Eine RISC-CPU verfügt normalerweise über eine größere Zahl von Befehlen als eine CISC-CPU. Dieser umfangreiche Befehlssatz bietet jedoch Vorteile für einen Compiler, da dieser den optimalen Single-Cycle-Befehl für seine Anforderung finden kann. Der resultierende Maschinencode erhöht die Geschwindigkeit und verringert die Speichernutzung in SRAM und Flash. Die AVR-Architektur kombiniert diesen umfangreichen Befehlssatz mit 32 Universal-8-Bit-Registern, die direkt mit der ALU (Arithmetic Logic Unit) verbunden sind. AVR verwendet die Harvard-Architektur, die Speicher und Bus-Komponenten für Programm und Daten trennt (Abbildung 1). Sie verfügt über eine zweistufige Single-Level-Pipeline. Während ein Befehl ausgeführt wird, wird der nächste vorab aus dem Programmspeicher geholt. Zwei arbiträre Register speisen die ALU zur Durchführung des angefragten Vorgangs und schreiben das Ergebnis zurück. Die meisten Befehle werden innerhalb eines Taktzyklus durchgeführt. Aufgrund der Eintaktausführung arithmetischer und logischer Operationen bieten auf AVR basierende MCUs annähernd 1 MIPS (Million Instructions per Second) für jedes Megahertz Taktfrequenz.
Abb. 1. Die AVR-Harvard-Architektur trennt den Programm- von Datenspeicher.
Der Erfolg der AVR-Architektur beruhte von Anfang an noch auf einem weiteren Aspekt. Dies ist die Verfügbarkeit kostenloser Design- und Entwicklungssoftware, jetzt auch mit Instrumenten wie dem AVR GCC/C++-Compiler und dem Atmel Studio 6 IDE (Integrated Development Environment). Diese Kombination aus branchenführender 8-Bit-Leistung und kostenlosen Entwicklungsinstrumenten ist für die erhebliche Treue von Technikern und Programmierern zu AVR verantwortlich.
Drei Familien
Atmel verwendet die AVR-CPU in drei hochleistungsfähigen und energieeffizienten 8-Bit-MCU-Familien: Dies sind tinyAVR® für Einsteiger, megaAVR® für den mittleren Bereich und die jüngste Familie, AVR XMEGA®.
Die tinyAVR-Geräte sind für Anwendungen optimiert, bei denen es auf Leistung, Energieeffizienz und Benutzerfreundlichkeit in einem kleinen Gehäuse ankommt. Sie können bei nur 0,7 V betrieben werden und integrieren A/D-W, Flash, EEPROM und einen Unterspannungsdetektor. Darüber hinaus ermöglichen die Chips Hardware-Debugging und somit eine schnelle, sichere und kosteneffektive In-Circuit-Firmware-Fehlerbehebung.
Der mittlere megaAVR ist mehr für Anwendungen geeignet, die größere Codemengen benötigen. Die Serie bietet Leistungswerte bis zu 20 MIPS und eine umfassende Auswahl bei Speichern, Kontaktdichten und Peripheriegeräten (Abbildung 2). Es gibt besondere Teile mit USB, LCD-Controllern, CAN-, LIN- und Power-Stage-Controllern.

Abb. 2. Die megaAVR-CPU- und Peripherieeinheiten bieten Leistung und Flexibilität.
Die AVR XMEGA-MCUs bestehen aus verschiedenen fundamentalen Bausteinen, darunter AVR, CPU, SRAM, Flash, EEPROM und eine Reihe von Peripheriegeräten. Der AVR XMEGA-Befehlssatz unterstützt auch den 16-Bit-Registerzugriff und 32-Bit-Arithmetik. Ein zentrales Feature der Familie ist die Verwendung energiesparender Peripheriegeräte, die über das hoch innovative Event System des Geräts ermöglicht wird. Dabei handelt es sich um eine Reihe von Funktionen, die es ermöglichen, dass Peripheriegeräte ohne Eingriff der CPU miteinander interagieren können. Peripheriegeräte können Signale direkt an andere Peripheriegeräte senden, was für kurze und zu 100 % zuverlässige Antwortzeiten sorgt. Bei Verwendung der Funktionen des Event-Systems kann der Chip zur Durchführung komplexer Operationen mit sehr geringen Eingriffen der CPU programmiert werden. Dies spart wertvollen Programmspeicher und Ausführungszeit.
Alle 8-Bit-AVR-Geräte nutzen die picoPower®-Technologie des Unternehmens. Dazu gehört ein optimierter Ausgleich von Transistoren mit hoher Leistung, hoher Leckdichte und Niederspannungsbetrieb, verschiedenen Energiespar- und Ruhemodi mit schnellem Aufwachen sowie der Nutzung von Hardware-DMA. Dazu kommt, dass AVR XMEGA über die System Event-Funktion verfügt, die Arbeitslasten von der CPU entfernt, um Energie zu sparen und für konsistente Unterbrechungsreaktionszeiten zu sorgen. Zu den zentralen Leistungsmerkmalen gehören der Betrieb über 1,8 bis 5,5 V, der Verbrauch von 200 uA pro MHz im aktiven Modus, von 0,1 uA in Power-Down-Modus mit voller RAM-Retention, von 0,6 uA im Energiesparmodus (mit einem 32 kHz-Quarzoszillator) und eine Aufwachzeit von weniger als 1 us.
Anwendungen und das Internet der Dinge
Die 8-Bit AVR-MCUs wurden in praktisch allen Marktsegmenten mit Designpreisen ausgezeichnet. Neben den oben beschriebenen Mehrzweck-MCU existiert eine breite Palette von anwendungsspezifischen AVR-basierten Bausteinen für Beleuchtung, intelligente Akkus, Industrie-, Automobil- und zahlreichen anderen Anwendungen. Ein riesiger und schnell wachsender Anwendungsbereich ist das WLAN. Tatsächlich werden HF-Module mehr und mehr zur Standard-Peripherie von MCUs aller Größen und Bandbreiten. Der WLAN-Bereich bietet zweifellos viele Chancen – und dies gilt besonders für das Internet der Dinge (IoT).Hersteller von drahtlosen Infrastrukturen in aller Welt erwarten, dass bis 2020 50 Milliarden mobile kabellose Geräte mit dem Internet verbunden sein werden. Dieser Wachstumsmarkt wird jedoch nicht vollständig von den wichtigsten Playern im WLAN-Sektor dominiert werden. Jim Tully, Research Director beim Marktanalysten Gartner Group, sagt dazu: „Unsere Untersuchungen sagen voraus, dass bis 2018 50 % der IoT-Lösungen von Startups geliefert werden, die weniger als drei Jahre alt sind. Wir können jetzt abschätzen, wie das Internet der Dinge aussehen wird. Wir wissen aber, dass wir uns die meisten Dinge, die es 2018 geben wird, noch nicht einmal vorstellen können, da sie noch nicht erfunden sind.“
Zwar besteht nur wenig Zweifel daran, dass energiesparende 32-Bit-MCUs ihren Marktanteil behaupten werden, die Chancen für 8-Bit-MCUs mit geringem Energiebedarf bleiben jedoch hoch für die zahlreichen eingebetteten RF-Geräte, die man benötigen wird. Ein wichtiges Beispiel für ein AVR-basiertes Gerät, das hervorragend positioniert ist, um von diesen Anwendungen zu profitieren, ist das ATmega256RF (Abbildung 3). Dieser IC ist eine Einzelchip-Drahtloslösung gemäß IEEE 802.15.4, die für kabellose ZigBee® RF4CE-, IPv6-/6LoWPAN- und ISM (Industrial, Scientific, Medical (Industrie, Wissenschaft, Medizin)-Anwendungen geeignet ist.

Abb. 3. Das ATmega256RF kombiniert die Benutzerfreundlichkeit von AVR mit einem Hochleistungs-RF-Link.
Das Gerät kombiniert einen AVR-MCU mit einem führenden hochempfindlichen 2,4 GHz-HF-Transceiver, der Datenraten von 250 kBit/s bis 2 MBit/s bietet. Es bietet 64 K bis 256 K Flash und verbraucht in einigen Betriebsmodi um bis zu 50 % weniger Strom. Es ermöglicht den 16-MHz-Betrieb mit nur 1,8 V Versorgungsspannung und zeigt eine sehr kurze Aufwachzeit aus dem Ruhe- zum aktiven Modus. Darüber hinaus implementiert das gerät verschiedene Ausschaltmodi, wie etwa eine Radio-Aufwach-Funktion, bei der der HF-Transceiver aktiv bleibt, während sich der Mikrocontroller im Ruhemodus befindet, was die Leistungsfähigkeit weiter erhöht.