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
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....
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.....
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....
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
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
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.
1
volatileintoscDelay;
2
3
//Initialize clock generation system
4
5
_BIC_SR(CPUOFF);//Turn on Oscillator
6
DCOCTL=0x00;//0b00000000; //lowest DCO frequency, no modulation
BCSCTL3=0x20;//0b00100000; //XT2 range low freq., 3-16MHz XT1
9
do
10
{
11
IFG1&=0xFD;//Clear Oscillator Interrupt Flag
12
for(oscDelay=0;oscDelay<150;oscDelay++);//wait some time
13
14
}while(IFG1&0x02);//test Oscillator fault flag and wait again if fault
15
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
16
17
//CPU should now be running on XT1 Crystal Clock source; attention: this consumes a lot of current
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