ARM Call for Papers
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
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.
Mit dem Cortex-M0+ hat ARM im März den kleinsten 32-bit-Core der Welt vorgestellt. Wir haben ihn uns einmal genauer angeschaut.
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?
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
Wer bietet was?
Schnelle Information auf einen Klick!
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.
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.
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.

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.

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.

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 |
|
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.
1. Teil: Aufwachen, bitte!
2. Teil: Modulanwendungen
3. Teil: Lademethode, Temperaturerfassung und programmierbare Unterspannungserkennung










