Forum: Compiler & IDEs MSP430 Takt einstellen


von Mathias (Gast)


Lesenswert?

Hallo erstmal!

Wenn ich gar nichts angebe läuft der MSP auf 32,7 kHz, richtig?

Ich habe in der Anleitung zum Flash Emulation Tool von TI gesucht wie
man den Takt höher einstellt.

Kleiner Tipp wäre schön.

Gruß Mathias

von Rainer Huber (Gast)


Lesenswert?

Wenn du nichts angibst, verwendet der MSP den internen DC-Generator
(DCO) ~800kHz.

von Mathias (Gast)


Lesenswert?

ok,

ich habe einen externen Quarz an XOUT(PIN5) und XIN(PIN6) hängen, damit
wird der Hilfstakt ACLK=32,768 kHz erzeugt.

Wenn ich nichts ändere lauf ich auf den vom internen DCO erzeugten
700-800 kHz.

Der XT2CLK ist ein vielfaches des ACLK, richtig?

von Rainer Huber (Gast)


Lesenswert?

Na ja, nicht jeder MSP430 hat einen XT2CLK.
Aber auf jeden Fall einen LFXTCLK.

Das Quarz generiert den LFXTCLK. Dieser ist der Ursprung für den ACLK
und kann durch die DIVA-Bits noch heruntergeteilt werden.

von Mathias (Gast)


Lesenswert?

stimmt, nur die x13, x14, x15 und x16 haben den XT2CLK.

bei meinem F123 kann ich aber auch LFXTCLK nehmen für die MCLK. Wie ich
jetzt sehe, müsste ich auch mit dem internen DCO auf 8MHz kommen.

Mal sehen ob ich das hinbekomme...

von Mathias (Gast)


Lesenswert?

Ich habe folgende Einstellungen gemacht:

DCOCTL = DCO0 + DCO1 + DCO2;
BCSCTL1 = RSEL0 + RSEL1 + RSEL2;
BCSCTL2 = SELM_0 + DIVM_0 + DIVS_0;

wenn ich jetzt einen Port wackel und mir das ganze mit dem Oszi anschau
komm ich auf knappe 5 MHz

Hab ich schon an alles gedacht oder fehlt noch was?

PS: da es hier mehrere Mathias'e gibt werde ich küftig mit einem Nick
posten

von Benni (Gast)


Lesenswert?

In der 'ct Stand letztens ein Artikel zum MSP... die Funktion findest
du im LED-Programm led.c
Da steht jedenfalls genau, wie man den Quarz zuschaltet. hab den Code
gestern selber in mein Prog kopier - läuft extrem viel schneller.
genaueres weiß ich nicht.
Benni


http://www.heise.de/ct/ftp/projekte/mikrocontroller/

von m@is (Gast)


Lesenswert?

so wie ich das sehe kann ich mit dem Quarz nicht höher kommen, als mit
dem DCO(oder?)
Wenn ich mit dem 32kHz Takt auf MCLK gehen will kann ich ja nur noch
den DIVM auf 1/2/4/8 stellen => 32kHz wäre max.

Mit dem DCO und dem MODx komm ich auf die o.g. 5MHz.

Wie ich heute in einer Mail von der gcc-mailing-list gelesen habe, ist
bei anderen die max Frequenz an einem gewackeltem Port bei 4,7 MHz.
Dann lieg ich wohl schon gut im Rennen.

Gibt es noch einen Weg schneller zu werden?

von Paul (Gast)


Lesenswert?

@ m@is

Man schließe einfach einem 8MHz Quarz an den LFXTCLK an und schon ist
man über der internen Frequenz (bei mir 4,7 MHz) vom DCO. Falls man
aber nicht auf stabile Frequenzbasis angewiesen ist, so reicht ein
Widerstand am R_osc (P2.5), denn damit lässt sich das interne R/C Glied
zur Takterzeugung für den DCO ziehen. Die genauen Widerstandswerte
kenne ich nicht, sie lassen sich aber sicherlich experimentell
bestimmen.
Irgendwo im inet behauptete einer seinen MSP mit 10 MHz zu betreiben.

von m@is (Gast)


Lesenswert?

Danke Paul,

ich probier erstmal das mit dem Widerstand, laut Datenblatt verbessert
das ja auch die Temperaturstabilität. Die genauen Werte müssen doch
irgendwo stehen. Ich such sie mal raus.
Aus Kostengründen fällt der externe Quarz bei mir flach, aber gut zu
wissen das eine Übertaktung anscheinend stabil läuft.

Gruß m@is

von Lanius (Gast)


Lesenswert?

wenn ich das war, der das mit den 10 MHZ behauptet hat, dann kann ich
dazu nur sagen das der Controller mit 10Mhz im Test lief. Ich hab
keinen Dauertest gemacht und keine interne Hardware wie AD-Wandler usw
getestet.


http://www.mikrocontroller.net/forum/read-2-29838.html#30172

von m@is (Gast)


Lesenswert?

@ Lanius: Danke für Deinen Hinweis

PS Ich hab jetzt mal einen 100k an Port 2.5 gehängt, ber noch nicht
geprüft ob es bei Temperaturänderung was bringt. Bei normaler
Temperatur siehts gleich aus.

Gruß m@is

von m@is (Gast)


Lesenswert?

Nur weil ich schon eine Mail bekommen habe und es vielleicht jemanden
interessiern könnte:
Hier noch mal die richtigen Settings, DCOR enabled den externen
Widerstand. Diesen an die Spannungsversorgung hängen, nicht auf Masse
legen ;-)
Ich nutze einen 100k Widerstand, habe aber nicht weiter
experimentiert.

DCOCTL =   DCO0 + DCO1 + DCO2;
BCSCTL1 = RSEL0 + RSEL1 + RSEL2;
BCSCTL2 = SELM_0 + DIVM_0 + DIVS_0 + DCOR;

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.