ATMega32 tot programmiert

Gast #484763
Lesenswert?

Ich habe hier ein merkwürdiges Problem. Der ATMega32 wird ja von Werk 
geliefert mit den Clockfuses programmiert für 1MHz internen Takt. Ich 
habe in der Schaltung einen externen Clockeingang, welche von einem 
anderen ATMega128 kommt der auch läuft.
Jetzt habe ich alle Clockfuses auf 0 programmiert (Externer Takt), und 
der ATMega32 ist tot, man kann auf ihn nicht mehr zugreifen per 
Programmer. Takt liegt definitiv an.
Kennt jemand dieses Problem
Gast #484775
Lesenswert?

Wollte mal Entwarnung geben, wie üblich Dummheit des Anwenders. Der 
taktgebende ATMega hatte die CKOPT Fuse nicht gesetzt, obwohl sie 
eigentkich die ganze Zeit gesetzt war, und damit keinen full Swing Takt.
Nach Setzen der Fuse war alles OK
Gast #484787
Lesenswert?

Auch auf die Gefahr hin langweilig zu werden so einfach ist es nicht. 
Schreibfehler, der taktgebende ist ein ATMega2561. Die Fuse für full 
Swing war gesetzt, das Signal hat full Swing, aber der ATMega32 mag es 
nicht.
Beim ATMega128 gab es nie Probleme das Clocksignal zu nutzen.
Gast #484794
Lesenswert?

Um diesen Monolog mal fortzuführen, ich habe jetzt beim ATMega32 die 
Fuses so programmiert als würde ein Quartz dranhängen, jetzt geht es.
Das aus dem ATMega2561 rauskommende Signal war offenbar nicht gut genug.
Gast #484821
Lesenswert?

Um diesen Monolog mal zu unterbrechen,
>Das aus dem ATMega2561 rauskommende Signal war offenbar nicht gut genug.
Kann ja fast nicht sein. Wie hoch ist denn die Frequenz? Und wie hoch 
die ISP-Frequenz? Und wenn Fuses trotz richtiger Einstellung in der 
Software nicht richtig gesetzt werden tippe ich mal auf Ponyprog o.Ä.
In diesem Fall kann ich nur zum STK500 oder AVRISP raten.
Ansonsten: ISP-Frequenz muss kleiner 1/4 der Taktfrequenz sein!
Gast #484894
Lesenswert?

Ganz so einfach ist es nicht. Die Clock des ATMega2561 ist 16MHz. Man 
kann am Oszilloskop sehen, das sich je nach Fuse die Amplitude ändert. 
Der ATMega2561 programmiert über SPI(125 KHz) den ATMega32.
Sobald ich dem ATMega32 ein externes Taktsignal gebe, kann ich die Fuses 
auslesen. Und die sind richtig. Wenn ich nun über Fuses sage da hängt 
ein Quartz dran, geht es. Wenn ich den internen Takt nutze, geht es 
auch. Es geht nur nicht mit dem vom ATMega2561 erzeugten Takt.
Das gleiche Problem habe ich übrigens auch mit ATMega128 und ATMega8, 
hier ist das gleiche.
Da das Projekt fertigwerden muss, habe ich keine Zeit 
Grundlagenforschung zu betreiben. Ein paar hundert von den ATMega128 / 
ATMega8 Platinen laufen seit Monaten ohne Probleme mit der pseudo Quartz 
Programmierung.

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