AT90S2313 ändert Programmcode

Hallo NG,

ich habe schon einige Projekte mit Atmel-MCs -1200 und 2313- erfolgreich abgeschlossen, momentan ärgert mich aber ein

2313 etwas. Programmieren und Auslesen geht problemlos (AVR-Studio 3.21

--> PonyProg 2.05a --> PonyProg serieller Programmieradapter)

Nach Spannungsunterbrechung funktioniert das Programm nicht mehr. Ein Rücklesen des Codes bestätigt eine Änderung der ersten beiden Programmbytes und damit fehlendem Einsprung in die Reset-Routine. Die Änderung ist nicht immer die gleiche, es werden aber immer nur Bits von 1 auf 0 geändert.

Zuerst hatte ich ein Reset-Problem ähnlich dem verlorener EEPROM-Inhalte in Verdacht, allerding geht dessen Inhalt bei keiner Spannungsunterbrechung verloren. Als Resetgenerator ist ein TL7705-SMD eingesetzt (mal 100Stück für 3 Eur bei e**y ersteigert) und ja, ich kenne dessen Problem, beim Hochfahren der Betriebsspannung kein ordentliches Resetsignal zu erzeugen, hatte bei bisherigen Projekten aber noch kein Problem damit. Nun ist als 5V-Regler ein TLE4271-2G eingesetzt, der seinersets einen Reset-Generator mit einem Watchdog-Eingang enthält. Ich habe diesen dann auch noch mit einer 50 MilliSek. Resetzeit integriert, aber ohne Erfolg.

Das einzige, was mir jetzt noch einfällt wäre den 2313 zu tauschen, ist nur nicht so prickelnd, da SMD auf selbstgeätzter HP-Platine :-(

Hat vielleicht irgendeiner noch eine Idee, was man noch probieren kann? Irgendjemand Erfahrung mit so einem Effekt?

Besten Dank im voraus.

Die besten Grüße aus Wittenberg

Reinhard Richter

Reply to
Reinhard Richter
Loading thread data ...

Hallo,

Reinhard Richter schrieb:

Ich hatte auch schon mal einen "morschen" 2313, allerdings nicht SMD und eigenhändig zerstört. Bei dem sind auch einige Speicherzellen ganz gerne von alleine gekippt. Dito. bei einem "normalen" EEPROM, den hab ich auch getötet, der hielt einige Speicherzellen nur für 1/2 bis 2 Tage, je nach Programmieralgorithmus.

Ein defekter µC liegt wohl im Bereich des möglichen.

mfg Björn Schrader

Reply to
Bjoern Schrader

Flash macht neuerdings leider manchmal Ärger :-|

Ich habe gerade auch in einer Musterserie von 10 Stück zweimal einen Flash-DSP (TMS320LF2407A) tauschen dürfen, weil sich die IC's nicht sauber programmieren ließen, obwohl sie vom Emulator einwandfrei erkannt wurden, Vpp definitiv da und die Verlötung einwandfrei war. Nach dem Tausch war wieder alles in Ordnung, es lag definitiv an den IC's, welche aus einwandfreier Quelle (Distri.) bezogen worden waren.

Meiner Meinung nach wird in letzter Zeit angesichts des gestiegenen Kostendrucks bei gleichzeitig höherer nachgefragter Stückzahlen (Allocation!) beim Flash diverser Anbieter der Aufwand für die Qualitätssicherung etwas reduziert. Die Chiphersteller sind halt auch keine Heiligen ;-/

Gruß Oliver

--
Oliver Bartels + Erding, Germany + obartels@bartels.de
http://www.bartels.de + Phone: +49-8122-9729-0 Fax: -10
Reply to
Oliver Bartels

Reinhard Richter schrieb im Beitrag ...

Na ja, damit Bits von 1 nach 0 gehen, muessen sie programmiert werden. Da es nur die ersten Programmspeicherbytes betrifft, scheint es kein globales Problem zu sein. Auch Programmieren bei falscher Versogungsspannung scheidet aus, weil AVR mit ziemlich laxer Versorgungsspannung programmiert werden duerfen und sich die Programmierspannung selber machen.

Zum Programmieren muss RESET aktiv sein. Das ist durch den RESET-Controller auch der Fall so lange die Betriebsspannung noch nicht hoch genug ist. Dann muessen Impulse auf SCLK abkommen. Das ist durchaus moeglich, schlesslich sind die Pins Eingaenge ohne PullUp, und wir wissen nicht, was an deiner Schaltng dran ist, Stoerungen koennen immer mal reinkommen, denk nur an den Quartztakt. Tritt der Effekt immer noch auf wenn am SCLK Eingang ein PullUp dran ist ? Auch die anderen Pins MISO MOSI koennten einen vertragen. Aber das Problem kann uahc intern auftreten, schliesslich ist es ziemlich unwahrscheinlich (aber nicht unmoeglich) das Program Enable und Write Befehle exakt so wegen Stoerungen ueber's SPI reinkommen. Intern renne Chip bei mangelnder Versorgungsspannung bekanntermassen Amok, und beim AVR hilft nicht mal REST, eben weil sie dann im Programmiermodus sind, und Amok dort zum Ueberprogrammieren fuehrt. Tritt der Effekt immer noch auf, wenn die Versorgungsspannung schlagartig eingeschaltet wird (also kein Netzteil, sondern Schalter hinter Netzteil) ?

--
Manfred Winterhoff, reply-to invalid, use mawin at despammed.com
homepage: http://www.geocities.com/mwinterhoff/
de.sci.electronics FAQ: http://dse-faq.elektronik-kompendium.de/
Read 'Art of Electronics' Horowitz/Hill before you ask.
Lese 'Hohe Schule der Elektronik 1+2' bevor du fragst.
Reply to
MaWin

Hallo MaWin, Oliver und Bjoern,

(ichwerdnichtwiederMaWinderNG-GuruhatMIRgeantwortet)

"MaWin" schrieb:

RESET-Controller

... viele interressante Gedanken zu möglichen Programmiermacken beim Atmel speziell bei aktivem Reset-Signal bei Power-On.

[MaWin] Durch Deine Bemerkungen über wildes Schwingen noch nachdenklicher geworden, habe ich mir die ganze Anordnung nochmals kritisch angesehen und nach vorerst einfachen Lösungen gesucht. Dabei kam ich auf die Idee, nach dem Programmieren den Programmierstecker sofort abzuziehen und erst dann die Ausschaltversuche zu unternehmen (mir selbst unverständlich, warum ich da nicht schon eher drauf gekommen bin). Und siehe da, keine Verluste im Programmcode mehr. Das läßt sich sogar umgekehrt nachweisen, Prog-Stecker wieder rein, Betriebsspannung unterbrechen --> Programmcodeverlust. Also danke nochmals für Deine konstruktiven Gedanken.

Danke auch an Oliver und Bjoern für ihre Antworten.

Gruß Reinhard

Reply to
Reinhard Richter

Hallo MaWin, Oliver und Bjoern,

(ichwerdnichtwiederMaWinderNG-GuruhatMIRgeantwortet)

"MaWin" schrieb:

RESET-Controller

... viele interressante Gedanken zu möglichen Programmiermacken beim Atmel speziell bei aktivem Reset-Signal bei Power-On.

[MaWin] Durch Deine Bemerkungen über wildes Schwingen noch nachdenklicher geworden, habe ich mir die ganze Anordnung nochmals kritisch angesehen und nach vorerst einfachen Lösungen gesucht. Dabei kam ich auf die Idee, nach dem Programmieren den Programmierstecker sofort abzuziehen und erst dann die Ausschaltversuche zu unternehmen (mir selbst unverständlich, warum ich da nicht schon eher drauf gekommen bin). Und siehe da, keine Verluste im Programmcode mehr. Das läßt sich sogar umgekehrt nachweisen, Prog-Stecker wieder rein, Betriebsspannung unterbrechen --> Programmcodeverlust. Also danke nochmals für Deine konstruktiven Gedanken.

Danke auch an Oliver und Bjoern für ihre Antworten.

Gruß Reinhard

Reply to
Reinhard Richter

Oops, sollte doch nur einmal erscheinen... :-(

Reply to
Reinhard Richter

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.