Der Quarzoszillator auf der benutzerdefinierten ATMega2560-Platine hat die falsche Frequenz

Ich habe ein benutzerdefiniertes Board mit einem ATMega2560 entworfen. Das Board funktioniert einwandfrei, wenn es für die Verwendung des internen Oszillators konfiguriert ist. Das Board funktioniert nicht mehr, wenn ich es für die Verwendung des externen 16-MHz-Quarzoszillators konfiguriere. Wenn ich eine O-Scope-Sonde an R4 platziere, misst der Oszillator ~ 680 Hz. Was mache ich falsch? Ich habe sogar versucht, den Uhrenchip neu zu löten.

Hier ist der Uhrenchip:

Geben Sie hier die Bildbeschreibung ein

Geben Sie hier die Bildbeschreibung ein

Geben Sie hier die Bildbeschreibung ein

Geben Sie hier die Bildbeschreibung ein

Welche Funktion hat R3? Das ATMega2560-Datenblatt schlägt vor, dass kein Widerstand erforderlich ist, und dieser Wert wird den Kristall stark dämpfen. Versuchen Sie, R3 zu entfernen. Außerdem scheint R4 keinen Zweck zu erfüllen - der angezeigte Wert ist zu niedrig, um irgendwelche Auswirkungen zu haben.
Messen Sie am Oszillator-AUSGANG (der gepuffert, niederohmig und besser in der Lage ist, die Last einer Oszilloskopsonde zu treiben). Das Messen am hochohmigen Eingang kann die Oszillation beenden, was wahrscheinlich das ist, was Sie sehen. ABER BEACHTEN SIE AUCH: Digitale Oszilloskope erzählen Lügen ... wenn Ihr Oszilloskop in diesem Zeitbasisbereich mit 16 MHz + 680 Hz abtastet, sehen Sie ... 680 Hz.
@henros Ihr Kommentar zum Entfernen der Widerstände R3 und R4 war richtig. Fügen Sie es als Antwort hinzu und ich werde es akzeptieren.

Antworten (2)

Wenn der XTAL2-Pin ein Ausgang ist (wie in Ihrem Schaltplan angegeben), muss R4 mit diesem Pin in Reihe geschaltet sein und nicht mit XTAL1 (scheint ein Eingang in Ihrem Schaltplan zu sein). Ohne einen richtigen Wert von R4 an der richtigen Stelle treten möglicherweise niemals Schwingungen auf. Sehen Sie meine Antworten hier und hier , in denen die verschiedenen Komponenten erklärt werden, die einen Kristall umgeben und ihn zum Schwingen bringen.

Zitat aus dem Datenblatt: "Pins XTAL1 und XTAL2 sind Eingang bzw. Ausgang". Und ATmega benötigt keinen zusätzlichen Widerstand, um richtig zu funktionieren. Seite 11 mouser.com/ds/2/36/doc2521-41636.pdf
@G36 Dieses Dokument zeigt die Pins 36 und 37 als xtal-Verbindungen, sodass das OP möglicherweise noch verwirrter ist als zunächst angenommen. Natürlich könnte es eine Variante geben, die 33 und 34 verwendet, aber er könnte sie trotzdem falsch verstanden haben.
Für ATmega2560 ist XTAL1 Pin 34 und XTAL2 Pin 33. Aber wie gesagt, ich habe nie zusätzliche Widerstände mit AVR verwendet. Und externe Kristallarbeiten sind in Ordnung.
@Andyaka Ich habe die Widerstände gemäß Datenblatt entfernt und die Verbindung über R4 überbrückt. Die Ausgabe sieht immer noch gleich aus.
@Andyaka Ich habe das Kristallschema aus dem ATMega 2560-Referenzdesign hier genommen , aber jetzt ist mir klar, dass sie einen Oszillator anstelle eines Kristalls verwenden (weshalb es zusätzliche Widerstände gibt).
Herausgefunden. Ich muss R3 und R4 entfernen, aber ich musste auch meine Sicherungseinstellungen anpassen.
Guter Mann - vielleicht sollten Sie in Betracht ziehen, eine entsprechende Antwort zu hinterlassen, in der Sie erklären, wo etwas schief gelaufen ist und wie Sie es gelöst haben. Es muss nicht lange dauern und jemand, irgendwo, könnte es einfach zu schätzen wissen.

Wie in anderen Antworten gepostet, musste ich R3 und R4 entfernen, aber ich musste auch verschiedene Sicherungseinstellungen mit dem folgenden avrdude-Befehl brennen

avrdude -c usbasp -p atmega2560 -C ../etc/avrdude.conf -U lfuse:w:0xff:m -U hfuse:w:0x99:m -U efuse:w:0xff:m

Die Sicherungseinstellung kann hier berechnet werden