# programar eeprom 28c64 manualmente



## LokoMX

buen dia, el titulo lo dice todo... me han pedido programar una memoria pero SIN programador, hacerlo manualmente, haciendo que? pues lo que sea... sé mas o menos la teoría... pero en practica no entiendo muy bien como hacerlo, el data no me ayuda de mucho ya que está en ingles y no soy muy bueno que digamos en esa área...

la utilizacion de un 555 en modo monostable, creo que es necesario para poder grabar... algunos push para intruduccion de datos... por lo que leí y entendí...

solo tengo una duda... para poder grabar los datos en la memoria... cuantos ms debe de durar el pulso del 555?

les agradecería un poco de su ayuda, gracias


----------



## DRTK

Hola, la mejor manera de hacerlo es con un micro, pero casualmente tambien me pidieron programar una 28C64 manualmente. Para empezar utilice 2 contadores binarios de 8 bits en cascada para las direcciones y los conecte para que se restablezcan cuando lleguen al conteo 8193. Tambien use cuatro 74LS47 para decodificar las salidas de los contadores, como el 74LS47 es un decodificador de binario a 7 segmentos puedo saber en que direccion me encuentro y no me pierdo. Use uno de los inversores de un 74LS14 como monoestable para CE. OE y WE los conecte a vcc y gnd respectivamente para escribir en la eeprom. Los datos los introduje con simples cables en el proto, pero conectaba cada uno de ellos a un buffer en cuya salida habia un resistor y un led, esto me daba mas seguridad de los datos que estaba introduciendo y posteriormente me permiten verificar el programa colocando OE a bajo, WE a alto, CE a bajo y aplicado pulsos a los contadores para que vayan recorriendo cada una de las direcciones hasta la 8192. Tambien use uno de los inversores del 74LS14 como monoestable para que los contadores pongan sus salidas a cero cada vez que se enciende el circuito. No creo que deba decirte lo fastidioso que es programar de esta manera ademas de la gran probabilidad de cometer errores.


----------



## claudia

Hola como estan esto estoy en las mismas de programar manualmente una 28c64 pero este he entendido todo solo que no entiendo la parte cuando ya tengo los datos que voy a grabar es decir una palabra de 8 bytes y ya tengo la direccion donde los quiero meter la pregunta es que debo hacer para meter los datos que artificio hago no se si es que requiere de un pulso o cambiar un estadoal otro en las terminales OE, WE o CE por favor ayudenme


----------



## LokoMX

claudia puedes hacerlo con un dip, para introducir los datos y para indicar la direccion de memoria, para grabar puedes hacer un 555 o con un push(no se si funcione)


----------



## claudia

gracias por la sugerencia, pero el cuento es que ya tengo los circuitos de direccionamiento y de datos ya eso esta listo, la cosa es donde le doy el pulso para grabar se que con un 555 pero aja ¿ que patilla de la eeprom le debo poner el pulso y que tiempo debe demorar el pulso ? esa es la inquietud nuevamente ayudenme por fi


----------



## DRTK

Para grabar en la mayoria de las memorias y en particular en la 28c64, deben colocar OE en alto (vcc), WE en bajo (gnd) y CE en alto, seguidamente coloquen la direccion en las patillas A0-A12 (para la 28c64) y el dato a guardar en las 8 patillas D0-D7, a continuacion apliquen un pulso en CE de manera que pase a cero  (este pulso generalmente puede ser tan largo como deseen, pero en cuanto a lo corto ya es otra historia). si quieren guardar otro dato repitan lo anterior pero cambiando la direccion para que el nuevo dato no se grabe sobre el que acabamos de guardar, y asi hasta que sus paciencias se lo permitan. Para leer los datos coloquen OE a bajo, WE a alto, apliquen la direccion en las patillas  A0-Ax y apliquen el pulso a CE el tiempo que necesiten para revisar los datos, a continuacion por las mismas patillas D0-D7 saldran los datos que guardamos en esa direccion. Pueden incluso dejar CE en bajo todo el tiempo y con contadores binarios van cambiando las direcciones de manera sucesiva. 

Nota: No dejen ninguna patilla de las direcciones sin conectar a vcc o a gnd, a parte que el chip puede calentarse mas de lo normal, puede ocasionar un error de lectura o escritura.


----------



## claudia

Esa era la respuesta que queria que me explicaran graciassssssssssssss    DRTK gracias por esa explicacion estare reportandome lo mas pronto para comentarles como me fue gracias nuevamente nos vemossssssssssssssss


----------



## claudia

hola bueno ya programe unas 11 direcciones desde la 00 hasta 0B y si me funciono yujuuuuuu ahora quiero hacer ya un circuito con un teclado hexadecimal y registros etc para que sea algo mas organizado gracias amigos por la ayuda ok


----------



## zgouki

Que tal gente, disculpen que reviva este post, pero necesitaria que publiquen el circuito que les funciono, asi tambien los voltajes necesarios para la grabación, si no es mucha molestia. Nose nada de Eeproms, pero me gustaría grabar una manualmente y luego leerla y pasar la información en un matriz de leds. Saludos


----------



## HUEVOCOP

algun diagrama basicoooo con el 2816


----------



## MrCarlos

Hola HUEVOCOP

Aquí Hay Uno Básico

saludos
a sus ordenes


----------



## DSP

jajaja, (disculep la risa) pero esto me hace recordar que alguna vez hize algo muy similar para ingresar un programa directamente en lenguaje maquina a un sistema minimo con z80 que armé, no tenia mucha erramienta (pc, grabador de moemorias, etc) y tenia una ansia de ver funcionando mi sistemita, que me puse a escribir en una libreta mi codigo ya en binario y luego ingresarlo con botoncitos, y pues lo unico que logre es hacer parpadear un led y luego ya me desesperé.

saludos!!


----------



## HUEVOCOP

gracias   por la informacion  lo armare espero y todo salga bien y no desespearme como el comañero 
saludos


----------



## henricastro

hola necesito programar una menoria eeprom para poder generar una onda seno y no se como programarla me podrian colaborar con esto gracias...


----------



## MrCarlos

Hola henricastro

Pero qué es lo que no sabes ?:

1) Programar la EEPROM con unos y ceros para que por medio de un circuito externo a ella poder generar una onda seno.
2) Programar la EEPROM para que genere una onda seno.

Para lo segundo creo que no se podría.
Para lo primero sería necesario conocer el circuito externo que manejaría la EEPROM para saber como y donde programarle unos y ceros ya que solo esto se les puede programar a las memorias EEPROM. 

saludos
a sus ordenes


----------



## pichironald

alguien no tiene un diagrama esq no me sale nada gracias


----------



## roman acolt

que tal , tengo una duda.. a los que ya lograron guardarle datos... que voltaje ocupan para los niveles altos??? yo estoy utilizando 5 v creen que tenga algo que ver eso??? por que la verdad no veo q se guarden los datos.. por su atencion gracias


----------



## Scooter

La 28c64 va a 5V no necesita pulsos de 12V ni semejantes como las eprom antiguas


----------



## baterod3

A ver si entendí el proceso de grabar y leer una memoria. Si no me equivoco hay un estado intermedio que no se lee ni se escribe cierto?.....lo que entendí fué ésto: OE, WE y CE, en ese orden

DESHABILITADA:  1    0    1
GRABAR:             1    0    0
LECTURA:            0   1     0

Es correcto?....gracias por responder

Ayuda con ese dato y luego les facilto un programador en visual basic...


----------



## jofrariga

DRTK dijo:


> Para grabar en la mayoria de las memorias y en particular en la 28c64, deben colocar OE en alto (vcc), WE en bajo (gnd) y CE en alto, seguidamente coloquen la direccion en las patillas A0-A12 (para la 28c64) y el dato a guardar en las 8 patillas D0-D7, a continuacion apliquen un pulso en CE de manera que pase a cero  (este pulso generalmente puede ser tan largo como deseen, pero en cuanto a lo corto ya es otra historia). si quieren guardar otro dato repitan lo anterior pero cambiando la direccion para que el nuevo dato no se grabe sobre el que acabamos de guardar, y asi hasta que sus paciencias se lo permitan. Para leer los datos coloquen OE a bajo, WE a alto, apliquen la direccion en las patillas  A0-Ax y apliquen el pulso a CE el tiempo que necesiten para revisar los datos, a continuacion por las mismas patillas D0-D7 saldran los datos que guardamos en esa direccion. Pueden incluso dejar CE en bajo todo el tiempo y con contadores binarios van cambiando las direcciones de manera sucesiva.
> 
> Nota: No dejen ninguna patilla de las direcciones sin conectar a vcc o a gnd, a parte que el chip puede calentarse mas de lo normal, puede ocasionar un error de lectura o escritura.


Tienes el esquema para guiarme... lo podrías publicar o enviármelo x mensaje?


----------



## MrCarlos

Hola jofrariga

Por acá estás haciendo la misma pregunta:
https://www.forosdeelectronica.com/f25/grabador-memoria-hexadecimal-70947/#post622469
Ya respondiste a la pregunta allá ??

La última intervención de DRTK fue el 28/Feb/2009 probablemente no te responda.

Te adjunto un circuito en el cual te puedes basar para continuar con tu proyecto.
Si quieres grabar número es binario con formato HEXagecimal puedes cambiar los contadores U10, U12, U13, U14 por 4 74LS193.

Por medio de los conmutadores e interruptores puedes programar la memoria que en el caso del circuito te adjunto sería la 6116.

saludos
a sus ordenes


----------



## jofrariga

MrCarlos dijo:


> Hola jofrariga
> 
> Por acá estás haciendo la misma pregunta:
> https://www.forosdeelectronica.com/f25/grabador-memoria-hexadecimal-70947/#post622469
> Ya respondiste a la pregunta allá ??
> 
> La última intervención de DRTK fue el 28/Feb/2009 probablemente no te responda.
> 
> Te adjunto un circuito en el cual te puedes basar para continuar con tu proyecto.
> Si quieres grabar número es binario con formato HEXagecimal puedes cambiar los contadores U10, U12, U13, U14 por 4 74LS193.
> 
> Por medio de los conmutadores e interruptores puedes programar la memoria que en el caso del circuito te adjunto sería la 6116.
> 
> saludos
> a sus ordenes


Gracias MrCarlos!  me será de gran ayuda... haré lo k m dices, cambiaré los integrados x 74193
se te agradece!!!


----------



## jofrariga

Mr Carlos quería hacerle una pregunta... en el circuito aparecen 4 thumb switch hexadecimal... esos componentes donde los consigo. Es que estado preguntando pero no los venden :/ se pueden reemplazar con algo... También estaba viendo, y me dicen que lo que tengo que hacer es un grabador de memoria manual... me daban entre las opciones eeprom 2864, 6116, 6264. La primera es una eeprom, las 2 sgtes son memorias ram estáticas... quisiera saber si tiene algun circuito que me pueda ayudar a grabar estas memorias manualmente... es Urgente... Espero su respuesta! de antemano muchas gracias...


----------



## MrCarlos

Hola jofrariga

Los thumb por los que preguntas en tu mensaje son llamados DigiSwitch. Los hay decimales, del 0 a 9, Hexagecimales Del 0 a F. Son difíciles de conseguir pero si se consiguen comercialmente.

Lo que siempre se ha dicho es que se tiene que programar una dirección en el BUS de Direcciones y programar unos Datos en el BUS de Datos, luego poner las condiciones para grabar y continuar con la siguiente dirección y datos.

Del circuito que te adjunte, quita todos los contadores y en su lugar conecta conmutadores, o thumb Switch’s, que puedan cambiar el estado del BUS de direcciones y del BUS de datos. Más o menos como aparece en el archivo adjunto.


saludos
a sus ordenes


----------



## jofrariga

Mr Carlos estuve preguntando al profesor del area x el esquema que me facilitó... y me dijo que si podía escribir y despues leer los datos que he grabado en la memoria está genial... También me dijo que si podía k hiciera uno mas facil, he decidido hacer el que me adjunto en el archivo de la respuesta anterior... y ver si funciona! eso espero porque es mi proyecto final  Estuve preguntando x los digi switch, y encontré estos, quisier saber si estos son los componentes que me menciona...  tambien me dijo que buscara un grabador para memorias serie 28 porque solo usaría una y disminuiria el gasto... 








Mr Carlos tenía una duda en el archivo adjunto hay un pin en el primer Digi switch que dice *A2048* he buscado por todo el circuito pero no encuentro donde va conectado... :S


----------



## MrCarlos

Hola jofrariga

Efectivamente esos Dip Switch te sirven en lugar de los DigiSwitch del esquema.
La ventaja de los DigiSwitch es que tienen una ventanita donde se ve el número que se está programando, no así en los Dip Switch que tienes que saber el valor de cada interruptorcito y sumarlos.

Ese conector que se llama A2048 es la dirección más alta de ese DigiSwitch. No va conectado a nada pues la memoria que se utiliza en el esquema solo llega a la dirección A1024.

saludos
a sus ordenes


----------



## jofrariga

una pregunta! como puedo hacer para hacer el grabador de 6116 con solo una ram... se puede? esta bn que aparezcan asi en 4 displays xq eso me piden...  Tambien quisiera saber el proceso de grabacion de esta ram 6116, algo escuche de un CS peo no lo encuentro en el simbolo del proteus :S

tengo que tener todo bien claro porque lo tengo que hacer en PCB creo q usaré fibra de vidrio...


----------



## MrCarlos

Hola jofrariga

Si se puede grabar una sola RAM 6116. Te puedes basar en el circuito que te adjunto.
Solo tienes que retirar del circuito una de ellas y todo lo relacionado con la RAM 6116 que hayas quitado. Sin afectar a la RAM que quedó en el circuito.

Para saber el proceso de grabación de esa RAM puedes estudiar las hojas de datos de ella.
Lo que escuchaste de CS quiere decir *C*hip *S*elect lo cual quiere decir: RAM Seleccionada. En el caso de ISIS de Proteus lo llaman CE que en este caso quiere decir: *C*hip *E*nable lo cual quiere decir RAM Habilitada.
La Palabra Chip más bien está orientada a eso: Chip, Pastilla, Paquete, Circuito Integrado.

El proceso de grabación Sería +/- Así, a menos que las hojas de datos digan alguna otra cosa:
A- Se asigna una dirección en el BUS de direcciones.
B- Se asignan unos datos en el BUS de datos.
C- Se hace cierta la entrada CE. Y así la dejamos durante todo el proceso.
D- Se hace falsa la entrada OE. Y así la dejamos durante todo el proceso.
E- Se manda un pulso de transición negativa a la entrada WE. El ancho del pulso debe ser como lo describen sus hojas de datos.
Regresamos a A- con otra dirección y otros datos. Así hasta la dirección que queremos grabar.

saludos
a sus ordenes


----------



## jofrariga

Estimado Mr Carlos estuve buscando por todos lados la memoria ram 6116 peo no la pude encontrar... el profesor del curso me ha dicho que realice un grabador manual de memorias eeprom... Ud me facilito uno de la eeprom 28c64 pero no lo entiendo muy bien... quisiera saber si me lo puede alcanzar un poco mejor esquematizado... De antemano gracias por toda su ayuda!!!


----------



## MrCarlos

Hola jofrariga

El programar la 28C64 digamos que es igual que programar la 6116.
La 28C64 trae 2 BIT’s más en el BUS de direcciones que la 6116. solo hay que aumentar esos BIT’s.
6116: A0 – A10.
28C64: A0 – A12.

Nota que se agrega otro Display de 7 segmentos y otro Dip Switch para el BUS de direcciones.

Mi ISIS de Proteus No Puede Simular La EEROM 28C64 pues no trae las librerías adecuadas para hacerlo. Se puede incluir en los diseños pero no simular.
Por eso aparece desconectada y en sus propiedades se le asigna que la excluya de la simulación. De este modo se puede simular lo demás.

saludos
a sus ordenes


----------



## jofrariga

Mr Carlos estaba viendo el diseño... El pin W/RE donde lo conecto? iría en el RDY/B del 28c64...? :O


----------



## MrCarlos

Hola jofrariga

W/R E solo se conecta entre 2 puntos.

saludos
a sus ordenes


----------



## jofrariga

y el RDY/B a dnd va conectado? para q sirve? se keda desconectado?



MrCarlos El conector RDY/B de la memoria a dnd va conectado? el esquema que usted me facilita ya esta directo para realizar o tengo que hacerle algunas modificaciones? como es el proceso de grabado?


----------



## MrCarlos

Hola jofrariga

Ese PIN (RDY/B) con ese nombre no se utiliza en tu caso.
Supongo que ya sabes para qué es. se llama: *R*ea*dy*(Listo), *B*usy(Ocupado).
Lo puedes dejar desconectado.

el esquema está listo... Pero tienes que agregar un Socket(Base) para el 28C64 y en ese Socket conectar la EEPROM.

saludos
a sus ordenes


----------



## jofrariga

Gracias Mr Carlos! muy agradecido! ya estoy implementando todo...!


----------



## jofrariga

Mr Carlos quería hacerle una pregunta! en el diseño se usan resistencias de 10 KOhm para los dip switch's... Tienen q ser necesariamente de ese valor? Si las reemplazo habrá algun cambio...? por ejemplo usando de 220 Ohm..? Ya encontré todos los materiales, menos las resistencias, me dijeron que material le llega hasta el sábado, y tengo que presentar el trabajo el viernes... Solo tenían de 220 Ohm, quería saber si puedo cambiar a ese valor o necesariamente tiene que ser de 10 KOhm? Gracias de antemano por su respuesta... Salu2!


----------



## MrCarlos

Hola jofrariga

Las resistencias de 220 Ohms son demasiado pequeñas, pasarían por ellas aprox. 28 mAmp. 
Mejor ve si hay más grandes, por ejemplo de 15K o 20K.

saludos
a sus ordenes


----------



## jofrariga

Gracias MrCarlos... conseguí todo! ahora si a terminar de montar todo!!!


----------



## jofrariga

MrCarlos ya tengo todo listo pero no puedo cambiar los datos.. He instalado todo segun la simulacion pero no cambia... que puedo hacer? como hago para cambiarlo...



en una hora presento mi trabajo y no puedo cambiar el bus de datos... se mantiene en 00 o en FF... como puedo hacer? tengo k hacer algun arreglo o algo???


----------



## MrCarlos

Hola jofrariga

Por lo que dices en tu mensaje anterior llegué demasiado tarde.

En el diagrama que está en mi mensaje #32 notarás que las señales tanto del BUS de direcciones como el BUS de datos y las señales de control están desconectadas. Si así las dejaste no funcionará.
Otra cosa, el 28C64 que aparece en el diagrama no se puede programar en ISIS de Proteus pues ese circuito no tiene su correspondiente archivo .DLL para lograrlo. Sin embargo en la realidad, cuando armas ese circuito con su Socket si funciona.

saludos
a sus ordenes


----------



## jofrariga

Gracias x su respuesta MrCarlos! El trabajo lo han postergado para mañana, asi k toavia tengo tiempo para hacer la corrección... espero que funcione! 



Estaba revisando y he conectado todo lo que usted me indica... El problema es en el bus de datos, cuando quiero enviar los datos siempre muestra FF, no puedo cambiarlos en la simulacion ni en el circuito que armado... =S


En esta parte del circuito es mi duda... No se como va la conexión realmente... Espero pueda ayudarme MrCarlos... Salu2!


----------



## MrCarlos

Hola jofrariga

Ahora te envío un circuito con anotaciones. Espero ser claro en ellas.

Quiero hacerte notar que el 2864 no se puede programar en la simulación pues al sistema ISIS de Proteus le falta en archivo de tipo .DLL para hacerlo.
Sin embargo al armarlo en físico si funcionará.
Esta es la razón de que te muestre puras FF al simularlo.

saludos
a sus ordenes


----------



## tec17elec

que pena reabrir esto, pero he ehcho de mil maneras que se me graba algun byte en la memoria pero nada, no graba


----------



## degopolis

Buenas noches
soy nuevo en esto y quisiera saber como probar di una memoria eeprom esta buena o defectuosa, porque he intentado grabar una manualmente pero a sido complicado y no se si ya la dañe

agradezco su atencion


----------



## MrCarlos

Hola degopolis

Imagínate: hay cientos tal ves de miles de tipos de memorias EEPROM entre fabricantes, tipos, tecnologías, número de identificación, Etc. Cuál será la que Tú utilizas ??

Intentaste grabarla manualmente, dices, pero cómo lo hiciste ? describe el cómo lo intentaste hacer.
Tienes algún simulador de circuitos electrónicos donde puedas experimentar la grabación de tu EEPROM ?

Da más información para el que responda, con la intención de ayudarte, pueda ser efectivo en su ayuda.

saludos
a sus ordenes


----------



## degopolis

ufff jejeje que verguenza, como he dicho soy novato =P
vale lo primero, tengo una memoria eeprom AT28C64B. para programarla utilice una protoboard estandar, dos dip-switch  de 4 posiciones para la direccion de memoria e ingresar el dato a grabar (solo necesito 16 direcciones de memoria), un 74-244 (3-state) para controlar el flujo de datos, cuarto leds para visualizar la informacion y un 74-04 para hacer el intercambio ente OE y WE. cuando lo coloco en modo de lectura (WE alto, OE bajo, CE bajo) se encienden todos los leds en cualquier direccion de memoria (creo que hasta aqui todo normal), para grabar lo pongo en modo de lectura (WE bajo, OE alto, CE alto) ingreso el dato en el dip-switch y aplico un pulso en CE (lo pongo en bajo y luego en alto) pero cuando intento leer los datos me aparece todos los leds encendidos y la verdad no tengo ni idea porque.

Sobre los simuladores pues no he usado nunca uno (dije que era novato??? =P ) solo llevo estudiando electronica basica un semestre asi que...

bueno yo diria que es informacion suficiente ¿no? y de antemano muchisimas gracias por la ayuda =D


----------



## MrCarlos

Hola degopolis

Realmente no sé como tienes conectados todos los componentes que mencionas. Inclusive no mencionas ninguna resistencia.
Arma en tu ProtoBoard el circuito que te estoy adjuntando y has pruebas para ver si graba tu EEPROM.
Las secuencias son:

A- Lectura: WE Alto, OE Bajo, CE alto.
B- Programa una dirección.
C- CE bajo, se deben ver en los LED´s los datos que se grabaron como 1’s.
D- regresa a A-.

1- Escritura: WE bajo, OE Alto, CE alto.
2- Programa una dirección.
3- Programa Unos Datos.
4- CE bajo, se deben ver en los LED´s los datos que se están grabando como 1’s.
5- Regresa a 1-.

Nota que los LED’s no están conectados directamente al BUS de Datos. Ese arreglo es con el fin de no demandar corriente de las salidas de la EEPROM. 
Si utilizas todo el BUS de Datos(8 BIT’S), agrega otros 74LS244, otros LED’s, otro juego de DIP-Switch, Otras Resistencias y sigue la misma técnica para conectar todo ello.

Espero esto ayude a continuar con tu proyecto.

saludos
a sus ordenes


----------



## degopolis

Hola
Muchas gracias MrCarlos por tu pronta respuesta, estuve mirando el circuito adjunto y al compararlo con el mio es muy parecido al mio solo que yo tengo todas las resistencias de 1k y que conecto los leds directo con las I/O de la memoria. 
Otra cosa que queria comentar es que mi profesor me presto un circuito impreso en el que podia programar estas memorias y me di cuenta que estaba dañada mi memoria (me aparecia exactamente el mismo resultado que en mi circuito) y compre otra y daba la casualidad que tambien estaba dañanda, quisiera saber si me pudiera recomendar algun fabricante confiable para comprar otra (la que use fue un Atmet) porque el profesor probo otras memorias en clase y las grabo sin problemas.

De nuevo muchas gracias por la ayuda, es realmente util =)


----------



## MrCarlos

Hola degopolis

Normalmente los circuitos integrados de tecnología MOS se dañan por un mal manejo de ellos.
Hay que evitar el tocar las terminales de ellos.
Para el acarreo de un lugar a otro e utiliza un hule espuma conductor sobre el cual se coloca el IC.
O bien, con un alambre delgado poner en corto circuito todas las terminales de este.

Así que no debes escatimar cuidados al manejar tu EEPROM.
Manéjala preferentemente del plástico o cerámica que forma el encapsulado no toques sus terminales.

Recomendarte alguna EEPROM de un fabricante confiable podría ser. Pero y si no la consigues en tu localidad ?
Mejor indaga cuales se consiguen allá he indaga sus características en el siguiente enlace buscando por número de parte:
http://www.alldatasheet.com/

Suerte.

saludos
a sus ordenes


----------



## degopolis

Hola
Que pena responder hasta tan tarde. quiero agradecerte McCarlos por toda tu ayuda ya me fue muy bien en el proyecto =D pero queria comentar que aun asi no pude hacer funcionar la memoria, la razon segun me dijo un compañero es que las memorias con referencia AT28C64B 15PU 0832 estan saliendo defectuosas, sucede que a el tampoco le funcionaba la memoria y tenia bien el circuito, solo se dio cuenta cuando un amigo le presto su memoria y si le funciono, luego fueron a la tienda y probaron todas las memorias de esa tienda y ninguna les funciono (increible pero cierto), las 4 que yo probe tampoco funcionaron (que mala suerte) segun pude comprobar las que tienen referencia AT28C64B 15PC si funcionan a la perfeccion 

pues nada, solo queria compartir mi experiencia y gracias por estar siempre en apoyo de los indefensos =D


----------



## unzero

Buenas, a todos que pena por revivir el post!. Pero estuve leyendolo todo, tambien tengo que programar una memoria 28c64, pero entonces me encontre con esta respuesta.

"Para grabar en la mayoria de las memorias y en particular en la 28c64, deben colocar OE en alto (vcc), WE en bajo (gnd) y CE en alto, seguidamente coloquen la direccion en las patillas A0-A12 (para la 28c64) y el dato a guardar en las 8 patillas D0-D7, a continuacion apliquen un pulso en CE de manera que pase a cero (este pulso generalmente puede ser tan largo como deseen, pero en cuanto a lo corto ya es otra historia). si quieren guardar otro dato repitan lo anterior pero cambiando la direccion para que el nuevo dato no se grabe sobre el que acabamos de guardar, y asi hasta que sus paciencias se lo permitan. Para leer los datos coloquen OE a bajo, WE a alto, apliquen la direccion en las patillas A0-Ax y apliquen el pulso a CE el tiempo que necesiten para revisar los datos, a continuacion por las mismas patillas D0-D7 saldran los datos que guardamos en esa direccion. Pueden incluso dejar CE en bajo todo el tiempo y con contadores binarios van cambiando las direcciones de manera sucesiva.

Nota: No dejen ninguna patilla de las direcciones sin conectar a vcc o a gnd, a parte que el chip puede calentarse mas de lo normal, puede ocasionar un error de lectura o escritura. "

yo estoy grabando los datos con dipswitch, pero entonces cuando escribo, todo parece normal, pero cuando intento leer, se ponen en 1 todas las salidas, ¿será que la memoria se daño?, me podrian colaborar por favor, gracias. 

solo tengo que usar direcciones de la 0 a la 7 y 3 bits de I/O


----------



## Gudino Roberto duberlin

Hola Amigo, bueno sube un esquema para opinar. Puede que en modo lectura, por ejem. podrias estar cortocircuitando una salida que corresponde a 1 logico y en la misma le ingresas un 0 logico.


----------



## miguelus

Buenos días unzero

Nunca he utilizado este tipo de Memoria pero viendo en el Data Sheet el proceso de escritura, creo que estás cometiendo un error. El Proceso sería...

OE = "1"
CE = "0"

:Inicio
WE = "1"
Ponemos Dirección
Ponemos Dato
WE = "0" ' Se graba el Dato.
Esperamos tWP.
Regresamos a Inicio.

Repito, nunca he empleado esta Memoria pero creo que esta es la secuencia correcta.

Sal U2


Aunque en el Post #6 DRTK da una solución que es distinta, miraló pruébalo.


----------



## unzero

Estuve revisando de nuevo el post, revise todos los diagramas y el #47 funciona perfectamente, y habia quemado mi circuito por eso no me funcionaba bien, pero ya estan resultas las dudas, gracias a MrCarlos, ya que él dio la respuesta #47. e igual gracias a los que me respondieron.


----------



## sergiochiroque

Mr carlos soy alumno de electrónica y estoy haciendo un contador de 4 bits con el 6116. lo cual estoy que lo simulo en el proteus y no funciona, le adjunto el circuito para que me ayude a corregir el error y me explique el mismo.
saludos sergiochiroque


----------



## MrCarlos

Hola sergiochiroque

Dices:
haciendo un contador de 4 bits con el 6116. lo cual estoy que lo simulo en el proteus y no funciona,

Vi tu esquema, pero no entiendo qué quieres hacer con la RAM 6116.
El 74LS193 lo tienes contando descendentemente, Sus salidas están direccionando la RAM de 11 al 0 Cíclicamente.
Hay un botón para reiniciar al 74LS193 a 11 y otro botón hace nivel bajo la entrada WE supongo que en ese instante pretendes grabar algo en la RAM pero no hay nada que grabar en el BUS de datos.
Pero par grabar hay que hacer alta la entrada OE.

Así qué que es lo que pretendes hacer con ese circuito ??

saludos
a sus ordenes


----------



## oztacen

sergiochiroque dijo:


> Mr carlos soy alumno de electrónica y estoy haciendo un contador de 4 bits con el 6116. lo cual estoy que lo simulo en el proteus y no funciona, le adjunto el circuito para que me ayude a corregir el error y me explique el mismo.
> saludos sergiochiroque



tambien estudio Electronica En la UNAC y ps viendo tu diagrama hay varias cosas que has hecho mal y ps ...ahi te mando el circuito corregido...es facil de entender...el 74244(es un buffer es por seguridad, cuando envies datos y el la memoria este en estado "leer" no pasen los datos. alta impedancia.(significa como si fuera circuito abierto))

http://3.bp.blogspot.com/-8ml2uIanJPk/ULEqzLohWnI/AAAAAAAAAGQ/f7M8JkEKhFQ/s1600/lab+6116+con+244.jpg

cualquier duda ...consulta...y lo mas pronto posible te respondere


----------



## MrCarlos

Hola sergiochiroque

Que ha pasado con tu proyecto ??
Se vería inconcluso este tema sin tu participación.
En broma: o no te han dejado ir al Cyber a contestar ? ?
No te ha servido lo mencionado aquí o en los demás temas de este Foro ??

Tratando de ayudar hice algunas modificaciones al circuito que aparece en el enlace que adjuntó oztacen
Puedes experimentar con el que adjunto.
Ten en cuenta que para grabar datos el la RAM 6116 hay que seguir cierta secuencia con sus entradas de control.

Puedes posicionar el conmutador llamado: Manual Up Auto Down en la posición Manual Up.
Luego presionar el botón llamado Address Reset.
Con eso estarás apuntando hacia la dirección 0 de la RAM.
Luego hacer la siguiente secuencia de acciones:
Cerrar el interruptor llamado: Closed CE True. Con ello habilitas la RAM.
Si quieres leer lo que contiene en la dirección 0, porque en esa estamos ahora:
Cierra el interruptor llamado: Closed = OE. Con ello se habilita las salidas de datos de la RAM.
En los Display’s verás el contenido de esa dirección 0.
Si presionas el botón llamado: ADVANCE, los contadores avanzarán a Tn + 1 lo cual nos dará la siguiente dirección.
En los Display’s se verá qué contiene esa dirección que en este caso es la 1.

Para grabar datos en la RAM hay que seguir cierta secuencia.
El conmutador llamado: Manual Up Auto Down en la posición manual.
Presionar el botón llamado: Address Reset. Nota que éste botón como el llamado AVANCE deben ser normalmente cerrados.
Si quieres grabar datos en la dirección actual la cual es 0.
Ajusta los datos en los conmutadores que se titulan: datos a programar. A lo que quieras programar.
Cierra el interruptor llamado: Open Read Closed Write, espera unos segundos y abrelo.
Nota que el conmutador llamado: Closed = OE debe estar abierto.

Puedes avanzar hasta la dirección, la cual aparece en los Display’s correspondientes, que quieras y ahí grabar los datos que desees.
O grabar la RAM en direcciones consecutivas.

Espero esto te sirva para continuar con tu proyecto.

saludos
a sus ordenes


----------

