Verwendung eines optimierten 8-Bit-Mikrocontrollers zur Vereinfachung des Designs ressourcenbeschränkter Geräte

Von Kenton Williston

Zur Verfügung gestellt von Nordamerikanische Fachredakteure von DigiKey

Für die Entwicklung von Geräten mit Leistungs- und Platzbeschränkungen, wie z. B. Elektrowerkzeugen, Körperpflegeprodukten, Spielzeug, Haushaltsgeräten und Beleuchtungssteuerungen, hat eine 8-Bit-Mikrocontroller-Einheit (MCU) bisher ausgereicht. Mit der Weiterentwicklung der Anwendungen werden jedoch höhere Geschwindigkeiten, leistungsfähigere Peripherieoptionen und robustere Softwareentwicklungswerkzeuge benötigt. 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 diese Probleme zu lösen, können MCUs genutzt werden, die auf der 8051-Architektur basieren und viele der Vorteile von 16- und 32-Bit-Prozessoren in den 8-Bit-Bereich übertragen. Sie tun dies in einem Gehäuse, das nur 2 x 2 Millimeter (mm) groß ist, und bieten gleichzeitig eine moderne Entwicklungsumgebung.

Dieser Artikel beschreibt kurz die 8051-Architektur und ihre Eignung für ressourcenbeschränkte Anwendungen. Anschließend wird eine Familie von 8051-basierten MCUs von Silicon Labs vorgestellt, die wichtigsten Subsysteme werden beschrieben und es wird gezeigt, wie jedes dieser Systeme kritische Design-Herausforderungen angeht. Der Artikel schließt mit einer Erörterung der Hardware- und Softwareunterstützung.

Warum sollte man die 8051-Architektur verwenden?

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, z. B. einen kleineren Footprint, einen geringen Stromverbrauch und ein einfaches Design. Viele 8051-Prozessoren bieten jedoch nur relativ 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.

Relativ langsame Taktgeber können ebenfalls ein Problem darstellen. Die typische 8051-MCU arbeitet mit Taktfrequenzen von 8 Megahertz (MHz) 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 z. B. eine präzise Motorsteuerung zu unterstützen.

Außerdem sind die traditionellen Softwareentwicklungsumgebungen 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 Kodierungsprozess führen.

Die 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 Softwareumgebungen, 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 größere 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.

Die EFM8BB50 bietet mehr Funktionalität für 8-Bit-MCUs

Silicon Labs hat auf Grund dieser Überlegungen die Familie EFM8BB50 von 8-Bit-MCUs entwickelt (Abbildung 1). Diese MCUs bieten verbesserte Leistung, fortschrittliche Peripheriekomponenten und eine moderne Software-Entwicklungsumgebung.

Blockdiagramm der MCU EFM8BB50 von Silicon Labs (zum Vergrößern anklicken)Abbildung 1: Das Bild zeigt ein Blockdiagramm der MCU EFM8BB50. (Bildquelle: Silicon Labs)

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 besonders hervorzuheben. Im EFM8BB50 erreicht der Kern Geschwindigkeiten von bis zu 50 MHz, und 70 % 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 Entwicklern Spielraum für komplexere Anwendungen.

Die MCUs zeichnen sich auch durch ihre geringen Abmessungen aus. Die 16-Pin-Varianten der Familie, wie z.B. die MCU EFM8BB50F16G-A-QFN16, sind in Gehäusen mit einer Größe von nur 2,5 mm x 2,5 mm erhältlich. Die 12-Pin-Versionen wie die EFM8BB50F16G-A-QFN12 sind sogar noch kleiner, mit einer Gehäusegröße von nur 2 mm x 2 mm.

Trotz ihrer winzigen Abmessungen verfügen die EFM8BB50-MCUs über eine beeindruckende Anzahl von Funktionen, darunter:

  • Ein 12-Bit-ADC, der für Anwendungen, die genaue Sensordaten erfordern, unerlässlich ist
  • Ein integrierter Temperatursensor, der es der MCU ermöglicht, ihre interne Temperatur oder die Umgebungstemperatur zu überwachen, ohne dass externe Komponenten benötigt werden
  • Ein dreikanaliges programmierbares Zähler-Array (PCA) mit Pulsweitenmodulation (PWM), das PWM-Signale für die variable Ausgangssteuerung in Anwendungen wie Motorsteuerung und LED-Dimmung erzeugen kann
  • Eine dreikanalige PWM-Engine mit Totzeiteinfügung (DTI) für die zusätzliche Steuerung von Leistungselektronik, z. B. Motortreibern oder Leistungsumrichtern

Zu den weiteren Ein-/Ausgängen (I/O) 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/O können flexibel zugewiesen werden, um die begrenzte Pinanzahl optimal zu nutzen.

Moderne Energieverwaltung

Die EFM8BB50 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 Stopp-Modus 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 Stopp-Modus aufwecken, was ereignisgesteuerten Anwendungen zugute kommt, 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, so dass die nicht benötigten Komponenten abgeschaltet werden können.

Bei der Entwicklung der Peripheriekomponenten wurde ebenfalls auf Energieeffizienz geachtet. Vor allem die konfigurierbare Logikeinheit (CLU) kann einfache Logikfunktionen unabhängig ausführen, so dass der Kern für einfache Aufgaben nicht mehr aus dem Energiesparmodus aufwachen muss. Darüber hinaus kann der energiesparende UART (LEUART) in Stromversorgungsmodi betrieben werden, in denen der primäre Oszillator deaktiviert ist, was eine serielle Kommunikation im stromsparenden Zustand ermöglicht.

Unterstützung der intuitiven Softwareentwicklung

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 (System on Chip) verwendet. Als Ergebnis erhalten die Entwicklungsteams eine moderne 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 (Abbildung 2).

Bild: Simplicity Studio von Silicon Labs enthält einen Energieprofiler (zum Vergrößern anklicken)Abbildung 2: Simplicity Studio enthält einen Energie-Profiler, der eine Leistungsprofilerstellung des Codes in Echtzeit ermöglicht. (Bildquelle: Silicon Labs)

Die Tools basieren auf einer integrierten Entwicklungsumgebung (IDE) mit branchenüblichen Code-Editoren, Compilern, Debuggern und einer Benutzeroberflächen-Engine (UI) zur Entwicklung moderner, 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 den Silicon Labs Secure Vault. Secure Vault ist eine hochentwickelte Sicherheitssuite mit PSA-Zertifizierungsstufe 3, die es ermöglicht, IoT-Geräte (Internet of Things) zu härten und ihre Angriffsfläche vor eskalierenden Cyber-Bedrohungen zu schützen und gleichzeitig die sich entwickelnden Cyber-Sicherheitsvorschriften zu erfüllen.

Schneller Start mit Evaluierungskits

Wer mit der EFM8BB50 experimentieren möchte, kann das in Abbildung 3 gezeigte Explorer-Kit BB50-EK2702A verwenden. Dieses Kit mit kleinem Formfaktor ist auf Steckplatinenmaße abgestimmt und lässt sich leicht an Prototypsystemen 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.

Abbildung: Explorer-Kit BB50-EK2702A von Silicon LabsAbbildung 3: Abgebildet ist das Explorer-Kit BB50-EK2702A. (Bildquelle: Silicon Labs)

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 in Abbildung 4 gezeigte 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.

Bild: Pro-Kit BB50-PK5208A von Silicon LabsAbbildung 4: Abgebildet ist das Pro-Kit BB50-PK5208A für eine eingehende Evaluierung und Tests. (Bildquelle: Silicon Labs)

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,54mm-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.

EFM8BB50-Debuggeroptionen

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. Diese wird an die Mini-Simplicity-Schnittstelle angeschlossen, die in beiden oben genannten Kits enthalten ist. Zusätzlich zu seiner Grundfunktionalität bietet Simplicity Link zusätzliche Möglichkeiten, wie z.B. einen SEGGER J-Link Debugger, eine Schnittstelle zur Paketverfolgung, einen virtuellen COM-Port und Anschlussflächen zum einfachen Abtasten einzelner Signale.

Fazit

Moderne 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 die richtige 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 erforderlich sind.

DigiKey logo

Haftungsausschluss: Die Meinungen, Überzeugungen und Standpunkte der verschiedenen Autoren und/oder Forumsteilnehmer dieser Website spiegeln nicht notwendigerweise die Meinungen, Überzeugungen und Standpunkte der DigiKey oder offiziellen Politik der DigiKey wider.

Über den Autor

Image of Kenton Williston

Kenton Williston

Kenton Williston schloss sein Studium der Elektrotechnik im Jahr 2000 mit einem B.S. ab und begann seine Karriere als Benchmark-Analyst für Prozessoren. Seitdem arbeitete er als Redakteur bei der EE Times Group und half bei der Einführung und Leitung mehrerer Publikationen und Konferenzen für die Elektronikindustrie.

Über den Verlag

Nordamerikanische Fachredakteure von DigiKey