www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Lastkapazitäten für 16MHz-Quarz am MSP430F2131


Autor: odic (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo zusammen,

ich habe derzeit Probleme mit einem 16MHz Quarz am MSP430F2131, welche 
ich mir nicht erklären kann. Der Quarz sitzt auf dem PCB ca. 1,5 cm vom 
µC entfernt. Lastkapazität laut Datenblatt sollte 32pF sein, was 
rechnerisch ca. 2 * 60pF ergibt. Das ungewöhnliche ist nur, daß der 
Quarz OHNE Lastkondensatoren problemlos und zuverlässig schwingt, wenn 
ich aber 2 * 33pF dran hänge (habe gerade nichts anderes zwischen 33pF 
und 100pF greifbar), läuft der MSP nicht an.

Kann mir das jemand zufällig erklären?


Beste Grüße,
odic

Autor: Christian R. (supachris)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Sind die internen Lastkapazitäten auch wirklich deaktiviert?

Autor: odic (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ja

Autor: Christian R. (supachris)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Dann weiß ich es aucvh nicht. So viel parasitäre Kapazität ist schon 
bissl viel, denke ich. Aber möglich ist alles. Kannst du ein Bild des 
Layouts aus dem entsprechenden Bereich posten? An den alten F16x 
funktionieren externe HF-Quarze nur mit 2x 33pF bis 2x 56pF, je nach 
Quarz. Ohne Cs schwingt da nix....

Autor: odic (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Mittlerweile habe ich eine Vermutung woran es liegt. Nach Austausch der 
SMD-Kondensatoren gegen bedrahtete mit ebenfalls 33pF läuft das Ganze. 
Eventuell sind das, was mir Reichelt als 33pF verkauft hat, doch etwas 
mehr.

Danke jedenfalls fürs Mitsuchen.....

Autor: Christian R. (supachris)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hihi, würde mich bei der Angelika nicht wundern. Kein Multimeter mit 
Kapazitäts-Schätzung zur Hand?

Autor: odic (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Sie wird ja die Kommissionierung doch wohl nicht selbst gemacht 
haben.... ;-)

Nee, momentan leider nicht. Ich werde ihn mal grob in einem RC-Glied 
abschätzen....

Autor: odic (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Habe neue SMD-Kondensatoren besorgt (diesmal 47pF) und jetzt tut alles. 
Es lag also vermutlich an den 33pF Kondensatoren, die gar keine 
waren....

Autor: Peter Diener (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

ich kann mir (ohne dein Design genauer zu kennen) nicht vorstellen, dass 
so viel Kapazität notwendig ist. Ich komme bei Standardquarzen bei 
meinem aktuellen MSP430F247 auf 2x 12 pF notwendige Außenbeschaltung. 
Ich habe 2x 10pF eingebaut und damit schwingt der Oszillator einwandfrei 
und mit allen Werten innerhalb der spec.

Zur vorherigen Frage, ob die richtige Lastkapazität intern eingestellt 
ist, muss ich sagen, dass das nur für den Niederfrequenzoszillator beim 
MSP gilt. Diese Einstellung wird im HF-Mode (der hoffentlich eingestellt 
ist) ignoriert.

Grüße,

Peter

Autor: odic (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Peter,

mein Quarz möchte 32pF sehen, 2x 47pF sind demnach genau genommen sogar 
zu wenig. Der Quarz schwingt allerdings auch ohne.

Woher hast du die Info, daß die internen Lastkapazitäten bei HF 
deaktiviert sind? Im Datenblatt finde ich nichts dergleichen.

Grüße,
odic

Autor: Peter Diener (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

hier her hab ich diese Info:

"
The software-selectable
XCAPx bits configure the internally provided load capacitance for the 
LFXT1
crystal in LF mode. This capacitance can be selected as 1pF, 6pF, 10pF 
or
12.5pF typical.
"

Family User's Guide MSP430x2 Seite 290. Man beachte: In LF mode.

"
Oscillator capacitor selection. These bits select the effective 
capacitance
seen by the LFXT1 crystal when XTS = 0. If XTS = 1 or if LFCT1Sx = 11
XCAPx should be 00.
"

User's Guide Seite 301. Man beachte: when XTS = 0.

"
XTS Bit 6 LFXT1 mode select.
0 Low frequency mode
1 High frequency mode
"

Seite 299. Man beachte: XTS = 0 entspricht nicht HF.

Hast du auch das folgende richtig eingestellt?

When LFXT1 is in HF mode, the LFXT1Sx bits select the range
of operation.

Um dir schnell zu helfen, prüf doch mal, ob deine Initialisierung 
korrekt ist. Hier ist eine von mir, die ist für einen 2er MSP430 und 
sollte auf deinem auch laufen. Sie konfiguriert den XT1 Oszillator für 
die Verwendung von einem 16 MHz Quarz.
  volatile int oscDelay;

  //Initialize clock generation system
  
  _BIC_SR(CPUOFF);                //Turn on Oscillator
  DCOCTL = 0x00;  //0b00000000;    //lowest DCO frequency, no modulation
  BCSCTL1 = 0xC0; //0b11000000;    //XT2 off, HF mode, ACLK not divided, DCO lowest freq.
  BCSCTL3 = 0x20; //0b00100000;    //XT2 range low freq., 3-16MHz XT1
  do
  {
    IFG1 &= 0xFD;                  //Clear Oscillator Interrupt Flag
  for(oscDelay = 0; oscDelay < 150; oscDelay++);    //wait some time
  
  }while (IFG1 & 0x02);            //test Oscillator fault flag and wait again if fault
  BCSCTL2 = 0xC8;  //0b11001000;  //XT1 as source for MCLK, do not divide MCLK, SMCLK source is XT2 (not present, so 0 Hz), do not divide SMCLK, internal DCO resistor
  
  //CPU should now be running on XT1 Crystal Clock source; attention: this consumes a lot of current



Viele Grüße,

Peter

Autor: Peter Diener (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
kleiner Fehler, es muss in der ersten Zeile heißen:
_BIC_SR(OSCOFF);  //Turn on Oscillator

also nicht CPUOFF sondern OSCOFF. Das ist mir gerade aufgefallen. Es hat 
aber auch anders funktioniert.

Autor: odic (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Peter,

vielen Dank für die ausführliche Beschreibung. Allerdings waren mir die 
entsprechenden Stellen des Datasheet bereits bekannt und ich denke auch, 
daß die Initialisierung bei mir korrekt ist.

"If XTS = 1 or if LFCT1Sx = 11 XCAPx should be 00."

Ich vermute mal wir interpretieren das Wörtchen "should" 
unterschiedlich.

Ich denke daß im HF mode durch entsprechende initialisierung manuell 
dafür gesorgt werden muß, daß die internen C's deaktiviert sind. (Was 
bei mir auch der Fall ist.)

Von einer automatischen Daktivierung im HF mode (du schreibst sie würden 
"ignoriert") habe ich nichts gesehen...

Grüße,
odic

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.