Autor Tema: EEPROM y fallo de alimentación  (Leído 1918 veces)

0 Usuarios y 1 Visitante están viendo este tema.

Desconectado ojkarin

  • PIC10
  • *
  • Mensajes: 39
EEPROM y fallo de alimentación
« en: 17 de Marzo de 2010, 09:57:42 »
Hola, quiero guardar una serie de datos en la eeprom interna de un pic16f877 en el momento en que el pic se resetee o se quede sin alimentación.
He estado mirado por el foro y tengo una idea general de como sería, pero hay cosas que no me quedan claras.
Si hago un circuito externo con un condensador para que me de ese tiempo extra de grabar los datos, ¿a qué patillas del pic lo tengo que conectar? y ¿cómo se entera el pic de que la alimentación no le llega y si la del condensador?
También he visto los registros Brown-out Reset y Power-on Reset, ¿se activan cuando la alimentación falla o se produce un reset o los tengo que activar yo?
La verdad que aun no me aclaro mucho.
Un saludo a todos y gracias.

Desconectado EdoNork

  • Colaborador
  • PIC24F
  • *****
  • Mensajes: 616
    • ElektroQuark
Re: EEPROM y fallo de alimentación
« Respuesta #1 en: 17 de Marzo de 2010, 11:04:25 »
A.- A las patillas de alimentación.

B.- Tu debes hacer que se entere, sensando la alimentación "convencional".

C.-El primero se activa cuando la alimentación cae de un determinado voltaje. El segundo se activa al alimentar inicialmente el PIC pàra darle tiempo a que se nivelen voltajes. Ambos se activan únicamente si has prigramado el PIC para ello.
Mi blog sobre electrónica y cosillas afines: www.elektroquark.com
EQVideo en Youtube
El foro de KiCad en castellano.
Mi librería para KiCad ¡AQUÍ!

Desconectado Diego E.

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 1085
Re: EEPROM y fallo de alimentación
« Respuesta #2 en: 17 de Marzo de 2010, 23:32:38 »
Hola ojkarin, alguna vez hice algo como lo que necesitas, esto consistía en llevarle al PIC un pulso al RA4 proveniente de un divisor de voltaje conectado antes de la alimentación regulada del PIC así cuando no había presencia de energía el Condensador de la alimentación del PIC le daba unos milisegundos para poder grabar en la eeprom.

acá te dejo este esquema a ver si te puede servir de guía.

saludos

Desconectado ojkarin

  • PIC10
  • *
  • Mensajes: 39
Re: EEPROM y fallo de alimentación
« Respuesta #3 en: 18 de Marzo de 2010, 05:51:17 »
Ok, gracias a ambos. Así que en el momento que se pierde la alimentación aparece un pulso en RA4 y entonces es cuando guardo ¿no?
Y ¿son los condensadores de la alimentación los que hacen que tampoco se apague el pic durante ese pulso?

Un saludo

Desconectado ojkarin

  • PIC10
  • *
  • Mensajes: 39
Re: EEPROM y fallo de alimentación
« Respuesta #4 en: 08 de Abril de 2010, 05:47:43 »
Hola de nuevo, otra duda que me ha surgido, para qué me escriba en la eeprom al hacer un reset, ¿valdría con unir la señal de reset al mismo pin que está el circuito para guardar en la eeprom en caso de fallo en la alimentación?, ¿debería poner un circuito similar al que va de la alimentación al pic entre el reset y el pic?, ¿alguna forma de retardar la señal de reset para que, si haciendo de la primera manera, guarde los datos antes de producirse el reset del pic?
Un saludo, gracias

Desconectado Diego E.

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 1085
Re: EEPROM y fallo de alimentación
« Respuesta #5 en: 08 de Abril de 2010, 09:23:43 »
Hola ojkarin, no puedes hacer eso, porque justo cuando aparece un cero el el RA4 el PIC debe empezar a guardar en la EEPROM y si este va conectado al MCLR entonces se genera un reset que interrumpe toda operación, lo que te sugiero es que al terminar de escribir en la eeprom apliques la función "reset_cpu()".

saludos.

Desconectado ojkarin

  • PIC10
  • *
  • Mensajes: 39
Re: EEPROM y fallo de alimentación
« Respuesta #6 en: 09 de Abril de 2010, 07:12:36 »
Gracias Diego, pero lo que pasa es que lo que tengo es un contador que tiene que saber en todo momento el valor que tiene. El caso es que si yo hago un reset al pic, me guarde el valor de la cuenta antes de que el pic se reinicie. Tambien me han comentado hacer lo siguiente, poniendo alguna puerta lógica con la entrada de la señal de guardar datos y con un RC a la salida con la señal de reset, de forma que una señal esté retrasada respecto a la otra. De esta manera se guardarán los datos  antes de que se genere el reset del pic.
Programo el pic en Basic con el PicSimulatorIde así que creo que lo de la función "reset_cpu()" no creo que lo pueda hacer.
Un saludo.


 

anything