Hallo,
ich suche hier nun schon seit Tagen warum der Quarz nicht schwingen
will.
Der Quarz ist an XTAL1 und 2 angeschlossen dann noch je Pin ein
Stützkondensator und dieser gegen GND.
Soweit so gut nun habe ich den uC(Mega128) von interner Takt auf Extern
Crystal/Ceramic umgestellt.
Ein Blinkprogramm was einen Port High Low schaltet läuft nicht.
Komischerweise kann ich aber per ISP auf ben Controller zugreifen.
Wenn ich nun einen Oszillator der mit 4 Beinchen nehme und den Ausgang
an XTAL1 oder 2 halte beginnt die LED mit blinken.
Zuerst hatte ich den Verdacht, dass die Stützkondensatoren nicht passen
also habe ich 18,22,27,34pF probiert ohne Erfolg den Quarz habe ich auch
schon gewechselt kein Erfolg dieser läuft nun auf meinem STK500 ohne
Probleme.
Die Fuse sollten eigentlich stimmen aber hier die Werte
Low 0x89
High 0xFF
Ext 0xFF
diese Werte verwende ich auf meinem Evaluierungsboard und dort läuft
alles dies ist jedoch auch gekauft.
Habe auch schon die Leiterbahn geprüft uC--Quarz--Kondensator alles OK.
Hat jemand noch eine Idee
Danke in Voraus
Tom
@Helmut,
gute Idee, brachte aber nicht den gewünschten Erfolg.
Habe nun nochmals mit und ohne Widerstand gemessen an XTAL1 und 2 sieht
gleich aus.
XTAL1 --> 5 Volt +-0.1
XTAL2 --> 0 Volt +-0.1
Schaut eich bitte nochmal einen Ausschnitt meines Layouts an welches den
Anschluß des Quarzes zeigt. Vielleicht übersehe ich ja hier etwas.
Tom
@Tom
Ich hatte das Problem mit einem Atmega48 mit dem Widerstand
funktionierte es.
Hast du schon mal einen anderen Quarz mit niederiger Frequenz eingesetzt
?
Gruss Helmi
@Helmut,
ich habe hier nur 16MHz Quarze da ich diese auch verwenden will
ansonsten habe ich nur noch Uhrenquarze.
Könnte solch einer funktionieren?
Das Problem ist das mein Projekt viele Abläufe zeitlich steuert und
diese sind auf 16MHz abgestimmt ansonsten hätte ich den 8MHz internen
schon genommen.
Aber zu Testzwecken kann ich schon mal einen Uhrenquarz probieren.
Gruß
Tom
Ich hatte auch einen 16MHz Quarz dran , wie gesagt der schwang ohne den
Widerstand auch nicht. 4Mhz dagen war kein Problem. Mit dem Uhrenquarz
könntes es allerdings Probleme geben. Auch mal den Widerstand am anderen
Pin angebracht. Du könntes auch mal versuchen einen 1MOhm parallel zum
Quarz zu legen.
Tom wrote:
> Schaut eich bitte nochmal einen Ausschnitt meines Layouts an welches den> Anschluß des Quarzes zeigt. Vielleicht übersehe ich ja hier etwas.
Du mußt die beiden Kondensatoren direkt mit GND von AVR verbinden, also
dem Pin links neben XTAL1/2.
Aber dieser Pin verendet bei Dir kurz vor dem Quarz, so kanns ja nicht
gehen.
Mach mal ne Drahtbrücke rein.
Und die CKOPT-Fuse muß enabled (0) sein.
Peter
@Helmut,
ich werde mal Deine Vorschläge morgen probieren, und hoffe das ich den
Quarz zum laufen bekomme.
@Peter,
eigentlich ist die GND Verbindung nach unten.
Ich habe mal den Ausschnitt etwas grösser gewählt damit sollte es besser
zu erkennen sein.
Aber ich werde auf alle Fälle die Verbindung machen und testen.
Dein Ansatz gefällt mir, ist schön logisch unlogisch aber es könnte
duchaus sein.
Werde dies morgen auch probieren und die Ergebnisse ob positiv oder
negativ hier posten.
Vielen Danke Euch beiden
Tom
Tom wrote:
> eigentlich ist die GND Verbindung nach unten.
Das ist etwa 5-mal länger als die direkte Verbindung und enthält
zusätzlich eine Drosselspule mit einer Windung (einige µH).
Die Verbindung nach unten solltest Du dann trennen, über den
Schwingkreis sollten keine weiteren Ströme fließen.
Peter
Hallo Helmut,
habe versucht mit einem Widerstand 22k an Vcc und einmal an XTAl1 und
einmal an XTAL2 jedoch ohne Erfolg.
Einen 1M parallel zum Quarz brachte auch keinen Erfolg.
Die kondensatoren habe ich nun wieder 22pF eingelötet.
Hallo Peter,
Ich habe die GND Punkte der Kondensatoren direkt mit dem AVR verbunden
siehe Anhang. --> Kein Erfolg.
Solangsam gehen mir die Ideen auf und es frustet mich so langsam.
Sollte ich es nicht hinbekommen überlege ich mir beim nächsten Layout
einem Oszillator zu verwenden.
Gruß
Tom
@Bensch,
nein ich habe High Frequenz bereits gewählt sonst wäre mein Low Byte
0xFB aber mit 0xFF ist das High frequency gewählt.
Nicht desto trotz habe ich Deine Fuse auch geschrieben High und Low bei
Ext musste ich 0xFF verwenden sonst gibt AVR Studio einen Fehler beim
vergleichen.
Aber mit 0x03 oder 0xFF werden auf alle Fälle der M103 mode und Watchdog
Funktion abgeschaltet.
Aber was soll ich sagen auch Dein Fuse Vorschlag hat nichts bewirkt.
Der Controller macht keinen mux.
Achja habe zuvor den Anhang vergessen, wird nun nachgeliefert.
Tom
Wenn sich der µC per ISP ansprechen läßt muß der Quarz doch
schwingen. Vielleicht ist es etwas ganz anderes.
Die Fuse-Bits sehen gut aus. CKOPT ist gesetzt, AT103-Mode aus,
WDT aus, CKSEL[0...3] = 1111.
> aber mit 0xFF ist das High frequency gewählt.
Ich weiss ja nicht, was du für ein komisches Programm hast, aber bei mir
gibt das LF (AVR ISP mkII USB direkt aus dem AVR Studio).
@Bensch
>> aber mit 0xFF ist das High frequency gewählt.>Ich weiss ja nicht, was du für ein komisches Programm hast, aber bei mir>gibt das LF (AVR ISP mkII USB direkt aus dem AVR Studio).
Ich verwende auch ISP MK2 und das LF ist ja auch nicht das Problem.
Beim EXT werden nur die beiden ersten Bits benutzt und mit dem ISP MK2
kann ich die oberen nicht auf 0 setzen.
Beim auslesen ist das Register auf 0xFF gesetzt also auch die beiden
Fusebits die Du setzen willst.
Was heißt hier komisches Programm ers werden einige Ports hochgezählt
und fertig.
Anbei mal das Prog.
@Peter,
hatte die gleiche Idee und habe in der Zwischenzeit den Quarz mit dem
Quarz auf meinem Evaluierungsboard getauscht und er funktioniert.
Tom
@all,
ich habe nun die Leiterbahnen vom Controller zum Quarz gekappt und einen
Quarz auf eine Lochrasterplatine aufgelötet und die Condensatoren
steckbar gemacht.
Was soll ich sagen nun läuft der Controller.Quarz schwingt sogar schon
an ohne Lastcondensator.
Ich werde diese Erkenntnisse bei meiner nächsten Platine mit einfließen
lassen da ich diese eh als Testobjekt angesehen habe.
Auf alle Fälle Danke an alle.
Tom