mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik AVR Power-Down mit USART wakeup


Autor: 2lazy2login (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

ist es möglich den AVR (ATMEGA169) in den Power-Down-Modus zu schicken
und ihn vom USART-Received-Interrupt wieder aufzuwecken?

Im Datenblatt steht davon leider nichts explizits drin (vgl
two-wire-interface) ...

Der Controller macht halt im Prinzip nichts anderes als auf die RS232
zu warten und da es sich um ein Batteriebetriebenes Gerät handelt, wäre
schon wünschenswert da Strom zu sparen ...

Weiß da jemand was näheres?

Autor: johnny.m (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Im Datenblatt, Abschnitt "Power Management and Sleep Modes" steht
eigentlich für jeden einzelnen Sleep-Modus, welche Interrupts zum
Aufwecken genutzt werden können. Habe kein Datenblatt vom 169 da, aber
bei anderen AVRs geht das über USART nur im IDLE-Mode und nicht im
Power-Down.

Autor: Stefan Kleinwort (_sk_)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Um Daten über UART zu empfangen, muss die CPU-Clock am laufen sein. Das
ist nur im Idle-Mode der Fall.

Es ist denbar, die Pegeländerung am RXD-Pin zum Aufwecken aus tieferen
PWDN-Modi zu benutzen, indem man den UART-Eingang sowohl auf RXD als
auch auf einen INT-Pin legt. Dabei ist aber zu beachten, dass der
Oszillator eine Weile braucht, um anzulaufen. Die ersten paar Bytes
einer Übertragung sind also Schrott. Abhilfe z.B. durch ein erstes
Dummy-Byte zum Aufwecken, dann Pause, dann erst Daten.

Bitte auch den Stromverbrauch der RS232-Treiber beachten. Es gibt
mittlerweile sehr gute Treiber mit PWDN-Möglichkeit, die während dem
PWDN den Zeichenempfang erlauben.

Gruß, Stefan

Autor: johnny.m (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@Stefan:
Richtig, im UART-Mode kann das aus genau dem Grunde nicht
funktionieren. Bei USART wäre das aber zumindest theoretisch möglich,
da bei USART-Operation der Schiebetakt von extern mitgeliefert werden
kann...

Aber wie schon weiter oben gesagt: Alle Theorie nützt nix, wenn die
Praxis dafür nicht vorgesehen ist...

Autor: Martin Thomas (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Beim ATmega169 kann der RX-Pin auch als Quelle fuer Pin-Change Interrupt
genutzt werden. Man benoetigt somit keine externe Verbindung RX zu INT0.

Autor: 2lazy2login (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
>>>
Beim ATmega169 kann der RX-Pin auch als Quelle fuer Pin-Change
Interrupt
genutzt werden. Man benoetigt somit keine externe Verbindung RX zu
INT0.
<<<

Gut das du das erwähnst ... Pin-Change-Interrupts funktionieren auf
meinem MEGA169 nämlich gleich überhaupt nicht ...

Ich wollte PB1 (anderes Problem) als PCInterrupt verwenden und habe
folgendes gemacht:


void PINC_Init(void)
{
// PCINT9 ist PB1
PCMSK1 |= (1<<PCINT9);
// Interrupt enable setzen
EIMSK |= (1<<PCIE1);
sei();
}

SIGNAL (SIG_PIN_CHANGE1)
{
[...]
}

Ich habs tausend mal mit dem Datenblatt gecheckt, aber ich finde den
Fehler nicht und der Interrupt wird einfach nicht ausgeführt ...

Autor: 2lazy2login (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Die Probleme haben sich jetzt doch endlich in Wohlgefallen aufgelöst
...

Ich verwende jetzt den Idle-Mode und beim anderen PCINT-Problem war der
Fehler natürlich im [...] versteckt ...

Ich glaub ich bin heute schon etwas arg müde und sollte lieber
Feierabend machen :/

Mfg
Thomas

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.