Tabelle 1: Die Energiemodi der MCU ADuCM3029 aktivieren (grün) und deaktivieren (rot) die Stromzufuhr für bestimmte Blöcke auf dem Chip automatisch. Andere Bereiche lassen sich vom Entwickler steuern (gelb).

Tabelle 1: Die Energiemodi der MCU ADuCM3029 aktivieren (grün) und deaktivieren (rot) die Stromzufuhr für bestimmte Blöcke auf dem Chip automatisch. Andere Bereiche lassen sich vom Entwickler steuern (gelb). (Bild: Digi-Key)

Bisher wurden für eine exakte Energiesteuerung eigenständige Bausteine zur Energieverwaltung eingesetzt. Dagegen bietet die MCU ADuCM3029 von Analog Devices eine integrierte Lösung, die es Entwicklern einfacher macht, eine maximale Leistung zu erzielen und dabei den Energieverbrauch zu minimieren, wenn es um die Erfassung von Sensordaten, Wearables und andere Anwendungen für das Internet der Dinge (Internet of Things, IoT) geht.

Energieverwaltung mit MCUs

Eck-Daten

Die integrierten Energieverwaltungsfunktionen der MCU ADuCM3029 bietet Entwicklern die Flexibilität, ein Gleichgewicht zwischen funktioneller Leistung und Energieverbrauch herzustellen. Die Energiemodi aktivieren oder deaktivieren die Stromzufuhr für bestimmte Blöcke auf dem Chip automatisch. Andere Bereiche lassen sich vom Entwickler steuern. Im Flexi-Mode schläft der Prozessorkern, während ausgewählte Peripherie-Bausteine in Betrieb bleiben. Der Sensor-Strobe-Mechanismus der MCU stellt einen synchronisierten Alarm für externe Komponenten dar, der es erlaubt, auch im Schlafmodus Sensordaten zu erfassen.

Es steht ein breites Spektrum hochentwickelter MCUs mit Energiesparoptionen zur Verfügung. Bausteine, die für stromsparende Anwendungen bestimmt sind, verfügen standardmäßig über Funktionen wie Frequenzskalierung, mit der ein Ausgleich zwischen Leistung und niedrigerem Energieverbrauch möglich ist. Stromsparmodi bieten typischerweise eine stufenweise Energieeinsparung durch Abschaltung einer gewissen Anzahl von Subsystemen der MCU an, sodass nur der Teil der Elektronik in Betrieb bleibt, der zum Aufwecken der MCU erforderlich ist.

Eine weitere Verfeinerung der Energieverwaltung besteht darin, dass MCUs mit extrem niedrigen Energieverbrauch über spezielle Betriebsmodi verfügen, die den Kern des Bausteins und dessen Peripherie getrennt mit Strom versorgen. Auch in diesen Fällen fahren manchmal die speziellen Modi die Peripheriebausteine als Gruppe herunter, oder es kommen automatisierte Verfahren zur Anwendung, die Entwicklern nur wenig Kontrolle über die Details der Energiezufuhr erlauben.

Die Energieverwaltung einer MCU bietet normalerweise eine ganze Reihe von Energiesparmodi, aber der Übergang in einen Energiesparmodus führt in der Regel zu einem Einbruch der Funktionalität. In vielen Fällen ist ein solcher Einbruch der Funktionalität für kurze Zeit verschmerzbar. In manchen Fällen ist aber für die Aufrechterhaltung des Betriebs eine exakte Kontrolle über den Stromverbrauch erforderlich.

Der Prozessor ADuCM3029 von Analog Devices ist speziell für die Unterstützung komplexerer Anforderungen an die Energieverwaltung bei Anwendungen mit extrem geringen Energieverbrauch ausgelegt. Der Schaltkreis mit ARM-Cortex-M3-Core verfügt über 256 KB Flash-Speicher mit Fehlerkorrektur (ECC) und über 64 KB konfigurierbares SRAM mit mehreren Paritäts-Bits. Eine Variante ADuCM3027 verfügt über 128 KB Flash-Speicher und entspricht bezüglich der weiteren Features und Funktionen dem ADuCM3029.

 

Mehr zur Abstimmung von Energieverbrauch und Leistung bei aktuellen Mikrocontrollern erfahren Sie auf der folgenden Seite.

Abstimmung von Energieverbrauch und Leistung

Tabelle 1: Die Energiemodi der MCU ADuCM3029 aktivieren (grün) und deaktivieren (rot) die Stromzufuhr für bestimmte Blöcke auf dem Chip automatisch. Andere Bereiche lassen sich vom Entwickler steuern (gelb).

Tabelle 1: Die Energiemodi der MCU ADuCM3029 aktivieren (grün) und deaktivieren (rot) die Stromzufuhr für bestimmte Blöcke auf dem Chip automatisch. Andere Bereiche lassen sich vom Entwickler steuern (gelb). Digi-Key

Bild 1: Im Flexi-Modus schläft der Core-Prozessor der MCU, während ausgewählte Peripheriebausteine in Betrieb bleiben.

Bild 1: Im Flexi-Modus schläft der Core-Prozessor der MCU, während ausgewählte Peripheriebausteine in Betrieb bleiben. Digi-Key

Wie die meisten der aktuellen MCUs verfügt der ADuCM3029 über mehrere Energiemodi, mit denen sich der Stromverbrauch in Zeiträumen der Inaktivität reduzieren lässt. Im Ruhemodus verbraucht der Baustein typischerweise weniger als 750 nA. Dabei werden der Prozessor und die meisten Peripheriebausteine abgeschaltet, aber die Stromversorgung ausgewählter SRAM-Bereiche aufrechterhalten. In Zeitabschnitten, in denen die Anwendung nicht aktiv ist, verbraucht der Abschaltmodus des Bausteins nur 60 nA.

Allerdings stehen die Entwickler immer häufiger vor Szenarien, in denen ein Teil der Peripherie aktiv bleiben muss, wenn der Prozessor deaktiviert ist. Für dieses Problem bietet der ADuCM3029 einen zusätzlichen Energiemodus, der als flexibler Schlafmodus (Flexi) bezeichnet wird. Der Flexi-Modus reduziert den Stromverbrauch auf 300 μA, wobei sich die Funktionalität zwischen dem aktiven und dem Ruhemodus bewegt. Im Flexi-Modus bleibt der Kern des Bausteins im Schlafmodus, während bestimmte vom Entwickler angegebene Peripheriebausteine aktiv bleiben (Tabelle 1).

Die MCU wird durch Setzen der MODE-Bits im Register PMG_PWRMOD auf 0 und Ausführung der Anweisung WFI (Wait for interrupt, auf Interrupt warten) in den Flexi-Mode versetzt. Ist der Prozessorkern deaktiviert, lassen sich bestimmte Peripheriefunktionen durch Schreiben von 0 in die den Peripheriebausteinen entsprechenden Bits des MCU-Registers CLKG_CLK_CTL5 aufrechterhalten. Der Baustein kann zwar in diesem Modus keine Anweisungen ausführen, aber Aktivitäten wie DMA-Übertragungen zwischen Peripheriebausteinen und dem Arbeitsspeicher sind weiterhin durchführbar.

Durch die Möglichkeit, den Betrieb von Peripheriebausteinen aufrechtzuerhalten, bietet der Flexi-Modus eine energieeffiziente Lösung für ein bei Sensoranwendungen verbreitetes Problem, wenn die Daten eines oder mehrerer Sensoren über einen bestimmten Zeitraum erfasst werden müssen, bevor der Prozessor tätig wird. In diesem Fall lassen sich mithilfe des automatischen Schleifenmodus (Auto-Cycle Mode) des integrierten ADC eine oder mehrere Konvertierungen auf ausgewählten Kanälen durchführen und die Proben mithilfe des DMA-Controllers automatisch in das SRAM übertragen. Nach einer vom Programmierer festgelegten Anzahl von Konvertierungen und der darauffolgenden DMA-Übertragung generiert der Controller einen Interrupt, um den Kern für die darauffolgende Verarbeitung der erfassten Daten aufzuwecken (Bild 1).

 

Wie die Datenerfassung energieoptimiert abläuft und trotz Schlafmodus möglich ist, erfahren Sie auf der nächsten Seite.

Energieoptimierte Datenerfassung

Funktionen wie Cache, Skalierung der Frequenz und chipintegrierte DC/DC-Konvertierung laufen auf Systemebene und tragen zur Reduzierung des Energieverbrauchs bei. Auf Anwendungsebene ermöglichen Funktionen wie der Flexi-Modus eine Reduzierung des Verbrauchs bei Aktivitäten der Peripherie wie der Erfassung von Sensordaten. Allerdings erweisen sich auch diese Methoden bei manchen Anwendungen als unzureichend. Batteriebetriebene IoT-Geräte müssen häufig Sensordaten mit sehr geringer Geschwindigkeit erfassen oder gewisse externe Prozesse periodisch überwachen. Bei Anwendungen mit langsamer periodischer Aktivität verlassen sich die Entwickler normalerweise auf die RTCs (Real Time Clock) der MCU als konsistente Zeitbasis und zur Steuerung von Countdown-Timern, die die MCU zu exakt festgelegten Zeitpunkten aktivieren.

Daher verfügen aktuelle MCUs über Energiemodi, die die Funktion der RTC selbst in Modi mit sehr geringem Energieverbrauch aufrechterhalten. Mit dem ADuCM3029 können Entwickler auf zwei unterschiedliche RTCs zugreifen, RTC0 und RTC1, die weitere Modi für den Ausgleich zwischen Energieverbrauch und Leistung zur Verfügung stellen. Wie in Tabelle 1 angegeben, unterstützen beide RTCs den Betrieb im aktiven Modus, im Flexi-Modus und in den Ruhemodi, aber nur RTC0 bleibt im Schlafmodus verfügbar, dem Modus mit dem geringsten Energieverbrauch. In den anderen Modi haben die Entwickler die Möglichkeit, aufgrund bestimmter Unterschiede zwischen den beiden Uhren komplexere Timing-Aktionen zu implementieren.

RTC0 zählt beispielsweise mit 1 Hz in Einheiten von einer Sekunde, was die Aufwachzeiten auf die Angabe von ganzen Sekunden einschränkt. RTC1 lässt sich über einen großen Bereich skalieren, was die Festlegung von Aufwachzeiten ab 30,7 μs erlaubt. Auch die Stromversorgung ist für jede der Uhren unterschiedlich. RTC0 wird von der primären Spannungsversorgung (VBAT) gespeist, während RTC1 vom internen Spannungsbereich mit 1,2 V versorgt wird. Die Nutzung des optionalen Abwärtswandlers reduziert den effektiven Energieverbrauch von RTC1 weiter. RTC1 unterstützt zusätzlich den Sensor-Strobe-Mechanismus von Analog Devices, ein im ADuCM3029 integriertes Feature für die Datenerfassung mit geringem Energieverbrauch.

Trotz Schlafmodus Sensordaten erfassen

Bild 2: Der Sensor-Strobe-Mechanismus des ADuCM3029 stellt einen synchronisierten Alarm für externe Komponten bereit. So können auch im Schlafmodus Daten erfasst und der Energieverbrauch niedrig gehalten werden.

Bild 2: Der Sensor-Strobe-Mechanismus des ADuCM3029 stellt einen synchronisierten Alarm für externe Komponten bereit. So können auch im Schlafmodus Daten erfasst und der Energieverbrauch niedrig gehalten werden. Digi-Key

Sensor-Strobe ist ein spezieller Alarm der RTC1, der am Pin RTC1_SS1 der MCU einen Ausgangspuls generiert. Der Sensor-Strobe-Ausgang des ADuCM3029 lässt sich an einen externen Multisensorbaustein wie den ADXL363 anschließen. So entsteht mit nur wenigen Komponenten eine Datenerfassungslösung mit geringem Energieverbrauch (Bild 2). Während des Sensor-Strobe-Betriebs wird der ADuCM3029 in den Ruhemodus versetzt, um während der umfangreichen Erfassung von Proben einen minimalen Energieverbrauch der MCU sicherzustellen.

Während sich die MCU im Ruhemodus befindet, zählt RTC1 auf den gewünschten Wert herunter, der bei der Einrichtung von Sensor-Strobe im Register festgelegt wurde. Wenn der Zähler den gewünschten Wert für Sensor-Strobe erreicht hat, wird das Sensor-Strobe-Signal an den Interrupt-Eingangspin des ADXL363 angelegt und der Baustein wird aktiviert. Anschließend führt der ADXL363 eigene Datenerfassungsroutinen aus. Nach Beendigen der Erfassung legt der ADXL363 ein Signal an den Interrupt-Pin der MCU an, wodurch die MCU aus dem Ruhemodus aktiviert wird und mit der Verarbeitung der erfassten Daten beginnt. Früher mussten die Entwickler diese Art der erweiterten Erfassung mit einer externen RTC, einem Timer oder sogar mit einem einfachen Oszillator implementieren.

Dabei gestaltet eine externe Taktquelle nicht nur den Aufbau komplizierter, sondern zerstört auch die Synchronisierung zwischen den erfassten Daten und der eigenen Zeitbasis der MCU. Daher mussten Entwickler, die wie beschrieben vorgegangen sind, die Daten vollständig neu erfassen, um den Zeitstempel auf den der MCU zu normalisieren. Durch die Verwendung von RTC1 im Sensor-Strobe-Modus ist dagegen sichergestellt, dass die Zeitstempel der Proben mit dem Zeitstempel des ADuCM3029-Systems synchron laufen. Potenziell stehen mehrere verschiedene Mechanismen zur Verfügung, die den integrierten Energieverwaltungsmöglichkeiten des ADuCM3029 nahe kommen. Durch Verbesserung der internen Fähigkeiten ist es möglich, ein besseres Gleichgewicht zwischen Energieverbrauch und Leistung zu erzielen. Die Langfassung dieses Beitrags ist unter der Info-Direkt-Nummer 813ei0917 auf www.all-electronics.de zu finden.

 

Rich Miron

(Bild: Digi-Key)
Senior Technical Content Developer bei Digi-Key Electronics

(na)

Sie möchten gerne weiterlesen?

Unternehmen

Digi-Key Corporation

701 Brooks Avenue South
56701 Thief River Falls , MN
United States