Ich habe einen ATMega88PB auf einer Platine, der nicht in den Programmiermodus wechselt, nachdem die Sicherungseinstellungen auf EXTFSXTAL_16KCK_14CK_0MS geändert wurden. Zuvor konnte der AVRISP MkII mit dem Mikrocontroller kommunizieren (ich bin inzwischen auf einen Atmel ICE umgestiegen, der immer noch nicht kommunizieren kann).
Falls Zweifel bestehen, dass ich andere Sicherungseinstellungen falsch geändert habe, hier ist ein Screenshot der Sicherungen vor der Programmierung.
Ich finde das verwirrend, weil der Oszillator gut zu laufen scheint - wenn ich die falsche Sicherungseinstellung (z. B. ext clk) programmiert hätte, würde ich erwarten, dass der Oszillator deaktiviert wird, um Strom zu sparen. Wie Sie sehen können, ist dies nicht der Fall, da der Oszillator knapp unter 20 MHz läuft.
Hier ist das Schema für die Oszillatorschaltung:
Ich habe versucht, das Gerät mit jeder verfügbaren Geschwindigkeit zu programmieren, und hatte immer noch kein Glück. Ich habe auch erfolglos versucht, ein Taktsignal vom CLK0-Pin eines funktionierenden AVR einzuspeisen, und habe 18-pF-Lastkondensatoren anstelle der im Schaltplan angegebenen 33 pF ausprobiert.
Was kann ich noch versuchen, um diesen Mikrocontroller wieder zum Laufen zu bringen?
Ihr Low-Fuse-Register ist 0xD7. Das entspricht binär 0b1101 0111.
Laut Datenblatt sind die unteren 4 Bits für den Takt zuständig. Dies korreliert mit
CKSEL3 = 0, CKSEL2 = 1, CKSEL1 = 1, CKSEL0 = 1.
Aus dem Datenblatt ist dies keine gültige Einstellung, aber es kann auf einen Niederfrequenzquarz eingestellt werden. Die beiden ähnlich gültigen Einstellungen sind 0b0100 und 0b0101, sie sind beide für einen Niederfrequenzoszillator. Versuchen Sie, den 20-MHz-Quarz durch einen 32,768-kHz-Quarz zu ersetzen.
Eine Diskrepanz zwischen erwarteter Frequenz und tatsächlicher Frequenz kann dazu führen, dass der Prozessor nicht startet.
Wenn das nicht funktioniert, müssen Sie möglicherweise parallel programmieren, um den Chip wiederherzustellen. Die parallele Programmierung erfordert keinen Arbeitsquarz und stellt extern eine Uhr zur Verfügung.
Bhillam
Bhillam
vini_i
Bhillam
vini_i
Bhillam
Bhillam
vini_i
Bhillam
Bhillam