www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik MSP430 low power modi


Autor: Dussel (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Wer  schon den MSP430 benutzt: in welchen Power Modi läßt sich der 
Controller durch einen seiner internen Timer noch aufwecken? (also wenn 
ich möchte, dass er aufwacht, ohne dass der Interrupt  von extern 
erfolgen muss)
Und wie lang können diese Timerintervalle maximal sein ? Werde aus dem 
Datenblatt nicht ganz schlau..

Autor: Falk Brunner (falk)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@ Dussel (Gast)

>Wer  schon den MSP430 benutzt: in welchen Power Modi läßt sich der
>Controller durch einen seiner internen Timer noch aufwecken? (also wenn

LPM0...LMP3

>Und wie lang können diese Timerintervalle maximal sein ? Werde aus dem

Beliebig. Praktisch aber durch den 32kHz Uhrenquarz + Vorteiler 
begrenzt. Bei vollem 16 Bit Zählumfang ca. alle 2s, bei Vorteiler 8 alle 
16s.

>Datenblatt nicht ganz schlau..

MfG
Falk

Autor: Stefan (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Das hängt davon ab, welche Clock-Source Du für den jeweiligen Timer 
benutzt:

1.) SMCLK für Timer_A oder WDT -> LPM0 u. LPM1
2.) ACLK für Timer_A oder WDT  -> LPM0 bis LPM3
3.) ext. Clock für Timer_A     -> LPM0 bis LPM4

Zu den Timerintervallen:
Das hängt natürlich auch von Deiner Clock-Frequenz ab!
Der WDT hat als größtes Intervall 32768*T_Clk. Du kannst aber auch eine 
Zählervariable nehmen und mit jedem Timer-Intervall hochzählen. Erst 
wenn die Variable einen bestimmten Wert überschreitet, weckst Du den µC 
wieder auf. Damit sind praktisch (fast) unbegrenzte Zeitintervalle 
möglich!

Autor: Dussel (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Danke für die schnellen Antworten.
Versteh ich das falsch, oder müsste ich um die Zählervariable zu 
inkrementieren und lesen dann erst aus dem low power Modus raus, weil 
die CPU abgeschaltet ist?
Bräuchte am besten einige Minuten lang ununterbrochenen Low Power Modus 
zum Energie sparen.

Autor: Stefan (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
> Versteh ich das falsch, oder müsste ich um die Zählervariable zu
> inkrementieren und lesen dann erst aus dem low power Modus raus, weil
> die CPU abgeschaltet ist?

Nein, denn jeder Interrupt weckt den µC aus dem LPM auf, arbeitet die 
entsprechende ISR ab und geht dann wieder in den vorher definierten LPM 
zurück. Wenn Deine Zählvariable also in der ISR inkrementiert wird, dann 
musst Du nichts weiter machen.
Erst wenn dein 'Aufweck-Zeitintervall' abgelaufen ist, musst Du in der 
ISR den LPM wieder ausschalten, damit Dein normales Programm ablaufen 
kann!
Da die ISR in der Regel recht kurz sind (zumindest sein sollten!) ist 
der Stromverbrauch beim kurzzeitigen Aufwecken (nur für die ISR) recht 
gering. Also einige sek. oder min. LPM machen fast keinen Unterschied!

Autor: Falk Brunner (falk)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@ Dussel (Gast)

>Versteh ich das falsch, oder müsste ich um die Zählervariable zu
>inkrementieren und lesen dann erst aus dem low power Modus raus, weil
>die CPU abgeschaltet ist?

Ja.

>Bräuchte am besten einige Minuten lang ununterbrochenen Low Power Modus
>zum Energie sparen.

Und? Mit 32k Uhrenquarz und Vorteiler 8 alle 16 Sekunden für ein paar 
Mikrosekunden aufwachen, Variable hochzählen und wieder schlafen. Die 
paar uA fallen unter ferner liefen.

MFg
Falk

Autor: Jörg S. (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Viele der neuen F2xx Serie haben einen eingebauten 12kHz Taktgenerator. 
Damit kann man die Zeitspanne noch mal etwas erhöhen.

Autor: Falk (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@ Jörg S. (Gast)

>Viele der neuen F2xx Serie haben einen eingebauten 12kHz Taktgenerator.
>Damit kann man die Zeitspanne noch mal etwas erhöhen.

Wobei der sicher relativ ungenau ist. Ein 32 kHz Uhrenquarz ist, Nomen 
est Omen, uhrengenau.

MfG
Falk

Autor: Jörg S. (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Kommt darauf an was man machen will. Für den bau einer RTC ist der 12kHz 
natürlich eher schlecht :) Ich nutze den bei einer kleinen Sensoreinheit 
die nur alle ~1,5 Sekunden aufwacht, da spielt halt auch eine größere 
Abweichung keine Rolle.

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.