<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="de">
	<id>https://www.mikrocontroller.net/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=89.0.185.82</id>
	<title>Mikrocontroller.net - Benutzerbeiträge [de]</title>
	<link rel="self" type="application/atom+xml" href="https://www.mikrocontroller.net/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=89.0.185.82"/>
	<link rel="alternate" type="text/html" href="https://www.mikrocontroller.net/articles/Spezial:Beitr%C3%A4ge/89.0.185.82"/>
	<updated>2026-04-10T13:49:30Z</updated>
	<subtitle>Benutzerbeiträge</subtitle>
	<generator>MediaWiki 1.39.7</generator>
	<entry>
		<id>https://www.mikrocontroller.net/index.php?title=AVR-Tutorial:_Power_Management&amp;diff=53819</id>
		<title>AVR-Tutorial: Power Management</title>
		<link rel="alternate" type="text/html" href="https://www.mikrocontroller.net/index.php?title=AVR-Tutorial:_Power_Management&amp;diff=53819"/>
		<updated>2010-12-27T22:33:02Z</updated>

		<summary type="html">&lt;p&gt;89.0.185.82: /* Analog Comparator */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039;ACHTUNG!&#039;&#039;&#039;&lt;br /&gt;
Dieser Artikel befindet sich noch im Aufbau!&lt;br /&gt;
&lt;br /&gt;
Vorallem in batteriebetriebenen Systemen spielt die Leistungsaufnahme eine wichtige Rolle, d.h. sie soll so niedrig wie möglich gehalten werden um eine lange Laufzeit zu erreichen. Den sparsamen Umgang mit der verfügbaren el. Ladung nennt man &#039;&#039;&#039;Power Management&#039;&#039;&#039; (dt. Energiesparen).&lt;br /&gt;
&lt;br /&gt;
Im Rahmen des Power Managements stehen uns beispielsweise die Sleep-Modi zur Verfügung, mit denen wir bestimmte Module zeitweise deaktivieren können. Andere garnicht genutzte Module können wir durch entsprechende Konfiguration (z.B. in den Fuses) auch komplett deaktivieren.&lt;br /&gt;
&lt;br /&gt;
== Theorie ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Sleep Modi ===&lt;br /&gt;
&lt;br /&gt;
Welche Sleep-Modi es gibt, hängt vom verwendeten µC ab, dieser Artikel nimmt jedoch Bezug auf den ATmega32. Um einen der verfügbaren Sleep-Modi des ATmega32 zu betreten müssen folgende Schritte ausgeführt werden&lt;br /&gt;
&lt;br /&gt;
# Das SE-Bit im MCUCR-Register wird auf 1 gesetzt&lt;br /&gt;
# Die SMx-Bits im MCUCR-Register je nach gewünschtem Modus setzen&lt;br /&gt;
# Der SLEEP-Befehl wird ausgeführt&lt;br /&gt;
&lt;br /&gt;
Der Mikrocontroller geht dann sofort in den SLEEP-Modus, d.h. noch vor eventuell anstehenden Interrupts, und wacht erst wieder auf wenn ein Signal eines geeigneten Moduls (je nach Modus) ihn aufweckt.&lt;br /&gt;
&lt;br /&gt;
Die Arbeit wird dann mit der ersten Anweisung hinter dem SLEEP-Befehl wieder aufgenommen.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ MCUCR - MCU Control Register&lt;br /&gt;
|- style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
! Bit&lt;br /&gt;
| style=&amp;quot;width:12%&amp;quot; | 7&lt;br /&gt;
| style=&amp;quot;width:12%&amp;quot; | 6&lt;br /&gt;
| style=&amp;quot;width:12%&amp;quot; | 5&lt;br /&gt;
| style=&amp;quot;width:12%&amp;quot; | 4&lt;br /&gt;
| style=&amp;quot;width:12%; background-color:#c0c0c0&amp;quot; | 3&lt;br /&gt;
| style=&amp;quot;width:12%; background-color:#c0c0c0&amp;quot; | 2&lt;br /&gt;
| style=&amp;quot;width:12%; background-color:#c0c0c0&amp;quot; | 1&lt;br /&gt;
| style=&amp;quot;width:12%; background-color:#c0c0c0&amp;quot; | 0&lt;br /&gt;
|- style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
! Bezeichnung&lt;br /&gt;
| SE&lt;br /&gt;
| SM2&lt;br /&gt;
| SM1&lt;br /&gt;
| SM0&lt;br /&gt;
| style=&amp;quot;background-color:#c0c0c0&amp;quot; | ISC11&lt;br /&gt;
| style=&amp;quot;background-color:#c0c0c0&amp;quot; | ISC10&lt;br /&gt;
| style=&amp;quot;background-color:#c0c0c0&amp;quot; | ISC01&lt;br /&gt;
| style=&amp;quot;background-color:#c0c0c0&amp;quot; | ISC00&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
;Bit 7 - SE: Sleep Enable&lt;br /&gt;
:Mit diesem Bit wird bestimmt ob der Sleep-Befehl ausgeführt wird (1) oder nicht (0).&lt;br /&gt;
&lt;br /&gt;
;Bit 6..4 - SM2..0: Sleep Mode Select&lt;br /&gt;
:Mit diesen drei Bits wird der gewünschte Sleep-Modi gewählt&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! SM2&lt;br /&gt;
! SM1&lt;br /&gt;
! SM0&lt;br /&gt;
! style=&amp;quot;text-align:left&amp;quot; | Sleep Modus&lt;br /&gt;
|- style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
| 0&lt;br /&gt;
| 0&lt;br /&gt;
| 0&lt;br /&gt;
| style=&amp;quot;text-align:left&amp;quot; | Idle&lt;br /&gt;
|- style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
| 0&lt;br /&gt;
| 0&lt;br /&gt;
| 1&lt;br /&gt;
| style=&amp;quot;text-align:left&amp;quot; | ADC Noise Reduction&lt;br /&gt;
|- style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
| 0&lt;br /&gt;
| 1&lt;br /&gt;
| 0&lt;br /&gt;
| style=&amp;quot;text-align:left&amp;quot; | Power-down&lt;br /&gt;
|- style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
| 0&lt;br /&gt;
| 1&lt;br /&gt;
| 1&lt;br /&gt;
| style=&amp;quot;text-align:left&amp;quot; | Power-save&lt;br /&gt;
|- style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
| 1&lt;br /&gt;
| 0&lt;br /&gt;
| 0&lt;br /&gt;
| style=&amp;quot;text-align:left&amp;quot; | Reserved&lt;br /&gt;
|- style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
| 1&lt;br /&gt;
| 0&lt;br /&gt;
| 1&lt;br /&gt;
| style=&amp;quot;text-align:left&amp;quot; | Reserved&lt;br /&gt;
|- style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
| 1&lt;br /&gt;
| 1&lt;br /&gt;
| 0&lt;br /&gt;
| style=&amp;quot;text-align:left&amp;quot; | Standby&amp;lt;sup&amp;gt;(1)&amp;lt;/sup&amp;gt;&lt;br /&gt;
|- style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
| 1&lt;br /&gt;
| 1&lt;br /&gt;
| 1&lt;br /&gt;
| style=&amp;quot;text-align:left&amp;quot; | Extended Standby&amp;lt;sup&amp;gt;(1)&amp;lt;/sup&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;sup&amp;gt;(1)&amp;lt;/sup&amp;gt; Nur verfügbar mit externem Taktgeber&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====Modi Übersicht====&lt;br /&gt;
&lt;br /&gt;
Generell is der Modus zu wählen der die meisten nicht benötigten Module abschaltet.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!&lt;br /&gt;
! colspan=&amp;quot;5&amp;quot; | Aktive Takte &lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; | Aktive Oszillatoren&lt;br /&gt;
! colspan=&amp;quot;6&amp;quot; | Weckquellen&lt;br /&gt;
|- style=&amp;quot;background-color:#f0f0f0&amp;quot;&lt;br /&gt;
| Sleep Modus&lt;br /&gt;
| clk&amp;lt;sub&amp;gt;CPU&amp;lt;/sub&amp;gt;&lt;br /&gt;
| clk&amp;lt;sub&amp;gt;FLASH&amp;lt;/sub&amp;gt;&lt;br /&gt;
| clk&amp;lt;sub&amp;gt;IO&amp;lt;/sub&amp;gt;&lt;br /&gt;
| clk&amp;lt;sub&amp;gt;ADC&amp;lt;/sub&amp;gt;&lt;br /&gt;
| clk&amp;lt;sub&amp;gt;ASY&amp;lt;/sub&amp;gt;&lt;br /&gt;
| Haupttaktgeber&lt;br /&gt;
| Timer Oszillator&lt;br /&gt;
| INT2&amp;lt;br /&amp;gt;INT1&amp;lt;br /&amp;gt;INT0&lt;br /&gt;
| TWI Address Match&lt;br /&gt;
| Timer2&lt;br /&gt;
| SPM/EEPROM Ready&lt;br /&gt;
| ADC&lt;br /&gt;
| Andere I/O&lt;br /&gt;
|- style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
| style=&amp;quot;text-align:left&amp;quot; | Idle&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
| x&lt;br /&gt;
| x&lt;br /&gt;
| x&lt;br /&gt;
| x&lt;br /&gt;
| x&amp;lt;sup&amp;gt;(2)&amp;lt;/sup&amp;gt;&lt;br /&gt;
| x&lt;br /&gt;
| x&lt;br /&gt;
| x&lt;br /&gt;
| x&lt;br /&gt;
| x&lt;br /&gt;
| x&lt;br /&gt;
|- style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
| style=&amp;quot;text-align:left&amp;quot; | ADC Noise Reduction&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
| &lt;br /&gt;
| x&lt;br /&gt;
| x&lt;br /&gt;
| x&lt;br /&gt;
| x&amp;lt;sup&amp;gt;(2)&amp;lt;/sup&amp;gt;&lt;br /&gt;
| x&amp;lt;sup&amp;gt;(3)&amp;lt;/sup&amp;gt;&lt;br /&gt;
| x&lt;br /&gt;
| x&lt;br /&gt;
| x&lt;br /&gt;
| x&lt;br /&gt;
| &lt;br /&gt;
|- style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
| style=&amp;quot;text-align:left&amp;quot; | Power-down&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| x&amp;lt;sup&amp;gt;(3)&amp;lt;/sup&amp;gt;&lt;br /&gt;
| x&lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
|- style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
| style=&amp;quot;text-align:left&amp;quot; | Power-save&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| x&amp;lt;sup&amp;gt;(2)&amp;lt;/sup&amp;gt;&lt;br /&gt;
| &lt;br /&gt;
| x&amp;lt;sup&amp;gt;(2)&amp;lt;/sup&amp;gt;&lt;br /&gt;
| x&amp;lt;sup&amp;gt;(3)&amp;lt;/sup&amp;gt;&lt;br /&gt;
| x&lt;br /&gt;
| x&amp;lt;sup&amp;gt;(2)&amp;lt;/sup&amp;gt;&lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
|- style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
| style=&amp;quot;text-align:left&amp;quot; | Standby&amp;lt;sup&amp;gt;(1)&amp;lt;/sup&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| x&lt;br /&gt;
| &lt;br /&gt;
| x&amp;lt;sup&amp;gt;(3)&amp;lt;/sup&amp;gt;&lt;br /&gt;
| x&lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
|- style=&amp;quot;text-align:center&amp;quot;&lt;br /&gt;
| style=&amp;quot;text-align:left&amp;quot; | Extended Standby&amp;lt;sup&amp;gt;(1)&amp;lt;/sup&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| x&amp;lt;sup&amp;gt;(2)&amp;lt;/sup&amp;gt;&lt;br /&gt;
| x&lt;br /&gt;
| x&amp;lt;sup&amp;gt;(2)&amp;lt;/sup&amp;gt;&lt;br /&gt;
| x&amp;lt;sup&amp;gt;(3)&amp;lt;/sup&amp;gt;&lt;br /&gt;
| x&lt;br /&gt;
| x&amp;lt;sup&amp;gt;(2)&amp;lt;/sup&amp;gt;&lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;sup&amp;gt;(1)&amp;lt;/sup&amp;gt; Nur verfügbar bei externer Taktquelle&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;sup&amp;gt;(2)&amp;lt;/sup&amp;gt; Wenn AS2-Bit in ASSR-Register gesetzt&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;sup&amp;gt;(3)&amp;lt;/sup&amp;gt; Nur INT2 oder Level Interrupt INT1 und INT0&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Manuelles Deaktivieren ===&lt;br /&gt;
Einzelne Module können auch manuell deaktviert werden um Strom zu sparen, das bietet sich vorallem an wenn bestimmte Module im gegebenen Projekt generell nicht benötigt werden und damit deaktiviert werden können.&lt;br /&gt;
&lt;br /&gt;
==== Analog to Digital Converter ====&lt;br /&gt;
todo...&lt;br /&gt;
&lt;br /&gt;
==== Analog Comparator ====&lt;br /&gt;
Der Analogkomparator ist standardmäßig aktiviert. Um ihn zu deaktivieren, muss man ADC (Bit 7) im Register ACSR setzen.&lt;br /&gt;
&lt;br /&gt;
==== Brown-Out Detector ====&lt;br /&gt;
Der Brown-Out Detector lässt sich entweder durch das BODEN-Bit in den Fuses oder mit entsprechenden Befehlen aktivieren oder deaktivieren. Das Fuse-Bit ist standardmäßig gesetzt (Achtung: Umgekehrte Logik!) und der BOD damit deaktiviert.&lt;br /&gt;
&lt;br /&gt;
==== Watchdog ====&lt;br /&gt;
Auch der Watchdog-Timer lässt sich in den Fuses standardmäßig aktivieren/deaktiviren, hier über das WDTON-Bit.&lt;br /&gt;
Natürlich geht auch das sofwareseitig [http://www.mikrocontroller.net/articles/AVR-Tutorial:_Watchdog]&lt;br /&gt;
&lt;br /&gt;
== Praxis ==&lt;br /&gt;
&#039;&#039;&#039;TODO:&#039;&#039;&#039; ASM-Quellcode Beispiele&lt;br /&gt;
&lt;br /&gt;
== Quellen ==&lt;br /&gt;
[http://www.atmel.com/dyn/resources/prod_documents/doc2503.pdf ATMEL AVR ATmega32 Datenblatt]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
{{Navigation_zurückhoch|&lt;br /&gt;
zurücktext=Power Management|&lt;br /&gt;
zurücklink=AVR-Tutorial: Power Management|&lt;br /&gt;
hochtext=Inhaltsverzeichnis|&lt;br /&gt;
hochlink=AVR-Tutorial}}&lt;br /&gt;
&lt;br /&gt;
[[Kategorie: AVR]]&lt;br /&gt;
[[Kategorie: AVR-Tutorial]]&lt;/div&gt;</summary>
		<author><name>89.0.185.82</name></author>
	</entry>
</feed>