Hallo zusammen,
habe ein Problem beim anlöten eines Quarzes an das MSP Board. Mein Quarz
hat nur zwei Beinchen und somit klar wie er angelötet werden soll. Dem
MSP Datenblatt habe ich entnommen das der Quarz zwischen XIN und XOUT
angebracht werden muss, stimmt das? Laut Schaltplan sind das Pin 8 und
9. Nachdem ich die Pins über den Quarz verbunden habe wollte ich ein
Testprogramm aufspielen um zu sehen ob es geht. Zum testen habe ich das
TI-Beispielprogramm genommen. Das Problem ist jetzt das der Timer nicht
zählt. Wenn ich mir das TAR anschaue, wechselt das einmalig von 0x0000
nach 0x001 und bleibt dann so für alle zeit, bis ich resette.
Das TASSEL habe ich schon auf ACLK gestellt und wenn ich mim Oszi messe
schwingt nix.
Wo liegt der Fehler?
> ...wie lang die Kabel vom Qarz zu den Pins sein> darf?
Kabel am Quarz? Bist du sicher, dass das Ganze schwingt? Wir achten
darauf, dass die Anschlüsse so kurz wie möglich sind. Also << 20 mm.
GB
> GIbt es eig ne Vorgabe wie lang die Kabel vom Qarz zu den Pins sein> darf?
Kabel? Räusper ... Quarz und Lastkondensatoren gehören so dicht wie
möglich an die Pins. Bei über einem cm Leiterbahn werden manche Leute
schon nervös.
Das Prob ist das der Quarz nicht wirklich "Beinchen" hat sondern eher
zwei Pads. Irgendwie muss ich die ja aber auf de Platine befestigen. Wie
soll das ohne kurtze Leitungen gehen?
Was für ein Quarz ist das?
An LFXT1CLK kann man einen Uhrenquarz (32kHz, LF) oder was schnelleres
(>400kHz, HF) anschließen!
Beim Uhrenquarz dürfen keine C's verwendet werden, weil der MSP die
schon integriert hat (bzw. bei den F2xxx im BCSCTL3-Register auswählen).
Ausserdem darf XTS im BCSCTL1 nicht gesetzt sein (LF-mode). Manchmal ist
es auch notwendig/sinnvoll, das Gehäuse des Quarzes auf GND zu legen,
sonst schwingt der möglicherweise auch nicht...
Bei einem "schnelleren" Quarz müssen die entsprechenden Lastkapazitäten
angeschlossen werden und XTS gesetzt sein (HF-Mode).
Wenn Du Probleme hast, den Quarz auf die Platine zu löten, probier's
vielleicht mal an XT2 (aber nur HF-Quarz)!
>Wie erkenne ich diesen SMD-Footprint?
... an den zwei oder vier SMD-Pads vielleicht...?
Ich habe nicht gesagt, dass bei Dir da ein SMD-Footprint ist...
... bei meinem Board schon, ist aber ein anderes (F1xx)
An den im Anhang markireten Stellen befinden sich jeweils zwei Stellen,
die im Layout nicht eingezeichnet sind. Die grün makierten "Pins" sind
allerdings verbungen.
Könnten das dies SMD-Pads sein?
wuddy wrote:
> Da Hatte ich den Quarz ursprünglich angebracht, ohne Leitungen, also> direkt auf der Platine. Mir wurde allerdings gesagt das sei falsch.
Blödsinn. Der muss direkt da drauf. Alles andere wird nix. 16 MHz ist
auch wirklich das Maximum, was der MSP430 abkann. Was für Kapazitäten
hast du denn extern dran gelötet und welche hast du intern im Register
eingestellt? Das muss schon zur Lastkapazität des Quarzes passen, hab
ich hier schon 100 Mal geschrieben. Hast du auch wirklich den XT2
aktiviert und wartest du bis der stabil schwingt? Dann noch bei deinem
Timer die Taktquelle richtig ausgewählt?
wuddy schrieb:
>Da Hatte ich den Quarz ursprünglich angebracht, ohne Leitungen, also>direkt auf der Platine. Mir wurde allerdings gesagt das sei falsch.
Ja und Nein ;-)
Prinzipiell kommt ein Quarz schon direkt auf die Platine, nur hat keiner
der Typen in Deinem Datenblatt den richtigen Footprint, der da passen
würde!
Also entweder besorgst Du Dir einen Quarz, der passt oder Du frickelst
weiter...
Christian wrote:
>Hast du auch wirklich den XT2 aktiviert...
Die Pins an denen wuddy rumbastelt, gehören zu XT1!
OK, danke ich war schon verwirrt warum jetzt auf einmal die Rede von XT2
ist. Dachte schon ich hätte wieder was falsch im Handbuch interpretiert
:D
Noch ne Frage zu den Kontensatoren: Ist es egal ob man die internen oder
die externen nimmt, solange die gewünschte Kapazität erreicht ist, oder
gilt es da etwas zu beachten?
Sorry, hatte ich falsch gelesen. Kondensatoren sind egal, musst aber auf
die Kapazität kommen. Also wenn der Quarz 33pF Last-Kapazität hat, musst
du auf etwa jeweils 56pF für die Kondensatoren kommen.
Poste doch mal deinen Code. Kannst ja auch mal den Pin, der den
entsprechenden Clock ausgibt, aktivieren, und mit dem Oszi den SMCLK
oder halt MCLK messen.
>Noch ne Frage zu den Kontensatoren: Ist es egal ob man die internen oder>die externen nimmt, solange die gewünschte Kapazität erreicht ist, oder>gilt es da etwas zu beachten?>>Kondensatoren sind egal, musst aber auf die Kapazität kommen.
STOOOOOOPPPP!
Ich geh' mal von dem Fall aus, dass Du einen F2xxx benutzt.
Dann sind die internen Kapzitäten nur für den LF-Fall (Uhrenquarz
32kHz).
Im HF-Fall (400kHz - 16MHz) müssen externe C's verwendet werden und
ausserdem:
for(i=2100;i>0;i--);// Now with stable ACLK, wait for
20
// DCO to stabilize.
21
P1DIR|=0x01;
22
TACCTL0=CCIE;//Capture/compate Int enable
23
TACCR0=50000;//11kHz
24
TACTL=TASSEL_1+MC_2+ID_0;
25
TACTL|=MC1;//Timer starten
26
27
28
29
30
31
_BIS_SR(GIE);
32
while(1);
33
}
34
35
// Timer_A3 Interrupt Vector (TAIV) handler
36
#pragma vector=TIMERA1_VECTOR
37
__interruptvoidTimer_A(void)
38
{
39
40
41
42
P1OUT^=0x01;
43
CCR0+=50000;
44
45
46
}
Mein Oszi häng ich jetzt an den PIN 1.
Wenn ich das ganze über den internen Clock laufen lasse klappt es auch
wunderbar. Zumindest hat es das vor ner woche noch ^^ Jetzt will ich
aber höhere Taktraten erzeugen und muss ja dann auf den externen Qarz
umsteigen oder?
Ich seh in Deiner Init nicht, dass Du XT1 mal aktivieren würdest!!!
Du bist und bleibst doch auf DCOCLK?!
Konsultiere mal den User-Guide für Deine MSP-Familie und beachte mein
Posting von 9:32Uhr!
Mist, falsche Programmteile gepostet! Kommt davon wenn man tausend
Projekte geöfnet hat und nicht weiß was man grad macht :D Sorry!
Ja danke für den Tip mit den Beispielprogrammen, da hab ich schon
einiges rauskopiert.
Wenn ich obiges Programm laufen lasse kann ich an P2.0 eine Frequenz von
6,6kHz messen. Wie kommt das? Habe den Quarz erstmal entfernt, bis ich
weiß wo genau der hin kommt. Aber wie kann ich jetzt an p2.0 etwas
messen? der interne Quarz müsste doch abgeschaltet sein.
>Wenn ich obiges Programm laufen lasse kann ich an P2.0 eine Frequenz von>6,6kHz messen. Wie kommt das?
Pin toggeln bringt wenig um die Frequenz vom Quarz zu messen. Schalte
lieber den Takt direkt auf einen Pin durch.
Du hast das Clock-Management System des MSP430 einfach nicht begriffen.
Es gibt keinen internen Quarz. Nur einen DCO, das ist ein besserer
RC-Oszillator. Der ist vom Start weg aktiv und versorgt den MCLK und den
SMCLK mit etwa 800kHz, bis man etwas anderes einstellt. Wenn du einen
externen Quarz anschließen willst, kommt der so nah wie möglich an die
Pins für XT1 oder halt XT2. Und die beiden Kondensatoren müssen auch
dran. Dann musst du per Software den entsprechenden Oszillator
konfigurieren (HF/NF) und aktivieren. Dann wartest du bis der Oszillator
das Foult-Flag nicht mehr setzt, erst dann ist er stabil. Dann musst du
allerdings noch den MCLK und/oder SMCLK auf eben diesen Oszillator
umschalten, sonst laufen die immer noch weiter mit dem DCO. Steht aber
alles im User Guide und die TI-Demos sollten auch helfen. Die SMCLK und
MCLK kannst du auch gepuffert direkt ausgeben, da gibts mehrere Pins,
auf denen die Takte als Zweitfunktion liegen.
wenn ich aber keine SMD Pins habe bleibt mir nix anderes übrig wie den
Quarz so dicht wie möglich mit hilfe von Drähten dranzulöten, oder? Kann
nachvollziehen das sich da bei einigen die Haare kräuseln aber nen
anderen Weg find ich nicht.
Muss zugeben, dass mit dem System Clock find ich einfach verwirrend,
deshalb wende ich mich ja an´s Forum. Danke nochmals für die kurz und
pregnante Erklärung. Denke mal jetzt ist es etwas klarer geworden.
>wenn ich aber keine SMD Pins habe bleibt mir nix anderes übrig wie den>Quarz so dicht wie möglich mit hilfe von Drähten dranzulöten, oder? Kann>nachvollziehen das sich da bei einigen die Haare kräuseln aber nen>anderen Weg find ich nicht.
Für'n Bastelaufbau wird's schon gehen...
>zugeben, dass mit dem System Clock find ich einfach verwirrend,...
Wenn du dich mal etwas genauer/länger damit beschäftigt hast wirst du
feststellen das das alles doch nicht so kompliziert ist :)
Also ich hab den Qarz jetzt an die beiden Pins gelötet, Ganz brachial
mit Kupferdraht und Lötzinn. Wenn ich jetzt ein Programm laufen lasse
und mein Oszi an den den XIN Pin hänge bekomm ich nen halbwegs schönen
Sinus mit der Frequenz 16 MHz. Leider habe ich das zuvor nicht gemacht.
Deshalb kann ich nicht 100% sagen das es funktioniert.