Forum: Mikrocontroller und Digitale Elektronik Minipuls3 Atmega8 Fuse-bits


von Thomas V. (linuxer7)


Lesenswert?

Hallo Leute,

es ist mir ja schon fast Peinlich, aber ich stehe mächtig auf dem 
Schlauch.
Mein Problem ist folgendes.

Ich habe mir diesen Minipuls3 (Metallsuchgerät) nach gebaut.
Soweit lief auch alles Problemlos bis zu dem Moment als ich die SW 
geflasht habe.

Ich benutzte AVR-Dude unter Linux.
Ich wusste nicht was ich zuerst einstellen sollte die Fuse-Bits oder das 
Programm.
Der Atmega8 sollte auf dem neuen Board mit 8Mhz laufen.
Das Board das ich zum flashen verwendet hatte war aber ohne Quarz.
Mittlerweile flashe ich auf dem Minipuls3 mit Quarz.

Ergebnis war das der Chip nicht mehr erkannt wurde.
Also neuer Versuch. Das hat diesmal funktioniert, aber ich habe das 
Gefühl der Controller läuft nicht richtig weil ich die Fusebits nicht 
richtig gesetzt hatte.

Das Display funktioniert zwar aber der Rest nicht.
An der Hardware liegt es nicht das kann ich mittlerweile ausschließen.
Es muss an der SW liegen.

Also habe ich mir Ponyprog 2000 installiert und versucht damit den Chip 
zu flashen.
Ergebnis ist das der Chip nicht mehr ausgelesen werden kann.
Ok neuer Versuch. Zwei der Atmega 8 hatte ich noch. Lag vermutlich an 
der 1 und 0 Geschichte der Fusebits des Ponyprog.

Nun hatte ich den Fehler gemacht das der Chip von Ponyprog nicht richtig 
erkannt wurde, und ich nicht darauf geachtet habe und aus versehen den 
Atmega8 nun als AT98S8252 geflasht hatte.

Also habe ich nun 3 Atmega8 auf die ich nicht mehr zugreifen kann.
Bevor ich den 4ten nun auch ins Nirwana schicke ist Schluss mit 
experimentieren und ich bitte um Hilfe !

Zwei Fragen habe ich.
1. Wie kann ich aus dem AT98S8252 wieder einen Atmag8 machen der 
Jungfräulich ist?

2. was für Fusebits muss ich in Ponyprog2000 setzen damit ich folgendes 
eingestellt habe....

***************************************************
Damit alles beim Alten bleibt wurde der AD-Wandler
auf AVCC gesetzt.

Fusebits siehe AVR-Studio.

Brown-out detection level at VCC=4,0V
Brown-out detection enabled

Ext- Crystal/Resonator Medium Freq.Start time 16K CK+64ms

Diese Fusebits sind für ATMega8/16MHz.
Es sollte gleich dieser Typ eingesetzt werden da
ich die Software noch für 16MHz und AD-Referenz intern 2.5V
geplant habe.
***************************************************

Ich habe mir natürlich auch AVR-Studio herunter geladen aber da wird 
mein ISP nicht erkannt. Ich bin nämlich noch mit dem LPT-Port unterwegs.

Bitte helft mir.
Wie gesagt ich kann nur mit Ponyprog2000 den letzten Atmega8 Flashen.

Gruß
Thomas

von Karl H. (kbuchegg)


Lesenswert?

Höchst wahrscheinlich hast du dir beim Fuse Setzen eine Konfiguration 
gesetzt, in der der Mega einen externen Takt haben will.

Denn wenn er auf internem RC-Oszillator laufen würde, dann würdest du 
ihn noch ansprechen können.
Wenn du ihn auf externen Quarz gefused hast und da auch ein externer 
Quarz am µC hängt, dann würdest du ihn ansprechen können.

Also würde ich das mal als Arbeitshypothese nehmen.
Ergo: brauchst du einen externen Takt, den du den unansprechbaren Megas 
an ihrem XTAL1 Pin zuführst.

Jeder Takt ist dafür geeignet, solange er nur schnell genug ist. Zb. 
könntest du dir in deinen noch verbliebenen Mega ein Programm 
reinbrennen, welches einen Pin toggelt. Mit diesem Output könntest du 
dann an die nicht ansprechbaren Megas gehen und wenn die Hypothese 
stimmt, dann kannst du sie danach wieder mit dem Brenner erreichen.


und das nächste mal vorsichtiger sein beim Fuse setzen!
Immer erst mal die Fuses auslesen und dann das Gelesene mit dem 
Datenblatt vergleichen. Bei einem nagelneuen Mega stehen die Fuses, 
speziell die Taktfuses in einer bestimmten Stellung, die im Datenblatt 
dokumentiert ist. Wenn es dir gelingt das Ausgelesene mit den Angaben im 
Datenblatt in Übereinstimmung zu bringen, dann hast du auch erfolgreich 
das 0/1 Problem umschifft. Einfach aufs Geratewohl drauflosen fusen, 
endet meistens dort wo du jetzt bist - verfused und nichts geht mehr.

von Thomas V. (linuxer7)


Lesenswert?

Hallo Karl Heinz,

danke für die Infos.
Ich habe das Problem mittlerweile mit einem extra Sockel und einem 
angehängten Quarz gelöst.
Die Fuse-Bits sind nun richtig gesetzt. Zumindest bei 2 von 4.
Die anderen 2 lassen sich immer noch nur als AT98S8252 ansprechen und 
auslesen.

Als Atmega8 gehen die immer noch nicht. Am Takt kann es nun nicht mehr 
liegen.

Was meinst Du, gibt es eine Möglichkeit an die Fuse-Bits heran zu kommen 
um zu sehen was da eingestellt ist, oder kann ich die beerdigen ?
Wäre schade darum.

Gruß
Thomas

P.S.

Das mit dem "Erst" auslesen der Fuse-Bits ist ne gute Idee. (Schäm)

Gruß
Thomas

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.