Externer Quarz: Problem

#626433
Lesenswert?

hi,
ich habe an meinem Mega32 einen 16 MHz Quarz. Laut Schaltung müsste ich 
ihn ja über je einen 22pF Kondensator mit masse verbinden. Das Problem 
ist wenn ich die Teiel drann habe gehts nicht wenn...wenn se ab sind 
gehts. kann sich das einer erklären?
Moderator Persönliche Seite #626444
Lesenswert?

Naja, du musst den Kondensator dranhängen, den der Quarzhersteller als
Lastkapazität spezifiziert hat.  Einzurechnen sind dabei auch die
Kapazität der AVR-Pins selbst sowie der Platine.  Wenn du ein
Steckbrett benutzt, kann dessen Kapazität schon komplett ausreichend
sein.

Denk auch dran, dass du bei ATmega32 für Quarze größer 8 MHz unbedingt
die CKOPT-Fuse setzen musst.  Dadurch wird die Ausgangsamplitude des
Oszillators auf volle Vcc angehoben, was aber auch den Stromverbrauch
vergrößert.
#626468
Lesenswert?

Ja ich benutze ein Steckbrett das wirds sein. Ich habe mal geschaut. 32 
pF sind angegeben. Wenn ich dan über nen Kondi an die Masseleitung 
verbinde, wird das sicher viel zu viel sein... Ob ich den CKOPT-Fuse 
gesetzt habe weis ich nicht. Das glaube ich aber eher weniger, da ich 
meines Wissens eigentlich nur Im AvrProg auf Quarz umgestellt hatte.
Moderator Persönliche Seite #626535
Lesenswert?

Florentin Schirmer wrote:

> Ja ich benutze ein Steckbrett das wirds sein.

Dann lass die Kondensatoren weg, die hat dein Steckbrett ,,eingebaut''. 
;-)

> Ob ich den CKOPT-Fuse
> gesetzt habe weis ich nicht. Das glaube ich aber eher weniger, da ich
> meines Wissens eigentlich nur Im AvrProg auf Quarz umgestellt hatte.

Naja, ist ja nicht dasselbe.  Bei bis zu 8 MHz muss man CKOPT nicht
setzen, nur höhere Frequenzen werden ohne diese Einstellung vom
Oszillator nicht sicher erreicht.  Das heißt, es kann auch ohne
gehen, aber es ist dann nicht mehr sicher, dass es über Temperatur
und Betriebsspannung stabil ist.

p.s.: Wenn du die Frequenz mit dem Oszi messen willst, klemme besser
nicht den Tastkopf direkt dran.  Das ist nochmal Kapazität.  Leider
hat der ATmega32 noch keine Möglichkeit, sich via CKOUT-Fuse die
Oszillatorfrequenz direkt auf ein Pin legen zu lassen, aber man kann
sich mit einem einfache Timer-Setup behelfen, das dann den Oszillator
1:2 geteilt an einem OCx-Ausgang ausgibt.
Moderator Persönliche Seite #626663
Lesenswert?

Da erwischste mich leider auf dem falschen Fuß.  Ich hab' kein Windows.

Mit avrdude (solltest du haben, wenn du WinAVR installiert hast) wäre
es:
1
avrdude -c avr910 -P com1 -p m32 -U hfuse:w:0x89:m

Das stellt alle anderen Bits in der high fuse auf seine Defaults
zurück.  Wenn du EESAVE auch noch programmiert haben willst, wäre
es 0x81 statt 0x89.

[Edit: da fehlte noch ein "w" drin.]

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren