Forum: Mikrocontroller und Digitale Elektronik Interner Oszillator


von wuddy (Gast)


Lesenswert?

Ich habe folgendes Problem. Habe ein Progamm erhalten das ich ich zum 
laufen bringen soll, ohne große Änderungen daran vorzunehmen. So wie es 
aussieht ist das Oszllator Fault Flag immer gesetzt. Über einen Clear 
Befehl lässt es sich nicht zuücksetzen. Anzumerken ist noch das das 
Program auf einem MSP4392619 laufen soll und nur die interne Taktquelle 
zu beutzen sei. Also keine externer Quarz. Muss die Taktquelle expliziet 
ausgewählt werden?
Das Thema Taktquelle ist allerdings absolutes Neuland für mich und aus 
dem Handbuch bin ich leider auch nicht wesentlich schlauer geworden.

von wuddy (Gast)


Lesenswert?

Bzw. woran liegt es das ich das OFIFG nicht rücksetzen kann?

von Christian R. (supachris)


Lesenswert?

Klar, wenn kein externer Quarz dran ist, ist das OSC-Fault Flag gestezt. 
Wenn du nur den internen DCO nehmen willst, musst du nur die Frequenz 
passend einstellen, per default ist der ah immer als Taktquelle drin. Du 
solltest wirklich langsam mal anfangen, den User Guide zu lesen und die 
Beispielprogramme bei TI anzuschauen und zu verstehen.
Hier steht doch in mehreren Beispielen, wie der DCO/FLL+ zu benutzen 
ist: http://focus.ti.com/lit/sw/slac151b/slac151b.zip

von wuddy (Gast)


Lesenswert?

Hm...Ok.. das bedeutet aus der Schleife komme ich nicht raus.
1
 while ((IFG1 & OFIFG) != 0);          // OSCFault flag still set?                
2
  BCSCTL2 |= SELM1;

von Christian R. (supachris)


Lesenswert?

Ohne externen Quarz nicht. Ich denke, du willst den internen DCO 
benutzen? Wieso nimmst du dann ein völlig aus dem Zusammenhang 
gerissenes Stück Quellcode für den Quarzoszillator?

von wuddy (Gast)


Lesenswert?

Das stand so in dem Programm das ich erhalten hatte. Stammt nicht von 
mir.

von wuddy (Gast)


Lesenswert?

Mit ist nicht ganz klar wie das mit den ganzen Taktquellen läuft, da 
werde ich auch nicht aus dem Handbuch schlauer.
So wie ich das verstanden habe gibt es ACLK ,SMCLK ,MCLK usw aber das 
sind doch nur Module oder? DCOCLK ist der interne Taktgenerator, der 
immer aktiv ist sofern kein externer angeschlossen ist. Aber wo und wie 
stell ich ein welcher Modus genutzt werden soll.

Hab spaßeshalber einmal vesucht das Timerprogram von gestern via ACLK zu 
takten und es geht nicht. Der Timer zählt nur einmal hoch, also bis 
0x01. Daraus schließe ich das nur ein Taktsignal ankommt.

von wuddy (Gast)


Lesenswert?

Kann ich denn überhaupt alle Taktmodule nutzen wenn ich mich nur auf den 
internen Clock beziehe?

von Christian R. (supachris)


Lesenswert?

Das sind keine Module, sondern einfach ausgedrückt nur Leitungen, die 
einen Takt führen können. Die CPU läuft mit dem MCLK, die 
Peripheriemodule meistens wählbar zwischen SMCLK und ACLK. Sinn dahinter 
ist, immer den stromsparendsten takt zu haben. Die Taktquellen (DCO, 
XT1, XT2...) sind extra Module. Jetzt kann man in den Basic Clock 
Registern festlegen, welche Taktleitung aus welchem Taktmodul versorgt 
werden soll. In der Standard-Konfig läuft der MCLK und der SMCLK mit dem 
DCO. Der ACLK ist am XT1, wenn da kein Quarz ist, ist da kein Takt.

Ich hab immer noch nicht verstanden, was du eigentlich vorhast? Willst 
du ein fertiges Programm, welches des externen Quarz benutzt, so 
umbauen, dass es mit dem DCO funktioniert? Oder wie?

Gleich auf der 1. Seite des Kapitels 5.1 im User Guide ist doch super 
verständlich erklärt, wie welche Takte verschaltet werden können. Seite 
287.

von wuddy (Gast)


Lesenswert?

Ja die Basic Clock Module sind im Handbuch ganz gut erkläter. Bin nur 
nicht gleich durchgestiegen was genau der ACLK macht. Ist jetzt aber 
klar. Mir war nicht klar das das zwar ein "internes" Signal ist aber von 
XT1 gesteuert wird. Da ja kein Quarz angeschlossen ist hat ACLK auch 
keinerlei Funktion.

Habe ein fertiges Program erhalten, das mit externer Taktversorgung 
läuft und soll es auf meinem MSP zum laufen bringen. Da ich allerdings 
auf die interne Taktversorgung angewiesen bin muss ich einiges ändern.

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.