[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