Entwicklungstools

Integrierte Tools vereinfachen das Design stromsparender Systeme

| Autor / Redakteur: Rasmus Larsen * / Holger Heller

Die Entwicklung von Hardware und Software mit Mikrocontrollern ist ein komplexer Prozess. Jedes einzelne MCU-Modell ist anders, mit einem eigenen Satz an Schnittstellen und Steuerregistern.

Stromsparende MCUs erweitern das Angebot mit einer Vielzahl an Stromsparmodi und in einigen Fällen um intelligente I/O-Engines, die den Prozessor-Core entlasten. Der Grund für die Zunahme intelligenter Peripherie liegt in ihrer Fähigkeit, den Gesamtleistungsverbrauch des Systems zu verringern. Die Einschaltdauer einer stromsparenden MCU ist entscheidend für die Batterielebensdauer.

In einem System mit geringen Arbeitsintervallen befindet sich die MCU die meiste Zeit im Sleep-Modus. Sie wird nur aktiviert, um z.B. Daten von den Sensoreingängen zu sammeln – normalerweise zu festgelegten Zeiten, oder um auf seltene, ungeplante Interrupts zu reagieren. Dieser Ansatz hat sich beim Design von Verbrauchszählern als äußerst effizient erwiesen. Hier befindet sich der Prozessor-Core zu 99% der Zeit im Sleep-Modus.

Um die Einschaltdauer weiter zu verringern haben MCU-Anbieter wie Energy Micro zusätzliche Peripherie integriert, die den Prozessor-Core um die komplexen Sensorschnittstellen-Funktionen entlastet. Programmierbare Hardware übernimmt anstatt der CPU dann diese Aufgabe.

Sensordaten verarbeiten ohne Prozessorbeteiligung

Die Befehlsbereitstellung für den Mikroprozessor-Core kann selbst aus dem On-Chip-Speicher mehr als 40% des gesamten Prozessor-Stromverbrauchs ausmachen. Der Energiebedarf bezüglich Transfer variabler Inhalte vom Datenspeicher in die Register und weiter in den Datenverarbeitungspfad ist ebenfalls mit einzurechnen. Dieses Maß an Datenbewegung, das in der Regel Busverbindungen mit hoher Kapazität benötigt – und daher viel Energie verbraucht – ist bei einer Hardware-Implementierung nicht erforderlich.

Viele Sensorbefehle lassen sich über eine Zustandsmaschine steuern, die, wenn sie programmierbar ist, so konfiguriert werden kann, dass sie eine Sensordatenverarbeitung durchführt, ohne den Prozessor-Core zu aktivieren. Diese Technik steckt hinter dem Ansatz, den Energy Micro bei der Implementierung des Peripherieblocks „Low Energy Sense“ (LESENSE) in seinen EFM32-Gecko-MCUs anwendet.

In LESENSE werden die Zustände und Bedingungen durch Deskriptoren programmiert, die miteinander verkettet werden, um je nach Bedarf komplexe Befehle zu bilden. Auf Wunsch können sie auch auf einfache Ausgänge beschränkt werden. So ist es möglich, relativ komplexe Logik zu erstellen, ohne das ein Eingreifen des Prozessor-Cores erforderlich wird.

Hardware- und Software-Implementierung abwägen

Durch den Einsatz von Funktionsblöcken wie LESENSE und herkömmlicher Peripherie wie seriellen Ports, muss der Entwickler einige Kompromisse in Kauf nehmen und Abwägungen auf der Systemebene treffen. Viele davon werden allerdings erst im Laufe des Projekts ersichtlich.

Ergänzendes zum Thema
 
MCU konfigurieren und Strom sparen

So kann zwar eine A-Priori-Analyse einer Anwendung zu dem Schluss kommen, dass die anfängliche Architektur das Leistungsbudget erfüllt – erst später wird aber ersichtlich, dass bestimmte Interaktionen zwischen Code-Modulen und Funktionen einen übermäßigen Energieverbrauch aufweisen, da der Prozessor-Core länger als erwartet aktiviert bleibt. Möglicherweise befindet er sich sogar im Leerlauf und wartet auf eine Eingabe anstatt in den Sleep-Zustand zu gehen und auf einen Hardware-generierten Interrupt zu warten.

Inhalt des Artikels:

Kommentar zu diesem Artikel abgeben

Schreiben Sie uns hier Ihre Meinung ...
(nicht registrierter User)

Zur Wahrung unserer Interessen speichern wir zusätzlich zu den o.g. Informationen die IP-Adresse. Dies dient ausschließlich dem Zweck, dass Sie als Urheber des Kommentars identifiziert werden können. Rechtliche Grundlage ist die Wahrung berechtigter Interessen gem. Art 6 Abs 1 lit. f) DSGVO.
Kommentar abschicken
copyright

Dieser Beitrag ist urheberrechtlich geschützt. Sie wollen ihn für Ihre Zwecke verwenden? Kontaktieren Sie uns über: support.vogel.de/ (ID: 32386000 / Mikrocontroller & Prozessoren)