Forum: Mikrocontroller und Digitale Elektronik ATMEGA644 / 20 MHZ / kein Zugriff


von QuarzHasser (Gast)


Lesenswert?

Ich baute mir einen Webserver mit ENC28J60 und ATMEGA644-20PU.

Mit 10 MHZ funktioniert das ganze wunderbar. Soll heissen, ich kann den 
ATMEGA644 mit externem 10 MHz Quarz programmieren und das Programm 
funktioniert mit diesen 10 MHz auch tadellos.

Mit 20 MHZ hingegen kann ich den ATMEGA644 !nicht! über SPI 
programmieren.

Im Quellcode stelle ich F_CPU auf 20 MHz. Zum programmieren des 
ATMEGA644 nutze ich ein 10 MHz Quarz was erfahrungsgemäss wunderbar 
funktioniert. Nach der Programmierung verwende ich dann ein 20 MHz Quarz 
womit das Programm dann tadellos abgefahren wird.

Neben AVRDUDE verfüge ich über ein kleines VBScript. Ich habe da bereits 
zahllose Pausen eingebaut, also zwischen den CLOCK's und DATA's, aber 
nichteinmal die Signature kann ich mit 20 MHz auslesen.

Ich habe ausnahmsweise, wie auf Seite 29 des dazugehörigen Datenblatts, 
Kondensatoren verwendet. Mit 20 MHz bewegt sich da überhaupt gar nix. 
Was ist das? Steht da irgendwo im Datenblatt, dass sich das Teil über 
SPI nicht mit 20 MHz programmieren lässt?

Ich vermute, ich habe keine Ahnung was das für Quarze sind. Auf dem 10 
MHZ Quarz steht ein A vor dem Wert, auf dem 20 MHZ Quarz steht ein K vor 
der Zahl. Was soll das bedeuten? Ist das überhaupt interessant?

Ich habe schön sämtliche SUT / CKSEL Einstellungen die in Frage kommen 
ausprobiert. Da passiert mit 20 MHz rein gar nichts.

von Peter D. (peda)


Lesenswert?

Versuch mal nen Bootloader.


Peter

von QuarzHasser (Gast)


Lesenswert?

Was soll mir "Versuch mal nen Bootloader" sagen? Was soll ich da 
versuchen? Was bringt mir da ein Bootloader?

Mit Bootloader hatte ich bisher nichts zu tun. Bevor ich hier am 
ATMEGA644 mit Bootloader experimentiere, würde ich lieber, was das 
angeht, erst meine Erfahrungen mit nem kleineren und günstigeren 
Prozessor sammeln. Mit Bootloader mach ich da im Augenblick gar nix. Was 
würde das, wenn ich damit umgehen könnte, JETZT bringen?

von TSE (Gast)


Lesenswert?

Hallo,
hatte ähnliches problem
jedoch schon bei 16Mhz
das setzten des CKOPT fuse  hats bei mir gebracht

von ich glaub es nicht (Gast)


Lesenswert?

Dann liegt es vielleicht an euren Programmier-Adaptern, gell?
Kabel zu lang
Übersprechen
Pegel nicht sauber

von QuarzHasser (Gast)


Lesenswert?

Mit deiner Vermutung, dass es am Adapter liegen könnte, könntest du 
glatt Recht haben. Ich bekomme nicht einmal einen ATMEGA8 mit 16 Mhz 
gelesen, beziehungsweise klappt das nur knapp jedes x-te mal. Sachen 
gibts ... ganz plötzlich.

Nebenbei: ATMEGA644 hat kein CKOPT

von Peter D. (peda)


Lesenswert?

QuarzHasser schrieb:
> Mit Bootloader hatte ich bisher nichts zu tun. Bevor ich hier am
> ATMEGA644 mit Bootloader experimentiere, würde ich lieber, was das
> angeht, erst meine Erfahrungen mit nem kleineren und günstigeren
> Prozessor sammeln. Mit Bootloader mach ich da im Augenblick gar nix. Was
> würde das, wenn ich damit umgehen könnte, JETZT bringen?

Natürlich Dein Problem lösen, d.h. auch bei 20MHz flashen zu können.
Sonst hätte ich das nicht geschrieben.

Experimentieren muß man da nichts. Nur das passende Include auswählen 
und die gewünschten UART-Pins definieren.


Peter

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.