ARM Call for Papers

Konferenz für ARM-Systementwicklung
Konferenz für ARM-Systementwicklung

Die große Konferenz für ARM-Systementwicklung am 11. und 12. Juli 2012 in München bietet Entwicklern die Gelegenheit, sich detailliertes Wissen über die aktuellen Cortex-Architekturen anzueignen, die mittlerweile zum Industriestandard avanciert sind.

Ausführliche Informationen:
www.arm-entwicklerkonferenz.de

iPad 3 Teardown & Light+Building

Intel-Prozessor im Smartphone
Intel-Prozessor im Smartphone

Mit dem Lava Xolo X900 gibt es erstmals ein Smartphone, das auf einem Atom-Prozessor von Intel basiert. Kann das mit ARM mithalten? Wir haben das untersucht.

Der kleinste 32-bit-Core der Welt
Der kleinste 32-bit-Core der Welt

Mit dem Cortex-M0+ hat ARM im März den kleinsten 32-bit-Core der Welt vorgestellt. Wir haben ihn uns einmal genauer angeschaut.

Was bringen Quad-Cores in Smartphones?
Was bringen Quad-Cores in Smartphones?

Der Tegra-3 von Nvidia ist der erste Quad-Core-Prozessor für Smartphones und Handys - ganz aktuell im neuen Galaxy S3. Doch bringen vier Kerne im Smartphone überhaupt etwas?

Reingeschaut: Das Galaxy Nexus
Reingeschaut: Das Galaxy Nexus

Ein Blick in dass Innenleben des gemeinsam von Google und Samsung entwickelten Smartphones.

Entwicklungstools zum Download
Entwicklungstools zum Download

Zahlreiche Hersteller bieten im Netz Online-Tools, zeitlich begrenzte Testversionen oder ganze Programmme zum Download an. Wir haben eine kleine Auswahl davon zusammengestellt.

Produkte des Jahres 2012

Events

Marktübersichten Bauelemente

Bauelemente-Marktübersichten

Electronic WebLessons

Electronic WebLessons
Electronic WebLessons

Die Electronic WebLessons vermitteln multimedial aufbereitet Basiswissen zum Thema Elektronik. Hier können Sie ihr Praxiswissen auffrischen oder sich die Grundlagen der Elektronik neu aneignen.

13. Juli 2011
Energiespartechniken bei Mikrocontrollern

Aufwachen, bitte!

Viele Low-Power-Anwendungen benötigen einen Mikroprozessor, der periodisch aus dem „Schlaf“ geholt wird, um den Status eines bestimmten Signals zu überprüfen. Er kann dann aufgrund einer Messung des Signals reagieren und bis zur nächsten Statusabfrage wieder in den Ruhezustand zurückversetzt werden. Dieser Artikel beschreibt Möglichkeiten der Energieeinsparung in Systemen mit einem Ultra-Low-Power-Wake-up-Modul (ULPWU) am Beispiel der Mikrocontroller PIC16F684 und PIC16F88X.

Von Jonathan Dillon

Anzeige

Das Modul wurde ursprünglich als ULPWU-Timer entwickelt, seine Funktionalität kann jedoch zum Temperaturfühler und/oder Unterspannungsdetektor erweitert werden. Die Haupt- und Zusatzfunktionen dieses Moduls werden in der Folge beschrieben.

Der Einsatz eines Wake-up-Controllers ist eine weit verbreitete Methode, um die Energieaufnahme eines Systems zu reduzieren. Solche Anwendungen benötigen eine energiesparende, periodisch arbeitende Weckfunktion und lassen sich durch Aktivieren eines Low-Power-Timers realisieren. Der Timer-Interrupt versetzt die Anwendung nach einer vordefinierten Zeit vom Ruhezustand in den aktiven Modus. Sofern es auf Genauigkeit ankommt, wird häufig ein 32-kHz-Quarz-Timer vorgesehen. Einige Bausteine enthalten eigens dafür bestimmte interne Niederfrequenzoszillatoren mit geringer Stromaufnahme.

Bild 1. Grundlegende Blockschaltung des ULPWU-Moduls. RAO wird nicht als Digital-Pin erkannt, wenn das ULPWU aktiviert ist.
Microchip 
zoom
Bild 1. Grundlegende Blockschaltung des ULPWU-Moduls. RAO wird nicht als Digital-Pin erkannt, wenn das ULPWU aktiviert ist.

Eine Lösung für einen solchen periodischen Wake-up-Timer ist ein einfacher RC-Timer, der bis zur Erreichung des Ruhezustands geladen und danach langsam entladen wird. Eine Zustandsänderung kann die Anwendung aktivieren, indem die Spannung über dem RC-Glied die digitale Eingangsschwellspannung erreicht. Das scheint ideal zu sein, doch das Pro-blem ist, dass ein normaler Digitaleingang aufgrund seiner Struktur einen hohen Strom zieht, sobald eine sich langsam ändernde Spannung angelegt wird. Aufgrund dieser Eingangsstruktur werden einige 100 µA fließen, wenn eine analoge Steuerspannung anliegt, die noch um einiges unter der Versorgungsspannung liegt (USS und UDD). Um diesen hohen Strömen entgegenzuwirken, hat Microchip ein ULPWU-Modul entwickelt, das einen analogen Eingang zur Verfügung stellt, in den ein RC-Timer implementiert werden kann. Bild 1 zeigt die grundlegende Blockschaltung des Moduls.

Listing 1. ULPWU-Code für den PIC16F684.
Microchip 
zoom
Listing 1. ULPWU-Code für den PIC16F684.

Das Modul arbeitet als analoger Low-Power-Komparator, der die Spannung am externen Kondensator C mit einer Referenz UIL vergleicht. Das Modul erzeugt ein Ausgangssignal, sobald der analoge Komparator seinen Status ändert. Durch diese Statusänderung kann wiederum ein Interrupt-on-Change (IOC) erzeugt werden.

Das Modul selbst stellt eine sehr schwache Stromquelle zur kontrollierten Entladung des Kondensators dar. Der Code für den PIC16F684 in Listing 1 initialisiert das Modul, lädt den Kondensator, aktiviert das Modul und geht danach wieder in den Ruhezustand, um auf den nächsten Interrupt-on-Change zu warten.

Listing 2. ULPWU-Code für den PIC16F88X.
Microchip 
zoom
Listing 2. ULPWU-Code für den PIC16F88X.

Der Code für den PIC16F88X in Listing 2 sorgt für die Ladung des externen Kondensators, stellt das Modul ein und versetzt es bis zum nächsten ULPWU-Interrupt in den Ruhezustand. Der Interrupt ist pegelgetriggert. Sofern globale Interrupts möglich sind, muss die Interrupt-Service-Routine (ISR) entweder das ULPWU-Interrupt-Freigabesignal oder das ULPWU-Modul deaktivieren, um den ULPWU-Interrupt-Flag freizugeben und den externen Kondensator zu laden.

Die Auslösespannung UIL und der Strom ISINK sind grundsätzlich unabhängig von UDD, aber temperatur- und prozessabhängig. Die Daten für das Modul sind in der Tabelle aufgelistet.

   UiL(V)
ISINK(nA)
-40°C
Min
0,58
104
Typ 0,69
113
Max
0,81
131
25°C  
Min
0,48
121
Typ
0,58
135
Max
0,69
158
85°C  
Min 0,38 130
Typ
0,48
145
Max
0,58
169
125°C  
Min
0,30
142
Typ
0,40
157
Typ
0,40
157
Die angenommenen Moduldaten sind nicht charakteristisch oder getestet.

Aus diesen Daten geht hervor, dass Änderungen der Modulparameter die Genauigkeit des Timers beeinflussen, wenn das Modul wie in Bild 1 arbeitet. Die so genannte Wake-up-Periode kann zwischen zwei Modulen bis zu 30 % variieren, was aber für viele Anwendungen noch annehmbar ist, auch was die Genauigkeit des Moduls betrifft. Für eine ganze Reihe von Anwendungen ist eine größere Abweichung in der Wake-up-Periode noch akzeptabel, und so reicht auch die Genauigkeit des Moduls aus.

Sobald das Modul aktiviert ist, erhöht sich der Ruhestrom des Mikroprozessors um 75 nA und 160 nA, abhängig von Prozessabweichungen, Temperatur und Spannung. Der zu erwartende Gesamtruhestrom mit aktiviertem ULPWU-Modul sollte beim PIC16F684 und PIC16F88X nur einige 100 nA betragen, während der Ruhestrom bei deaktivierter Peripherie typisch 1 nA beträgt.

Der durchschnittliche Systemstrom wird aber aufgrund des Ladestroms für den Kondensator und die zur Ausführung des Codes zwischen den Ruhestromperioden benötigte Energie höher sein. Die Zeit zwischen den Ruheperioden und aktiven Arbeits-zyklen wird letztlich die Gesamtstromaufnahme bestimmen. So lassen sich typische Rauchmelder oder Reifendrucküberwachungssysteme mit Strömen unter 1 μA realisieren.