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?
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.
>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
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.
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 :)
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.
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.
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 -40C to +85C wobei E/W für erase/write Zyklen steht.
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***
>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.
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.
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...
> 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.
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.
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
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.
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.
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.
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?
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.
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
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.
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.
@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
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...
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 :-/
Könnte die geringere Zahl der Schreib-/Löschzyklen mit der ständig fortschreitenden Mineaturisierung der Strukturgrößen zu tun haben?
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.