PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Probleme mit 16MHz Quarz am mega8 --> kein Takt?



goof1980
28.12.2008, 19:14
Hallo,

ich habe jetzt das erste mal eine Schaltung in der ich einen externen Takt brauche. Ich habe einen mega8. Angeschlossen sind an den Ausgängen paar Transistoren. Dann sind für die ISP Schnittstelle die entsprechenden Leitungen mit einer Steckerleiste verbunden. Mehr nicht, GND und VCC noch.

Jetzt wollte ich einen 16MHz Quarz an XTAL1 und XTAL2 anschließen. Und ich habe gelesen das pro Anschluss noch ein 22pF Kondensator ran muss gegen Masse. Wenn ich das so anschließe läuft der mega8 nicht. Knips ich einen Kondensator ab funktioniert er und auch komplett ohne Kondensatoren geht der mega8.

Ich weiß nicht ob die Beschaltung richtig ist und/oder ob ich noch andere Leitungen beachten muss. Ist halt nur bissel Merkwürdig. Und mein ISP funktioniert auch nicht, wobei es aber vielleicht an dem Takt-Problem liegt.

Vielleicht hat einer eine Idee.

Besten Dank vorab.

Gruss Christian

oZe
28.12.2008, 19:33
Das hast du vom Prinzip her schon richtig verstanden. Du solltest allerdings beim design deiner Schaltung drauf achten, dass das (oder heißt es der?) Quarz möglichst nah am µC ist und auch die beiden Kondensatoren möglichst nah am Quarz sind. Also keine langen Leiterbahnen verlegen für den Takteingang ;-)
Dann musst du natürlich noch die Fusebits richtig setzen (also auf externen quarz mit hoher frequenz).
Falls es dann noch nicht geht kanns eventuell noch sein das einer der Kondensatoren defekt ist und somit xtal1 oder xtal2 direkt auf masse legt aber das ist alles ehr unwarscheinlich.

goof1980
28.12.2008, 19:54
also den mikrocontroller hab ich auf nem stk500 programmiert. fusebits und programm passen, bin ich mir eigentlich 100% sicher.
und quarz und kondensatoren liegen eigentlich dicht aneinander.
ich weiß nicht ob es probleme gibt das ich halt relativ lange leitungen (5-8cm) vom mikrocontroller zu der stiftleiste habe. ob es da evtl. störungen gibt weil die quer über die platine gehen.
und muss ich den reset auf irgendwas ziehen?

Besserwessi
28.12.2008, 20:36
Es kann auch mal ohne die Kondensatoren gehen, wenn die Leitunge eher Lang sind und so schon etwa Kapazität haben. Auch die Leitungen vom Controller zum Quarz sollen kurz ( < 2 cm, besser unter 10 mm) sein.

Ist sicher das das 22 pF und nicht eventuell mehr sind ?

PICture
28.12.2008, 21:10
Hallo!

Ich habe im Code eine Ersatzschaltung für Quarz skizziert. Es sollte C1 + Cm1 = CL und C2 + Cm2 = CL sein, wobei Cm1 und Cm2 Montagekapazitäten sind und CL für den Quarz vom Hersteller empfohlene Kapazität ist. Wenn die Montagekapazitäten genug groß sind, sind die C1 und C2 natürlich unnötig.

MfG

A zum µC A
| |
| |
| Quarz |
| _ |
| | | |
+---+---|| ||---+---+
| | |_| | |
--- --- --- ---
C1--- ---Cm1 Cm2--- ---C2
| | | |
=== === === ===
GND GND GND GND

kolisson
29.12.2008, 05:15
halo goof1980
bei den fuses solltest du dich nicht ins boxhorn jagen lassen.
wenn du einmal gewählt hast "external oscillator" ... dann ist erstmal schluss.

dann brauchst du auch einen "external oscillator" damit das ding dich wieder versteht

also.. bastel nicht ewig rum.. sondern überlege , was du getan hast

gruss klaus

pongi
29.12.2008, 09:36
Wenn Du einen Atmega8L hast, geht der nur bis 8MHz (laut Datenblatt).

goof1980
29.12.2008, 11:52
also ich habe einen atmega8-16pu. die fuses sind auf extern gestellt und 16MHz. wenn ich den prozessor z.B. auf dem stk500 laufen habe funktioniert das programm, ist bissel software pwm was leds faden lässt. wenn ich da den quarz rausziehe bleibt der auch stehen. also gehe ich davon aus das das passt.
auf meiner schaltung ist das identisch, nur mit quarz funktioniert er, zieh ich den quarz ab bleibt das programm stehen.
was ich gerade noch probiert habe: wenn ich einen 22pF (die größe sollte stimmen, steht zumindest drauf) an XTAL1 hänge dann funktioniert es weiterhin. aber sobald ich einen an XTAL2 hänge bleibt alles stehen.

und jetzt guck ich mir gerade noch die fuses an und komm etwas ins straucheln. ich hab eingestellt "Ext. Crystal/Resonator Medium Frequ.; Start-up time: 16k CK + 64ms" (also das ist die Beschreibung im AVR-Studio). Aber müsste doch schon richtig sein, oder?

kolisson
29.12.2008, 12:24
sieht soweit okay aus mit der fuse..
und wenn es doch mit einem kondensator schwingt .. dann lass halt einen drinne.
mit den 22pf bist du ja sowieso schon am oberen ende der empfehlung.
dazu kommen noch die montagekapazitäten.
wenns gut schwingt mit einem ist doch okay.. sonst versuch halt mal mit 2 stck a 15pF

gruss

Hubert.G
29.12.2008, 16:34
Du solltest beim Mega8 "Ext. Crystal/Resonator High Frequ.; Start-up time: 16k CK + 64ms" Und einen Haken bei CKOPT setzen.

goof1980
29.12.2008, 17:32
Hubert.G, es funktioniert. So einfach kanns sein. :-)

aber kann mir noch einer schnell erklären was das fusebit macht?

meine isp funktioniert zwar noch nicht, aber da guck ich dann selber erstmal nach ob ich noch nen fehler finde.

Hubert.G
29.12.2008, 19:08
Das steht im Datenblatt unter Clock Options. Der Oszillator schwingt mit voller Leistung.