AVR Externer Interrupt und Power-Down

OP Persönliche Seite #1707837
Lesenswert?

Eine komplizierte Frage aus reinem Interesse:

Beim Atmel AVR funktioniert die Flankenerkennung bei externen 
Interrupten nicht, wenn der Controller in den Schlafmodus Power-Down 
geht. Allerdings gibt es seit einer Weile den Pin-Change-Interrupt 
(PCI), bei der der Controller nach jeglichem Wackeln an den Eingängen 
selbst noch aus Power-Down aufwacht. Nun habe ich die Problemstellung, 
das ich den Schlafmodus Power-Down wegen Batteriebetrieb nutzen möchte 
aber die Software-mäßige Flankenerkennung in der PCI-ISR aus 
zeitkritischen Gründen eher vermeiden möchte.

Daher meine Frage, ob der externe Interrupt als fallende Flanke auslöst, 
wenn vor dem Schlafengehen der Eingang auf Highpegel lag und nach dem 
aufwachen selbiger sich auf Lowpegel befindet?

Soweit sei verraten das der Interrupt ausgelöst wird, jedoch bin ich mir 
nicht sicher, ob es eventuell durch das Schalterprellen geschieht und 
dann je nach Fertigungsstreuung mal geht und mal nicht. (Obwohl das auch 
nicht soviel macht, denn dann muss man halt den Drehimpulsgeber zwei 
ticks bewegen)

Bin mal gespannt, ob da jemand eine Antwort darauf kennt.
Gast #1707949
Lesenswert?

Ja der kann bloß auf low oder high level reagieren....

aber achtung: konfigurierst du den interrupt auf low und schliesst einen 
schalter an der den pin auf low zieht und der interrupt sehr schnelll 
zuende ist, dann löst er noch mal aus du solltest also am ende warten 
bis der pin wieder high ist und dann den interrupt "beenden"
#1708012
Lesenswert?

Ernestus Pastell schrieb:
> Nun habe ich die Problemstellung,
> das ich den Schlafmodus Power-Down wegen Batteriebetrieb nutzen möchte
> aber die Software-mäßige Flankenerkennung in der PCI-ISR aus
> zeitkritischen Gründen eher vermeiden möchte.

Hä ???

Aus dem Power-Down braucht der AVR je nach Taktquelle eh ne ganze Weile, 
um den CPU-Takt zu stabilisieren.
Da fallen die popeligen 2/3 Zyklen, um nen Pin zu testen (SBIS+RJMP) 
überhaupt nicht auf.


Peter
OP Persönliche Seite #1708147
Lesenswert?

> Hä ???
>
> Aus dem Power-Down braucht der AVR je nach Taktquelle eh ne ganze Weile,
> um den CPU-Takt zu stabilisieren.
> Da fallen die popeligen 2/3 Zyklen, um nen Pin zu testen (SBIS+RJMP)
> überhaupt nicht auf.
>
>
> Peter

Jetzt ist mir nicht ganz klar worauf du hinaus willst. Das zeitkritisch 
bezieht sich auf die Abarbeitung des Interrupt in Normalbetrieb.

Ein Drehimpulsgeber kann auf Low hängen, denn dann funktioniert die 
Sache mit dem Level-Interrupt mit Power-Down nicht mehr und die Batterie 
ist nach einigen Wochen leer.
Gast #1708172
Lesenswert?

Hi

>Jetzt ist mir nicht ganz klar worauf du hinaus willst.

Er meint den PIN-Change-Interrupt.

>Das zeitkritisch bezieht sich auf die Abarbeitung des Interrupt in 
>Normalbetrieb.

Drehgeber und Interrupt?

MfG Spess
#1708182
Lesenswert?

Ernestus Pastell schrieb:
> Jetzt ist mir nicht ganz klar worauf du hinaus willst. Das zeitkritisch
> bezieht sich auf die Abarbeitung des Interrupt in Normalbetrieb.

Auch für nen normalen Interrupt sind 2/3 Zyklen nur Pinats. Schon ein 
leerer Interrupt kostet 10 Zyklen, mit Prolog,Epilog 30 Zyklen 
(AVR-GCC).

Außerdem kann man beide Aufgaben trennen:
Pinchange zum Aufwachen, externer Interrupt im Betrieb.


Peter

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren