mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Interner Oszillator


Autor: wuddy (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: wuddy (Gast)
Datum:

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

Autor: Christian R. (supachris)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: wuddy (Gast)
Datum:

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

Autor: Christian R. (supachris)
Datum:

Bewertung
0 lesenswert
nicht 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?

Autor: wuddy (Gast)
Datum:

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

Autor: wuddy (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: wuddy (Gast)
Datum:

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

Autor: Christian R. (supachris)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: wuddy (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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.

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.