www.elektronik.si Seznam forumov www.elektronik.si
Forum o elektrotehniki in računalništvu
 
 PomočPomoč  IščiIšči  Seznam članovSeznam članov  SkupineSkupine  StatisticsStatistika  AlbumAlbum  DatotekeFilemanager DokumentacijaDocDB LinksPovezave   Registriraj seRegistriraj se 
  PravilaPravila  LinksBolha  PriponkePriponke  KoledarKoledar  ZapiskiZapiski Tvoj profilTvoj profil Prijava za pregled zasebnih sporočilPrijava za pregled zasebnih sporočil PrijavaPrijava 

Zascita FLASH-a pred izgubo napajanja

 
Objavi novo temo   Odgovori na to temo   Printer-friendly version    www.elektronik.si Seznam forumov -> Elektronika
Poglej prejšnjo temo :: Poglej naslednjo temo  
Avtor Sporočilo
marko
Član
Član



Pridružen-a: Sre 07 Jan 2004 15:14
Prispevkov: 755
Aktiv.: 3.19

PrispevekObjavljeno: Sob Jan 23, 2010 11:21 am    Naslov sporočila:  Zascita FLASH-a pred izgubo napajanja Odgovori s citatom

Zivjo,

imam vezje, ki stalno zapisuje podatke v FLASH. Sedaj pa me zanima na kaksen nacin se resuje izgubo (ali padec) napetosti na vezju, ali pa ce se vezje "obesi", torej, da bi flash se vedno zapisal tisti del, ki se ga je namenil. Je to reseno z dodatno baterijo ali kaksnim drugacnim vezjem za nadzor napetosti, ki ima se en kondenzator toliko, da program zakljuci svoje?

Hvala!
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo
MarkoM
Član
Član



Pridružen-a: Tor 12 Sep 2006 15:29
Prispevkov: 2825
Aktiv.: 12.37
Kraj: Lovrenc na P.

PrispevekObjavljeno: Sob Jan 23, 2010 11:27 am    Naslov sporočila:   Odgovori s citatom

Npr. goldcap kondenzator.
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo
gumby
Član
Član



Pridružen-a: Sob 28 Apr 2007 12:32
Prispevkov: 4066
Aktiv.: 18.42

PrispevekObjavljeno: Sob Jan 23, 2010 11:45 am    Naslov sporočila:   Odgovori s citatom

Ločen elektrolit + detekcija izpada napajanja... Ob izpadu gre uC v prekinitev in zapiše, kar pač mora.

Sicer pa FLASH ni ravno primeren za stalno zapisovanje. Namesto njega si omisli kak FRAM, ki preživi 10^10 zapisov.

_________________
Tule nisem več aktiven.
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo Pošlji E-sporočilo
marko
Član
Član



Pridružen-a: Sre 07 Jan 2004 15:14
Prispevkov: 755
Aktiv.: 3.19

PrispevekObjavljeno: Sob Jan 23, 2010 11:53 am    Naslov sporočila:   Odgovori s citatom

gumby je napisal/a:
Ločen elektrolit + detekcija izpada napajanja... Ob izpadu gre uC v prekinitev in zapiše, kar pač mora.

Sicer pa FLASH ni ravno primeren za stalno zapisovanje. Namesto njega si omisli kak FRAM, ki preživi 10^10 zapisov.


Zivjo,

a) kako se izvede taka detekcija izpada napajanja?
b) katero prekinitev se izvede? Ena od zunanjih (bi rabil prosti pin na uc?)
c) zapisujem vecje kolicine (logiranje), rabim vsaj 4MB ali vec in moram zadevo "zdownloadati" na racunalnik kasneje, tudi ce vezje vmes ugasnem.
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo
gumby
Član
Član



Pridružen-a: Sob 28 Apr 2007 12:32
Prispevkov: 4066
Aktiv.: 18.42

PrispevekObjavljeno: Sob Jan 23, 2010 12:08 pm    Naslov sporočila:   Odgovori s citatom

a) možnosti je več, eno principielno vezavo imaš na sliki
b) najbolj enostvano je uporabit pin za direktno prekinitev (lahko tudi IOC, če INT ni več prost)
c) zapisuj sproti, in ne boš potem rabil megabajte zapisovat v zadnji milisekundi Wink



nap.png
 Opis:
 Velikost datoteke:  18.3 KB
 Pogledana:  4 krat

nap.png



_________________
Tule nisem več aktiven.
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo Pošlji E-sporočilo
marko
Član
Član



Pridružen-a: Sre 07 Jan 2004 15:14
Prispevkov: 755
Aktiv.: 3.19

PrispevekObjavljeno: Sob Jan 23, 2010 12:45 pm    Naslov sporočila:   Odgovori s citatom

gumby je napisal/a:
a) možnosti je več, eno principielno vezavo imaš na sliki
b) najbolj enostvano je uporabit pin za direktno prekinitev (lahko tudi IOC, če INT ni več prost)
c) zapisuj sproti, in ne boš potem rabil megabajte zapisovat v zadnji milisekundi Wink



c) Podatke seveda zapisujem sproti, ampak zgodovino se vedno rabim Smile Ce pride do izpada napetosti, bi zapisal samo 1 blok (255 bytov).
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo
gumby
Član
Član



Pridružen-a: Sob 28 Apr 2007 12:32
Prispevkov: 4066
Aktiv.: 18.42

PrispevekObjavljeno: Sob Jan 23, 2010 1:00 pm    Naslov sporočila:   Odgovori s citatom

FRAM je precej hiter, timingi so v nanosekundah... za 255B boš potreboval samo par milisekund.
_________________
Tule nisem več aktiven.
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo Pošlji E-sporočilo
Glitch
Član
Član



Pridružen-a: Pet 07 Apr 2006 11:40
Prispevkov: 1477
Aktiv.: 6.32

PrispevekObjavljeno: Sob Jan 23, 2010 1:46 pm    Naslov sporočila:   Odgovori s citatom

Detekcija izpada napetosti je obvezna. Kar se pa zapisovanja tiče, je pa najbolj pomembna organizacija shranjevanja podatkov. Zapisovane v Flash tako malega števila bytov je seveda neekonomično, razen, če je flash narejen s tako majhnimi bloki in to omogoča.

Lahko pa začasne vpise omejiš na manjše enote (recimo 1KB) in zapisuješ dvojno. V FRAM manjše kapacitete shranjuješ vmesne podatke, ki se notri hranijo toliko časa, dokler ne dosežeš število bytov, s katerim lahko normalno zapišeš flash (recimo da je t 1KB) . Ko so ti podatki zanesljivo zapisani v flash, postaviš zastavico v FRAMu, da je vse OK. Ker ne boš vpisoval vedno v isto lokacijo, boš lahko ob morebitnem izpadu lahko poiskal kateri podatki so bili zadnji varno zapisani in kateri ne.

Kvazi file system s kvazi wear levelingom, power fail safe, pa še garbage collection ni potreben, ker imaš fiksno dolžino zapisov. Madonca, koliko buzz wordov je tu notri Very Happy

_________________
Answers: $1, Short: $5, Correct: $25, dumb looks are still free.
Nazaj na vrh
Skrit Poglej uporabnikov profil Pošlji zasebno sporočilo Pošlji E-sporočilo
marko
Član
Član



Pridružen-a: Sre 07 Jan 2004 15:14
Prispevkov: 755
Aktiv.: 3.19

PrispevekObjavljeno: Sob Jan 23, 2010 2:22 pm    Naslov sporočila:   Odgovori s citatom

Glitch je napisal/a:
Detekcija izpada napetosti je obvezna. Kar se pa zapisovanja tiče, je pa najbolj pomembna organizacija shranjevanja podatkov. Zapisovane v Flash tako malega števila bytov je seveda neekonomično, razen, če je flash narejen s tako majhnimi bloki in to omogoča.

Lahko pa začasne vpise omejiš na manjše enote (recimo 1KB) in zapisuješ dvojno. V FRAM manjše kapacitete shranjuješ vmesne podatke, ki se notri hranijo toliko časa, dokler ne dosežeš število bytov, s katerim lahko normalno zapišeš flash (recimo da je t 1KB) . Ko so ti podatki zanesljivo zapisani v flash, postaviš zastavico v FRAMu, da je vse OK. Ker ne boš vpisoval vedno v isto lokacijo, boš lahko ob morebitnem izpadu lahko poiskal kateri podatki so bili zadnji varno zapisani in kateri ne.

Kvazi file system s kvazi wear levelingom, power fail safe, pa še garbage collection ni potreben, ker imaš fiksno dolžino zapisov. Madonca, koliko buzz wordov je tu notri Very Happy


Ta ideja z bufferingom ni slaba, mi pa edino malo zakomplicira vse skupaj, ker mi ze takoj primanjkuje pinov. Tako pa bi moral potem na SPI vodilo dodati se multiplekser, ki bi enkrat izbiral FRAM, drugic pa FLASH.
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo
Glitch
Član
Član



Pridružen-a: Pet 07 Apr 2006 11:40
Prispevkov: 1477
Aktiv.: 6.32

PrispevekObjavljeno: Sob Jan 23, 2010 2:48 pm    Naslov sporočila:   Odgovori s citatom

Namesto FRAMa lahko uporabiš notranji SRAM, če ima ločeno baterijsko napajanje. Nekateri mikroti imajo RTC z ločenim napajanjem, kjer imajo še kakšen KB statičnega pomnilnika.

Drugače ima pa SPI ima v te namene chip select, tako potrebuješ samo en pin.

Univerzalne rešitve seveda ni. Mogoče se najde celo bolj enostavna rešitev, vendar boš moral povedati tudi kateri mikro imaš, kateri flash imaš, kakšne spremembe oz. dodatke si še lahko priviščiš, itd.

_________________
Answers: $1, Short: $5, Correct: $25, dumb looks are still free.
Nazaj na vrh
Skrit Poglej uporabnikov profil Pošlji zasebno sporočilo Pošlji E-sporočilo
marko
Član
Član



Pridružen-a: Sre 07 Jan 2004 15:14
Prispevkov: 755
Aktiv.: 3.19

PrispevekObjavljeno: Pon Jan 25, 2010 6:49 pm    Naslov sporočila:   Odgovori s citatom

Glitch je napisal/a:
Namesto FRAMa lahko uporabiš notranji SRAM, če ima ločeno baterijsko napajanje. Nekateri mikroti imajo RTC z ločenim napajanjem, kjer imajo še kakšen KB statičnega pomnilnika.

Drugače ima pa SPI ima v te namene chip select, tako potrebuješ samo en pin.

Univerzalne rešitve seveda ni. Mogoče se najde celo bolj enostavna rešitev, vendar boš moral povedati tudi kateri mikro imaš, kateri flash imaš, kakšne spremembe oz. dodatke si še lahko priviščiš, itd.


Zivjo,

najprej hvala vsem za trud.

Jedro vsega skupaj je ATMEGA644. Vem, da ima SPI chip select, ampak moram se vedno z enim pinom izbrati kater chip bom izbiral, in z drugim nastaviti vrednost? (Namesto sedanjega 1 pina bi potreboval 2) - ali se ne razumeva pravilno? Flash imam tale A25L40PT-F (4mbit, 512k x 8bit, http://www.farnell.com/datasheets/34130.pdf)

Sedaj ko berem vse te vase komentarje, sem zacel razmisljati, da bi bilo mogoce bolje, ce bi zadevo zapisoval na nek mali FRAM in potem na SD ali MMC kartico, ki so danes prakticno zastonj glede na kapaciteto. Tako bi tudi enostavno potem "downloadal" podatke na racunalnik. (FAT driverji so pa tudi prakticno ze napisani za avrje). Ce bi med vpisovanjem v FRAM prislo do napake (izguba napajanja), se pac zadnji vzorec ne bi vpisal in bi naredil "flush" na sd/mmc kartico ob bootu. Celotno vezje je sele na "papirju", tako da je vse se odprto. Sicer me base malo zasedenost pinov, ampak vseeno ce je nuja, se pac tudi kaj nujnega vstavi v vezje.

Se vedno pa me bega detekcija izpada. Namrec ali je tu govora o navadnem voltage comparatorju ali je tu misljen prav namenski chip? Obstaja kje kaksno narejeno vezje, da lahko preverim? Gumby je sicer pripel tole vezje, vendar me bega kako naj nastavim "prag za INT", ko pa bo ta takoj napacen ob izgubi napajanja. Obstaja kje kaksno namensko vezje ze narejeno (preizkuseno) za take primere?
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo
Pokaži sporočila:   
Objavi novo temo   Odgovori na to temo   Printer-friendly version    www.elektronik.si Seznam forumov -> Elektronika Časovni pas GMT + 2 uri, srednjeevropski - poletni čas
Stran 1 od 1

 
Pojdi na:  
Ne, ne moreš dodajati novih tem v tem forumu
Ne, ne moreš odgovarjati na teme v tem forumu
Ne, ne moreš urejati svojih prispevkov v tem forumu
Ne, ne moreš brisati svojih prispevkov v tem forumu
Ne ne moreš glasovati v anketi v tem forumu
Ne, ne moreš pripeti datotek v tem forumu
Ne, ne moreš povleči datotek v tem forumu

Uptime: 492 dni


Powered by phpBB © 2001, 2005 phpBB Group