Forum: Mikrocontroller und Digitale Elektronik Wie oft lassen sich µC flashen?


von Tobi D. (fanti)


Lesenswert?

Hallo zusammen,

mir ist bisher zwar noch kein µC durch zu oftes programmieren kaputt 
gegangen, aber da gibt es doch bestimmt eine Grenze bei der die 
Speicherzellen den Geist aufgeben?

Auf einer Seite hab ich die Angabe "100" gefunden, aber das erscheint 
mir doch sehr wenig.

Bei größeren Projekten kann es durchaus vorkommen, dass man mehrere 100 
mal neu programmieren muss. Leider habe ich sonst im Netz und auch in 
den Herstellerdatenblättern keine Angaben dazu gefunden.

Jemand ne Idee, Vermutung, Spekulation?

von Eumel (Gast)


Lesenswert?

Kennst du Datenblätter?

von troll (Gast)


Lesenswert?

Steht das nicht im Datenblatt? Ich meine sowas um 10^4 mal.

von Karl H. (kbuchegg)


Lesenswert?

Tobi D. schrieb:

> Bei größeren Projekten kann es durchaus vorkommen, dass man mehrere 100
> mal neu programmieren muss. Leider habe ich sonst im Netz und auch in
> den Herstellerdatenblättern keine Angaben dazu gefunden.


Echt?
Na dem Manne kann geholfen werden.
Atmel spricht von ca. 10000 Schreibzyklen.
Wobei es sicher nicht so ist, dass nach exakt 10000 mal beschreiben das 
Flash ausfällt. Diese Zahl ist die, die Atmel garantiert.

von tt4u (Gast)


Lesenswert?

je nach Typ 10.000 bis 100.000

von RTFM (Gast)


Lesenswert?

>Leider habe ich sonst im Netz und auch in den
>Herstellerdatenblättern keine Angaben dazu gefunden.

Bist du blind? Siehst du dir in Datenblättern prinzipiell nur die bunten 
Bilder an, ohne den Text zu lesen?

z.B.:
http://www.atmel.com/Images/doc2486.pdf

Da steht auf der ersten(!) Seite, fettgedruckt(!):

– Write/Erase Cycles: 10,000 Flash/100,000 EEPROM

von Klaus W. (mfgkw)


Lesenswert?

Tobi D. schrieb:
> Auf einer Seite hab ich die Angabe "100" gefunden, aber das erscheint
> mir doch sehr wenig.

doch, ist schon gut.
Damit liegst du auf der sicheren Seite.

Und lass dich nicht verwirren, in den Datenblättern der Hersteller steht 
nur Propaganda.
Deine Seite ist sicher besser.

von Tobi D. (fanti)


Lesenswert?

uhhh, bloß nich zu freundlich sein^^

Ich lese das Datenblatt, und ja ich kann lesen und nein ich bin nicht 
blind.
Das problem ist, dass ich bei 500 Seiten nicht weiß wo ich suchen soll.

Interessieren würde mich der Pic18f97j60.
Trotzdem schon mal danke für die wenigen ernstgemeinten Antworten :)

von Helmut S. (helmuts)


Lesenswert?

http://ww1.microchip.com/downloads/en/DeviceDoc/39762a.pdf
Leider nur 100 mal.
Ich musste auch erst suchen um den richtigen Begriff zu finden.
Das Schlüsselwort heißt "endurance".

Diesen Begriff verwendet auch TI bei der MSP430 Familie. Die erlauben 
10000 Zyklen.

von Eumel (Gast)


Lesenswert?

Ein Datenblatt hat ein Inhaltsverzeichniss, außerdem kannst du in PDF 
Dokumenten auch ganz bequem nach Stichwörtern suchen. Solche Angaben 
sind absolute Basisdaten die auch im Datenblatt nicht in irgendwelchen 
Fußnoten versteckt sind.

von Dieter W. (dds5)


Lesenswert?

Tja, das mit den 100 ist schon ganz gut von Deinen Angaben her.

Die erste Generation 3,3V Controller von Microchip waren da noch nicht 
so überragend.

Genaueres steht im Datenblatt DS39762F:

http://ww1.microchip.com/downloads/en/DeviceDoc/39762f.pdf

auf Seite 441

Param No.  Symbol  Characteristic  Min  Typ  Max  Units  Conditions
Program Flash Memory
D130        EP     Cell Endurance  100   1K   —    E/W   -40C to +85C

wobei E/W für erase/write Zyklen steht.

von Tobi D. (fanti)


Lesenswert?

Danke für die nette Hilfe Helmut und Dieter.
Man muss erstmal wissen dass man nach "endurance" suchen muss, wieder 
was gelernt.

Also doch nur 100 Zyklen Minimum, das ist natürlich nicht so toll, aber 
gut zu wissen. Dann muss ich die Software wohl öffters im Simulator 
laufen lassen als sie direkt zu flashen.

und bevor die Flames wieder losgehen

Frage beantwortet, daher ***closed***

von Helmut S. (helmuts)


Lesenswert?

>100 Zyklen Minimum

Typisch waren es ja 1000 Zyklen und außerdem war das auch für den vollen 
Temperaturbereich von -40° bis +85° beim Flashen. Solange man nur am 
Testen bei 25° ist dürfte das Teil also schon viel mehr als 100 mal 
aushalten. Verkaufen würde ich so ein Teil nach mehr als 100 mal 
Flash-Programmierung aber nicht mehr.

von Osche R. (Gast)


Lesenswert?

Tobi D. schrieb:

> Auf einer Seite hab ich die Angabe "100" gefunden, aber das erscheint
> mir doch sehr wenig.

Üblicherweise wird ein Gerät vor der Auslieferung 1x programmiert. 
Danach macht der Anwender vielleicht noch 2..10 Firmware-Updates. Reicht 
also.


Für die 100 Zyklen wird Datenerhalt für typisch 20 Jahre bei typisch 
-40..+125°C garantiert. Wenn Du Deinen runtergenudelten 
Entwicklungscontroller zum 10.000x programmierst, dann bleiben die Daten 
auch drin. Aber vielleicht kippen die ersten bits schon nach fünf 
Jahren.

Deshalb: immer einen alten Controller zum Entwicklen nehmen, und danach 
einen neuen, der im Gerät verbleibt.

von Bronco (Gast)


Lesenswert?

om pf schrieb:
> Üblicherweise wird ein Gerät vor der Auslieferung 1x programmiert.
> Danach macht der Anwender vielleicht noch 2..10 Firmware-Updates. Reicht
> also.

Es sei denn, es kommt in ein Auto. Dann wird das EEPROM weggespart und 
stattdessen EEPROM-Emulation im Flash gemacht. Dann darfst Du das Auto 
noch genau 99x an und aus machen...

von melkkuh (Gast)


Lesenswert?

> Das problem ist, dass ich bei 500 Seiten nicht weiß wo ich suchen soll.

Ist kein Problem. Du musst das Datenblatt eh komplett lesen, damit Du 
auch wirklich weist, wie Dein ausgewähltes Bauteil funktioniert.

von Osche R. (Gast)


Lesenswert?

Bronco schrieb:

> Es sei denn, es kommt in ein Auto. Dann wird das EEPROM weggespart und
> stattdessen EEPROM-Emulation im Flash gemacht. Dann darfst Du das Auto
> noch genau 99x an und aus machen...

EEPROM-Emulation erfolgt üblicherweise im DataFlash. Da ist die Zahl der 
garantierten Schreibzyklen um eine Größenordnung höher. Ausserdem kann 
der FEE wear levelling machen, d.h. die Daten so verteilen das sich die 
Zellen gleichmässig abnutzen.

Richtige SPI-EEPROMs sind trozdem schöner. Deren Inhalte kann man auch 
dann noch analysieren, wenn der Hauptcontroller abgebrannt ist.

von Vlad T. (vlad_tepesch)


Lesenswert?

melkkuh schrieb:
> Ist kein Problem. Du musst das Datenblatt eh komplett lesen, damit Du
> auch wirklich weist, wie Dein ausgewähltes Bauteil funktioniert.

so ein Humbug

schau dir mal das Datenblatt und das Programming Reference Manual zu 
einem Blackfin DSP an.
Bis du das komplett durchgelesen hast, gibts den nächsten DSP

von Wilhelm F. (Gast)


Lesenswert?

Der Tobi hat mit seiner Frage nicht ganz Unrecht, sowas ist doch 
berechtigt.

Und zwar bin ich erst vor ein paar Wochen auch so einem Ding auf 
gelaufen, weil ich Beschreibungen über EPROMs und EPROM-Technik fand, wo 
in jüngerer Zeit oft was über nur ein paar Hundert Zyklen Nutzbarkeit 
steht.

Ich verwende noch EPROM, einiges zwischen 27(C)32 und 27(C)512. Die 
allermeisten von STM.

Also habe ich deren Datenblätter hoch und runter gelesen, nirgend wo 
einen Hinweis über die Anzahl Brenn- und Löschzyklen gefunden. 
Allenfalls die maximale Lichtdosis und Wellenlänge, wobei diese Daten 
über viele Hersteller und Typen hinweg sogar meist gleich sind. Bisher 
war ich der Meinung, EPROM sei eigentlich beliebig oft lösch- und 
wiederbeschreibbar.

Tatsächlich hatte ich bisher noch nie einen einzigen Baustein defekt. 
Die Gefundenen aus Elektronikschrott sind meistens nur ein einziges mal 
gebrannt. Wohl habe ich durch Unachtsamkeit schon mal einen mit falscher 
Brennspannung (21V für NMOS, 12,5V für CMOS) in den Himmel geschickt. 
Ich hatte statt NMOS den CMOS-Typen mit ansonsten gleichen Daten im 
Sockel...

Und eine zu hohe UV-Dosis soll auch noch schaden. Die Lichtdosis bekommt 
man doch trotz Löschgerät ohnehin nicht exakt ermittelt. Man arbeitet 
dann eben im Bereich von Erfahrungswerten. Z.B. wenn ein Typ mal nach 10 
Minuten nicht vollständig gelöscht ist, stellt man den Löscher eben auf 
15 bis 25 Minuten ein...

Über die physikalischen Vorgänge fand ich noch ein wenig was, und zwar, 
daß mit jedem Brenn- und Löschzyklus irreversible Vorgänge statt finden. 
Kein richtiger Defekt eigentlich, aber es führt zur Fehlfunktion: In 
irgend welche hoch isolierenden Zonen wandern wohl Ionen bzw. Elektronen 
dauerhaft hinein oder hinaus. Man müßte dazu den Halbleiter auf 600°C 
erhitzen, um ihn wieder zu regenerieren. Das hatte man in der 
Vergangenheit wohl schon alles experimentiert, auch Löschung mit 
Röntgenstrahlen, brachte nicht die erwünschten Erfolge. Röntgen, weil 
man wollte mal das Quarzglasfenster weg bekommen, was den halben 
Bausteinpreis aus macht.

Na ja, manche EPROM möchte man auch nicht wirklich verwenden, haben noch 
eine Brenndauer von 50ms pro Byte. Aber ich habe sie noch als Bootloader 
oder Monitor in älteren 8051-Boards, die eine von-Neumann-Schaltung 
haben, welche auch Programm im RAM aus führt. Geflasht wird dann in der 
Entwicklungsphase nur aufs SRAM, und das geht wirklich beliebig oft. Ein 
EEPROM kann ich ganz grob auch im Goldcap-gepufferten RAM emulieren, für 
die Testphase. Für EEPROM gab und gibt es bestimmte Techniken und 
Algorithmen, damit man den Verschleiß etwas mindert.

von Andreas H. (Gast)


Lesenswert?

Anscheinend hat Microchip diese Angabe im Datenblatt absichtlich 
versteckt, um sich vor der Konkurrenz nicht zu blamieren. Nur 100 mal 
garantierte Schreib/Lesezyklen ist doch wirklich lächerlich, wenn Atmel 
für seine Flash-Technologie 10.000 garantiert.

von Wilhelm F. (Gast)


Lesenswert?

Das EEPROM ist nicht nur ein Problem im Entwicklungszyklus.

Wenn ein Programmierer es nicht so drauf hat, dann schreibt eine 
Anwendung 10.000 mal im Jahr die Parameter im seriellen EEPROM neu. Nach 
2 Jahren ist die Baugruppe dann irgendwie faul. In einer alten Firma 
hatte ein Team ein echtes Problem mit ausgefallenen Baugruppen wegen 
seriellem EEPROM.

Nun, sie hätten da nur etwas mehr Geld investieren müssen, um 
gepuffertes RAM statt EEPROM in die Schaltung einzusetzen.

Ein einziges nicht statt gefundenes Meeting von einem halben Tag mit 
allen Entwicklern, sagen wir 30, in einer Firma, wo nur Firlefanz 
verzapft wird, was nur einen von 30 weiter bringt, böte dafür oft genug 
Geldreserve. Manchmal werde ich da stinkig. Auf einer Seite wird 
verpulvert, und auf der anderen Seite der Cent nicht genehmigt.

von 666 (Gast)


Lesenswert?


von Dietmar B. (Gast)


Lesenswert?

Andreas H. schrieb:
> Anscheinend hat Microchip diese Angabe im Datenblatt absichtlich
> versteckt, um sich vor der Konkurrenz nicht zu blamieren. Nur 100 mal
> garantierte Schreib/Lesezyklen ist doch wirklich lächerlich, wenn Atmel
> für seine Flash-Technologie 10.000 garantiert.

Die K-Serie kann auch 10.000 (z.B. PIC18F13K50). Die J-Typen sind als 
"Low Cost" eingeführt worden, da nun mal die Mehrzahl der Geräte genau 
einmal in der Produktion geflasht werden und dann nie wieder. Wozu 
braucht man dafür relativ teuer bezahlte 10.000 Schreibzyklen?

von Alexander S. (esko) Benutzerseite


Lesenswert?

Eine Reihe von Audi Concert Radios Ende der 90er hatte einen 
Serienfehler. Das EEPROM im Controller wurde ständig überschrieben und 
war nach 3 Jahren kaputt.

von Michael L. (michaelx)


Lesenswert?

Andreas H. schrieb:
> Anscheinend hat Microchip diese Angabe im Datenblatt absichtlich
> versteckt, um sich vor der Konkurrenz nicht zu blamieren. Nur 100 mal
> garantierte Schreib/Lesezyklen ist doch wirklich lächerlich, wenn Atmel
> für seine Flash-Technologie 10.000 garantiert.

Also ich bin auch irritiert! Bisher waren 100.000 Schreibzyklen für 
Flash und 1.000.000 für den EEPROM bei Microchip quasi der Standard, hab 
grad noch mal ein Dutzend Datenblätter von nicht ganz so neuen 
16F/12F/18F/10F gescheckt. Und bisher schien das überhaupt kein großes 
Problem zu sein, diese Werte zu erreichen.

Machen die ihre Chips jetzt etwa künstlich schlechter, um den Absatz zu 
erhöhen (Stichwort geplante Obsoleszenz)?

Nachdenklich ...
Micha

von Michael S. (rbs_phoenix)


Lesenswert?

Michael L. schrieb:
> Machen die ihre Chips jetzt etwa künstlich schlechter, um den Absatz zu
> erhöhen (Stichwort geplante Obsoleszenz)?

Dietmar B. schrieb:
> Die K-Serie kann auch 10.000 (z.B. PIC18F13K50). Die J-Typen sind als
> "Low Cost" eingeführt worden, da nun mal die Mehrzahl der Geräte genau
> einmal in der Produktion geflasht werden und dann nie wieder. Wozu
> braucht man dafür relativ teuer bezahlte 10.000 Schreibzyklen?

Die meisten PICs sind ja auch mit 10k Zyklen bei Flash und 100k bei 
EEPROM angegeben. Nur wohl nicht die PIC18J-Reihe.

von Michael L. (michaelx)


Lesenswert?

Michael Skropski schrieb:
> Die meisten PICs sind ja auch mit 10k Zyklen bei Flash und 100k bei
> EEPROM angegeben. Nur wohl nicht die PIC18J-Reihe.

Ja richtig, die 10k/100k sind Minimum, das jeweils 10-fache wird als 
typisch angegeben.

von Jens (Gast)


Lesenswert?

@Eumel/Troll/RTFM

jetzt auf mal so stumm? Also doch nur meckern aber kein wirkliches 
Interesse! Die Leute liebe ich ja.
Naja, der ton hier im Forum wäre besser wenn so Leute wie Ihr hier nicht 
einfach posten könnten.

JJ

von Eumel (Gast)


Lesenswert?

Wieso? Stehts etwa nicht im Datenblatt? Das wäre mir neu.

von Edson (Gast)


Lesenswert?

Michael L. schrieb:
> Machen die ihre Chips jetzt etwa künstlich schlechter, um den Absatz zu
> erhöhen (Stichwort geplante Obsoleszenz)?
>
> Nachdenklich ...
> Micha

Eher verwirrt als nachdenklich, glaube ich. Geplante Obsoleszenz in 
diesem Zusammenhang zu nennen ist schon etwas realitätsfern. Denkst du 
wirklich, der Haupteinsatzzweck eines uC ist das Umprogrammieren während 
der Firmware-Entwicklung irgend eines Geräts?

Die Gründe wurde in diesem Thread bereits genannt, aber wo bleibt der 
Spaß ohne eine ordentlich verquere Idee von Verschwörung...

von Michael L. (michaelx)


Lesenswert?

Ich habe noch mal die PIC18J-Reihe unter die Lupe genommen ...

Da scheint es auch Unterschiede zu geben z.B.:

PIC18F46J11 FAMILY   min. 100
PIC18F45J10 FAMILY   min. 10.000

:-/

von J.-u. G. (juwe)


Lesenswert?

Könnte die geringere Zahl der Schreib-/Löschzyklen mit der ständig 
fortschreitenden Mineaturisierung der Strukturgrößen zu tun haben?

von Peter D. (peda)


Lesenswert?

Wilhelm Ferkes schrieb:
> Wenn ein Programmierer es nicht so drauf hat, dann schreibt eine
> Anwendung 10.000 mal im Jahr die Parameter im seriellen EEPROM neu. Nach
> 2 Jahren ist die Baugruppe dann irgendwie faul.

Ja das kenne ich auch von einem MP3-Player. Irgendwann konnte er sich 
nicht mehr den letzten Titel und die Lautstärke merken.
Man ist da den Programmierdilettanten schutzlos ausgeliefert.
Wie bei schlechter Entprellsoftware und alternden Tasten.



Peter

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.