Stránka 1 z 2

Atmel, uložení do eeprom při vypnutí

Napsal: 30 čer 2010, 20:12
od bigjedla
Ahoj, potřeboval bych poradit ohledně amtelu a eeprom. Potřebuju měřit několik veličin a výsledky si ukládat do eeprom a při spuštění vždy načíst veličiny a pokračovat v měření... Vím že eeprom má omezený počet zápisů ale nevím jak to co nejelegantněji vyřešit. Potřebuju uložit co nejvíce vzorků takže buďto uložit do eeprom každou 1s což mi příjde jako ničení té paměti... nebo mě napadlo uložit do paměti data při vypnutí napájení - napětí měřím převodníkem. Pokoušel jsem se to udělat tak že k napájení procesoru jsem připojil kondenzátor 1000uF a oddělil diodou aby se nevybil do zbytku obvodu ale nemá to velkého účinku... data se při poklesu napětí někdy uloží a někdy ne... záleží asi ve které části programu se zrovna nachází.
Máte někdo nějaký jiný nápad jak to udělat? Nebo jestli snad už existuje nějaký standardní způsob jak to řešit?

Napsal: 30 čer 2010, 20:54
od Banda
Moc jsem to nepobral. Do eeprom přece ukládám, když já potřebuji. Takže pokud má eeprom 1000000 zápisů, spočítám si jak často potřebuji ukládat, aby mi procesor vydržel třeba 2 roky. Nebo přidám externí paměť do patice, až dojde životnost vyměním za další kus a jedu dál.
Proč po vypnutí? Proč si neuchovat poslední změřený vzorek hlídat napětí a když napětí z nějakého důvodu vypadne, dál neukládat. A pokud je potřeba uchovat poslední naměřenou veličinu, kondenzátor musí na dobu zápisu vystačit. Holt je to potřeba v programu ošetřit, aby po vypnutí napětí přerušil aktuální běh a začal zapisovat do eeprom.

Napsal: 30 čer 2010, 21:06
od Crifodo
Proč nedefinuješ vypnutí přístroje tak, aby před vypnutím uložil žádané hodnoty z pracovní paměti do eeprom?
Kdo to vypne natvrdo, tak prostě o poslední data přijde.

Napsal: 30 čer 2010, 21:12
od Andrea
A nezapomeň, vypíná se tlačítkem Start :wink:

Napsal: 30 čer 2010, 21:13
od Crifodo
A na LCD zobraz text
NYNÍ MŮŽETE MĚŘÁK BEZ OBAV VYPNOUT

Napsal: 30 čer 2010, 21:16
od bigjedla
přístroj se vypíná vypnutím napájecího napětí... procesor neví kdy to bude... v procesoru měřím v hlavní smyčce napětí a když poklesne měly by se data uložit... problém je asi v tom že zbytek hl. programu je docela výpočetně náročný takže i při kapacitě 1000uF se málokdy stačí vše uložit

spočítal jsem že když bych ukládal každou sekundu měla by být výdrž asi 11dní nepřetržitého provozu což není zas tak hrozné číslo...

Napsal: 30 čer 2010, 21:20
od Andrea
A co to je za hodnoty, že potřebuješ mít uloženou tu starou, když měříš po zapnutí znova?

Napsal: 30 čer 2010, 21:22
od bigjedla
je to do auta a potřebuju ukládat ujetou vzdálenost, čas, a celkovou dobu vstřiku...

přičemž tyto hodnoty se neustále inkrementují abych při každém nastartování nejel od nuly

edit. teď mě napadlo ještě že by se to dalo řešit jiným přístupem... uložit hodnoty pokaždé když rychlost klesne na nulu... ve městěch by počet uložení sice taky byl asi dost velký ale oproti uložení co 1s je to podstatný rozdíl

Napsal: 30 čer 2010, 21:30
od Crifodo
použij komparátor, který při poklesu napájení vyvolá přerušení, to uloží hodnoty a pak procesor uspí do standby.

Napsal: 30 čer 2010, 21:52
od Standa33
Tohle bych řešil pomocí statické RAM a záložní baterie(aku) pro uP a tu paměť. Potom při poklesu napětí zastavit program(nebo uspat uP), pokačovat bude zase až při normálním napětí.

Napsal: 30 čer 2010, 22:00
od Atlan
existuju zalohovacie kondiky 0,047F pripadne 0,1F na 5V ani to nestaci ?
http://thorn.inshop.sk/inshop/elektroni ... ty-radial/

Napsal: 30 čer 2010, 22:17
od bigjedla
páni to jsem ani nevěděl ža takové kondenzátory existují 8O díky za tip to bude asi nejschůdnější cesta, zkusím se po nich v ostravě podívat

jinak mě ještě napadla možnost ukládat každých ujetých 100m (což určitě stačí) a pak by byla životnost 100 000km a to se už blíží zbývající životnosti aut do kterých by to bylo určené (felicie)

edit: tak u nás mají kondenzátory E100G (0.1F???) za 32,- což stojí za zkoušku. Může být na 5.5V když používám klasické 5V napájení? To je asi celkem na hraně nee?

Napsal: 30 čer 2010, 22:38
od rnbw
Myslim, ze tie kondenzatory nebudu velmi dobre znasat teploty -20-50 stupnov. Radsej si tam prived trvalych 12V (ako do autoradia.

Napsal: 01 črc 2010, 09:28
od Crifodo
aby pak řešil ztrátu údajů jako při nechtěném odpojení autorádia?
Jestli tomu rozumím, tak se jedná o údaje v rozsahu několika bajtů, ty se přece můžou normálně v provozu inkrementovat v RAMce a po skončení provozu uschovat do EEPROM, a po zapnutí zas načíst. Proč to komplikovat nějakým vyhodnocováním rychlosti, trvalým napájením a podobnýma komplikacema?

Napsal: 01 črc 2010, 09:38
od rnbw
To by bolo najlepsie riesenie, len to zjavne autor nevie urobit.