Fusebit von alleine verstellt?

Gast #749199
Lesenswert?

Moin!

Ich glaube, bei mir haben sich die Fuse-Bits eines ATMega128 "von 
alleine" verstellt.

Wie ich darauf komme:
Ich programmiere den µC mit einem USB-Programmer ("mySmartUSB") über 
ISP, dem AVR Studio und AVR Prog, was auch immer gut funktioniert.

Heute ist es mir passiert, dass ich das Programm ins Flash habe 
schreiben lassen, während der µC jedoch nicht mit Strom versorgt wurde. 
Während des Übertragens habe ich dann die Spannung eingeschaltet.

Seitdem wird der µC nicht mehr erkannt (ausgelesene Adresse FFFFFF). 
Auch nicht nach einem Neustart, erneutem Anschließen, etc. und auch 
nicht über BASCOM und dem USB-ISP Prog.

Für mich deutet das alles darauf hin, dass sich die Fusebits verstellt 
haben (SPI deaktiviert oder sowas). Obwohl ich nie die Fusebits selbst 
aktiv geändert habe!

Ist das möglich oder gibts da noch was anderes, was in Frage kommt?

Für mich ist das ein sehr wichtiges Projekt, da es sich dabei um einen 
Roboter für meine Facharbeit handelt, die in 2 Wochen fertig sein muss..

Deshalb bin ich über jede Hilfe froh

Danke und ein schönes Wochenende

Franz
Gast #749207
Lesenswert?

Hallo Franz,

> Heute ist es mir passiert, dass ich das Programm
> ins Flash habe schreiben lassen, während der µC jedoch nicht mit Strom
> versorgt wurde. Während des Übertragens habe ich dann die Spannung
> eingeschaltet.


wer weiß schon, wohin da Daten geschrieben wurden. Ich würde da nicht 
"von alleine" sondern eher von "Mißgeschick" sprechen.....

Gruss Otto
Gast #749214
Lesenswert?

Hi Michael,

in wie weit die externe Taktversorgung in Ordnung ist kann ich nicht 
sagen, da ich über kein Oszilloskop verfüge. Allerdings habe ich daran 
ja nichts gemacht, ich bezweifle also, das da etwas defekt ist.

Das Programm, das vorher drauf war, läuft nicht mehr.

Das hat allerdings auch nichts zu sagen, da AVR Prog ja zunächst das 
Programm löscht, bevor er das neue aufspielt. Jetzt kann es natürlich 
sein, dass das Programm zunächst gelöscht wurde (geht das auch wenn der 
µC nicht mit Strom versorgt wird? Ich vermute mal über die ISP 
Schnittstelle kommt genügend Saft) und das Problem beim Einschalten der 
"normalem" Stromversorgung entstanden ist, als also (zumindest Teile) 
bereits gelöscht waren.

Grüße

Franz
Gast #749267
Lesenswert?

Spannung passt - das Teil funktioniert schon lange einwandfrei.

Leider fehlen mir die Kenntnisse über ISP und Fuses um sagen zu können, 
ob der Flash einfach so an der falschen Stelle beschreiben werden kann 
und damit die Fuses überscheibt.
Gast #749326
Lesenswert?

@Michael
Ich finde es schön dass du mir helfen willst. Ich weiß jedoch nicht, 
welche Informationen ich dir (und anderen) noch geben soll. Mit 
funktioniert einwandfrei meinte ich natürlich "bis jetzt" (so war ja 
auch deine Frage formuliert).

Nachdem ich wie gesagt etwas unter Zeitdruck stehe und laut Wolfgang 
wohl tatsächlich die Fuses verstellt sind, ist es aber für mich wohl das 
schnellste, einen neuen µC zu kaufen, auch wenn das natürlich wieder ins 
Geld geht.
Es sei denn, es meldet sich hier einer im 97er PLZ bereich, der bereit 
wäre, mir mit seinem HVPP den µC wieder richtig einzustellen (wenn das 
im einegbauten Zustand überhaupt möglich ist), natürlich gegen 
Bezahlung.
Ich verfüge nämlich nicht über einen solchen und das verschicken und 
wieder zurückschicken dauert mir zu lange.

Wenn jemand so nett ist und sich heut oder morgen Vormittag meldet, wäre 
das genial, ansonsten werde ich bei Reichelt einen neuen kaufen.

Interessant wäre es dennoch zu wissen, warum hierbei die Fuses 
überschrieben wurden.

Danke an alle Helfer

Franz
Gast #749359
Lesenswert?

Hallo,

auch wenn es nur eine Anmerkung ist, die Dir nicht wirklich hilft:

wenn mir sowas passiert, sehe ich genau 2 Mäglichkeiten:
neuer Versuch und geht noch - puuuh, nochmal Glück gehabt. :)
geht nicht mehr - Misz, Pech gehabt, Lehrgeld bezahlt. :(

Der Virsuch, ihn per HV-Programming wiederzubeleben bleibt, mägliche 
Ergebnisse siehe oben.

>Interessant wäre es dennoch zu wissen, warum hierbei die Fuses
überschrieben wurden.

Vieles ist interessant zu wissen, manches wird man nie erfahren...
Atmel wird sich kaum die Mühe machen, die AVR mit allen möglichen 
Varianten eines Betriebs außerhalb der Spezifikation zu quälen (das ist 
es, wenn man ein IC ohne Ub aber mit Signalen an den Eingängen 
betreibt).

Du wirst es also wohl nie erfahren...

Gruß aus Berlin
Michael
Gast #749374
Lesenswert?

Ich hatte auch vor Kurzem einen ähnliche Fall: AVR mit externem Quarz
ohne Versorgungsspannung über ISP programmiert, d.h. die Versorgung
kamm ausschließlich über die Signalleitungen. Anschließend ging nichts
mehr. Der Quarz schwang auch nicht mehr.

Also legte ich den Takt eines externen Oszillators (sozusagen als
Herzschrittmacher :-)) an XTAL1. Dadurch regte sich der AVR wieder.

Wie ich dann feststellte, waren in den Fuse-Registern völlig wirre
Werte enthalten, die unter anderem bewirkten, dass der Takt von einem
externen Oszillator erwartet wurde.

Ich habe alle Fuses wieder auf die richtigen Werte zurückgestellt und
konnte anschließend wieder normal weiterarbeiten, auch ohne den
Schrittmacher. Sicherheitshalber habe ich auch die BOD aktiviert, die
bewirkt, dass bei zu niedriger Versorgungsspannung der Controller in
den Reset-Zustand geht. Ich hoffe, dass dadurch in Zukunft
unkontrollierte Änderungen der Fuse-Register vermieden werden.

Wenn du also wie ich keinen keinen HV-Programmer hast, kannst du den
Externen-Oszillator-Trick versuchen.
Gast #749561
Lesenswert?

Danke für den Tipp yalu:
Habe ich gerade versucht (mit einem 16MHz Quarzoszillator) - leider 
erfolglos. Muss wohl doch ein neuer µC her

>wenn mir sowas passiert, sehe ich genau 2 Mäglichkeiten:
>neuer Versuch und geht noch - puuuh, nochmal Glück gehabt. :)
>geht nicht mehr - Misz, Pech gehabt, Lehrgeld bezahlt. :(

Jo so ähnlich seh ich das auch

Franz
#749587
Lesenswert?

Die Fuses können entweder auf externen Takt verstellt sein, dann hilft 
ein externer Takt statt XTAL1.
Sie können aber auch auf die internen 128kHz gesetzt sein, dann muß man 
die Programmiersoftware entsprechend runter takten.
Völlig aussperren sollte man den M128 nicht können.

Um solche Unfälle zukünftig zu vermeiden, würde ich zu nem Bootloader 
raten.
Der Bootloader kann nicht die Fuses verstellen und läßt sich viel 
einfacher benutzen. Man muß nur die UART mit dem PC verbinden, ein 
spezieller Programmer ist nicht mehr nötig.


Peter

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