Forum: Mikrocontroller und Digitale Elektronik Mega8 Problem nach Erstprogrammierung


von Michael H. (trinity4711)


Lesenswert?

Hallo Forengemeinde,
ich habe ein Problem. Habe einen neuen Mega8 in der Einstellung externer 
Quarz programmiert und kann nach dem erstmaligem Schreiben nicht mehr 
mit PonyProg via ISP auf den Controller zugreifen. Hat jemand eine Idee 
?.
Schön habe ich gedacht nimmst du eben halt einen Neuen. Mit diesem 
Baustein passierte das Gleiche. Nach der ersten Code Übertragung funtzte 
gar nicht mehr, obwohl PonyProg keine Fehlermeldung ausgab.

von Der M. (steinadler)


Lesenswert?

Das sieht nach einer defekten ext. Quarz-Schaltung aus.
Überprüf mal alles und nimm, wenn du hast, ein Oszi und messe die ext. 
Frequenz.

von Karl H. (kbuchegg)


Lesenswert?

> Habe einen neuen Mega8 in der Einstellung externer
> Quarz programmiert

Ich vermute mal:
http://www.mikrocontroller.net/articles/AVR_Fuses#Ponyprog2000

von Johannes M. (johnny-m)


Lesenswert?

Michael Hamacher wrote:
> Hallo Forengemeinde,
> ich habe ein Problem. Habe einen neuen Mega8 in der Einstellung externer
> Quarz programmiert und kann nach dem erstmaligem Schreiben nicht mehr
> mit PonyProg via ISP auf den Controller zugreifen. Hat jemand eine Idee
> ?.
Hast Du denn überhaupt einen externen Quarz dran? Und ist es 
sichergestellt, dass dieser auch schwingt (Kondensatoren dran?)? Und 
hast Du darauf geachtet, dass ein Häkchen bei den Fusebits bedeutet, 
dass die betreffende Fuse programmiert, also "0" ist? Und hast Du 
vielleicht auch noch die RSTDISBL-Fuse programmiert? Im letzteren Fall 
kann Dir nur noch ein HV-Parallel-Programmer helfen. In den anderen 
Fällen solltest Du versuchen, zu rekonstruieren, was Du da genau 
programmiert hast und evtl. mal versuchen, einen Quarzoszillator oder 
einen Takt von einem FUnktionsgenerator an XTAL1 einzuspeisen.

> Schön habe ich gedacht nimmst du eben halt einen Neuen. Mit diesem
> Baustein passierte das Gleiche. Nach der ersten Code Übertragung funtzte
> gar nicht mehr, obwohl PonyProg keine Fehlermeldung ausgab.
Wieso sollte PonyProg auch ne Fehlermeldung rausgeben? Vom Standpunkt 
von PP ist doch alles i.O. PP hat Deinen Mega8 programmiert, und das 
offensichtlich mit Erfolg. Deshalb ist für PP die Welt i.O. und es gibt 
ein "Write successful" zurück...

von bascom (Gast)


Lesenswert?

du hast den externen reset per fusebits
ausgeschaltet jetzt hilft nur noch hochvolt programmierung
per STK500.
Fusebits und ihre Tücken
http://bascom-forum.de/index.php/topic,10.msg274.html#msg274

von Johannes M. (johnny-m)


Lesenswert?

@bascom:
> du hast den externen reset per fusebits
> ausgeschaltet jetzt hilft nur noch hochvolt programmierung
> per STK500.
Woher willst Du das wissen? Es gibt mehrere Möglichkeiten, sich 
"auszusperren", wobei beim Mega8 allerdings tatsächlich die 
RSTDISBL-Fuse die gemeinste Falle ist. Lass den OP aber trotzdem erstmal 
alle Möglichkeiten überprüfen. Es muss nicht unbedingt ein STK500 her, 
auch wenn die Wahrscheinlichkeit dafür nicht gering ist.

von Johannes M. (johnny-m)


Lesenswert?


von Holger K. (krulli) Benutzerseite


Lesenswert?

Wurden denn vor dem Verändern der Fusebits dieselben vorher mit read 
eingelesen?

von Michael H. (trinity4711)


Lesenswert?

Holger Krull wrote:
> Wurden denn vor dem Verändern der Fusebits dieselben vorher mit read
> eingelesen?

Wie schon erwähnt wurden die Fuse, wie im Auslierferungsmodus nur 
dahingehend geändert, das ich diese auf ext. Quarz gesetzt habe. Jetzt 
sind alle Fusebits gesetz ohne mein dazutun

gruss trinity4711

von Karl H. (kbuchegg)


Lesenswert?

Michael Hamacher wrote:
> Holger Krull wrote:
>> Wurden denn vor dem Verändern der Fusebits dieselben vorher mit read
>> eingelesen?
>
> Wie schon erwähnt wurden die Fuse, wie im Auslierferungsmodus nur
> dahingehend geändert, das ich diese auf ext. Quarz gesetzt habe. Jetzt
> sind alle Fusebits gesetz ohne mein dazutun
>

Genau darum geht es. Fuses werden alle in einem Rutsch gelesen
oder geschrieben.
Wenn du also nur den Fuse Dialog im PonyProg aufgemacht hast,
deine gewünschten Änderungen gemacht hast und das ganze dann
geschrieben hast, dann hast du einen wesentlichen Punkt vergessen:
Das vorherige Auslesen der Fuse Bits, damit alle anderen Fuses,
die du nicht verändern willst, beim Schreiben auch wieder denselben
Zustand bekommen, den sie vorher schon hatten.

Warum PonyProg das erstmalige Auslesen der Fuse Bits nicht gleich
beim Öffnen des Dialogs automatisch macht, ist mir ehrlich
gesagt ein Rätsel. Würde neben etwas Komfort auch mehr Sicherheit
bringen ohne grossartigen Programmieraufwand zu erfordern.

von Stefan B. (stefan) Benutzerseite


Lesenswert?

@ Michael Hamacher
Das beantwortet die Frage nicht ;-)

Vorm Ändern der Fuses sollte man die Fuses zuerst einlesen.

Manche Programme lesen automatisch ein, aber ich würde mich darauf aus 2 
Gründen nicht verlassen:

1. Beim gezielten Einlesen sieht man, ob die Kommunikation "steht". Wenn 
Lesen nicht klappt, macht Schreiben keinen Sinn.

2. Man kann die gelesenen Fuses mit dem Datenblatt vergleichen und die 
0-steht-für-gesetzt-Logik verinnerlichen.

von Holger K. (krulli) Benutzerseite


Lesenswert?

Ich hab das eben probiert. Ohne vorheriges Einlesen der Fuses, ist der 
Mega8 nach dem schreiben der Fuses (schein)tot.....

von Wal-Koch (Gast)


Lesenswert?

Das Problem kann ein zu schneller Quarz sein.
Einfach mal einen 4 Mhz Quarz ausprobieren.
Ich hatte die gleichen Probleme bei einem 12 Mhz Takt.
Nach austausch mit dem erwähnten 4Mhz Quarz war alles Ok

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.