avr fuse bits

Do you have a question? Post it now! No Registration Necessary

Translate This Thread From German to

Threaded View
Hallo!

Vor einiger Zeit hab ich meinen AVR geschossen, indem ich seine fuse
bits auf externen takt gesetzt habe (jaaa, ich weiß, das passiert hier
öfter....)
ENDLICH hab ich einen neuen - das hat ca. 1/2 Jahr gedauret, weil
derjenige, dem das Board gehört, den nach fehlgeschlagenen
funktionsgeneratorversuchen nicht einfach ersetzen wollte sondern
zuerst mal versuchen wollte, den wieder per jtag-programmierung zu
aktivieren. als das auch nichts half, gabs dann einen neuen.
so - und den hab ich jetzt: habe zuerst mit dem internen gewerkt, weil
ich riesig großen respekt vor den fuse bits gewonne habe - da hat der
takt aber irgendwie auch nicht gepaßt - eine led, die im sekundentakt
blinken sollte, tat das etwa im 15s-takt (sehr genau ist diese angabe
aber nicht).
naja, und dann hab ich mich doch getraut, den externen quarz
einzustellen per fuse bits. und....ES GEHT NICHT MEHR!! ich hab
wirklich 10000000x mal kontrolliert, ob die bits richtig sind, und
auch 0=programmiert und 1=unprogrmamiert beachtet. ich benutze
ponyprog, und ich hab auf hinweise hin auch vorher ein Read
durchgeführt.
Nach dem schreiben der configuration bits wollte Ponyprog (v.2.06c)
die security bits schreiben - dabei hat es dann den AVR schon gar
nicht mehr gekannt.
Was soll ich nur machen? Ich bin mir echt ziemlich sicher, daß ich
richtig eingestellt habe, bins vorher mit einem kollegen extra
mehrmals durchgegangen. Habe auch slowly rising power eingestellt. Was
kann denn da noch schiefgehen? und v.a. was kann man machen?????
*verzweifel*
Wenn ich jetzt wieder mit dem demolierten AVR ankomme...das möcht ich
mir gar nicht vorstellen.

Device: ATmega128L (3.3V)
Quarz: 8Mhz Crystal
Software: PonyProg V2.06c
Programmer: AVRISP

Ich hoffe, es ist noch irgendwas möglich...

Danke,
Simone

Re: avr fuse bits


 >naja, und dann hab ich mich doch getraut, den externen quarz
 >einzustellen per fuse bits. und....ES GEHT NICHT MEHR!! ich hab

Tja das leben kann so hart sein. :-)

Mir ist mit dem Ponyprog und einem Mega8 genau dasselbe passiert. Das
liegt daran das er die Bits invertiert. DAdurch steht er auf externen
Takt. War aber bei mir kein Proplem ein Taktsignal anzulegen und das
Teil wieder zu benutzen.

Olaf


--
D.i.e.s.S. (K.)

Re: avr fuse bits

Hi!

Quoted text here. Click to load it

Ich seh das Problem eher noch ne Stufe tiefer, nämlich daß schon im
Datenblatt des AVR "gesetzt" = 0 und "nicht gesetzt" = 1 ist. Insofern
würde ich bei Ponyprog nicht von "invertiert" sprechen, sondern eher
davon, ob [X] jetzt als "1" oder als "gesetzt" zu interpretieren ist.

An Simone:
Wenns Dir hilft, kann ich Dir Montag von der Arbeit ein screenshot
mailen, wie ich unter Ponyprog die fuses des Mega8 für externen Quartz
(nur Quartz, nicht Quarztoszillator) setze. Den screenshot hatte ich
nämlich gleich gemacht, nachdem ichs zum laufen gebracht hatte -
sicher ist sicher. :-)

Gruß,
Michael.

Re: avr fuse bits


 >Ich seh das Problem eher noch ne Stufe tiefer, nämlich daß schon im
 >Datenblatt des AVR "gesetzt" = 0 und "nicht gesetzt" = 1 ist. Insofern
 >würde ich bei Ponyprog nicht von "invertiert" sprechen, sondern eher
 >davon, ob [X] jetzt als "1" oder als "gesetzt" zu interpretieren ist.

Sagen wir mal so, die Bits die ich mit Ponyprog gebrannt habe sind
genau anders rum als wenn ich sie mit meinem Galep-3 auslese.

Ich bin mir da uebrigens nicht ganz sicher, aber meine das Problem
trat nur auf wenn alle bits 1 oder 0 waren. Wuerde ich aber jetzt
nicht drauf schwoeren.


Olaf




--
D.i.e.s.S. (K.)

Re: avr fuse bits

Quoted text here. Click to load it

EPROM-Logik halt.  Ein gelöschter EPROM besteht aus 1-Bits.
--
J"org Wunsch                           Unix support engineer
joerg_wunsch@interface-systems.de        http://www.interface-systems.de/~j /

Re: avr fuse bits
Quoted text here. Click to load it

Das hab ich ja beachtet!!! Denn das letzte Mal hatte ich es nicht
beachtet, und da war er dann auf externen Takt gestellt. Ließ sich
aber leider mit Funktionsgenerator auch nicht mehr retten.


Quoted text here. Click to load it

Habe CLKSEL3:0 nicht markiert, SUT1:0 auch nicht (slowly rising
power).
Es steht im progrmamierfenster extra, was markiert und unmarkiert
bedeutet, das hab ich ziemlich sicher richtig gemacht.

Ich bin mittlerweile ins Grübeln gekommen - es könnte sein, daß der
AVR den 8MHz Quarz einfach nicht verträgt.
Die Variante, die ich hier hab, ist ATmega128 18AI, der ist für 3.3V
gar nicht spezifiziert, glaub ich. (ich hab die Hardware nicht
zusammengestellt, bitte nicht schimpfen ;-)). Deshalb könnte es sein,
daß er dne 8Mhz Quarz nicht mag.
Nämlich als ich davor mit der werksseitigen Einstellung von 1Mhz
intern gearbeitet hab, war das auch um ca. faktor 15 daneben (eine led
sollte 1s blinken, tat es aber alle 15s). Vielleicht meint der AVR, er
hat 5V anliegen und der interne Oszillator läuft um diesen Teil
langsamer, da ja die R's und C's für 5V ausgelegt sind?
Und dasselbe gilt ja dann tw. auch für einen externen Quarz - der 8MHz
Quarz kann also vielleicht gar nicht loslaufen.
Was meint ihr?

Kann es vielliecht mit 4Mhz gehen?
Meine jetzige Fuse-Einstellung würde von 3Mhz-8Mhz erlauben. Ich bin
mir ziemlich sicher, daß die Einstellung stimmt.

Vielen Dank,
Simone

Re: avr fuse bits
Simone Winkler schrieb:
[...]
Quoted text here. Click to load it

Das sollte wohl ATmega128-16AI heißen, oder?

Der verträgt nicht den Quarz nicht, sondern die 3.3V. Er will mindestens
4.5V. Mit 4.5V sollte auch der 8MHz Quarz gehen.

Für 3.3V muß es der ATmega128L-8AI sein. Falls Du wirklich mit 3.3V
arbeitest hat der Zusammensteller der Hardware 'nen Rüffel verdient.

Quoted text here. Click to load it

unwahrscheinlich

--
Cheers
Stefan


Re: avr fuse bits

Quoted text here. Click to load it

Das ist IMHO nicht richtig. Alle ATmegas arbeiten mit 3V..6V. (6V AMR!)
Dabei gilt, dass 3V bis 8MHz und 5V bis 16MHz funktionieren und dies
wird durch selektrion der Bauteile nach der Herstellung festgelegt.
Man kann also einen megaL mit 5V betreiben, hat aber keine Garantie,
dass er oberhalb von 8MHz funktioniert und man kann einen mega (ohne L)
auch mit 3.3V betreiben, wenn man <8MHz bleibt. Da Simone wohl bei 1MHz
herumgeistert ist das alles unkritisch.

Also da keinen kopf machen.

Wie die Klassifizierung bei den LV Typen aussieht ( 1.xV) kann ich nicht
sagen.

Was mich eher stutzig macht ist, dass hier einfach Quarze an den Chip
geschaltet werden, um einen externen Takt zu schaffen. Das ist nur bei
ausgessuchten Quarzen möglich, da andere leicht auf irgenwelchen
Oberwellen schwingen und nicht auf der angegeben Frequenz. Bitte
schaltet doch zu den beiden Quarz-Pinnen jeweils einen Kondensator im
bereich 12..22pF nach Masse. Dann sollte das auch alles funktionieren.

Generell ist es unerheblich, ob man den ARV auf externen Takt oder
externen Quarz betreibt, bei externem Takt muss man nur den richtigen
Pin der beiden erwischen.

Quoted text here. Click to load it
Nein, wahrscheinlich. Wenn der Chip mit niedriger Versorgung betrieben
wird, sind langsamere Frequenzen sinnvoll für einen
Wiederbelebungsversuch. Aber bitte auch hier beachten, dass ein nackter
Quarz nur dann funktioniert, wenn er die zwei kleinen Kondensatoren hat.

Gruß,

Ulrich

Re: avr fuse bits

 >Was mich eher stutzig macht ist, dass hier einfach Quarze an den Chip
 >geschaltet werden, um einen externen Takt zu schaffen. Das ist nur bei
 >ausgessuchten Quarzen möglich, da andere leicht auf irgenwelchen
 >Oberwellen schwingen und nicht auf der angegeben Frequenz.

Hast du das schonmal erlebt? Ich habe in meinem ganzen Leben noch nie
ein Problem damit gehabt einen Quarz an einen Controller zu klemmen.

Die einzige Ausnahme war ein Videotextdecoder wo der Quarz gerade eben
auf der dritten Oberwelle schwingen sollte.


Von daher wuerde ich mir nicht zuviel sorgen machen.


 >Bitte
 >schaltet doch zu den beiden Quarz-Pinnen jeweils einen Kondensator im
 >bereich 12..22pF nach Masse. Dann sollte das auch alles funktionieren.

Das sehe ich genauso.

Olaf


--
D.i.e.s.S. (K.)

Re: avr fuse bits

Quoted text here. Click to load it
Ja, mehrfach. Auf einigen Schaltungen wollte der Quarz erst schwingen,
wenn sein Gehäuse mit GND verlötet war, auf anderen musste mind. ein
Kondensator an einen Pin angeschlossen werden. Daher habe ich die beiden
Kondensatoren jetzt immer mit im Design. Damit brauche ich das Gehäuse
auch nicht mehr mit GND zu verlöten.

Das mit der Oberwelle ist aber oft auch schon das Problem. Wenn der
Quarz am AVR auf seiner 3. Oberwelle schwingt, dann ist die frequenz zu
hoch für den AVR und der überschlägt sich dann, oder bekommt nix mehr mit.

Man kann auch einen der Kondensatoren als Drehko auslegen und damit die
Frequenz in engem Raum ziehen. Das ist besonders bei Uhren zum Abgleich
interessant.

Leztendlich kann man das ganze nur damit umgehen, dass man
Q-Oszillatoren einsetzt. Die sind aber teurer, oder als Nicht-SMD recht
groß. Ich bevorzuge sie trotzdem.

Gruß

Ulrich

Re: avr fuse bits

 >wenn sein Gehäuse mit GND verlötet war, auf anderen musste mind. ein
 >Kondensator an einen Pin angeschlossen werden. Daher habe ich die beiden
 >Kondensatoren jetzt immer mit im Design.

Ach so..das man die beiden Kondensatoren verwendet die der Hersteller
schliesslich in jedem Datenblatt mit einzeichnet habe ich einfach mal
vorrausgesetzt.

Olaf


--
D.i.e.s.S. (K.)

Re: avr fuse bits

Quoted text here. Click to load it
Normal schon. Ich lese aber hier öfter bei dem 'Externen Taktproblem'
dass ein Quarz angeklemmt wurde um den AVR wieder programmieren zu
können. Wenn der dann nicht anschwingt, kommt es zu den Problemen mit
'geht nicht'.

Gruß,

Ulrich

Re: avr fuse bits
snipped-for-privacy@gmx.at (Simone Winkler) wrote in message
Quoted text here. Click to load it


Ich hatte mal ein ähnliches Problem mit einem AT90S8535 der mit einem
8 MHz Quarz nicht schwingen wollte, mit 4 allerdings schon. Den konnte
man reanimieren indem man mit eine MultiMeter oder einem Widerstand
einen OSC Pin mit Masse verbunden hat. Ich hab das allerdings nicht
weiter verfolgt, war nicht mein Board :).

Schon mal versucht mit dem Bascom Programer die Fusebits zu setzen?
Dort braucht man sich nicht um '1' oder '0' zu kümmern sondern es
steht textuell dran was gesetzt ist, a lá '8 MHz internal Osc'.

Mfg,
    Colin

Re: avr fuse bits
sorry - ich hab mich bei meinem letzten beitrag vertippt:
Es handelt sich um einen ATmega128 16AI 0348 (das steht auf dem Chip).

simone

Re: avr fuse bits

Quoted text here. Click to load it


Das ist ein 5V Typ mit 16MHz max. Frequenz. ( Hergestellt KW48 in 2003)
Also entweder mit 3V und <8MHz oder mit 5V bei >8MHz betreiben.
Und zwei Kondensatoren 12.22pF zwischen die Quarzpinne nach Masse
schalten, sonst schwingt er garnicht oder irgendwo, aber nicht bei der
engegeben Frequenz.

Gruß,

Ulrich


Re: avr fuse bits

Hi Simone!

Quoted text here. Click to load it

Und so sieht das aus, wenn ich den Mega8 für 16MHz Quartz unter
Ponyprog programmiere. Dabei ging ich so vor, daß ich die fuses
erstmal _gelesen_
hab, und dann geschaut, was ich gegenüber den defaults _ändern_ will.

[ ] alle Bootlock und Lock

[ ] RSTDISBL
[ ] WDTON
[X] CKOPT
[ ] EESAVE
[X] BOOTSZ1
[X] BOOTSZ0
[ ] BOOTRST

[X] BODLEVEL
[X] BODEN
[X] SUT1
[ ] SUT0
[ ] CKSEL3
[ ] CKSEL2
[ ] CKSEL1
[ ] CKSEL0

Gruß,
Michael.

Re: avr fuse bits
Michael Eggert schrieb:

Quoted text here. Click to load it

Das ist auch die einzig sinnvolle Vorgehensweise.

Gruß
Henning
--
henning paul home:  http://www.geocities.com/hennichodernich
PM: snipped-for-privacy@gmx.de , ICQ: 111044613


Re: avr fuse bits

Quoted text here. Click to load it

Wobei man sich den ATmega8 damit wirklich schrotten kann, wenn man
sich das /RESET totklemmt.  Einen m128 kann man damit allein nicht
wirklich totbekommen.

Aber daß Simone nicht aus dem ersten Mißgeschick gelernt hat, daß man
Ponyprog vielleicht doch besser in die Ecke schmeißt und es wieder
damit versuchen muß...

Ich hatte übrigens neulich einen Kollegen mit frisch gekauften (bei
Reichelt) AT90S2343, die sich allesamt nicht programmieren ließen.
Aus irgendwelchen Gründen hat Atmel diese Serie mit abgeschaltetem
RC-Oszillator ausgeliefert (obwohl das Datenblatt diese Möglichkeit
nirgends erwähnt).  Externer 1 MHz Takt hat dann geholfen (nachdem wir
schon fast am Aufgeben waren).
--
J"org Wunsch                           Unix support engineer
joerg_wunsch@interface-systems.de        http://www.interface-systems.de/~j /

Re: avr fuse bits


Quoted text here. Click to load it

Hallo Olaf,

passiert sowas bei Atmel öfters?
Ich habe hier momentan 2 Mega128, die sich ueberhaupt nicht per SPI
programmieren lassen wollen, per JTAG aber einwandfrei. FuseBit fuer SPI
ist aber richtig gesetzt.

Serie: ATMEGA128 16AI 0335

Bye Daniel

--
  .~.    Daniel Schramm  Phone: +49 231 6108112   Mail: snipped-for-privacy@gmx.de
  /V\    Bruehlweg 36    Mobile:+49 178 8839848   ICQ: 35816985
We've slightly trimmed the long signature. Click to see the full one.
Re: avr fuse bits
Quoted text here. Click to load it

Dafür habe ich einen Adapter gebaut um den AtMega8 parallel zu pro-
grammieren...

Quoted text here. Click to load it

Vielleicht schaffen wir's ja mit kollektiver Überzeugungsarbeit...


Quoted text here. Click to load it

Den setze ich gar nicht mehr ein, zu seltsam sind dessen Verhaltensweisen,
nicht nur was ISP angeht...

cu,

 Aguja

::Update:: www.PROuC.de ==> Free AVR-, PIC- & 8051-Programmers, Apps & Tips

Site Timeline