FLASH log

Cseh Róbert R.Cseh at Richter.hu
Wed Jul 12 11:49:52 CEST 2006


Nálam ami most kialakulófélben van. Amire jutottam:
A beírt adat 16 byte-s blokkokban tárolódik.
Induláskor megnézem hogy hol van a 16 bytes blokkok első byteban FF érték (FF ha hibás illetve üres a chip, de hibás chip eresén az I2C err paramétere 1 lesz.)
Beírás után visszaellenőrzés is van, így a hiba kiderül.
Az AVR AD lábát használom tápfesz detektálásra (feszstab előtt!), és kondi van előtte, és utána is... (diódás leválsztással támogatva).

Ha a tápfesz esik (kikapcsolát a tápot/áramszünet), a LCD háttér lelőve.
A maradék kapacitás meg elég a következő I2C-s EEPROMhely első bytejanak beallitasara.
Minthogy a EEPROM bytejai 100.000 írást kibírnak, így soká fog elöregedni... Főleg nagyméretű (512 v. 1M EEPROM esetén soká ér körbe.)

Végső esetben FRAM lesz berakva, aztán kalap-kabát.
(a tápfigyeléssel persze megtámogatva).

Robi




-----Original Message-----
From: Szima Gábor [mailto:sygma at tesla.hu] 
Sent: Wednesday, July 12, 2006 9:40 AM
To: Elektro Lista
Subject: FLASH log


Sziasztok!

Ha linearisan kell adatokat logolni FLASH-be, akkor milyen modon erdemes tarolni a log vege poziciot?
Tehat kikapcs/bekapcs utan tudjuk, hogy hol jarunk...

Ha egy (vagy tobb) kiemelt poiciora pointert irok minden iras utan, akkor hamar kifarad szegeny. Ezt meg lehet spekelni azal, hogy ideiglenesen RAM-ban tarolom ezt, majd egy hosszabb ido utan irom ki, vagy akkor, amikor kihuzzak a "talajt" (akarom mondani tapot :) a laba alol...

Olyat is lehetne hasznalni, hogy a stream vegere egy specialis, mashol elo nem fordulo bit/byte-sorozatot irok. Ezzel viszont az a gond, hogy bekapcsolaskor vegig kell nyalazni az egesz tartalmat, hogy ezt megkeressuk.
Illetve ha a timeout elott "crash" van, akkor oda a sok-sok ertekes info...

Esetleg a ketto kombinacioja?

Vannak erre kidolgozott eljarasok, vagy itt is agyalni kell?



 								-Sygma




More information about the Elektro mailing list