Forum: Mikrocontroller und Digitale Elektronik Power-Down will nicht so richtig!


von Andi (Gast)


Lesenswert?

Hi!

Habe Probleme mit dem Sleep-Mode Power-Down im ATTiny26.
Der Idle-Mode geht einwandfrei.
Die CPU kommt zurück bei Timer-IRQ und PIN-Change-IRQ.
Nur bei dem Power-Down geht das irgend wie nicht so richtig.
Laut Docu kommt die CPU bei Pin-Change zurück.
Im Power-Down reagiert er auf die PortB-Pins aber irgend wie nicht auf
die PortA-Pins.
Und bei den PortB-Pins ist es irgend wie so, das nur ein Wechsel von
high auf low und dann auf high gemacht werden muß, das die CPU aus dem
Power-Down zurück kommt.
Habe den Code (ASM) auch so geändert, das die CPU während ein Timer-IRQ
läuft (für Counter-Software) nicht in den Power-Down geht, also nur,
wenn der Timer abgeschaltet ist.

Gruß
Andi

von harry (Gast)


Lesenswert?

hi,

auf seite 42 datasheet is 'ne tabelle mit den wake-up sources. aus
power-down kriegste das teil nur mit 'usi-startcondition' (reicht
vielleicht schon ein pin-change) oder mit level int0 (nur high nach
low) wieder zum leben.

gruss, harry

von Andi (Gast)


Lesenswert?

Dachte eigentlich, auf Seite 42 steht auch was von Pin-Change für den
Pin-Change-IRQ.
Na ja, egal.
Muß ich halt mit 12 statt 7mA leben oder ich schaff mir mal eine
low-Power-Version an.
Ach ja: Ist der Unterschied mit dem Gesammt-Stromverbrauch zwischen 3V
und 5V eigentlich sehr Groß?
Oder ist das egal da der Spannungsregler dann von der 12V-Quelle statt
7V 9V auf Masse abführen muss?
Gibt es eigentlich einen Unterschied des Gesammt-Verbrauches wenn ich
statt einen 78S05 (max. 2A) einen 78L05 (max. 100mA) einsetze?

Gruß
Andi

von René König (Gast)


Lesenswert?

Der sollte sich schon mit Pin-Change wecken lassen. Selber benötigt habe
ich das mal bei einem Tiny12, und da ging das ganz hervorragend.
Allerdings ist das im Power Down etwas unempfindlicher (ebenfalls Seite
42):

"Note that if a level triggered external interrupt or pin change
interrupt is used from Power-down mode, the changed level must be held
for some time to wake up the MCU. This makes the MCU less sensitive to
noise. The changed level is sampled twice by the Watchdog Oscillator
clock, and if both these samples have the required level, the MCU will
wake up."

von Andi (Gast)


Lesenswert?

Das mit dem Watvhdog habe ich schon probiert und mit dem macht der nach
max. 2 Sekunden einen Reset wenn nix passiert.
Und das soll nicht sein.

Gruß
Andi

von René König (Gast)


Lesenswert?

Du sollst den Watchdog nicht enablen. Du sollst lediglich den Pegel nach
dem Wechsel noch eine geisse Zeit halten, damit der Wechsel auch erkannt
werden kann.

von Andi (Gast)


Lesenswert?

Das mit dem halten des Pegelwechsels, jetzt ohne WatchDog, hab ich ja
zuerst probiert gehabt.
Also, Pegel ist Anfangs high, Pullup an dem Pin ist an, ich drücke nun
die Taste auf meinem Testboard für den entsprechenden Pin und er kommt
nicht aus dem Power-Down raus.
Ich lasse den Taster los, drücke nochmals ein paar Sekunden und es
passiert nix.
Bei einem anderen Pin bei dem der µC eigentlich auch auf Pin-Change
reagiert ist es so, das der µC erst nach einem Wechsel von high auf low
und dann von low auf high machen muß damit der µC aus dem Power-Down
raus kommt.
Ich lass das nun mit dem Power-Down und benutze den Idle-Mode.
Da klappt alles.

Gruß
Andi

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.