Autor Tema: Causas que afectan a la EEPROM -al encender - PIC18F2550  (Leído 2244 veces)

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

Desconectado arielba

  • PIC10
  • *
  • Mensajes: 6
Causas que afectan a la EEPROM -al encender - PIC18F2550
« en: 02 de Junio de 2011, 18:42:15 »
Hola, creo que es mi primer hilo en este foro , por eso me presento , soy Ariel Baravalle y llevo toda la vida con la electrónica y creo que este foro me ha servido muchísimas veces de ayuda y estoy muy agradecido, tanto a los moderadores como a los usuarios.

Bueno a lo que iba,  tengo un problema con el PIC18F2550

El problema que tengo es que al encender, la lectura de la EEPROM me da todos cero o (0xFF) , es extraño , por que no es una lectura mala , sino que es como si se limpiara la memoria.
antes de apagar el micro hago una lectura y estan perfectamente almacenados todos los datos.

He buscado por todos lados y no veo a nadie que diga algo similar , excepto en un hilo de hace muchos años en este foro, que no contesta nadie y no decía si lo había podido solucionar.-

Alguien tiene o ha tenido algún problema similar y lo ha solucionado  ? 

La placa va conectada a unos reguladores de velocidad de motores brushless, que suelen meter algo de ruido, incluso los 5v los entregan dichos reguladores, pero en el osciloscopio no veo casi nada de ruido y lo extraño es que lo hace al desconectar y conectar alimentación.

Un saludo

Desconectado MLO__

  • Colaborador
  • DsPIC33
  • *****
  • Mensajes: 4581
Re: Causas que afectan a la EEPROM -al encender - PIC18F2550
« Respuesta #1 en: 02 de Junio de 2011, 21:48:20 »
Hola

Si es cuando conectas o desconectas, se debe a transcientes de voltaje ... prueba conectar condensadores de desacoplo de 100nF y 47uF entre Vcc y GND a ver que sucede.

Saludos
El papel lo aguanta todo

Desconectado NoSepComo

  • PIC18
  • ****
  • Mensajes: 305
Re: Causas que afectan a la EEPROM -al encender - PIC18F2550
« Respuesta #2 en: 03 de Junio de 2011, 04:08:47 »
Hola,
yo tuve un problema de cambios en valores de algunos registros de la EEPROM (con 18f45k20), era en un crcuito con electrválvulas que tambien son ruidosas, utilizando condensadores cerámicos (de desacoplo) se solucionó, imagino que sería porque la descarga de los que utilizaba antes era muy lenta e inducía ruido como para cambiar el valor de un registro de memoria, no se. Prueba a poner los C's de desacoplo como sugirió MLO_ a ver que te hace

Desconectado cristian_elect

  • PIC18
  • ****
  • Mensajes: 453
Re: Causas que afectan a la EEPROM -al encender - PIC18F2550
« Respuesta #3 en: 03 de Junio de 2011, 23:06:05 »
En los pdf de los micro recomiendan poner  5 capacitores de  100nF en toda la trayectoria de la pista del la alimentacion del micro y en el pin de alimentacion un capacitor de 10uF lo mas cerca posible.
El valor de capacitor de 10uF podria variar segun el fabricante pero los 5 de 100nF es lo mas recomendable.

Desconectado arielba

  • PIC10
  • *
  • Mensajes: 6
Re: Causas que afectan a la EEPROM -al encender - PIC18F2550
« Respuesta #4 en: 03 de Agosto de 2011, 13:24:59 »
Muchas gracias a todos por vuestros aportes, la verdad es que me volví loco con esto , por que al colocar filtros y capacitores al circuito variaba la aleatoriedad con la que me hacia el fallo.

tras buscar y buscar encontré la solución, y resulta que no estaba en que se borraba la información, sino que al leerla lo hacia mal.

tan simple como agregar esta linea al inicio del programa.

   EECON1 = 0x00; // soluciona problemas de lectura eeprom

resulta que el EECON1 , según dice claramente el fabricante en la hoja de datos, puede tener un valor aleatorio al iniciar.

aunque basicamente el error estaba en mi función :
Código: [Seleccionar]
unsigned char read_eeprom(unsigned char address){
EECON1bits.EEPGD = 0; /* READ step #1 */
EEADR = address; /* READ step #2 */
EECON1bits.RD = 1; /* READ step #3 */
return EEDATA; /* READ step #4 */
}
en la cual omito poner a cero el pit CFGS , con lo cual estaba leyendo la flash en ves de la EEPROM , esto aleatoria mente en cada inicio.

lo correcto seria esto:

Código: [Seleccionar]
unsigned char read_eeprom(unsigned char address){
EECON1bits.EEPGD = 0; /* READ step #1 */
EECON1bits.CFGS= 0;          //    FALTABA ESTO !!
EEADR = address; /* READ step #2 */
EECON1bits.RD = 1; /* READ step #3 */
return EEDATA; /* READ step #4 */
}

Saludos y gracias por la ayuda. espero que le sirva a alguien mas.



pues eso, al ser aleatorio el valor de 

Desconectado jeremylf

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 1341
Re: Causas que afectan a la EEPROM -al encender - PIC18F2550
« Respuesta #5 en: 03 de Agosto de 2011, 22:57:37 »
Yo tuve problemas asi y no fue por el codigo, lo solucione habilitando el fusible BROWNOUT a cualquier voltaje (mientras mas alto mejor). Exitos.


 

anything