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