[elektro] 2 darab nem felejt"o bit
Papp Zoltán
zombi at c2.hu
Mon Jun 9 23:02:47 CEST 2008
2008.06.09. 16:59:50 dátumon Acs Gabor <agabor at electrodesign.hu> írta:
> De 3 byte-on lehet tárolni az írások számát és a két bitet. Ha túl nagy
> az
> írások száma, jöhet a következő 3.
Én is valami ilyesmit találtam ki, csak mindig csak 1 címmel shiftelve.
Azt mondja a gyártó, hogy az AVR eepromja 100ezres írást bír ki. Így
2bájton számolom az írásokat, először a 0. bájt a High, 1. bájt a Low
érték, és a 2. bájt az adat-bájt. Amint a High bájt eléri a 195-öt
(=49920ciklus), akkor az egész shiftelődik egyet, és nullázódik a
számláló. A számláló így mindig ott kezdődik, ahol a 0. bájttól számolva
az első nem 195-ös érték van. Ha azt mondjuk, hogy a gyártó jelentősen
alul-specifikálta a procit, és ki fog bírni 130e írást is a tár, akkor
lehet menni 255-ig is.
Tények:
1) egyetlen cella sem lesz többször írva, mint 100e (bátrabbaknak: 130e)
2) azt, hogy hol kezdődik a tényleges adat, csak bekapcsoláskor kell
egyszer megnézni, utána egy mutató mindig a helyes helyre mutat (persze
shifteléskor ezt is növelni kell)
3) Pontosan meg lehet mondani, hogy hányszor írtuk a bájtot
4) Ha M bájt-hosszúságú tárba írok, akkor (M-2)*49920 írást bír ki a tár,
pl. M=512-nél ez kb. 25,5millió ciklust jelent. M=2k-nál ez már kb.
100millió ciklus.
5) 3 bájt írása az eepromba kb. 3*8,5 msec, azaz ennyi ideig min. várni
kell a következő írással, de ennyit egy nagyobb puffer-kondi is kibír.
6) Folyamatos írásnál, pl. M=2k-nál azért ez sem sok idő, kb 30nap
Egyszer volt egy hasonló problémám, de ott felhasználó által állított
adatokat kellett letárolnom. Pl. ha folyamatosan állít egy értéket
enkóderrel, akkor azt ugye nem lehet állandóan tárolgatni, így
beállítottam egy timert, és ha a legutóbbi érték-változás után mondjuk
2-3sec-el az érték nem egyezett a letárolttal, akkor letároltam. Ennek
annyi hátránya van, hogy ha ez alatt a 2-3 sec alatt kikapcsolja a cuccot,
akkor a legutolsó állított érték elveszett. De itt olyan cuccról volt szó,
amit az ember nem kapcsolgat csak úgy, hanem pont, hogy beállítás után
kezd el használni már változatlan adatokkal. És ha el is veszik egy adat,
akkor beállítja mégegyszer.
Üdv
--
Papp Zoltán
OneWay Electronics Kft
Hangszerviz
More information about the Elektro
mailing list