Forum: Mikrocontroller und Digitale Elektronik ATMEGA 328 Fuses


von Pechvogel (Gast)


Lesenswert?

Hallo,

könnt Ihr mir bitte konkret und "verifiziert" helfen?

Status:

Fabrikneuer atmega 328p tqfp mit externem 8 Mhz Quarz.
Mit meinem ISP MKII konnte ich zugreifen und die Fuse 
auslesen/programmieren.

Originalzustand :
Ext, 0xff
High 0xd9
Low 0x62

Dann wollte ich den aktuellen Arduino Optibootloader optiboot_atmega328 
vom 02.10.2017 aus dem Verzeichnis C:\Program Files 
(x86)\Arduino\hardware\arduino\avr\bootloaders\optiboot brennen.

Recherche ergab für die Fuses:

Ext 0x00
High 0xda
Low 0xff

Ergebnis ist das ich ihn mit Atmelstudo 6.1 und Original ISP MKII nicht 
mehr auslesen oder umprogrammieren kann.

Was ist passiert?
Sind das die falschen Fuses gewesen?
Welche wären die richtigen?
Wie kann ich den wiederbeleben?

Ich wäre sehr dankbar wenn jemand genau weiß, welche die korrekten Fuses 
sind und wie ich aus der Nummer wieder rauskomme, ohne den TQFP 
rauszulöten und einen neuen einzubauen.
Ich fürchter das überlebt meine Platine dann nicht mehr und ich habe 
auch keinen Ersatz hier rumliegen.

Vielen dank,

Karl

von BlaBla (Gast)


Lesenswert?

BODLEVEL = 2V7
RSTDISBL = [ ]
DWEN = [ ]
SPIEN = [X]
WDTON = [ ]
EESAVE = [ ]
BOOTSZ = 256W_3F00
BOOTRST = [X]
CKDIV8 = [ ]
CKOUT = [ ]
SUT_CKSEL = EXTXOSC_8MHZ_XX_16KCK_14CK_65MS

EXTENDED = 0xFD (valid)
HIGH = 0xDE (valid)
LOW = 0xFF (valid)

So ist es bei mir.

von BlaBla (Gast)


Lesenswert?

Und noch die Lock-Bits:

LB = NO_LOCK
BLB0 = NO_LOCK
BLB1 = LPM_SPM_DISABLE

LOCKBIT = 0xCF (valid)

von OldMan (Gast)


Lesenswert?

Pechvogel schrieb:
> Original ISP MKII

Für was nagelt man einen Bootloader auf das Ding, wenn
meinen ISP MKII hat?
Das verstehe ich nicht.

von BlaBla (Gast)


Lesenswert?

BODLEVEL = <none selected>
RSTDISBL = [ ]
DWEN = [ ]
SPIEN = [X]
WDTON = [ ]
EESAVE = [ ]
BOOTSZ = 1024W_3C00
BOOTRST = [X]
CKDIV8 = [ ]
CKOUT = [ ]
SUT_CKSEL = EXTXOSC_8MHZ_XX_16KCK_14CK_65MS

EXTENDED = 0x00 (modified)
HIGH = 0xDA (modified)
LOW = 0xFF (modified)

Deine Recherche, sehr merkwürdig.

von BlaBla (Gast)


Lesenswert?

OldMan schrieb:
> Für was nagelt man einen Bootloader auf das Ding, wenn
> meinen ISP MKII hat?
> Das verstehe ich nicht.

Dann mal nachdenken ;-) Tipp: Shield ohne ISP

von Pechvogel (Gast)


Lesenswert?

BlaBla schrieb:
> OldMan schrieb:
>> Für was nagelt man einen Bootloader auf das Ding, wenn
>> meinen ISP MKII hat?
>> Das verstehe ich nicht.

Bitte jetzt nicht den Thread entern, das hilft mir nicht weiter.
Danke.

ja die Recherche war für den Ar....

Laut Boards.txt aus der Arduino Umgebung muss wohl so sein:

low_fuses=0xFF
high_fuses=0xDA
extended_fuses=0xFD

Passt das?


Wie bekomme ich das möglichst einfach wieder geradgebogen?

danke für sachdienliche Hinweise.

Karl

von Pechvogel (Gast)


Lesenswert?

Boards.txt

## ---------------------------------------------------
pro.menu.cpu.8MHzatmega328=ATmega328P (3.3V, 8 MHz)

pro.menu.cpu.8MHzatmega328.upload.maximum_size=30720
pro.menu.cpu.8MHzatmega328.upload.maximum_data_size=2048
pro.menu.cpu.8MHzatmega328.upload.speed=57600

pro.menu.cpu.8MHzatmega328.bootloader.low_fuses=0xFF
pro.menu.cpu.8MHzatmega328.bootloader.high_fuses=0xDA
pro.menu.cpu.8MHzatmega328.bootloader.extended_fuses=0xFD
pro.menu.cpu.8MHzatmega328.bootloader.file=atmega/ATmegaBOOT_168_atmega3 
28_pro_8MHz.hex

pro.menu.cpu.8MHzatmega328.build.mcu=atmega328p
pro.menu.cpu.8MHzatmega328.build.f_cpu=8000000L#
## --------------------------------------------------

Das entspricht genau meinem Hardwareaufbau.

von BlaBla (Gast)


Lesenswert?

Also Chip löschen. Wenn das nicht geht, dann dann fehlt eventuell der 
Takt. Oder, der Reset ist abgeschaltet. Dann hilft nur ein 
HV-Programmer, wie z. Bsp der Dragon.

von Einer K. (Gast)


Lesenswert?

Du hast den BOD Level auf 4,3V gestellt.
Mit 3,3V wirds also nichts.

von Pechvogel (Gast)


Lesenswert?

Arduino F. schrieb:
> Du hast den BOD Level auf 4,3V gestellt.
> Mit 3,3V wirds also nichts.

Wenn ich den jetzt mit 5 Volt versorge sollte es wieder gehen???

Das wäre eine OPtion !

von Einer K. (Gast)


Lesenswert?

Es besteht Hoffnung.

Denn die anderen Fuses stehen nicht so weit aus dem Ruder, dass es 
unmöglich wäre.
ohne Gewähr

von Pechvogel (Gast)


Lesenswert?

5 Volt direkt an die CPU.
Studio erkennt die 5 Volt, aber alles Andere schlägt fehl ;-(((

Noch Ideen??

von S. Landolt (Gast)


Lesenswert?

> Du hast den BOD Level auf 4,3V gestellt.
?
Ich lese aus dem Datenblatt 'Reserved' beim Extended Fuse Byte.
Quarz ist angeschlossen für 'Low Power Crystal Oscillator' im Low Fuse 
Byte?

von Einer K. (Gast)


Lesenswert?

S. Landolt schrieb:
> Ich lese aus dem Datenblatt 'Reserved' beim Extended Fuse Byte.
Bei einem ATMega328P ?

Pechvogel schrieb:
> Fabrikneuer atmega 328p

von S. Landolt (Gast)


Lesenswert?

Tja, vielleicht irre ich mich ja, aber es wurde doch Extended auf 00 
gesetzt, und da sehe ich unter 'Table 32-8. BODLEVEL Fuse Coding' eben 
'Reserved'. Wie können wir uns einigen?

von Einer K. (Gast)


Lesenswert?

S. Landolt schrieb:
> Tja, vielleicht irre ich mich ja, aber es wurde doch Extended auf
> 00
> gesetzt, und da sehe ich unter 'Table 32-8. BODLEVEL Fuse Coding' eben
> 'Reserved'. Wie können wir uns einigen?

Das ist doch klar...
Ich gebe auf...!
Und dir recht.

Denn ich habe nur http://www.engbedded.com/fusecalc/ benutzt.
Und das sagt eben: BOD 4,3
(auch wenn es falsch ist)

Wenn es sich so fatal auswirkt, ist wohl der HV Programmer die letzte 
Option.

von S. Landolt (Gast)


Lesenswert?

Also ich würde doch erst mal den Quarz und seine Verbindungen 
kontrollieren.

von S. Landolt (Gast)


Lesenswert?

... und falls dies nichts ergibt, an XTAL1 einen externen Takt anlegen, 
so ein solcher verfügbar ist.

von Pechvogel (Gast)


Lesenswert?

Quarz, Controller schließe ich aus.
Ich konnte den Controller ja vor Setzen der Fuses auslesen und auch die 
Fuses neu beschreiben...

von S. Landolt (Gast)


Lesenswert?

> Quarz ... schließe ich aus.

> ... auslesen und ... beschreiben ...
Schon, aber
> Fabrikneuer atmega 328p
der lief also mit dem internen RC-Oszillator.

von Pechvogel (Gast)


Lesenswert?

Verfic....ttt


Atmega getauscht.
Danke an meinen Weller Gaslötkolben mit Heissluftdüse.

Dann fiel mir auf, ich hatte die 18pf Ziehkapazitäten am Quarz mal eben 
mit 100 nF bestückt.

Das erklärt so ziemlich alles.

Bootloader ist drauf, alles funktioniert.

Danke und sorry zugleich.

Karl

von Gerhard O. (gerhard_)


Lesenswert?

Pechvogel schrieb:
> mit 100 nF bestückt

Hmm. Wo habe ich das schon mal gehört:-)

Welcome to the club!

von S. Landolt (Gast)


Lesenswert?

Als Durchsteck-Anhänger (für Gerhard O.: THT) kann mir das nicht 
passieren, da unterscheiden sich  pF- und 100 nF-Kondensatoren doch 
erheblich.

von Gerhard O. (gerhard_)


Lesenswert?

S. Landolt schrieb:
> Als Durchsteck-Anhänger (für Gerhard O.: THT) kann mir das nicht
> passieren, da unterscheiden sich  pF- und 100 nF-Kondensatoren doch
> erheblich.

Wem so etwas noch nie passiert ist, hat sich einfach noch nicht lange 
genug in der Elektronik bewegt.

Mr. Murphy schläft nie...

von S. Landolt (Gast)


Lesenswert?

> noch nicht lange genug
Seit über einem halben Jahrhundert (schrecklich, wie das klingt) - und 
mir sind schon viele (dumme und unglaubliche) Fehler unterlaufen, aber 
speziell dieser eben nicht, aus genanntem Grund.

von Pechvogel (Gast)


Lesenswert?

Ja seit einem halben Jahrhundert, aber wenige Jahre mit SMD...

Am Ende, reine Konzentrtionsfrage, also besser ohne Bier dabei.
Als Diplomarbeit fädelte ich eine Speicherkarte für Bilddaten, 
wochenlang...
Der Fehler lag dann unter dem Drahtverhau, Prost Mahlzeit.

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.