Hallo!
Ich habe mal eine Frage zum MSP430. Wie lange kann dieser im LMP3
"arbeiten", ohne aufgeweckt zu werden? Ich habe in der Literaur eine
Angabe von min. 0,5 Hz --> max. 2 Sek. gelesen. Ist das korrekt? Ist das
ganze anhängig von der Verwendung des Quarz-Oszillators bzw. VLO? Es
geht um den MSP430F2274.
Ich danke euch!
Ist mir schon klar, dass LMP3 die geläufige MSP430 Bezeichnung ist...
Die Angabe habe ich aus: "Das große MSP430 Praxisbuch". Ganz allgemein:
Muss er aufgeweckt werden, um sich zu synchronisieren?
achtung, muss nicht stimmen, aber
...ich denke mich daran zu erinnern, das der MSP aus dem LPM3 nur durch
den watchdog aufwachen kann...
der hat eine interne RC-clock... dh. du kannst die auslösezeit nur durch
den vorteiler des wdt manipulieren...
> Ist mir schon klar, dass LMP3 die geläufige MSP430 Bezeichnung ist...
Offensichtlich nicht, es heißt LPM3.
Im LPM3 ist beim 'F1xx nur noch ACLK aktiv, d.h. der externe Oszillator
(LF)XT1 (i.d.R. ein Uhrenquarz).
Den LPM3 kann der Prozessor durch einen Interrupt verlassen; die
Peripherie, die diesen Interrupt auslöst, muss auch mit ACLK versorgt
werden, da sowohl DCO als auch etwaig daraus abgeleitete SMCLK inaktiv
sind. Der DCO braucht zum Aufwachen 6 µs (steht so im user's guide).
Selbsttätiges Aufwachen lässt sich also mit einem Timer (Timer_A oder
Timer_B) bewerkstelligen, der mit ACLK versorgt wird. ACLK kann aus
LFXT1CLK mit einem Vorteiler von 8 gespeist werden (also 4 kHz), der
Timer selbst wiederum hat einen eigenen Vorteiler von maximal 8, also
500 Hz. Der Timer läuft nach 2^16 Takten über, das dauert bei 500 Hz
Takt etwas über 130 Sekunden.
Soll der Prozessor sich zyklisch selbst aus LPM3 aufwecken, so können
dazwischen nur wenig mehr als zwei Minuten verstreichen.
(Sicherlich könnte man versuchen, LFXT1 mit geringerem Takt als 32 kHz
zu versorgen, dann lässt sich die Weckperiode entsprechend verlängern).
Wenn aber der Prozessor mit einem externen Ereignis aufgeweckt wird,
kann er beliebig lange im LPM3 bleiben.
>Selbsttätiges Aufwachen lässt sich also mit einem Timer (Timer_A oder>Timer_B) bewerkstelligen,...
Oder mit dem Watchdog.
>Ist das ganze anhängig von der Verwendung des Quarz-Oszillators bzw. VLO?
Da der VLO schön langsam ist (um 10kHz), bekommt man (wenn ich mich
jetzt nicht auf die schnelle verrechnet habe) folgende maximale
Intervalle:
Mit Watchdog mit Counter 32768 = ~3,2Sek
Mit TimerA/B mit Teiler 8 und Überlauf bei 0xFFFF = ~52,4Sek
Wenn du einen noch langsameren Quarz verwenden würdest, würden die
Zeiten natürlich noch weiter steigen.
Ist doch kein Problem, wenn der MSP430 regelmässig aus dem LPM3
aufwacht, z.B. durch den Timer-Overflow-Interrupt des TimersA.
Damit kannst Du gleich einen Zähler hochzählen lassen, der die Unix-Zeit
darstellt.
Anschliessend geht der MSP430 sofort wieder in den LPM3-Mode und braucht
damit nur Strom im Mikroampere-Bereich (so um die 5 Mikroampere)
Vielen Dank für die Erklärungen!
@ rufus: Bist du dir sicher dass ACLK und Timer selbst einen Vorteiler
von max. 8 haben? Ich kann im DB lediglich eine Angabe für den ACLK
finden (DIVAx = Divider for ACLK). Wie gesagt, es geht um den
MSP430F2274.
Datenblatt: http://focus.ti.com/lit/ds/symlink/msp430f2274.pdf
Grüße
Ich bezog mich auf eine ältere Variante, 'F1xx (1611).
Der hat im Basic Clock Module eine Vorteiler, mit dem ACLK aus
LFXT1CLK erzeugt wird:
BCSCTL1, DIVAx
Den Vorteiler für das Taktsignal von Timer_A sollte aber jede
Timer_A-Variante haben:
TACTL, IDx
Neuere Varianten können mehr, so hat z.B. der Timer_A im 'F5xx noch
einen zusätzlichen Eingangsteiler:
TAEX0, IDEXx
mit dem nochmal durch Werte von 1..8 geteilt werden kann.
Einen VLO hat die 'F1xx-Reihe nicht, der ist mit dem neueren Clock-Modul
der von Dir verwendeten Reihe dazugekommen.
Ja, die neueren MSP430-Varianten sind teilweise äußerst interessant;
ich werde mich in absehbarer Zeit eingehend mit dem "Dickschiff", dem
'F5438, auseinandersetzen dürfen.
>Ich bezog mich auf eine ältere Variante, 'F1xx (1611).>Der hat im Basic Clock Module eine Vorteiler, mit dem ACLK aus>LFXT1CLK erzeugt wird:
Hat der F2xx doch auch.