Op dit moment ben ik bezig met het bouwen van een digitaal dashboard voor een motor. Een belangrijke eigenschap van zo'n dashboard is het opslaan van de kilometerstand en dagtellers enz. Ik gebruik hiervoor een Atmega128.
Voor het opslaan van de kilometerstand had ik twee mogelijkheden in gedachten; opslaan in EEPROM of opslaan in Flash.
Aangezien de kilometerstand toch regelmatig weggeschreven moet gaan worden twijfel ik een beetje over de levensduur (aantal writecycles) van zoiets.
Iemand ideeen/tips hiervoor? 
Iemand misschien ook voorbeelden voor het schrijven van variabelen naar Flash?
Xenobinol
Technology is dominated by two types of people: those who understand what they do not manage and those who manage what they do not understand
Je zou er voor kunnen kiezen iedere keer een andere locatie in het EEPROM geheugen te kiezen.
Ik heb echter ook goede ervaring met het detecteren van het afvallen van de voedingsspanning.
Om daarna vervolgens alle relevante data te saven in het EEPROM.
De truk is om je CPU nog voldoende lang van spanning te voorzien om het wegschrijven mogelijk te maken.
Je zou dit kunnen doen d.m.v een voldoende grote capaciteit of backup-batterij.
Veel spanningsregelaars hebben een undervoltage detector aan boord zoals b.v. de LP2951.
Daar heb ik zelf ook aan zitten denken. Als je een neergaande flank van de spanning detecteert, en in de tussentijd je controller nog een tijdje van spanning voorziet, dan zou je idd genoeg tijd moeten overhouden om naar het eeprom te schrijven. Maar een kennis van me zei dat het beter is om het in Flash op te slaan. Waarom dit was wist hij ook niet precies meer 
Iedere keer naar een andere locatie schrijven is idd wel een handig systeem. Zal dit ook eens proberen! Bedankt!
Hoe heb je het opgelost dat je je data iedere keer terug vindt in de eeprom? Zoek je dan gewoon je eeprom door ofzo?
free_electron
Silicon Member
Professioneel ElectronenTemmer - siliconvalleygarage.com - De voltooid verleden tijd van 'halfgeleider' is 'zand' ... US 8,032,693 / US 7,714,746 / US 7,355,303 / US 7,098,557 / US 6,762,632 / EP 1804159 - Real programmers write Hex into ROM
in industriele dashboard wordt een tabel gebruikt.
om de kilometer wordt een andere cel geschreven.
meestal worden er 16 of 32 entries gebruikt. een eeprom is gegarandeerd voor 100.000 cycles.
dus dat geeft een reliability van 3.2 miljoen kilometer.
als een cel kapot gaat is het niet erg , de volgende wrodt overschreven.
bij powerup wordt gewoon de grootste waarde gezocht. er zijn algoritmes om data te comprimeren. zo wordt bijvoorbeeld een 16 bit getal weggeschreven ( die seriele eeproms kunnen daar mee weg : 93cx6 familie en 24c04 ) maar telkens het zelfde getal. bij poweron wordt het aantal grottste geteld en het getal bepaald. (getal x aantal cellen ) + aantal grootste.
uw eigen flash herprogrammeren zou ik alleen doen als je ene bank kan reserveren voor die data.
je moet namelijk een bank wissen uit je flash , als daar ook code staat .... en je krijgt en powerdip : crash en gedaan met uw spul.
Op 18 maart 2005 10:10:53 schreef free_electron:
in industriele dashboard wordt een tabel gebruikt.
om de kilometer wordt een andere cel geschreven.
meestal worden er 16 of 32 entries gebruikt. een eeprom is gegarandeerd voor 100.000 cycles.
dus dat geeft een reliability van 3.2 miljoen kilometer.als een cel kapot gaat is het niet erg , de volgende wrodt overschreven.
bij powerup wordt gewoon de grootste waarde gezocht. er zijn algoritmes om data te comprimeren. zo wordt bijvoorbeeld een 16 bit getal weggeschreven ( die seriele eeproms kunnen daar mee weg : 93cx6 familie en 24c04 ) maar telkens het zelfde getal. bij poweron wordt het aantal grottste geteld en het getal bepaald. (getal x aantal cellen ) + aantal grootste.
uw eigen flash herprogrammeren zou ik alleen doen als je ene bank kan reserveren voor die data.
je moet namelijk een bank wissen uit je flash , als daar ook code staat .... en je krijgt en powerdip : crash en gedaan met uw spul.
Dat is wel een handige manier. 3.2miljoen kilometer is wel een beetje overdreven 
Aangezien het hier een dashboard voor de motor betreft, is een km. stand van max zo'n 250.000 al voldoende. Ik ga die powerdown detectie maar eens proberen en dan voorlopig gewoon een vast adres gebruiken. Voor school is dit in ieder geval voldoende, aangezien de kilometerstand bewaard blijft. Met zo'n 100.000 write cycles, moet dat toch wel de volledige levensuur van een motor kunnen meegaan.
(stel je zou per dag gemiddeld 20x je motor aan/uitzetten, wat al erg veel is, dan nog zou je dit bijna 14 jaar achter elkaar kunnnee volhouden
Lijkt mij wel voldoende)
Het gebruiken van Flash memory lijkt mij dan idd een 'gevaarlijke' optie, ivm overschrijven van het programma. Bedankt voor de hulp!
RES
RES
In de mega zit een BOD (Brown-Out Detector)
En als je realtime wilt opslaan kan dat met een FRAM (ferromagnetic RAM) Net zo snel als RAM alleen met als voordeel dat de data er 10 jaar in blijft zitten.
http://www.ramtron.com