Auch ressourcenbeschränkte Geräte benötigen immer höhere Geschwindigkeiten und leistungsfähigere Peripherieoptionen. Herkömmliche 8-bit-Mikrocontroller genügen dem häufig nicht mehr. Doch mit der 8051-Architektur können auch Eigenschaften von 16- und 32-bit-Prozessoren erzielt werden.
Um Geräte mit Leistungs- und Platzbeschränkungen zu entwickeln wie beispielsweise Elektrowerkzeuge, Spielzeuge oder Haushaltsgeräte, war bisher eine 8-bit-Mikrocontroller-Einheit (MCU) ausreichend. Doch auch solche Anwendungen werden konstant weiterentwickelt und benötigen daher höhere Geschwindigkeiten, leistungsfähigere Peripherieoptionen und robustere Softwareentwicklungswerkzeuge. Die Umstellung auf eine 16-bit- oder 32-bit-Alternative kann Abhilfe schaffen, allerdings oft auf Kosten einer größeren Paketgröße und eines höheren Stromverbrauchs.
Um dem entgegenzuwirken, lassen sich MCUs einsetzen, die auf der 8051-Architektur basieren und viele der Vorteile von 16- und 32-bit-Prozessoren in den 8-bit-Bereich übertragen. Sie bieten dabei eine moderne Entwicklungsumgebung, und das bei einer Gehäusegröße von nur 2 x 2 mm2.
Bei der Auswahl einer MCU für eine Anwendung, bei der nur wenig Platz zur Verfügung steht, bieten 8-bit-Prozessoren wie der bewährte 8051 viele Vorteile: etwa einen kleinen Footprint, einen geringen Stromverbrauch und ein einfaches Design. Viele 8051-Prozessoren bieten jedoch nur einfache Peripheriekomponenten, was ihre Eignung für bestimmte Anwendungsfälle einschränkt. So sind beispielsweise Analog/Digital-Wandler (ADCs) mit geringer Auflösung für hochpräzise Anwendungen wie medizinische Geräte nicht ausreichend.
Langsame Taktgeber können ebenfalls ein Problem darstellen. Die typische 8051-MCU arbeitet mit Taktfrequenzen von 8 bis 32 MHz, und ältere Designs benötigen mehrere Taktzyklen, um Befehle zu verarbeiten. Diese niedrige Geschwindigkeit kann die Fähigkeit von 8-bit-MCUs einschränken, Echtzeitoperationen wie zum Beispiel eine präzise Motorsteuerung zu unterstützen.
Außerdem sind die traditionellen Software-Entwicklungsumgebungen für 8051-Prozessoren nicht auf die Erwartungen moderner Softwareentwickler abgestimmt. In Verbindung mit den inhärenten Einschränkungen einer 8-bit-Architektur kann dies zu einem langsamen, frustrierenden Codierungsprozess führen.
Diese Einschränkungen herkömmlicher 8-bit-Prozessoren können Entwicklungsteams dazu veranlassen, den Umstieg auf 16-bit- oder 32-bit-MCUs zu erwägen. Diese MCUs bieten zwar reichlich Rechenleistung, leistungsstarke Peripheriekomponenten und moderne Software-Umgebungen, sind aber auch relativ groß. Dies macht es schwieriger, sie in platzbeschränkte Entwürfe zu integrieren, was die Entwicklung verzögern oder den Entwurf vergrößern kann.
Die mit 16-bit- und 32-bit-MCUs verbundene höhere Codegröße und der höhere Stromverbrauch können ebenfalls zu suboptimalen Designs führen. Diese Nachteile sind besonders problematisch für die vielen Anwendungen, die keine komplexe Mathematik beinhalten und daher nicht von den fortgeschrittenen Fähigkeiten dieser Prozessoren profitieren.
Das ideale Gleichgewicht zwischen diesen Kompromissen ist zu Beginn eines Projekts möglicherweise noch nicht erkennbar, und ein Wechsel des Prozessors während des Entwurfs kann die Entwicklung verzögern oder die Produktgröße oder Funktionalität beeinträchtigen. Daher können viele platzbeschränkte Designs von einer leistungsfähigeren 8051-basierten MCU profitieren, die viele der Vorteile von 16-bit- und 32-bit-Prozessoren in den stromsparenden, kompakten 8-bit-Bereich bringt.
Silicon Labs hat aufgrund dieser Überlegungen die Familie »EFM8BB50« von 8-bit-MCUs entwickelt (Bild 1). Diese MCUs bieten verbesserte Leistung, fortschrittliche Peripheriekomponenten und eine moderne Software-Entwicklungsumgebung.
Das Herzstück der MCU ist der 8051-Kern CIP-51, eine Implementierung der 8051-Architektur von Silicon Labs, die für höhere Performance, geringeren Stromverbrauch und erweiterte Funktionalität optimiert wurde. Die Performance ist dabei besonders hervorzuheben. Im EFM8BB50 erreicht der Kern Geschwindigkeiten von bis zu 50 MHz, und 70 Prozent der Befehle werden in einem oder zwei Taktzyklen ausgeführt. Dadurch sind die MCUs wesentlich leistungsfähiger als herkömmliche 8-bit-Prozessoren und bieten Spielraum für komplexere Anwendungen.
Die MCUs zeichnen sich auch durch ihre geringen Abmessungen aus. Die 16-Pin-Varianten der Familie sind in Gehäusen mit einer Größe von lediglich 2,5 x 2,5 mm2 erhältlich. Die 12-Pin-Versionen sind sogar noch kleiner, mit einer Gehäusegröße von nur 2 x 2 mm2.
Trotz ihrer winzigen Abmessungen verfügen die EFM8BB50-MCUs über eine Vielzahl an Funktionen, darunter
Zu den weiteren Ein-/Ausgängen gehören verschiedene serielle Kommunikationsschnittstellen, eine Reihe von 8- und 16-bit-Timern sowie vier konfigurierbare Logikeinheiten. Alle Pins der MCU-Familie sind 5-Volt-fähig, und die digitalen I/Os können flexibel zugewiesen werden, um die begrenzte Pinanzahl optimal zu nutzen.
Die EFM8BB50-Serie verfügt über mehrere Energieverwaltungsfunktionen zur Optimierung des Stromverbrauchs und zur Verlängerung der Batterielebensdauer. Dazu gehören mehrere Stromsparmodi, darunter ein Leerlaufmodus, der die Kerntaktrate senkt, während die Peripheriekomponenten aktiv bleiben. Der Stoppmodus geht noch weiter, indem er den Kern und die meisten Peripheriekomponenten anhält, während der RAM- und Registerinhalt erhalten bleibt. Einige Peripheriekomponenten können so eingestellt werden, dass sie den Kern aus dem Stoppmodus aufwecken, was ereignisgesteuerten Anwendungen zugutekommt, die sich überwiegend in einem stromsparenden Zustand befinden.
Flexible Taktungsoptionen helfen zusätzlich beim Stromsparen. Ein interner Präzisionsoszillator macht in vielen Szenarien externe Quarzoszillatoren überflüssig und senkt den Gesamtstromverbrauch. Die MCU unterstützt auch das sogenannte Clock Gating, bei dem die Takte für verschiedene Peripheriegeräte selektiv deaktiviert werden, sodass die nicht benötigten Komponenten abgeschaltet werden können.
Bei der Entwicklung der Peripheriekomponenten wurde ebenfalls auf Energieeffizienz geachtet. Vor allem die konfigurierbare Logikeinheit (Configurable Logic Unit, CLU) kann einfache Logikfunktionen unabhängig ausführen, sodass der Kern für einfache Aufgaben nicht mehr aus dem Energiesparmodus aufwachen muss. Darüber hinaus kann der energiesparende UART (Low Energy Universal Asynchronous Receiver/Transmitter, LEUART) in Stromversorgungsmodi betrieben werden, in denen der primäre Oszillator deaktiviert ist, was eine serielle Kommunikation im stromsparenden Zustand ermöglicht.
Software für die EFM8BB50-Familie kann in der »Simplicity Studio Suite« von Silicon Labs erstellt werden. Diese Umgebung wird für die 8-bit-EFM8BB50, die 32-bit-MCUs des Unternehmens und die Wireless-SoCs verwendet. Als Ergebnis erhalten die Entwicklungsteams eine Umgebung mit den Funktionen, die sie von leistungsfähigeren Prozessoren erwarten würden. So bietet es beispielsweise einen Energie-Profiler, der ein Energieprofil des Codes in Echtzeit erstellt (Bild 2).
Die Tools basieren auf einer integrierten Entwicklungsumgebung (Integrated Development Environment, IDE) mit branchenüblichen Code-Editoren, Compilern, Debuggern und einer Benutzeroberflächen-Engine (User Interface, UI) zur Entwicklung reaktionsschneller Schnittstellen. Diese Entwicklungsumgebung ermöglicht den Zugriff auf gerätespezifische Web- und SDK-Ressourcen sowie auf spezielle Software- und Hardware-Konfigurationswerkzeuge.
Simplicity Studio unterstützt auch Silicon Labs »Secure Vault«. Secure Vault ist eine hochentwickelte Sicherheitssuite mit PSA-Zertifizierungsstufe 3 (Platform Security Architecture), die es ermöglicht, IoT-Geräte zu härten und ihre Angriffsfläche vor eskalierenden Cyberbedrohungen zu schützen und gleichzeitig die sich entwickelnden Cybersicherheitsvorschriften zu erfüllen.
Wer mit der EFM8BB50 experimentieren möchte, kann das Explorer-Kit »BB50-EK2702A« verwenden. Dieses Kit mit kleinem Formfaktor ist auf Steckplatinenmaße abgestimmt und lässt sich leicht an Prototyp-Systemen und Laborhardware anbringen. Es verfügt über eine USB-Schnittstelle, einen integrierten SEGGER-J-Link-Debugger, eine LED und eine Taste für die Benutzerinteraktion. Das Kit wird vollständig von der Simplicity Studio Suite unterstützt und kann mit dem Dienstprogramm Energy Profiler verwendet werden. Für jede Peripheriekomponente gibt es Softwarebeispiele, und Demos nutzen die LED, den Taster und den UART.
Das Kit enthält eine MikroBUS-Buchse und einen Qwiic-Steckverbinder. Diese Unterstützung für Hardware-Erweiterungen ermöglicht es Entwicklern, Anwendungen schnell zu erstellen und Prototypen mit handelsüblichen Boards verschiedener Hersteller zu entwickeln.
Entwickler, die an einer umfassenderen Ausgangsbasis interessiert sind, können das Pro-Kit »BB50-PK5208A« verwenden. Dieses Kit wurde für eingehende Evaluierungen und Tests entwickelt und enthält Sensoren und Peripheriekomponenten, die viele der MCU-Funktionen demonstrieren.
Das Pro-Kit umfasst USB-Verbindungen, ein stromsparendes 128x128-Pixel-Speicher-LCD, einen analogen Joystick für acht Richtungen, eine LED und einen Druckknopf. Es verfügt außerdem über den Sensor »Si7021« von Silicon Labs für relative Luftfeuchtigkeit und Temperatur sowie über mehrere Stromquellen, darunter USB und eine Knopfzellenbatterie.
Für Erweiterungen bietet das Board eine 20-polige 2,54-mm-Steckleiste. Außerdem bietet es Kontakte für den direkten Zugriff auf I/O-Pins. Wie das Explorer-Kit unterstützt auch das Pro-Kit den Energy Profiler und wird mit Softwarebeispielen für jede Peripheriekomponente geliefert.
Silicon Labs bietet mehrere Debugger zur Unterstützung seiner MCUs an. Für allgemeines Debugging bietet das Unternehmen den »DEBUGADPTR1-USB« an, einen 8-bit-USB-Debug-Adapter mit einem einfachen 10-Pin-Anschluss.
Der Simplicity Link Debugger »SI-DBG1015A« verfügt über erweiterte spezielle Funktionen. Dieser wird an die Mini-Simplicity-Schnittstelle angeschlossen, die in beiden oben genannten Kits enthalten ist. Zusätzlich zu seiner Grundfunktionalität bietet Simplicity Link ergänzende Möglichkeiten wie einen SEGGER J-Link Debugger, eine Schnittstelle zur Paketverfolgung, einen virtuellen COM-Port und Anschlussflächen zum einfachen Abtasten einzelner Signale.
8051-MCUs wie die EFM8BB50 bringen Funktionen, die normalerweise mit 16-bit- und 32-bit-Geräten assoziiert werden, in den 8-bit-Bereich. Mit ihren hohen Taktraten, der leistungsstarken Peripherie und der robusten Software-Entwicklungsumgebung bietet diese MCU-Familie eine spannende Mischung an Fähigkeiten für eine wachsende Zahl von Anwendungen, bei denen Platz und Stromverbrauch begrenzt sind, aber eine höhere Leistung und Flexibilität als bei üblichen 8-bit-MCUs erforderlich sind.
Rolf Horn ist Applikationsingenieur bei DigiKey Electronics und ist seit 2014 in der technischen Support-Gruppe für Europa tätig und in erster Linie für die Beantwortung aller Arten von entwicklungs- und ingenieurtechnischen Fragen von Endkunden in DACH und Benelux sowie für das Schreiben und Korrekturlesen von Artikeln und Blogs auf den Plattformen TechForum und maker.io von DigiKey zuständig.