Forum: Mikrocontroller und Digitale Elektronik xmega idle sleep mode


von Blonkel (Gast)


Lesenswert?

Howdy,
Ich habe hier einen atxmega64a1, den ich in den "Idle"-Modus versetze 
(bester Modus, den ich für meine Bedürfnisse nutzen kann). Die CPU läuft 
mit intern mit 2MHz. Laut Datenblatt liegt die Stromaufnahme hierbei bei 
etwa 500µA (ext. 2MHz Clk.). Mit den mir zur Verfügung stehenden 
Messgeräten messe ich jedoch eine Stromaufnahme im "Idle" von 5mA. (Die 
CPU verbraucht im "Aktiv"-Modus in etwa auch 5mA. Stelle ich jedoch 
anstatt den "Idle"-Mode den "PowerSave"-Mode ein, hab ich eine 
Stromaufnahme von 50µA.

Jetzt meine Frage: der Idle Modus wird doch genauso "angesteuert" wie 
der Powersave Modus? Wieso ist kein Unterschied messbar zwischen Idle 
und Aktiv ? Desweiteren ist mit aufgefallen das im Datenblatt bei 2MHz 
ext. eine Stromaufnahme von 1,4mA (3V) steht. Ich jedoch eine 
Stromaufnahme mit dem internen Takt von 2MHz von 5mA messe, kann 
zwischen internen und externen Takt solch ein Unterschied zu stande 
kommen?

PS: Alles mit Angaben beziehen sich auf eine Spannung von 3,6V falls 
nicht anders angegeben.

Beispiel Quellcode hierbei ist folgender:
1
SLEEP_CTRL= SLEEP_SEN_bm | SLEEP_SMODE_IDLE_gc;
2
//bzw.
3
SLEEP_CTRL= SLEEP_SEN_bm | SLEEP_SMODE_PSAVE_gc;
4
5
while(1)
6
{
7
 uart_puts("aktiv!");
8
 _delay_ms(100);
9
 asm("sleep");
10
}

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.