Hallo an alle! Ich habe vor kurzem mit der Programmierung von MSP430F149 angefangen. Kann mir jemand sagen mit welcher Taktfrequence dieser Controller läuft (by default)? Und wie kann man den auf die gewünschte Taktfrequence einstellen? Zum Beispiel 3 oder 5 MHz. Kann das jemand auf einfache Weise erklären? Am besten mit einem Beispiel. Aus UsersManual bin ich nicht wirklich schlauer geworden. Und die Suche hat auch nicht viel geholfen. Zu meinem Controller: ist ein MSP430F149 auf dem HeaderBoard von Olimex. Soweit ich weiss der hat einen externen 32.768-er Quarz. Als Software benutze ich "MSP430 IAR C/C++" Danke schon mal.
HI, nun dein Quarz läuft mit 32kHz. Wenns schneller gehen soll kannst du als Takt den DCO benutzen. S.119 im User-Guide. Besser du kaufst dir nen Quarz und hängst in an XT2. Kostet nen Euro. Gruß Marc
Danke für die Antwort. Soweit ich verstanden habe, ist das nur der Referenzquarz. Der Processor tickt dank Multiplikator(en) aber schneller. ACLOCK tickt tatsächlich mit 32kHz. Im "MSP430 Praxisbuch" auf der Seite 143 habe ich folgendes gefunden: "Falls fSystem = 1.048 MHz die gewünschte Arbeitsfrequenz ist, braucht nichts weiteres getan zu werden". Allerdigns bezieht sich das Buch auf MSP430F449 mit FLL+. Ob das auch für MSP430F149 gilt? Für meine Anwendung reichen die 1.048 MHz vollkommen. Allerdings muss ich die tatsächliche Arbeitsfrequenz wissen. Angenommen ich brauche ein Delay für 400µs. Wie macht man das ohne zu wissen wie lange ein Takt dauert? Die S.119 im UserQuide schlage ich gleich auf.
Also wenn du nicht herraus bekommst mit welchem Takt dein uC läuft kannst du z.B ne schleife schreiben. Bei beginn eine LED einschalten. Am ende wieder ausschalten und die Zeit stoppen. Dann brauchst du noch die Anzahl duchgelaufener Taktschritte für deine Schleife. Stell dir lieber den DCO richtig ein oder Kauf dir besser einen 4Mhz Quarz und teile ihn runter. Ich weiß nämlich nicht wie schnell der DCO laufen kann ohne einen externen Widerstand an Rsoc zu klemmen. Bei Default läuft er mit DCO. "After a PUC, MCLK and SMCLK are sourced from DCOCLK at ~800 kHz (see device-specific datasheet for parameters) and ACLK is sourced from LFXT1 in LF mode." im UserGuide gruß marc
Hallo, soweit ich weiß, läuft der MSP430f149 mit der MCLK also mit ca. 800kHz sofern du nichts anderes ausgewählt hast. Auf der Seite von TI gibt es ausführliche C und ASM Codebeispiele. Weiß nicht, ob die von mir angehängten der aktuellste Stand sind. Jedoch findest du darin Beispiele, wie du den MSP430 mittels DCO auf deine gewünschte Taktfrequenz bringst. Gruß
Du kannst ein externer Quarz (theoritisch bis 8MHz)als Taktfrequenz fuer den MSP einsetzen und dieser als Systemtakt auswaehlen.In der Praxis habe ich den MSP bis 17 MHz ohne Probleme uebertakt .Ich musste aber 4,5V als Betriebsspannung verwenden.
Im Moment brauche ich keine höhere Taktfrequenz für meine Anwendung. Ich wollte in erster Linie wissen wie schnell er by Default läuft. Sollte ich höhere Frequenz brauchen, werde ich wahrscheinlich wirklich einen externen Quarz dazuschalten. Habe irgendwo gelesen/gehört dass wenn man es per DCO schneller taktet, ist die Taktfrequenz nicht kostant weil temperaturabhängig. Stimmt das? Wenn ja, kann man es wohl für z.B UART-Kommunikation mit höheren Baudraten als 9600 nicht benutzen.
Hiho, Du solltest den DCO in den MSP430Fx1xx generell nicht fuer UART nehmen,da er wirklich sehr stark ueber die Temperatur schwankt und auch stark exemplarabhängig ist. In den neuen MSP430Fx2xx werden im Werk Kalibrierwerte im Info-Flash abgelegt. Diese muss man dann bei der Initialisierung in die DCO-Register schreiben. Der DCO schwingt dann ziemlich genau mit der eingestellten Frequenz (ich glaube 1,8,12 oder 16 MHz,3% Toleranz über den gesamten Temperaturbereich) Dies sollte fuer eine saubere UART-Kommunikation reichen. Waeren die neuen Derivate eine Option fuer Dich?
>Waeren die neuen Derivate eine Option fuer Dich?
Sorry, was meinst du damit?
Hallo, also ich spare mir den externen Quarz > 32.768 Hz und verwende den DCO auch für UART. Der DCO ist wie aus dem Datenblatt hervorgeht sehr stark Temperaturabhängig. Dieses Schwanken über der Temperatur kann durch einen externen Widerstand am rosc Portpin minimiert werden. Im slac069.zip File gibt es Beispiele wie der DCO auf eine bestimmte Frequenz eingestellt werden kann. B.z.w. die eingestellte Frequenz überprüft und gegebenenfalls nachgeregelt wird. Kleinste Schrittweite ist da meineswissens 32768Hz/8 = 4096Hz. Bei 5MHz ist dieser Fehler somit < 0,1%. UART Anwendungen weit über 9600 baud sind damit nach meiner Erfahrung gut machbar. Weiß vielleicht jemand wieso TI der 2XX Serie die bis 16MHz taktbar ist, keinen Hardware Multiplyer spendiert hat? Gruß
Hiho, meines Wissens sind bisher nur die kleinen Derivate der 2xx verfügbar. Die haben keinen HW-Multiplizierer, wie Du richtig erwähnst. Ich denke mal rein aus Kostengruenden. Sollten demnaechst auch die groesseren folgen, wird er wieder mit an Bord sein, denke ich. Ich habe seit zwei Wochen den F2013 in der Mache, der geht gut ab und der neue DCO haelt bisher, was er verspricht.
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.