# ¿Cómo programar una EEPROM?



## lito.rpg (Oct 19, 2006)

una eprom 2 o una normal...alguien que me diga coo quemarla ya que me urge


----------



## Apollo (Oct 20, 2006)

Hola lito.rpg:

Aquí hay unos links con varios modelos de programadores de memorias.

Programador universal

Varios programadores portátiles


Un saludo a todos.


----------



## lito.rpg (Oct 21, 2006)

gracias..los voy a chekar


FIME


----------



## shadown (Oct 22, 2006)

he compa no tiene mucho problema la programada, solo necesitas hacer la tabla con los valores que quieres guardar, pero deben estar en hexadecimal!!. osea, si tienes el 58 que en binario seria 0111010, para convertirlo a hexadecimal los agrupas de 4 en 4, de izq a der:  011 1010, entonces haces de cuenta que solo existen cuatro bits y sacas el valor como si fuera binario normal:  011 --> 3,  1010 --> 10. aqui entra un pequeño problema, por que los primeros 10 numeros (0 a 9), se toman como tal, pero al llegar a 10 se sustituyen por letras (A,B,C...) hasta llegar al numero 15, o lo que es lo mismo: F; por lo tanto queda el numero en hexadecimal:

                 011 --> 3    1010 --> A

                0111010b --> 3Ah

nota: la b y la h despues de los numeros, solo significan que basen son (decimal, binario,...)


te adjunto como se veria la tabla del programador, por lo general tienen la misma estructura y donde tienes que meter los valores hexadecimales es, logicamente, en la parte donde hay puras FF que corresponden a las direcciones de la memoria


----------



## jose8pablo (Ago 8, 2009)

amigos tengo que programar una Eprom M27C512 y tengo que escribirle HOLA _CUC_2009___
serian tan amagles de esplicarme como ponerlo en la memoria.

los_ que aparecen en realidad tienen que ser espacios en blanco.


----------



## salmon (Ago 10, 2009)

Hola, nesecito quemar E2PROM AT28C64/X, puedo seguir el mismo procedimiento que nombran anteriormente, nesecito grabar 16 palabras de 10 bits cada una...


Gracias


----------



## Chico3001 (Ago 10, 2009)

Si... puedes grabarla de la misma manera, solo verifica que se encuentre vacia antes de grabarla....


----------



## jose8pablo (Ago 10, 2009)

Gracias funciona de maravilla.


----------



## salmon (Ago 10, 2009)

de que forma se puede verificar rapidamente, que la información se guardo satisfactoriamente?

Gracias


----------



## Chico3001 (Ago 10, 2009)

leyendo la memoria y comparandola contra el programa original... usualmente los programadores traen un boton de "Verificacion" que hacen esto para revisar


----------



## salmon (Ago 10, 2009)

Como hago para formatear la memoria  en caso de que tenga alguna información?

Gracias


----------



## Chico3001 (Ago 10, 2009)

La serie 28 se borra de manera electrica, el programador debe traer un boton de borrado que la borre automaticamente, la serie 27 es por medio de luz.. la tienes que poner de 5 a 15 min bajo una lampara de luz UV


----------



## Jair Armando (Nov 2, 2009)

HOLA 
Soy nuevo en esto de la programación necesito meter los datos en una eeprom como lo mencionado arriba.
He buscado varios  software pero no entiendo donde se ponen los datos, es decir cuáles son mis entradas y cuales mi salidas , solo se que se tiene que convertir a hexadecimal. Ya la tengo en hexadecimal pero no se como hacer mi tabla para guardarla en un un archivo .hex y después quemar la eeprom.
Son 8 bits de entrada con 7 de salida, para conectarle  dos displays de 7 segmentos   multiplexados
Muchísimas gracias…


----------



## Chico3001 (Nov 2, 2009)

Un hex solo tiene datos en hexadecimal codificados de una manera facil de leer... generalmente el software de programacion tambien posee un boton que te permite ir creando y editando lo que necesitas grabar en la memoria EEPROM y de alli hacer la grabacion de la RAM en la PC a la EEPROM, pero si lo que quieres es realizar tu mismo tus propios archivos hex te dejo esta web donde se explica como se compone el archivo hex:

http://www.tolaemon.com/otros/fhex.htm

Y en esta web puedes descargar editores para ese tipo de archivos:

http://3d2f.com/tags/intel/hex/editor/


----------



## maci (Abr 27, 2011)

hola amigos...tengo q hacer un juego de luces con un eeprom...y la verdad nose como hacerlo..alguien podria ayudarme??


----------



## flits (Jun 26, 2011)

hola a todos ,saben necesito programar la eepron 28c64B y nose por donde enpesar alguien puede ayudar gracias


----------



## Scooter (Jun 26, 2011)

flits dijo:


> hola a todos ,saben necesito programar la eepron 28c64B y nose por donde enpesar alguien puede ayudar gracias


¿Por leer el datasheet?


----------



## luxen (Sep 17, 2011)

ya programe la eepron con el max loader, todo correcto, pero como voy a saber donde voy a conectar las entradas en mi memoria si tiene 12 entradas desde la A01 hasta la A12 y se pone peor, donde me va arrojar mis salidas al display si tene desde la Q0 hasta la Q7, mi memoria es la AT28C64B, intente conectar las entradas de A0 hasta A3 y mis salidas al display de 7 segmentos Q0-a  Q1-b Q2-c etc... pero nada! no funciona, y eso que aterrise todo lo que no use. algun consejo?


----------



## Gudino Roberto duberlin (Sep 17, 2011)

luxen dijo:


> ya programe la eepron con el max loader, todo correcto, pero como voy a saber donde voy a conectar las entradas en mi memoria si tiene 12 entradas desde la A01 hasta la A12 y se pone peor, donde me va arrojar mis salidas al display si tene desde la Q0 hasta la Q7, mi memoria es la AT28C64B, intente conectar las entradas de A0 hasta A3 y mis salidas al display de 7 segmentos Q0-a  Q1-b Q2-c etc... pero nada! no funciona, y eso que aterrise todo lo que no use. algun consejo?



Hola Amigo, pues aclara que necesitas hacer, por lo visto un deco BCD, ademas el programa te informa la posicion de memoria y el dato a guardar.- Es mas tu decides donde almacenar.-


----------



## luxen (Sep 17, 2011)

por medio de 4 interruptores le doy las 4 entradas a la memoria (en binario) y la memoria da salida a un display de 7 segmentos, donde tiene que aparecer mi nombre. en el maxloader comienzo en la direccion 0000 y a un lado donde estan todas las FF comienzo a escivir en esa misma fila del 0000 pero ahora con hexadecimal, lo guardo en .bin y lo grabo en la memoria. pero nada.


----------



## Gudino Roberto duberlin (Sep 17, 2011)

luxen dijo:


> por medio de 4 interruptores le doy las 4 entradas a la memoria (en binario) y la memoria da salida a un display de 7 segmentos, donde tiene que aparecer mi nombre. en el maxloader comienzo en la direccion 0000 y a un lado donde estan todas las FF comienzo a escivir en esa misma fila del 0000 pero ahora con hexadecimal, lo guardo en .bin y lo grabo en la memoria. pero nada.


Amigo, entonces revisa si el programador esta quemando correctamente. Ademas el pin CE y OE deben estar a GND. Y el Terminal R/W a nivel alto.-


----------



## jhary3000 (Oct 10, 2011)

Hola a todos...
Tengo una pregunta respecto a la programación de las memorias EEPROM, en especial las 24LC02, 24LC04, 24LC08, 24LC16.

Lo que pasa es que necesito guardar un conteo de servicios de una maquina, y necesito que esa información NO se borre ni cuando el microcontrolador es desconectado de VCC (5v).

Estoy utilizando el microcontrolador de Freescale MC68HC908GP32 el cuan NO tiene EEPROM,, por lo que me decidí a utilizar una memoria de las anteriormente nombradas (24LC02...)

Mi pregunta es:
*¿Cómo puedo guardar el conteo en la 24LCxx desde el MC68HC908GP32?..
¿Cómo sería el diagrama de conexión?*

Nota: Estoy programando en Codewarrior en lenguaje C.

Gracias..!!


----------



## D@rkbytes (Oct 10, 2011)

jhary3000 dijo:


> Mi pregunta es:
> *¿Cómo puedo guardar el conteo en la 24LCxx desde el MC68HC908GP32?..
> ¿Cómo sería el diagrama de conexión?*


Lo mejor para que comprendas como se transfieren los datos a esas memorias
es que le des una leida al protocolo I2C BUS


----------



## baterod3 (Dic 14, 2011)

Estoy haciendo un programador de eeprom AT28c64, por medio del puerto paralelo y su software en visual basic, pronto les alcanzaré el proyecto....

Ninguno de los programadores que he encontrado me han servido...son un asco....


----------



## luxen (Dic 15, 2011)

Gudino Roberto duberlin dijo:


> Amigo, entonces revisa si el programador esta quemando correctamente. Ademas el pin CE y OE deben estar a GND. Y el Terminal R/W a nivel alto.-



Gracias! ya los conecte asi y funciono 100% ya hace bastante tiempo de esto pero hasta ahora me pase a agradecer. Pronto comenzare a experimentar con el ardruino one, con el pic atmega328, posteriormente pondre por aca los resultados. Saludos.


----------



## baterod3 (Dic 15, 2011)




----------



## reyvilla (Ene 9, 2012)

Hola yo tengo una consulta y aprovechando para no abrir otro tema, yo ya se programar la eeprom y se crear el archivo .bin para cargarselo, mi problema esta en como organizo la información si existe alguna manera ya estandarizada o simplemente yo asigno para que voy a utilizar cada espacio de memoria, lo digo por lo siguiente, en mi caso yo deseo guardar información en código ascii por supuesto en la memoria quedaría en código en hex del valor ascii, ahora, la información es relacionada a usuarios, digamos FECHA DE NACIMIENTO, SEXO, DIRECCION, E-MAIL, ETC...Como seria la manera mas optima si existe o como dije si yo simplemente le asigno espacios de memoria los cuales tengo que recordar luego de quien es quien en la memoria...La memoria que utilizo son las misma nombradas 24c16...Gracias de antemano


----------



## Gudino Roberto duberlin (Ene 9, 2012)

Hola Colega, la informacion puedes organizarla a tu antojo, pues tu organizas y declaras tu propio protocolo, no necesariamente debes almacenar secuencialmente la informacion, salvo que a tu sistema debas implementarlo en algun otro sistema previo, pues logicamente deberas ajustarte al medio. Exitos!.


----------



## reyvilla (Ene 9, 2012)

Hola Roberto gracias por tu respuesta, hice un pequeño archivo en excel con el cual me ayude a organizar la memoria, de tal manera que no ocurra un fallo a la hora de consultar la información, uno de los problemas que tuve fue que yo utilizo PICBASIC PRO  con microcode y debido a eso estuve algo limitado al escribir en la memoria ya que quería enviar todos los datos de una vez, en total eran 32bits de datos y la memoria solo permite almacenar de 16bits a la vez por lo que tuve que hacerlo en 3 partes, a la final si quedo organizado cada espacio de memoria a lo que yo quería, aunque aun faltan parámetros por almacenar ya empece con los primeros 32bit de espacio de memoria...Ahora la idea no es guardar directamente la información en la memoria, la idea es que a trabes de un algoritmo pueda hacer lo mismo, empece al revés para hacer bien los cálculos a la hora de almacenar la información, por ejemplo, yo voy a generar una lista de pacientes que cada paciente va a tener un nombre un apellido, fecha de ingreso fecha de egreso, etc...Cada parámetro tiene una longitud de memoria que yo pre-establezco,  para la fecha serian 3bits, 09/01/12, para el nombre como voy a colocarlo en una lcd, lo defino a 16bits del 0 al 15 y igual con el apellido y los demás parámetros.

Ahora la cuestión es como repetir el mismo proceso con 7 pacientes mas que van a tener contemplado la misma cantidad de información a guardar...Logico es incrementar nbits por cada paciente si son 32bits voy sumando de 32 en 32 tomando en cuenta los bits de control de la memoria al pasar de pagina en pagina osea de 255 a 255 ya que no admite variables tipo word ya que los bits de control van juntos con los bit de direccion y el bit de escritura y lectura y controlandolo manualmente tardaría una eternidad en escribir el codigo, para eso es el algoritmo de direccionamiento que nombre que de echo ya conseguí un ejemplo en pbp que me permite hacer bueno hasta aquí todo bien.

Lo otro que pretendo hacer es comparar la información de dos memorias eeprom, no utilizo la interna del pic porque es muy pequeña, y la comparación es para llevar un registro de entrada y salida de una memoria aparte, tipo tarjeta con chip, que al yo ingresarla el pic guarde la información de esa memoria y de cuando se uso indicándome el ingreso y la salida con datos como fecha y hora, en una memoria auxiliar externa y así poder consultarla luego sin necesidad de leer otra vez la tarjeta.

No se si me explique bien pero cualquier cosa me avisas a lo mejor es algo engorroso pero es una idea que ya estoy desarrollando cuando la tenga ya lista la coloco completa, cualquier sugerencia bienvenida sea ya que apenas empiezo con esto de las memorias.

PDara la memoria auxiliar del pic voy a usar una 24C16 y para las tarjeta tipo tarjeta chip voy a usar 24C08...saludosss


----------



## matrix2143 (May 2, 2012)

shadown dijo:


> he compa no tiene mucho problema la programada, solo necesitas hacer la tabla con los valores que quieres guardar, pero deben estar en hexadecimal!!. osea, si tienes el 58 que en binario seria 0111010, para convertirlo a hexadecimal los agrupas de 4 en 4, de izq a der:  011 1010, entonces haces de cuenta que solo existen cuatro bits y sacas el valor como si fuera binario normal:  011 --> 3,  1010 --> 10. aqui entra un pequeño problema, por que los primeros 10 numeros (0 a 9), se toman como tal, pero al llegar a 10 se sustituyen por letras (A,B,C...) hasta llegar al numero 15, o lo que es lo mismo: F; por lo tanto queda el numero en hexadecimal:
> 
> 011 --> 3    1010 --> A
> 
> ...




Gracias entiendo la info, y lod e la conversion pero lo que no me ubico muy bien o si alguien podria ayudarme con esto de la EEPROM. Por que en lo del llenado de la tabla y los lugares me confundo en como hacerr el acomode.

Como dato trabajo con una AT28C256 para ponerle una tabla de valores de temperatura. Son 8bits y el rango de temperatura es de 0 a 100.

Por ejemplo si la salida en binario me da un
00000111 = 7
Y mi valor real sera ese numero decimal por 2.56 que seria:

Algo asi mi tabla
Valor Binario    |   Decimal    | Temperatura °C   |
   00000111    ||        7      ||        17.92 °C    ||
   00001011     |        11      |         28.16 °C    |
Para ir pasando todos los valores en la tabla...

Tengo el IC Prog...


----------



## jolem (Feb 21, 2013)

necesito programar una memoria AT28C64B 15pc pero el aparato que tengo no trae el archivo, ?existe alguna pagina web donde pueda bajar dicho archivo?


----------



## Meta (Feb 21, 2013)

jolem dijo:


> necesito programar una memoria AT28C64B 15pc pero el aparato que tengo no trae el archivo, ?existe alguna pagina web donde pueda bajar dicho archivo?



En principio no necesitas guardar archivos, puede llenarlo tu mismo con lo que necesites.


----------



## RPT21 (Sep 14, 2018)

Si me dice que la EEPROM 28C64B es de 8Kx8 bits pero tengo 13 bits de direccionamiento, entonces solo tengo 8000 direcciones o tengo las 8191?


----------



## Scooter (Sep 14, 2018)

2^13=8192 osea 8kB
1k = 1024 

La dirección 0 también se usa


----------



## ricbevi (Sep 14, 2018)

Hola...
Lo que te indicaron esta correcto y si quieres ante la duda y/o conversiones de formato usa la calculadora de Windows en formato programador.
Saludos.

Ric.


----------



## Xhen24 (Dic 5, 2018)

Bueno, pues tengo que hacer un archivo hex con el formato Intel Hex para programar una memoria EEPROM, pero, ¿cómo tengo que poner los datos? Es para implementar un circuito secuencial, y tengo mi tabla de verdad con las entradas y las salidas, y sus ecuaciones simplificadas. ¿De qué forma paso esto a hexadecimal para crear el archivo .hex?  Creo que solo me falta saber cómo pasar los bytes de datos, los que indican longitud, posición y tipo de campo ya sé más o menos hacerlo.

Y tras eso, ¿cómo sé en el chip (memoria EEPROM tipo SST39SF040 de SST) cuáles son las entradas y cuáles son las salidas?

No sé si se entiendo lo que quiero decir, si no preguntadme y a ver si puedo explicarlo mejor.


----------



## D@rkbytes (Dic 5, 2018)

1.- Leer la hoja de datos para comprender todo acerca del dispositivo.
2.- Conseguir el hardware y el software para programar ese tipo de memoria, existen varios.
3.- Editar con ese mismo software las locaciones con los bytes que requieras.
4.- Grabar la memoria.

Si desconoces lo más básico, ¿cómo piensas realizar lo demás?


----------



## TRILO-BYTE (Dic 6, 2018)

Bueno yo cuando grababa memorias Eeprom no usaba Intel hex por que debes hacer el checksum y la verdad no lo sé hacer y eso para cada registro.
La Wikipedia lo explica pero está un poco enredado.

Lo que hacía era grabar directo el binario.
Ejemplo: 
Digamos que bajamos de internet una ROM de Atari 2600 que cabe perfectamente en una Eeprom.
Así tal cual la metía al grabador sin modificar nada .

Ahora lo mismo con un BIOS o un juego de NES bueno el juego de NES lo había que partir una vez partido así tal cual el binario se envía al grabador.

Los archivos binarios se pueden convertir en formato Hex y Motorola S el más comun es el Intel hex 
Un programa que convierte en hex es uno llamado WinHex es muy bueno para convertir varios formatos y editar archivos


----------



## Scooter (Dic 6, 2018)

En 8052.com estaba muy claro el .hex
Ahora creo que se llama. 8052mcu.com

Yo hice un programa con un 8052 que se autoprogramaba recibiendo .hex por el Puerto serie


----------



## TRILO-BYTE (Dic 6, 2018)

Es que no es difícil grabar una memoria en realidad abres el binario y lees bytes a byte y lo vaz mandando por puerto serie hasta EOF


----------



## Scooter (Dic 6, 2018)

Si, pero el .hex aporta sumas de control y cosas para no perderse a mitad.
En mi caso es que no grababa la memoria interna entera, grababa solo ciertas partes mientras ejecutaba la aplicación en otras.
El .hex ocupa unas cinco veces mas pero lo considero mas fiable; al precio del almacenamiento de hoy en día no creo que eso importe.

He encontrado el enlace del tutorial:
[NEW!] Intel HEX File Format - 8052.com


----------

