[elektro] pic eeprom iras
hg12345
hg12345 at freemail.hu
Tue Jan 6 08:57:06 CET 2009
Az a szerencsétlen villám pont az FRAM irásaközben csap a bitek közé? :-()))
MInden esetben felismerhető, hogy honnan jött az újra indulás!
Ha nagyon fontos, tegyél egy CRC16 ellenörző összeget az időhöz, reset után megnézed érvényes, ha igen akkor jó az idő.
Sass Attila <attila.sass at palettainvent.hu> írta:
> Szia!
>
> Lehet, hogy azzal is számolni kell, hogy valami miatt (pl villámlás a
> közelben) a pic resetelődik. Ha csak a ram-ban számlál, akkor elveszhet
> egy csomó számlálás. Az ilyen újraindulást nem biztos, hogy a jelzőbitek
> alapján megkülönböztethető más újraindulástól, és a ram tartalma is
> sérülhet.
>
> Ebből a szempontból szerintem az fram a biztos megoldás. Abból van, ami
> akárhányszor újraírható, a másik is olyan sokszor, hogy az mindenképpen
> elég.
>
> De a pic-es eeprom sem egészen elvetendő megoldás:
> EEprom teljesen törölt (mind 0) állapotról induljon.
>
> Először is mivel számlálóról van szó, pontosan tudod, hogy hányszor
> írtad. Másrészt a felső byte-okat nem olyan sűrűn írod, mint az alsó
> byteokat.
>
> Emiatt ha kiindulsz abból, hogy csak a legalsó byte-ot kell cserélni (a
> fölső 3 byte egyértelműen meghatározza, hogy hol van most, vagy egy
> külön mutató az eeprom-ban), akkor cca 256-3-(egyéb konfig adat) marad a
> legalsó byte-nak, mondjuk kb. 240.
>
> Mivel a legalsó byte 1M-szor írható, mielőtt el kellene dobni, ezért ez
> 240M írást jelent. ezalatt a fölső byte-ok (pontosabban azok közül a
> legalsó) 240M/256-szor íródnak, vagyis kevesebb mint 1M-szor.
>
> Mivel egy byte írása az adatlap szerint 4ms, ezért egy ilyen típusú
> folyamatos számláló leggyorsabb esetben kb. 4ms*240M =960000s, vagyis kb
> 11 nap. (nem számítva, hogy a fölső byte-okat is kell írni, ami miatt
> átlagosan kevesebb mint 4ms jönne ki)
> Ám itt óránként csak 5000-et kell írni, ezért 240M/5000 = 48000 üzemóra
> lenne az üzemideje így. Ami több mint 5 év.
>
> 1M írásonként vagyis amikor egy alsó byte-ot cserélni kell, akkor az
> adatlap szerint teljes frissítést érdemes csinálni. Azt is figyelembe
> kell venni, hogy az adatlap a cellánkénti 1M írást csak mint tipikus
> érték (5V 25fok), 100k a garantált érték (legalábbis a pic18fxx2
> adatlap). így adott esetben egy másik cellát is ki lehet nevezni
> mutatónak, és addig írni az aktuális cellát, amíg az ellenőrzésen nem
> megy át (vagy max. 1M-szor). Az viszont kérdés, hogy elromolhat-e úgy,
> hogy bizonytalanná válik az olvasása (vagyis átmegy az ellenőrzésen, de
> legközelebb olvasáskor hibás értéket ad).
> A ram-ban lévő számlálót minden íráskor érdemes összevetni az
> eeprom-éval, így az esetleges eeprom fáradás érzékelhető lesz.
>
> A fölső byte-okat biztonságból érdemes duplikálni.
>
> Táp elvesztése esetére kondi, hogy lehessen még mit tenni és táp
> érzékelése így is ajánlott, ilyenkor egy másik (csak erre az esetben
> használt eeprom terület) eeprom-ba érdemes menteni a számlálót.
>
> --
> sassi
>
>
> Huszti Andras írta:
> > Hali!
> >
> > Szerintem elegans megoldas az lenne ha csak akkor tarolnad az eepromban
> > amikor elmegy a tap. Ehhez nyilvan plusz hardware kell. Ide meg egy
> > pelda:
> > DCDC konverterrol jaratni a PIC-et. A konverter 2db sorba kapcsolt 2,5V
> > 10F (? de legalabb 1F)- os kondi volt. Igy egesz sokaig kihasznalhato a
> > kondi. Ezt egy keszulekben lattam ahol egy gsm modem errol a ket
> > kondirol meg 3db sms-t el tudott kuldeni.
> >
> > Most jobban belegondolva a PIC-es oramban is ilyet kellene csinalnom.
> > Ott orankent mentem az idot az eepromban. Nem tul gazdasagos ...
> >
> > -----------------------------------------
> > elektro[-flame|-etc]
> >
> >
>
> --
> Attila Sass
> Engineer
> email: attila.sass at palettainvent.hu
> mobile: +36 20 585 6739
>
> Paletta Invent Ltd.
> 1142 Budapest, Tengerszem str. 3.
> Hungary / EUROPE
> www.palettainvent.hu
>
> -----------------------------------------
> elektro[-flame|-etc]
More information about the Elektro
mailing list