Autor Tema: Duda con la Eeprom Externa  (Leído 9463 veces)

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

Desconectado jdaniels

  • PIC10
  • *
  • Mensajes: 49
Duda con la Eeprom Externa
« en: 21 de Mayo de 2007, 01:41:42 »
Alguien sabe porque al leer la eeprom externa siempre da 0xff? he leido varios temas de aqui y en la pagina ccs pero asi arregle la libreria de la memoria, ponga lo q ponga no me escribe ni lee, tengo q repertir la operacion 3 veces para q escriba o lea, que pasa es problema de proteus o las librerias de las memorias en ccs?

Lo curioso es que si pongo las instrucciones write_ext_eeprom y read_ext_eeprom en el main si lo hacen, si las pongo es otra funcion no, como dije antes tengo q repetir el proceso 3 veces y listo lo hace, medio fastidiosas estas memorias no?

Desconectado Menta

  • Colaborador
  • PIC24F
  • *****
  • Mensajes: 607
Re: Duda con la Eeprom Externa
« Respuesta #1 en: 21 de Mayo de 2007, 03:34:31 »
Me pasa exactamente lo mismo... si es proteus o no? lo voy a comprobar cuando me lleguen las 24FC1025 que encargué a mcelectronic, pero me dijeron que demoraban como 3 semanas y hoy hace 26 días que las encargué, supongo que no deberían demorar mucho más. Cuando las tenga las pruebo y te cuento si hacen ese efecto.

Yo hice un programa para grabar toda la memoria y si no grababa bien una página la volvía a grabar hasta que quedara bien y el proteus me arrojaba entre un 20% y 50% de exceso de grabación. Es decir que para grabar efectivamente 500 páginas, lo hacía entre 600 y 750 veces aprox. eso si no se clavaba, que 2 por 3 pasaba...
     

Desconectado omix

  • Colaborador
  • PIC16
  • *****
  • Mensajes: 244
Re: Duda con la Eeprom Externa
« Respuesta #2 en: 21 de Mayo de 2007, 08:28:22 »
Cita de: jdaniels
Alguien sabe porque al leer la eeprom externa siempre da 0xff?

Todas las eeprom cuando estan vacias o sin programar estan todas sus celdas a 0xFF.

Cita de: jdaniels
he leido varios temas de aqui y en la pagina ccs pero asi arregle la libreria de la memoria, ponga lo q ponga no me escribe ni lee, tengo q repertir la operacion 3 veces para q escriba o lea, que pasa es problema de proteus o las librerias de las memorias en ccs?

Yo no me fiaria mucho de las simulaciones, lo mejor es probarlo con un circuito real. De todas formas si la libreria no esta bien hecha puede pasarte eso de que no leas ni escribas correctamente. Ten en cuenta que en la escritura has de esperar unos 5ms para que la memoria termine le proceso interno de escritura, si intentas leer o escribir antes de que hayan transcurrido esos 5ms, es muy probable que leas 0xff o no escribas correctamente.

Cita de: jdaniels
Lo curioso es que si pongo las instrucciones write_ext_eeprom y read_ext_eeprom en el main si lo hacen, si las pongo es otra funcion no, como dije antes tengo q repetir el proceso 3 veces y listo lo hace, medio fastidiosas estas memorias no?

Si te pasa eso, lo mas probable es que sea tu libreria la que falle, comprueba que dejas los 5ms de espera cuando realizas una escritura.

Un saludo.

Desconectado maritov

  • Colaborador
  • PIC16
  • *****
  • Mensajes: 121
Re: Duda con la Eeprom Externa
« Respuesta #3 en: 05 de Junio de 2007, 02:58:07 »
Por favor ayudenme.......estoy tratando hacer funcionar una memoria 24lc16b con un pic16f877 y simulando con proteus, y NO hay manera de que me escriba lo que yo deseo........espero alguien me pueda ayudar.....(podra ser proteus 6.9 SP4???)...ya no se que mas probar, adjunto el codigo....gracias

este es el *.c

#include "D:\CONTROL ACCESO\CCS\PIC 4 Bit LCD Driver\proyecto.h"
#include <2416.C>

void main() {
int i;

  setup_adc_ports(NO_ANALOGS);
   setup_adc(ADC_CLOCK_DIV_2);
   setup_spi(FALSE);
   setup_psp(PSP_DISABLED);
   setup_counters(RTCC_INTERNAL,RTCC_DIV_2);
   setup_ccp1(CCP_OFF);
   setup_ccp2(CCP_OFF);
   init_ext_eeprom();


for (i=1;i<=10;++i)
      {

      output_low(PIN_C5);
      write_ext_eeprom(i, i);
      delay_ms(100);
      output_high(PIN_C5);

        }
   
}

este es el *.h

#include <16F877.h>
//#use fast_io(C)
#use delay(clock=4000000)
#fuses HS,NOWDT
#use rs232(baud=9600,parity=N,xmit=PIN_C6,rcv=PIN_C7)
#define EEPROM_SCL   PIN_C3
#define EEPROM_SDA   PIN_C4


Desconectado micro_cadaver

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 2102
    • blog microembebidos
Re: Duda con la Eeprom Externa
« Respuesta #4 en: 06 de Junio de 2007, 11:31:43 »
hola maritov, que raro que no funcionen las librerias del CCS, le has colocado en el hardware (o en la simulacion) sus respectivas resistencias de colector abierto en las lineas de control del i2c? sino es eso que podras ser?
a cosechar!!!... :P
pic32... ahi voy....
aguante el micro 16f84  !!!!

visita mi pagina: http://www.microembebidos.wordpress.com

Desconectado maritov

  • Colaborador
  • PIC16
  • *****
  • Mensajes: 121
Re: Duda con la Eeprom Externa
« Respuesta #5 en: 06 de Junio de 2007, 14:21:51 »
Hola micro_cadaver.....te cuento que todavia no he echado mano en el hardware debido a que la simulacion no me responde!!
Y si......las resistencias de PUL-UP están colocadas!!
Adjunto ahora el codigo en CCS y además la simulación en proteus....a lo mejor tu u otro amigo puede ayudarme.
Estoy un poco desilusionado al punto tal que no me dan ganas de montar la eeprom en el protoboard....saludos!!

Archivos:
Archivos

Desconectado micro_cadaver

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 2102
    • blog microembebidos
Re: Duda con la Eeprom Externa
« Respuesta #6 en: 06 de Junio de 2007, 14:34:00 »
pero maritov, precisamente ese es el camino de un picmaniaco, y la diferencia se marca en los momentos donde nada sale y tu entusiasmo muere o persiste.....

pd_voy a chekear a ver si encuentro algo raro en tu codigo
a cosechar!!!... :P
pic32... ahi voy....
aguante el micro 16f84  !!!!

visita mi pagina: http://www.microembebidos.wordpress.com

Desconectado micro_cadaver

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 2102
    • blog microembebidos
Re: Duda con la Eeprom Externa
« Respuesta #7 en: 06 de Junio de 2007, 16:53:00 »
ya taaaaaaaaaaaaaaaaaaa jijiji
los archivos estan dentro de una carpeta que dice ayuda.  :-)
cheka lo que le cambie y eso del tiempo creo que es un bug del CCs o del Proteus, porsica prueba habilitando el retardo en la realidad y nos comentas.
http://www.box.net/shared/y30pzlrjkt

a cosechar!!!... :P
pic32... ahi voy....
aguante el micro 16f84  !!!!

visita mi pagina: http://www.microembebidos.wordpress.com

Desconectado maritov

  • Colaborador
  • PIC16
  • *****
  • Mensajes: 121
Re: Duda con la Eeprom Externa
« Respuesta #8 en: 06 de Junio de 2007, 19:55:33 »
micro_cadaver (y quien se quiera prender en el tema!!) !!!  sigo probando y no hay manera, de hecho en cada prueba de escritura que hago obtengo resultados distintos, o sea, los huecos que quedan no son siempre los mismos. Lo que si observo es que casi siempre en el inicio de la EEPROM los datos se graban mejor......sigo probando con PROTEUS 6.9 SP4 y los resultados están a la vista(ver imagen). Pretendo hacer una escritura secuencial desde la direccion 0x0000 hasta 0x00AF de un valor constante=0xAA y los resultados están a la vista en las imágenes.......sinceramente ya me canse de PROTEUS, asi que voy a hacer las pruebas en el mundo real, montaré todo en el protoboard y luego les comento los resultados......adjunto los archivos....hasta pronto.

PD:estoy usando:PROTEUS 6.9 SP4 + PCWH COMPILER VERS 4.013

Archivos (codigo + simulacion)



Desconectado micro_cadaver

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 2102
    • blog microembebidos
Re: Duda con la Eeprom Externa
« Respuesta #9 en: 06 de Junio de 2007, 20:06:41 »
no has revisado lo que te mande¿????  :shock:
a cosechar!!!... :P
pic32... ahi voy....
aguante el micro 16f84  !!!!

visita mi pagina: http://www.microembebidos.wordpress.com

Desconectado maritov

  • Colaborador
  • PIC16
  • *****
  • Mensajes: 121
Re: Duda con la Eeprom Externa
« Respuesta #10 en: 11 de Junio de 2007, 15:18:24 »
Amigos!!!! Espero hacer un aporte........dada mi experiencia llego a dos posibles conclusiones:

1-. Proteus 6.9 falla cuando se usa una 24lc16b
2-.O bien yo no se configurar Proteus :?......por eso invito a quien tenga ganas de ver la simulación aqui y me comente, y en todo caso me enseñe a configurar correctamente proteus. El error es mas evidente cuando se intenta escribir un intervalo grande (por ej: desde 0x0000 a 0x00ff).   

A estas conclusiones se llegan, dado que he montado todo en protoboard y todo funciona correctamente....y en Proteus NO!! :shock:
Saludos.

Desconectado jfh900

  • Moderadores
  • DsPIC30
  • *****
  • Mensajes: 3595
Re: Duda con la Eeprom Externa
« Respuesta #11 en: 11 de Junio de 2007, 16:52:51 »
Prueba a poner las resistencias especificas de polarización que trae el Proteus "PULLUP" para polarizar las líneas I2C.

Un saludo.
* Cuando hables, procura que tus palabras sean mejores que el silencio.
* 'Todos somos ignorantes, lo que ocurre es que no todos ignoramos las mismas cosas.' Albert Einstein.
* No hay nada peor que un experto para evitar el progreso en un campo
* "La vida es como una novela. No importa que sea larga, sino que esté bien narrada" Seneca
* La vida no se vive por las veces que respiras, sino por los momentos que dejan sin aliento.
* Dios dijo: ∇·E=ρ/ε0 ; ∇·B=0 ; ∇xE=-dB/dt ; ∇xB= μ0ε0dE/dt..y la luz se hizo..!!..

Desde España Jesús

Desconectado maritov

  • Colaborador
  • PIC16
  • *****
  • Mensajes: 121
Re: Duda con la Eeprom Externa
« Respuesta #12 en: 11 de Junio de 2007, 18:25:44 »
jfh900!!!........Ya he probado con los pullups..........en un primer momento puse como Device unas resistencias comunes de 4k7 y luego puse como Device unos PullUps y asi y todo el error persiste.. ...Saludos

Desconectado cmero

  • PIC10
  • *
  • Mensajes: 2
Re: Duda con la Eeprom Externa
« Respuesta #13 en: 23 de Junio de 2007, 19:02:38 »
Hola a todos, yo he tenido el mismo problema con el proteus, la unica diferencia es que estoy utilizando un 24LC128 y que grabo varios bytes de una sola vez (hasta 64) o lo que es lo mismo grabo una pagina, en total grabo mas de 2000 bytes, la simulacion graba al principio pero despues comienza a dejar espacios de memoria sin grabar y salia varios mensajes como este:

256.122201m [STOPPED    ]: *WARNING* Stop detected part way through receiving data byte. Write operation aborted.


 Yo creia que era algun error de mi programa en CCS pero me di cuenta que cuando simulaba varias veces un mismo programa me salian diferentes resultados sin haber cambiado lo que tenia en CCS. Ademas tambien tenia que dejar exactamente 5ms para escribir en la eeprom nuevamente lo cual es normal, pero si dejaba "más tiempo" la simulacion fallaba mucho mas todavia, y lo peor es cuando quieres sobreescribir en un espacio de memoria.     

Desconectado Menta

  • Colaborador
  • PIC24F
  • *****
  • Mensajes: 607
Re: Duda con la Eeprom Externa
« Respuesta #14 en: 28 de Junio de 2007, 14:47:00 »
Aunque me pasa lo mismo, en proteus 6.7 SP3 además, cuando configuro la dirección del chip poniendo a Vdd o a Vss las patitas A0 y A1 con algunas combinaciones va y con otras no! de locos :!:
Los chip con dir 0, 1, 3 y 7 funcionan, los 2, 4, 5 y 6 no!  :z)  no encuentro el significado  :?   

Por suerte me llegaron las memorias 24FC1025 SOIJ (no hay stock de las otras en microchip hasta el 2 de julio)
Con ellas voy a hacer pruebas la semana que viene, espero tener tiempo.
Espero poder confirmar la "teoría de maritov" y que todo funcione bien.

Tambien estoy escribiendo páginas de 128 bytes, ya que de lo contrario el proceso de escritura masiva se tornaría extremadamente lento. Usando páginas es un poco menos lento  :mrgreen:
     


 

anything