Página principal


Programación EEPROM 24c02 24c01
con
Arduino y Gambas

xsetaseta@gmail.com


Las memorias 24Cxx son del tipo EEPROM (programadas eléctricamente) , antes había que borrarlas mediante luz ultravioleta, pero eso es el pasado, ahora en un chip de 8 patillas puedes tener hasta 8Mbytes.
Tengo bastantes memorias del tipo 24cxx procedentes del reciclado, y me voy hacer un programador mediante el arduino. Por uno de mis cajones tengo el programador TE20-SE que utilizo para alguna programación de los PIC , este programador dispone de zócalos para programar memorias 24Cxx, pero al ser la conexión del tipo serie no se puede utilizar en los ordenadores nuevos.
Este montaje de momento solo programará los 24c01 y 24c02 de 128bytes y 256 bytes, respectivamente.
Para modelos de memoria mayor de 256bytes  ,24c04 ,24c08 y 24c16 ,  se debe direccionar de otra forma, utilizando parte del Device code para la dirección de memoria. En otros modelos con mas memoria se mandan dos bytes para sacar la dirección de la memoria. Recomiendo leer las hojas de características  de los chip para entender su funcionamiento.

Memoria EEPROM.


Conexionado de la memoria con el arduino nano.


Circuito montado.


Programa en gambas.

El programa en gambas (VB para Linux) es sencillo, pero tiene un poco de todo, lee, graba,compara, guarda, restaura, y un pequeño editor.
Para evitar ciclos de escritura, conviene leer la memoria a programar, y cuando se graban datos en dicha memoria se compara el dato que hay en esa posición de memoria y el dato que va se va ha escribir, sin son el mismo no graba nada. Esto evita muchas grabaciones innecesarias y hace grabaciones rápidas. A esto llamo WriteComparación.

Para empezar el programa debemos seleccionar el puerto, normalmente /dev/ttyUSB0 , y pulsamos start . Si todo nos va bien nos saldrá EMPIEZA 24C 01/02 .
Insertada la memoria, leemos sus datos con el botón Read, se visualizaran automáticamente. Si queremos cambiar el modo de visualización seleccionamos DEc , Char,  Hex .
Si queremos editar algún dato, pulsamos sobre la pantalla de los datos y mediante los cursores seleccionamos la dirección que queramos modificar. Ahora introducimos el valor en la casilla de Valor y pulsamos Enter, automáticamente cambia el dato e incrementamos la posición de memoria.
Ahora podemos grabar los datos en memoria o guardarlos en un fichero.

Espero que le sirva a alguien este programa.
Mi intención es actualizar el programa para grabar todo tipo de memorias

Programa

Saludos.
Juan Galaz