Autor Tema: Librería AT24C1024  (Leído 4092 veces)

0 Usuarios y 2 Visitantes están viendo este tema.

Desconectado Cryn

  • Colaborador
  • DsPIC33
  • *****
  • Mensajes: 4169
Librería AT24C1024
« en: 20 de Junio de 2009, 01:04:55 »
Hola a todos, tuvieran para compartir una libreria para manejar a esta memoria de ATMEL, que es de 1Mbit?

será que la de 24FC1025 sea compatible??

Muchas gracias de antemano

un saludo.
.

Desconectado MLO__

  • Colaborador
  • DsPIC33
  • *****
  • Mensajes: 4581
Re: Librería AT24C1024
« Respuesta #1 en: 20 de Junio de 2009, 01:24:04 »
Hola.

Si es i2c entonces si es compatible .... justo hoy cambie una 24LC128 de microchip por una A24C128A de Atmel ... y todo muy bien.

Saludos
El papel lo aguanta todo

Desconectado Cryn

  • Colaborador
  • DsPIC33
  • *****
  • Mensajes: 4169
Re: Librería AT24C1024
« Respuesta #2 en: 20 de Junio de 2009, 11:19:46 »
siiii funcionó muy bien, sa que la librería de otro post que era para la memo 1025 que mencioné y funcionó bien

ese truco no me lo sabía, saludos, gracias
.

Desconectado Cryn

  • Colaborador
  • DsPIC33
  • *****
  • Mensajes: 4169
Re: Librería AT24C1024
« Respuesta #3 en: 21 de Junio de 2009, 11:48:50 »
ahora qeu estube trabajando más a fondo con esta memoria, descubrí algunas cosas:

24LC1025 al parecer tiene 2 bancos, que serían 2 memorias de 512, por tanto las direcciones de la memoria son de varios bits
AT24C1224 esta tiene 512 paginas y cada pagina posee 256 bytes, y por tanto se debe seleccionar previamente la página en la cual se quiere escribir o leer y despues la dirección del dato será de solo 8 bits.

vi sus hojas de datos comparando ambas tramas de escritura, y son algo diferentes.

Alguien no trabajó con esta memoria at24lc1024? y pueda brindarme su librería o driver? o que podría hacer para modificar la libreria del 1025 que saque de acá de un enlace del foro, para que trabaje correctamente con mi memoria de atmel?

Si sirve de dato, escribi en la eeprom pensando que estaba escribiendo en las paginas, pero solo me deja escribir en la pagina 0 y en la pagina 1, y después cuando intento escribir en la 2, 3, 4, etc, el i2c no tiene respuesta :(

saludos y muchas gracias por la ayuda.
.

Desconectado Cryn

  • Colaborador
  • DsPIC33
  • *****
  • Mensajes: 4169
Re: Librería AT24C1024
« Respuesta #4 en: 21 de Junio de 2009, 13:08:08 »
y fue un error de librería al final, parece que la que encontre acá en el foro, que se llama 24fc1025.c no es del todo compatible, o en realidad creo que lo maneja de diferente manera, que para el caso del at24c1024 no funciona, pero busque en los drivers del CCS y encontre la libreía 241025.c usé esa y esta si le hace muy bien, escribe y lee en todas las páginas, al menos no me dio problemas al escribir en 11 paginas, pero no hace falta colocar el número de página, directamente se debe darle la dirección de 17 bits, 2^17=128K

Por fin, me traía loco esta memoría, tuve pesadillas :D

saludos.
.

Desconectado ASTROCAR

  • PIC24F
  • *****
  • Mensajes: 664
Re: Librería AT24C1024
« Respuesta #5 en: 21 de Junio de 2009, 13:48:31 »
Hola buenas tarde y feliz dia del padre a todos los que lo son; ahora entran en tema que no estoy muy claro cual es tu problema con las i2c tu consulta es si las eeprom i2c 24c1024 es igual a la 24c1025, para eso lo mejor es revisar ambas datasheets y verificar en que difieren, aunque tu dices que una trabaja con solo 2 bancos de 512byte y la otra esta paginada en 512 y cada pagina tiene 256 byte es decir que es de 512x256=131072byte en conclusion son memorias de tamaños diferentes.

Todo ese se puede verificar como ya lo dije con las datasheets de ambas eeprom yo propongo hacer una libreria general para las eeprom externa i2c y asi poder tener claro claro todo referente alo tema de las eeprom i2c.
Para eso lo necesario es tener a la mano la hoja de datos de las diferentes eeprom i2c que existen.

Saludos y yo empezare con hacer un archivo con todas las hojas de datos de las eeprom externa i2c como la 24c01, 24c02,24c04,24c08,24c16,24c32,24c64,24c128,24c256,24c512,24c104 y la 24c1025.

Saludos y estamos en contacto.
Atten.
Alexander Santana.
Barcelona-Venezuela.
EL APRENDER ES NADA; MEJOR ES COMPARTIR EL APRENDIZAJE

Desconectado MLO__

  • Colaborador
  • DsPIC33
  • *****
  • Mensajes: 4581
Re: Librería AT24C1024
« Respuesta #6 en: 21 de Junio de 2009, 13:54:24 »
Hola.

A mi me parecio que las memorias eran similares (24LC128 de Microchip y Atmel), eso si: revise los data para ver el protocolo y lo demas y eran identicas. Creo que en tu caso amigo Cryn tambien lo deben ser, ya que no tiene mucho sentido que Atmel saque unas memorias solo compatibles con ellos.

Respecto a las librerias -que creo yo que es donde esta el problema- es mejor usar la que esta diseñada para el tamaño de la memoria. Revisando los drivers del CCS hay una justo para la capacidad que mencionas, asi que creo que deberia funcionar para las memorias de esa capacidad.
El papel lo aguanta todo

Desconectado Cryn

  • Colaborador
  • DsPIC33
  • *****
  • Mensajes: 4169
Re: Librería AT24C1024
« Respuesta #7 en: 21 de Junio de 2009, 14:51:37 »
Hola Astrocar, la memoria que tengo es: AT24LC1024 que es de ATMEL, y es de 1Mbit, o 128KB en total

no encontré un driver para la memoria atmel, pero leí en un otro post que decía que los drivers de las memos (atmel AT24LC1024 y microchip 24LC1025) podrían ser compatibles, y por eso me puse a buscar una librería que una vez usé para una la 24FC1025 que también es de 1Mbit, está para ser más precisos, por acá porque pensaba que el CCS no traía el driver para la memo de microchip, ya que busque uina primera vez dentro la carpeta de los drivers y no lo encontré.

Use por tanto la librería que esta en el link, la cual dio a primera vista, pero solo escribia en las 2 primeras páginas (o al menos eso entendía), pero era que en realidad la librería, seguramente tiene otra aplicación o tiene algunas cosas que considerar que no lo hice, y no lo entendía pues no funcionaba de la manera que esperaba, la memoria ATMEL poseía varias paginas, y no veía por donde ingresar ese dato en esa librería.

Después nuevamente busqué en los drivers de ccs y encontre la librería 241025.c, que es la que usé y esta trabaja directamente con una dirección de 17bits y no hace falta colocar ni pagina ni nada, directamente dirección y dato. Por tanto esta librería si es compatible con mi memoria ATMEL.

espero me haya dejado entender.

MLO__, si precisamente fue una de las de ccs que use y ahora si tengo los datos correctos.

Astrocar, no creo que sea necesario hacer ello de las librerias de todas las memorias porque CCS ya incluye muchas, quizá lo mejor sea hacer como una especie de manual o ayuda de como poder realizarlas, para futuras memorias quizá, o para alguna que no este contemplada en CCS.

Saludos, y muchas gracsias por las respuestas.
« Última modificación: 21 de Junio de 2009, 16:44:53 por Cryn »
.

Desconectado ASTROCAR

  • PIC24F
  • *****
  • Mensajes: 664
Re: Librería AT24C1024
« Respuesta #8 en: 21 de Junio de 2009, 16:07:47 »
Oye no quede del todo clkaro en tu explicacion lo que si te puedo decir es que la 24c1024 es de la misma capacidad que la 24c1025  lo que confirma que la libreria que dices tener sirve para ambas eeprom. solo que son de diferentes fabricantes.

Saludos y podemos hacer un  ejemplo y lo simulamos en proteus que usa ambas eeprom y leemos y escribimos tola la eeprom completa.

Saludos y cualquier cosa manos a la obra.
Atten.
Alexander Santana.
Barcelona-Venezuela.
EL APRENDER ES NADA; MEJOR ES COMPARTIR EL APRENDIZAJE

Desconectado Cryn

  • Colaborador
  • DsPIC33
  • *****
  • Mensajes: 4169
Re: Librería AT24C1024
« Respuesta #9 en: 21 de Junio de 2009, 16:50:27 »
Hola Astrocar, edité algo mi anterior post, espero aclararme

respondiendo... si la AT24LC1024 de atmel, tiene la misma capacidad de la 24FC1025 de microchip, y la librería que incluye el CCS, al menos en la versión 4.084 que tengo funciona para ambas, yo solo la probé con la Atmel, pues es la que tengo de momento, pero seguro que funciona con la de microchip también.

La eeprom de atmel el proteus no la tiene, pero la otra de microchip, esa si la tiene, y la estaba probando y también va bien en el proteus.

Saludos Astrocar, gracias por responder.
.

Desconectado ASTROCAR

  • PIC24F
  • *****
  • Mensajes: 664
Re: Librería AT24C1024
« Respuesta #10 en: 21 de Junio de 2009, 18:57:55 »
oye claro que proteus tiene la eeprom at24c1024 de atmel ya tomo un screen y lo muestro
Saludos.
Atten.
Alexander Santana.
Venezuela-Barcelona.
EL APRENDER ES NADA; MEJOR ES COMPARTIR EL APRENDIZAJE

Desconectado Cryn

  • Colaborador
  • DsPIC33
  • *****
  • Mensajes: 4169
Re: Librería AT24C1024
« Respuesta #11 en: 21 de Junio de 2009, 19:33:49 »
cierto, no la vi, disculpa por la confusión

saludos
.

Desconectado ASTROCAR

  • PIC24F
  • *****
  • Mensajes: 664
Re: Librería AT24C1024
« Respuesta #12 en: 21 de Junio de 2009, 19:49:31 »
no hay trama ahora que todo esta claro pon tu codigo simulado para ver que tal te fue y asi todo vemos esa practica que de paso muy varioso que es el tema de ese modelo de eeprom.

Saludos y espero ya todo lo tengas mas claro y resuelto.
y vuelvo y confirmo las dos eeprom son iguales y la libreria debe funcionar para ambas eeprom.
Atten.
Alexander Santana.
Venezuela-Barcelona.
EL APRENDER ES NADA; MEJOR ES COMPARTIR EL APRENDIZAJE

Desconectado Cryn

  • Colaborador
  • DsPIC33
  • *****
  • Mensajes: 4169
Re: Librería AT24C1024
« Respuesta #13 en: 22 de Junio de 2009, 11:15:51 »
No creo que haga falta colocar el código, pues simplemente use las funciones que dicen en el driver, que son:

write_ext_eeprom(int32 address,int8 data)
read_ext_eeprom(int32 address)

y con un for le meto los datos y los puedo leer después, solo a considerar donde estan los datos por ejemplo, ahí puse un arreglo de constantes que se lo puede definir más arriba con los valores que uno guste o los que le sean necesarios, podría ser un arreglo de variables también:

int32 j;
int8 k=0;
forj(j=0;j<7000;j++){
   write_ext_eeprom(j,constantes[k]);
   k++;
}


leer:
int32 j;
forj(j=0;j<7000;j++){
   printf("%u",read_ext_eeprom(j));  //mostrar el valor por el puerto serie, ya se pueden manipular mejor los datos, para tenerlo quizá
}                                               //mas ordenado, si son muchos datos.

Como puedes ver es un código sencillo, casi como escribir en la eeprom interna del micro.

Saludos.
.

Desconectado jodorowsky

  • PIC12
  • **
  • Mensajes: 52
Re: Librería AT24C1024
« Respuesta #14 en: 26 de Junio de 2009, 16:48:18 »
Hola Cryn

Yo tengo una libreria para la memoria 241025 de atmel, es de 1 Mbit. Según la hoja de datos es 241025 no 241024 no?? el de microchip es 241024. Será otro integrado el que tengo yo?? Le hice una versión para manejar dos 241025 y que escriba secuencialmente. Es decir yo solo enviaba el dato y la libreria deducía cual era la siguiente direccion libre y asi. Lo mismo para leer. TAmbien tenia borar.
Si hubiera leido antes el hilo, lo habria posteado pero veo que ya lo encontraste.

Por si acaso, como conseguiste esa memoria de 1 Mbit??en realidad yo la hice para un memoria que un amigo se hizo traer y me la prestó.

saludos...


 

anything