Eprom interne PIC

Il giorno Sun, 26 Nov 2006 00:43:23 +0100, "ice" ha scritto:

Perchè non una ram ferroelettrica ?

formatting link

-- ciao Stefano

Reply to
SB
Loading thread data ...

Marco ha scritto:

Elementare, Watson!

Ale

Reply to
[mAnNaRo]

"ice" ha scritto

per

Secondo me questa è la soluzione migliore. E' sufficiente rilevare che sta per venire a mancare l'alimentazione e garantire ancora un po' di vita al micro solo per il tempo necessario a fare quelle poche operazioni che servono (salvare il valore che ti interessa sulla EEPROM interna). Ti calcoli quante istruzioni ti servono per fare questo e quindi il tempo di esecuzione di queste istruzioni (è legato al valore del clock usato). Il tempo che ti serve è la somma del tempo di latenza dell'interrupt, del tempo di esecuzione delle istruzioni e di un tempo di guardia. E' una cosa che si fa, non è una novità. Non hai problemi legati alla tenuta di una cella dell'EEPROM in quanto così facendo le scritture vengono fatte solo quando si spegne il dispositivo.

Reply to
Marco

"ice" ha scritto nel messaggio news:4569e034$0$19228$ snipped-for-privacy@reader4.news.tin.it...

Come ho gia detto e scritto sarebbe la soluzione migliore sicuramente ma per limare sui costi e sullo spazio preferirei non metterla se la soluzione della eeprom interna funziona..

Reply to
NeMeSi

"Marco" ha scritto nel messaggio news:wvwah.57842$ snipped-for-privacy@twister1.libero.it...

Ci avevo pensato anche io magari mandandolo in sleep però ho un po di paura non vorrei che si incasinasse qualcosa, penso che il PCB lo faccio portando anche un segnale per sapere quando va via la tensione e poi farò qualche prova.

Reply to
NeMeSi

NeMeSi ha scritto:

Seguendo dall'esterno, per curiosita', il tread, mi viene da chiedere se non sia possibile una soluzione software. Il prblema si verifica solamente in scrittura e quindi e' sempre possibile verificare, dopo la scrittura della cella, se il valore scritto e' uguale a quello letto. Se e' cosi' tutto ok, altrimenti, via software, si passa a scrivere nella cella successiva, abbandonando la corrente che e' evidentemente arrivata a fine ciclo. Dove sbaglio??? ciao Angelo

Reply to
Angelo

"Angelo" ha scritto

per

Questa cosa è stata già detta da alcuni che sono intervenuti.

Reply to
Marco

se manca alimentazione in sleep non c'è lo mandi!

ma non c'è bisogno di segnali aggiuntivi... si tratta di prendere un pic con LVD a bordo, "accendere" il modulo via fw e scrivere la isr di aggancio poi calcoli la costante di tempo per la scarica del condensatore oppure ci metti un elettrolitico bello grosso come tampone e sei a posto!

-ice-

Reply to
ice

"ice" ha scritto nel messaggio news:456c0817$0$19232$ snipped-for-privacy@reader4.news.tin.it...

Mi potresti spiegare meglio?

Reply to
Cap4

ok

serve un pic con modulo LVD (low voltage detect) integrato oppure anche HLVD (high low voltage detect) il modulo LVD genera un #int quando la VDD scende sotto una soglia che stabilisci tu via firmware (ci sono delle soglie fisse, tu scegli quale usare... es: 4,2V) oppure (se non erro) è possibile impostare la soglia usando un Vref esterno (es: 3,59V non è previsto allora lo generi all'esterno e dici al micro di usare quello come riferimento - ti serve un Vref però)

come si fa per qualsiasi interrupt, scrivi la ISR per #int_lowvolt in questa ISR devi semplicemente memorizzare nella eeprom interna le informazioni critiche che ti servono al prossimo avvio

in questo modo scrivi sulla eeprom solo le volte che è realmente necessario (power loss) è necesario calcolarsi il tempo che impiega la ISR a salvare perchè così poi dimensioni il condensatore infatti se tu togli alimentazione è non c'è un tampone la ISR non fa tempo a salvare sulla eeprom perchè VDD va giù troppo rapidamente e sotto i 3V (2V per gli LF) il PIC non funziona più! quindi piazzando un opportuno condensatore esterno tra VDD e massa rallenti la discesa di VDD quando manca tensione e dai tempo alla ISR di fare il suo lavoro

-ice-

Reply to
ice

ElectronDepot website is not affiliated with any of the manufacturers or service providers discussed here. All logos and trade names are the property of their respective owners.