Oscillator Fault bei MSP430F2012

OP #1127840
Lesenswert?
• ▲
▼
Ich habe den 2012 im Steckbrett am eZ430-F2013-Dongle. Es ist lediglich 
die Betriebsspannung und die Pins 10 (RST) und 11 (TEST) an den Dongle 
angeschlossen.

Seltsamerweise ist schon vor Ausführung des ersten ASM-Befehls das 
OFIFG-Flag (Oscillator fault) im IFG1-Register gesetzt.

Das Flag läßt sich nicht zurücksetzen, weder im Debugger, noch per
bic.b #OFIE, IFG1

Sobald ich den OFIE-Interrupt (Oscillator Fault enable) im IE1-Register 
freigebe lande ich in der NMI-Interrupt-Service-Routine.

Was ist da los?
OP #1128114
Lesenswert?
• ▲
▼
Nur leider bekomme ich den NMI auch, wenn ich einen Uhrenquarz an die 
Pins 12 und 13 hänge. Die Einstellungen für die Lastkondensatoren habe 
ich alle durchprobiert, ohne daß sich was geändert hat.

Ist das so kritisch, daß es im Steckbrett nicht funktioniert?
#1128122
Lesenswert?
• ▲
▼
D.h. das Bit kommt ständig wieder?
Normalerweise musst du ja erst warten bis der Quarz richtig 
angeschwungen ist bevor das Bit nicht mehr vom MSP gesetzt wird.

Siehe User Guide:
After a PUC, the basic clock module+ uses DCOCLK for MCLK. If required,
MCLK may be sourced from LFXT1 or XT2.
The sequence to switch the MCLK source from the DCO clock to the crystal
clock (LFXT1CLK or XT2CLK) is:
1) Switch on the crystal oscillator and select appropriate mode
2) Clear the OFIFG flag
3) Wait at least 50 μs
4) Test OFIFG, and repeat steps 1-4 until OFIFG remains cleared.
Gast #3132871
Lesenswert?
• ▲
▼
Hallo,

ich habe auch eine Frage bzgl des Oscillator-fault-Flags und den damit 
zusammenhängenden Interrupts, konkret ist mir nicht ganz klar, was ich 
eigentlich aus dieser Bedingung ableiten soll...

Wenn ich merke, dass der Oscillator instabil wird, zu langsam, zu 
schnell, oder was auch immer das Oscillator-Fault-Flag auslöst, was 
genau soll ich daraus denn nun schlussfolgern, bzw. welche Reaktion wäre 
angemessen?

In Beispiel Interrupt-Service-Routinen wird oftmals schliht das Flag 
zurückgesetzt...

Bestenfalls ist wohl die Zeitbasis zerstört.
Schlechtestenfalls hat der Controller ab Setzen des Flags noch ein oder 
zwei Takte bis er zum Stillstand übergeht...

In jedem Fall aber ist wohl bei einem Oscillator-Fehler davon 
auszugehen, dass dieser mit steter Regelmäßigkeit erneut auftreten 
wird..., sofern der Oscillator überhaupt nochmal anschwingt.

mfg

Antwort schreiben

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.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.