Hallo, versuche schon seit geraumer Zeit den DCO auf eine hohe Taktrate(6,7,8 MHZ) zu stellen, klappt bei mir aber nicht so richtig. Schaffe mit externem Widerstand max. 4MHZ und internem ca.1,2MHZ. Habe RSEL auf 7 und DCO auf 7 eingestellt und Modulator schon mehrfach verändert. Vielleicht kann mir da jemand helfen.
bei welcher Spannung denn? 1.2MHZ intern erscheint mir sehr wenig. hab mal folgende (bei 3.6 Volt) Werte gemessen: RSEL |RSEL2 |RSEL1 |RSEL0 |MIN |MAX --------------------------------------------- 1 |0 |0 |1 |0.12 |0.25 2 |0 |1 |0 |0.20 |0.41 3 |0 |1 |1 |0.33 |0.68 4 |1 |0 |0 |0.56 |1.14 5 |1 |0 |1 |0.95 |1.94 6 |1 |1 |0 |1.54 |3.16 7 |1 |1 |1 |2.46 |5.05 externen Widerstand habe ich noch nie ausprobiert.
Erst mal danke für die Antworten. Hatte Resl und DCOCTL wie von Dir beschrieben eigestellt. Was meinst Du mit min und max, je nach Einstellung von DCOx ODER? BCSCTL1 |=( RSEL2 | RSEL1 | RSEL0 ); DCOCTL |= ( DCO0 | DCO1 | DCO2 ); Habe mit die Betriebsspannung auch noch mal erhöht, da ich mit 3V gearbeitet habe. Eine leichte Erhöhung der Taktfequenz(50 bis 60KHZ) war fest zustellen, mehr aber auch nicht.
habs nicht mehr genau im Kopf, aber in den unteren Bit's von DCOCTL war doch auch noch irgendwas für die Geschwindigkeit... zu MIN und MAX, die Widerstande stellen den groben Bereich ein, DCOCTL dann den Rest, 0xFF war meiner Meinung nach das schnellste, damit lief mein MSP430 mit ca 5MHz. Wo steht eigentlich welche Werte man für den externen Widerstand nehmen kann? Hab ich nie gefunden...
Habe gerade mal einen externen 100KOhm Widerstand ausprobiert, damit kommt der MSP430F123 locker über 10Mhz! Wie stabil er dann noch läuft kann ich dir aber nicht sagen :) clearBit(P2DIR , BIT5 ); //Pin setBit(P2SEL, BIT5); // Pin Funktion select setBit(BCSCTL2,DCOR); // externen Widerstand ein setBit(BCSCTL1, RSEL0 + RSEL1 + RSEL2); // interne Widerstände ein DCOCTL = 0xdc; // ca. 10MHz schon bei 0xdc! nebenbei soll die Frequenz mit externem Widerstand auch noch stabiler sein.
Laut Doku sollen auch mehr als 5 MHz möglich sein, wenn man einen externen Widerstand benutzt. Da steht 5MHz bei 200kOhm und 10 MHz bei 100kOhm. Nachzulesen in slau049c Seite 4-8. Ich bin gerade dabei eine deutschsprachige Referenz zum MSP430f149 zusammenzustellen die dann im Netz landet, wenn es was wird. (Mitte/Ende Juli auf www.microkontroller.de)
Nochmal ich. Mir ist die Bedeutung des DCO-Modulators nicht ganz klar. Es wäre super wenn mir das einmal jemand erklären könnte, damit ich das in die Referenz aufnehmen (und auch selber anwenden) kann. Weiterhin übernehme ich mal die Tabelle von Lanius in diesem Thread. Wenn Du etwas dagegen hast melde Dich bitte bei mir.
was genau verstehst du denn nicht? ich verstehe auch nur was man wissen muss :) also RSELx steuern den Strom in den Taktgenerator und damit den groben Takt. DCOx steuert den Takt dann feiner und MODx am feinsten (schaltet x-mal zwischen zwei DCOx- Einstellungen hin und her). da DCOx und MODx alle sinnvoll in DCOCTL untergebracht sind kann man sagen das RSEL den groben Tackt einstellt und DCOCTL den feinen.
Also ich hatte es auch so verstanden daß man damit irgendwie seine Takte synchronisieren kann. Ich meine, wenn ich einen 32,768 kHz Oszillator habe und eine ungenaue DCO.. kann ich dann den Modulator verwenden um einen genauen DCO-Takt zu bekommen in dem der DCO alle x Zyklen mit dem 32 kHz Takt synchronisiert wird ? Und wenn ja, wie kriegt man das hin ?
zB den Watchdogtimer mit dem 32Khz-Clock 1 Sekunde laufen lassen, TimerA mit dem DCO-Tackt, dann TimerA-Interupts zählen und im Watchdoginterupt gucken ob zu viele oder zu wenige Interupts da waren und DCOCTL vergrößern oder verkleinern.
Hallo zusammen, warum verwendet Ihr denn den DCO? Ich arbeite mit einem Quarzoszillator an Pin 53 (XT2). Funktioniert sehr gut. Momentan betreibe ich einen 2,5MHz Kristall, habe aber auch schon mit 8MHz (Maximale Taktfrequenz) gearbeitet. Gruß Bitwise
Ich muß aus Kostengründen auf einen externen Quarz verzichten, daher DCO. Vielleicht kann ich mir noch einen 32kHz Quarztakt von einem anderen Bauteil auf der Platine klauen, aber schnell genug wäre ich damit eh nicht, also Quarz nur für ACLK, DCO für MCLK ;-) Gruß m@is
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.