mikrocontroller.net

Forum: Compiler & IDEs MSP430 DCO


Autor: Dirk Schmieding (Gast)
Datum:

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

Autor: Lanius (Gast)
Datum:

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

Autor: Lanius (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
ich hoffe du hast DCOCTL nicht auf 7 gesetzt...

probier mal DCOCTL = 0xFF

Autor: Dirk Schmieding (Gast)
Datum:

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

Autor: Lanius (Gast)
Datum:

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

Autor: Dirk Schmieding (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Habe irgendwo im einer A-note was von 100K gelesen.

Autor: Lanius (Gast)
Datum:

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

Autor: Kai Eckardt (Gast)
Datum:

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

Autor: Kai Eckardt (Gast)
Datum:

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

Autor: Lanius (Gast)
Datum:

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

Autor: Kai Eckardt (Gast)
Datum:

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

Autor: Lanius (Gast)
Datum:

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

Autor: Bitwise (Gast)
Datum:

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

Autor: Dirk Schmieding (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich neheme den DCO, da ich Platzprobleme habe und Kosten sparen will.

Gruß Dirk

Autor: m@is (Gast)
Datum:

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

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.