avr fuse bits

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

Reply to
Simone Winkler
Loading thread data ...

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.)
Reply to
Olaf Kaluza

Hi!

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.

Reply to
Michael Eggert

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.)
Reply to
Olaf Kaluza

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/
Reply to
Joerg Wunsch

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/
Reply to
Joerg Wunsch

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:daniel.schramm@gmx.de
  /V\    Bruehlweg 36    Mobile:+49 178 8839848   ICQ: 35816985
 // \\   44379 Dortmund  Fax:   +49 231 96989961  WWW: pinguin.sauerland.de
/(   )\  Germany
 ^`~'^
Reply to
Daniel Schramm

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.

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

Reply to
Simone Winkler

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

simone

Reply to
Simone Winkler

Simone Winkler schrieb: [...]

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.

unwahrscheinlich

--
Cheers
Stefan
Reply to
Stefan Heinzmann

Simone Winkler schrieb:

Also ich hab' mit PonyProg überhaupt keine Probleme, ATmegas zu programmieren. PonyProg2000 in der neuesten Version für Linux, ATmega128 Datecode 0317, serieller Programmer. Eigentlich nur deshalb PonyProg. Ich will unter Linux nicht auf dem Parallelport herumpfuschen, außerdem hab' ich Angst um mein Notebook und denke, daß die serielle da robuster ist. Ist übrigens eine voll standardkonforme serielle, und der Dongle ("passiv", Z-Dioden + Rs + 1 BC546) funktioniert sogar an 5m RS232-Verlängerung problemlos. Schon einiges damit programmiert, AT90S2333, AT90S2313, AT90S1200 und halt der ATmega128 (auf Lochraster-Adapterplatine). Den AT90S8515 aus meinem FUMP2

formatting link
hab' ich noch nicht probiert, das war damals noch mit SP12 unter Win95 auf einem K6.

Mein Notebook ist übrigens ein ASUS L2400D. Schwer, laut, heiß, aber dafür voll ausgerüstet. So wie ich's mag... ;-)

Gruß Henning

--
henning paul home:  http://www.geocities.com/hennichodernich
PM: henningpaul@gmx.de , ICQ: 111044613
Reply to
Henning Paul

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

Reply to
Colin

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 > Kann es vielliecht mit 4Mhz gehen?

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

Reply to
Ulrich Prinz

Das ist ein 5V Typ mit 16MHz max. Frequenz. ( Hergestellt KW48 in 2003) Also entweder mit 3V und 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

Reply to
Ulrich Prinz

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.

Das sehe ich genauso.

Olaf

--
D.i.e.s.S. (K.)
Reply to
Olaf Kaluza

PonyProg sofort löschen...

JTAG-Programmer versuchen? Wir hatten erst vor kurzem einen Thread darüber.

cu,

Aguja

::Update::

formatting link
==> Free AVR-, PIC- & 8051-Programmers, Apps & Tips

Reply to
Aguja

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

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

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

cu,

Aguja

::Update::

formatting link
==> Free AVR-, PIC- & 8051-Programmers, Apps & Tips

Reply to
Aguja

Hi Simone!

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.

Reply to
Michael Eggert

Aguja schrieb:

Mal eine ernsthafte Frage: Wie programmiere ich dann über die serielle Schnittstelle? Ein Open Source-UNIX-Tool, das /dev/ttyS0 nutzt und keinen Direktzugriff auf die Hardware wagt. Wie ist das eigentlich bei avrdude und uisp? Nutzen die parport.o oder greifen die direkt zu?

Gruß Henning

--
henning paul home:  http://www.geocities.com/hennichodernich
PM: henningpaul@gmx.de , ICQ: 111044613
Reply to
Henning Paul

Michael Eggert schrieb:

Das ist auch die einzig sinnvolle Vorgehensweise.

Gruß Henning

--
henning paul home:  http://www.geocities.com/hennichodernich
PM: henningpaul@gmx.de , ICQ: 111044613
Reply to
Henning Paul

ElectronDepot website is not affiliated with any of the manufacturers or service providers discussed here. All logos and trade names are the property of their respective owners.