You are on page 1of 42

Memoria EPROM

Este artículo o sección necesita referencias que aparezcan en una publicación acreditada, como revistas especializadas, monografías, prensa diaria o páginas de Internet fidedignas.
Puedes añadirlas así o avisar al autor principal del artículo en su página de discusión pegando: {{subst:Aviso referencias|Memoria EPROM}}

~~~~

EPROM. La pequeña ventana de cuarzo recibe luz UV durante el borrado.

Ventana de EPROM.

Una EPROM de 32KB (256Kbit).

Este microcontrolador 8749 almacena su programa en una EPROM interna.

Una EPROM de 4KB (32Kbit) 1984.

Vista detallada del interior de una memoria.

EPROM son las siglas de Erasable Programmable Read-Only Memory (ROM programable borrable). Es un tipo de chip de memoria ROM no volátil inventado por el ingeniero Dov Frohman. Está formada por

celdas de FAMOS (Floating Gate Avalanche-Injection Metal-Oxide Semiconductor) o "transistores de puerta flotante", cada uno de los cuales viene de fábrica sin carga, por lo que son leídos como 1 (por eso, una EPROM sin grabar se lee como FF en todas sus celdas).
Índice
[ocultar]

      

1 Características 2 Borrado de un EPROM 3 Borrador de EPROM 4 Diferencia entre Eprom C y No-C 5 Decodificando los Números de los EPROM 6 Cross list 7 Véase también

[editar]Características
Las memorias EPROM se programan mediante un dispositivo electrónico que proporciona voltajes superiores a los normalmente utilizados en los circuitos electrónicos. Las celdas que reciben carga se leen entonces como un 0. Una vez programada, una EPROM se puede borrar solamente mediante exposición a una fuerte luz ultravioleta. Esto es debido a que los fotones de la luz excitan a los electrones de las celdas provocando que se descarguen. Las EPROM se reconocen fácilmente por una ventana transparente en la parte alta del encapsulado, a través de la cual se puede ver el chip de silicio y que admite la luz ultravioleta durante el borrado. Como el cuarzo de la ventana es caro de fabricar, se introdujeron los chips OTP (One-Time Programmable, programables una sola vez). La única diferencia con la EPROM es la ausencia de la ventana de cuarzo, por lo que no puede ser borrada. Las versiones OTP se fabrican para sustituir tanto a las EPROM normales como a las EPROM incluidas en algunos microcontroladores. Estas últimas fueron siendo sustituidas progresivamente por EEPROMs (para fabricación de pequeñas cantidades donde el coste no es lo importante) y por memoria flash (en las de mayor utilización). Una EPROM programada retiene sus datos durante diez o veinte años, y se puede leer un número ilimitado de veces. Para evitar el borrado accidental por la luz del sol, la ventana de borrado debe permanecer cubierta. Las antiguas BIOS de los ordenadores personales eran frecuentemente EPROM y la ventana de borrado estaba habitualmente cubierta por una etiqueta que contenía el nombre del productor de la BIOS, su revisión y una advertencia de copyright.

Las EPROM pueden venir en diferentes tamaños y capacidades. Así, para la familia 2700 se pueden encontrar:

Tipo de EPROM Tamaño — bits Tamaño — Bytes Longitud (hex) Última dirección (hex)

1702, 1702A

2 Kbits

256

100

000FF

2704

4 Kbits

512

200

001FF

2708

8 Kbits

1 KBytes

400

003FF

2716, 27C16

16 Kbits

2 KBytes

800

007FF

2732, 27C32

32 Kbits

4 KBytes

1000

00FFF

2764, 27C64

64 Kbits

8 KBytes

2000

01FFF

27128, 27C128

128 Kbits

16 KBytes

4000

03FFF

27256, 27C256

256 Kbits

32 KBytes

8000

07FFF

27512, 27C512

512 Kbits

64 KBytes

10000

0FFFF

27C010, 27C100

1 Mbits

128 KBytes

20000

1FFFF

27C020

2 Mbits

256 KBytes

40000

3FFFF

27C040

4 Mbits

512 KBytes

80000

7FFFF

27C080

8 Mbits

1 MBytes

100000

FFFFF

que emita radiación en torno a los 2537 Å (Angstrom) o 254nm. la potencia luminosa suministrada a la memoria. a una distancia de unos 2. es decir. Este tiempo también depende del fabricante de la memoria que se desee borrar. del tipo UV-C. Para borrar una EPROM se necesita que la cantidad de radiación recibida por la misma se encuentre en torno a los 15 W/cm^2 durante un segundo. el resto son NMOS Pines de la EPROM 2764 +--------------+ VPP |1 A12 |2 A7 |3 A6 |4 A5 |5 A4 |6 A3 |7 A2 |8 A1 |9 A0 |10 D0 |11 D1 |12 D2 |13 GND |14 2764 +--+ 28| VCC 27| /PGM 26| NC 25| A8 24| A9 23| A11 22| /OE 21| A10 20| /CE 19| D7 18| D6 17| D5 16| D4 15| D3 +--------------+ [editar]Borrado de un EPROM Una memoria EPROM puede ser borrada con una lámpara de luz UV.4 W de potencia suministrada). es necesario tapar dicha ventanilla con una etiqueta opaca que lo evite. .5 cm de la memoria. las EPROM de las serie 27x que contienen una C en el nombre están basadas en CMOS. La radiación alcanza las células de la memoria a través de una ventanilla de cuarzo transparente situada en la parte superior de la misma.NOTA: 1702 EPROM son PMOS. El tiempo de borrado real suele ser de unos 20 minutos debido a que las lámparas utilizadas suelen tener potencias en torno a los 12 mW/cm² (12 mW x 20 x 60 s = 14. Es importante evitar la sobreexposición del tiempo de radiación a las EPROM. una vez que son grabadas. Debido a que la radiación solar e incluso la luz artificial proveniente de tubos fluorescentes borra la memoria lentamente (de una semana a varios meses). En este tiempo todos sus bits se ponen a 1. pues se produce un envejecimiento prematuro de las mismas.

tickets. (365 nm). La "G" es para germicidas. (que es comúnmente utilizada para verificar billetes. (254 nm).Se debe aclarar que una EPROM no puede ser borrada parcial o selectivamente. Para borrar las EPROM no se puede utilizar las luz "UV Negra". sin embargo una exposición breve. la cual también es utilizada para esterilizar instrumentos quirúrgicos y/o como germicida. para borrar las EPROM. con una fuente de luz UV del tipo C. inevitablemente se deberá borrar y reprogramar en su totalidad. . de ahí que por muy pequeña que fuese la eventual modificación a realizar en su contenido. no debería de causar más que una leve resequedad. lo mismo que la "F" es para fosforescentes (aunque no tengan fósforo). si se deja una EPROM directamente bajo ésta. por lo que es necesario tomar todas las precauciones para evitar estos problemas. La única luz que funciona es la UV-C. etc. que tiene el vidrio claro. [editar]Borrador de EPROM Un borrador de EPROM es un caja opaca ópticamente.). Es "luz peligrosa" por que la exposición prolongada puede causar cataratas a largo plazo y daño en la piel. unos 5 segundos continuos en la piel. (mata gérmenes). en algunas días o semanas se borraran. Dado que este tipo de luz UV-C se encuentra en la luz solar. Otro tipo de lámpara comúnmente utilizada es la PHILIPS TUV 4W-G4T5-240805D-4WTUV. Lámpara borradora de EPROM. que emiten en la región UV-A. También un tubo de luz G4T5 "Germicidal UVC". 5 pulgadas) que da luz blanca (ver foto). por lo que se requiere proteger las EPROM una vez se hayan programado. la cual emite "luz peligrosa" o "germicida". Se puede utilizar una lámpara de tubo normal de 4 W del tipo F4T5 (4 watt.

5 Vpp). en lugar de vidrio ordinario. (CMOS tiene 12. el cual re-radia la energía en el rango visible. CMOS sólo consume potencia apreciable cuando una señal está cambiando. Se presentan algunos problemas en las EPROM CMOS usando programadores viejos. normalmente están marcadas como U4T5 o similar y no funcionan para borrar las EPROM. el tiempo de borrado dependerá de la calibración/emisión del equipo de rayos X utilizado. Las lámparas UV para borradores de EPROM o germicidas usan directamente la luz del vapor de mercurio. Un tubo de luz fluorescente de luz blanca. Además CMOS brilla cuando hay una cantidad limitada de energía como cuando se utiliza un sistema alimentado por baterías. Además los CMOS evitan la producción de calor. El cuarzo es más transparente en las longitudes UV del mercurio. La alta densidad de elementos de los CMOS reduce las distancias de interconexión lo cual incrementa la velocidad. "tomando radiografías del EPROM". para evitar que el vidrio absorba la mayor parte de los rayos UV. En teoría también se pueden borrar con rayos X. (se le puede agregar temporizador). permitiendo arreglos más compactos de transistores de los que los NMOS son capaces. tiene una cubierta de fósforo en el interior del vidrio. debido a que se debe de acercar la EPROM como a unos 10 o 15 cm para que reciban la suficiente radiación para borrarlos. [editar]Diferencia entre Eprom C y No-C La única diferencia entre los 27256 y los 27C256 es que los 27256 usan NMOS mientras los 27C usan tecnología CMOS. con el riesgo que una chispa queme el chip. debido a a las diferencias en los voltajes de programación. NMOS usa canal N FET's con elementos resistores. También podrían ser borrados si son expuestos a la luz de la soldadura eléctrica (de electrodo).Circuito simple para borrador de EPROM. La Luz UV del mercurio excita el fósforo. EPROM CMOS también requieren . mientras CMOS evita las resistencias que desperdician energía por utilizar ambos canales N y P FET. El vidrio se debe de hacer de cuarzo. Las lámparas UV que tienen el vidrio morado o lila son para el espectro UV-Visible o "UV Negra".

57(C)XXX son EPROM o OTPROMS que permiten 8 líneas de dirección bajas a ser multiplezadas con la línea de datos (Algunos MCU's multiplexan juntas la direcciones bajas y la línea de datos). porque el algoritmo del software lo tiene en cuenta. No confundir con EPROM. [editar]Decodificando   los Números de los EPROM 27(C)XXX son EPROM o OTPROMS. [editar]Cross list Las siguientes partes pueden ser la misma . Estos todavía se programan como los EPROM 27(C) XXX en los programadores de bolsillos. 28FXXX son Flash EEPROM con la F señalando para Flash. Manufactu rer AMD AMI C Atmel Fujits u Hitac hi Hyni x INTE L Mitsu bishi M5M 27C3 2 27C6 4 27C1 28 27C2 56 NEC NSC SGS SST ST micro TI Toshi ba Winbon d PIN s prefix AM AE ASD AT MBM HN HY D UPD NM 27C32 Q 27C64 Q 27C128 Q 27C256 Q M SST M TMS TC W 32K 2732 2732 2732 2732 D2732 2732 2732 N/A 64K 27C6 4 27C1 28 27C2 56 27C64 27C6 4 27C1 28 27C2 56 27C6 4 27C1 28 27C2 56 27C64 27C64 27C6 4 27C1 28 27SF2 56 27C2 56 N/A 128K 27C12 8 27C25 6 27C12 8 27C25 6 27C12 8 27C25 6 N/A 256K 27C256 27256 57256 28HC2 56 27C5 12 28F51 2 27C51 2 27C5 12 27C5 12 27C5 12 27C51 2 27C512 Q 27C51 2 27SF5 12 29EE5 12 39SF5 12 27C10 01 27C0 10 27C0 10 27C1 01 27C10 01 27C010 Q 27C10 01 27SF0 10 29F51 2 27C10 01 27C0 10 57100 0 27C51 2 27C5 12 512K 27C512 57512 27E512 29C512 49C512 29EE512 1MEG 27C0 10 29F10 08 27C010 27E010 29C010 28F00 1 28F01 0 29EE0 10 27C20 01 27C0 20 27C0 20 27C2 01 27C20 01 27C020 Q 27C20 01 27SF0 20 29EE0 20 39SF0 20 27C4 27C40 27C040 27C40 27C20 01 27C0 20 39SF0 10 29F01 0 49F001 28F01 0 29EE011 49F010 29C010 2MEG 27C0 20 29F20 08 27C020 N/A 27E020 29F00 2 29C020 49F020 49F002 29F0 02 28F00 2 29F00 2 29C020 4MEG 27C0 27C40 27C0 27C0 27C0 57400 .   28(C)XXX son EEPROM con la C indicando para CMOS. de exactamente 6 Voltios.(de acuerdo a las guías de referencia de los fabricantes). CMOS son fáciles de borrar pero tienden a morir si son sobre expuestos a la luz UV.una fuente de voltaje. (Vcc). allí pueden haber algunas diferencias incluyendo el algoritmo usado para programarlos.

es una característica importante de los equipos que les permite la desconexión prolongada de cualquier suministro energético y conservar durante mucho tiempo información valiosa que de otro modo.microkinetics.Ballscrews.        .40 01 29C04 0 49F04 0 29F04 0 29F40 0 29010 29001 29001 1 40 40 01 01 Q 01 28SF0 40 39SF0 40 28SF0 40 29F04 0 29F04 0 40 0 29F04 0 28F00 4 29040 29F04 0 29F40 0 29F0 40 29F4 00 BM29F0 40 x16 8MEG 27C80 1 32 29F08 0 29F80 0 29002 29002 1 29F08 0 29F80 0 29F0 80 29F8 00 x16 16MEG 32 32MEG 29400 29040 A 29800 32/4 8 64Meg 48 Las memorias EEPROM que funcionan bajo el protocolo I2C han ganando poco a poco un espacio en el hardware de los equipos electrónicos hasta transformarse en uno de los medios de almacenamiento de información más populares por su practicidad y sencillez de manejo.995www. Se organizan por páginas para facilitar su direccionamiento y almacenamiento de la información. 17x7x5 work envelope. Tener la posibilidad de almacenar datos de diversa índole en una memoria no volátil. También conocidas como memorias de protocolo “serie” las 24CXX son infaltables en cualquier equipo electrónico de consumo masivo y aquí te ayudaremos a comprender su funcionamiento.com . High perf. pueden ser las que a continuación enumeramos: Pueden ser escritas y borradas de forma eléctrica = Electrically Erasable ProgramableRead Only Memory Están garantizadas para 1 millón de ciclos de escritura/lectura. Utilizan para su funcionamiento una tensión única (5Volts o 3.3Volts) Son compatibles con el protocolo serial I2C (Marca registrada de Philips) Bajísimo costo. USB motion controller Estos diminutos circuitos integrados poseen la capacidad de almacenar datos organizados. Pueden llegar a retener la información sin ser alimentadas durante cientos de años. los que deben ser grabados de manera apropiada en su interior y además tienen particularidades que los hacen sobresalir y destacar dentro de su género. Algunas de las características dignas de mencionar. se perdería al desconectar un sistema. Anuncios Google    3 Axis CNC Mill $5.

entretenimiento. tuvo sus primeras aplicaciones en controles de contraste. el Bus I2C permite la comunicación “chip-to-chip” usando solo dos cables en una conexión serial. Los electrodomésticos utilizan este tipo de memorias en forma masiva. o más pines). Originalmente creado para reducir los costos de los equipos electrónicos. La asignación de funciones de los pines se repartían entre el direccionamiento de la memoria. eran realizadas en forma paralela requiriendo de esta forma encapsulados con una importante cantidades de pines (24. Antes de la aparición del Bus I2C. el control y la transferencia de datos. almacenando datos de programación muy importantes para su funcionamiento Repasemos el Concepto I2C El Bus I2C (Inter . En contraste con este despilfarro de pines. las transferencias de datos de memorias a microprocesadores. 28. a 100 Khz. a comienzos de la década del 80. equipos industriales. de acuerdo al tamaño de la aplicación. brillo y volumen en aparatos de televisión pero actualmente encontramos conexiones por bus I2C en una gran variedad de computadoras. Amplia variedad de encapsulados para adaptar el modelo necesario.) y que fue desarrollado por Philips Semiconductor. medicina. .Integrated Circuit) es un sistema de comunicación de dos cables. con propiedades de velocidad de transferencia de datos considerada de media a baja (400 Khz. sistemas militares y un ilimitado abanico de aplicaciones e importantes usos potenciales. por mencionar algunos. la selección. Esta última solamente requería de 8 pines más otros ocho pines para el direccionamiento.

Cada dispositivo esclavo posee una única dirección y cuando el Master transmita el llamado todos los ICs conectados al bus lo escucharán. control y transferencia de datos. Una memoria 24C04 utilizada en un TV SDA está encargado del intercambio de datos. los dispositivos están identificados como Maestro (Master) y Esclavo (Slave). Dentro del sistema de comunicación I2C. tal como es el caso que veremos de las memorias EEPROM I2C. Slave solamente o intercalar las funciones de Master y Slave de acuerdo como el sistema requiera. mientras que SCL se encarga de sincronizar al transmisor y al receptor durante la transferencia de los datos mencionados desde un IC al otro. Comenzando a comunicar La condición de START o Inicio ocurre únicamente en la transición de un estado ALTOa un . con quien iniciará la transferencia de datos hasta que decida “cerrarla”. por lo que al dispositivo que inicia el contacto y “abre” el bus se lo denomina Master. de a un BIT por vez. mientras que al que recepciona y contesta el llamado se lo denomina Slave. selección. pero solo le contestará aquel que posea la dirección que el transmisor incluyó en su llamada y será con este único Slave. Este sistema puede interconectar a muchos IC sobre el bus (hasta 255 dispositivos) y todos conectados a los mismos dos cables SDA y SCL. Estos dos cables son llamados Clock (SCL) y Data (SDA) y son los encargados del direccionamiento.permitiendo de esta forma comunicar dispositivos con muy pocas vías. Los dispositivos conectados al bus pueden ser Master solamente.

Otra de las cosas que debemos indicarle a nuestro sistema durante el desarrollo es la velocidad a la que intercambiará datos el bus ya que la mayoría de los dispositivos actuales puede realizarlo a 400Khz o a 100Khz. mientras la línea SCL se encuentre en un nivel ALTO. Esta aplicación es válida para cualquier puerto del microcontrolador mientras esté configurado en modo digital y se debe tener en cuenta que si no se incluyen estas directivas al inicio del programa. Por lo tanto.0 para SDA y PORTA. En este caso. que pines cumplirán la función de interconexión al Bus I2C. hemos ordenado que SDA sea el pin 0 del puerto B. si optamos por utilizar la . Si bien ya existen circuitos integrados capaces de trabajar a 1Mhz también nos encontramos en la actualidad con el contraste de memorias EEPROM que no pueden intercambiar datos a más de 100Khz. En cambio.0 DECLARE SCL_PIN PORTB. por defecto se asignarán los pines PORTA. no tendremos pines dedicados (por hardware) a tal fin en el microcontrolador y debemos indicarle al sistema mediante instrucciones de programa. El bus se considerará ocupado después de una situación de START y pasará a estar nuevamente libre cierto tiempo después de la transmisión de la condición de STOP.estado BAJO en la línea SDA mientras la línea SCL se encuentre en un nivelALTO. Las condiciones de START y STOP son siempre generadas por el dispositivo que asuma la condición de Master dentro del bus. Transición de SDA (H a L y viceversa) para generar las condiciones de START y STOP En Proton debemos indicarle al programa y/o al microcontrolador cuáles son los pines que cumplirán las funciones de SDA y SCL. Este “cierto tiempo” será determinado por el Master y vendrá especificado en la hoja de datos del mismo. indicará una condición de STOP oParada. quedándonos la secuencia de la siguiente forma: DECLARE SDA_PIN PORTB.1 En el ejemplo propuesto. mientras que SCL sea el pin 1 del mismo puerto.1 para SCL. la transición de un estado BAJO a un estado ALTO en la línea SDA. Esto se realiza al comienzo del programa antes de la declaración de variables y se formaliza mediante un comando llamado DECLARE. porque pueden existir desarrollos en que estemos trabajando con un dispositivo que no posea un módulo SSP nativo(Synchronous Serial Port).

Luego. indicándole que grabará en él y que a este proceso lo hará en una Dirección definida dentro del programa principal. Organización Interna de las Memorias No todas las memorias EEPROM I2C se direccionan y controlan de la misma forma. el Master transmitirá (BUSOUT) un dato. Cabe agregar en este punto que Proton y la mayoría de los fabricantes de memorias recomiendan efectuar una rutina de demora o espera luego de haber grabado un dato a través de BUSOUT. transmitiendo al bus la dirección pertinente. [Variable] La sintaxis expresada nos indica que el Master (nuestro microcontrolador) recibirá (BUSIN) un dato. incluiremos el siguiente comando: DECLARE SLOW_BUS=ON Luego de esto. Si por el contrario lo que desea hacer el sistema es escribir un dato en el dispositivoSlave seleccionado. El circuito a quién desea extraer el dato le transmite a través de la palabra de Control que va a extraer datos de él. lo hará mediante la siguiente forma: BUSOUT Control. indicándonos con esto que efectuará un retardo o demora (Delay) de 10 milisegundos. [Variable] Con una sintaxis muy similar al caso anterior. Para leer datos. La palabra Control posee dos informaciones importantes a destacar que son el nombre que posee nuestro dispositivo remoto dentro del Bus y la instrucción acerca de que vamos a leer en él. Dirección. ya estamos listos para “abrir” el diálogo dentro del bus y lo haremos con el sencillo comando: BSTART De esta forma. Por lo tanto. Ya tenemos la forma de abrir el bus. de leer o de grabar en un dispositivo Slave y de cerrar nuevamente el bus. lo haremos de la siguiente forma: BUSIN Control. En esta palabra se indicará a cuál de todos los dispositivos le hablará. nos indicará la dirección que posee la memoria dentro del bus y . Dirección. y lo grabará en uno de los dispositivos conectados al bus y seleccionado con la palabra de Control. Palabra o Byte de Control La palabra o Byte de Control. y que dicho dato se encuentra en la Dirección apuntada. el que tomará de una Variable. sólo nos queda “cerrar” el bus y lo haremos con la instrucción:BUSTOP Eso es todo.frecuencia mínima. Es momento de saber cómo manejar la palabra de Control y la Dirección de lectura/escritura. para asegurar la grabación del dato. el que colocará dentro de una Variable luego de haberlo sacado de uno de los dispositivos “colgados” del Bus I2C. haremos un breve resumen de los datos más relevantes a tener en cuenta al momento de emplear la palabra Control dentro de los comandos BUSIN y BUSOUT. la que se efectiviza mediante la expresión:DELAYMS 10 . en nuestro caso alojados en una memoria. el bus ya habrá sido abierto por nuestro microcontrolador asignándose éste la función de Master y pasando a estar todo listo para la transferencia de datos hacia el Slave que el microcontrolador decida.

dos y tres respectivamente. por lo que podemos adoptar para este lugar. En cambio. pero encontramos un significativo cambio en las posiciones A0. trabajo que puede realizar cómodamente el microcontrolador. Los pines A2.si vamos a leer o a escribir en ella. que en español equivale a Leer o Escribir respectivamente según lo que decidamos hacer con la memoria. lo mismo para el bit final de R/W. organizada en una sola página con 16 Bytes de 8 bits 24C01/24C02/24C04 = 1|0|1|0|A2|A1|A0|R/W Para este grupo de memorias tenemos la misma dirección en los cuatro bits iniciales ( 1010) que en el caso anterior. Si vamos a leer la memoria (Read) este bit adoptará el valor 1. el valor será 0. Como dato adicional podemos mencionar que la memoria 24C00 posee una capacidad de 128 bits. La única que se diferencia de este grupo . A1 y A0 se utilizan para seleccionar el chip al que direccionaremos la transferencia de datos Con estos tres bits. podemos direccionar hasta ocho memorias conectadas al mismo bus. 24C00 = 1|0|1|0|X|X|X|R/W R/W significa Read o Write. un cero o un uno que el resultado será el mismo. significa que el valor que adopte en estas posiciones no tiene relevancia. Por su parte X. al grabar un dato en la misma (Write). según las hojas de datos de las memorias. A1 y A2 que coinciden con los pines uno.

Esto es debido a que a pesar de poseer la misma disposición de pines que los modelos anteriores. 24C08/24C16 = 1|01|0|B2|B1|B0|R/W En el caso de estos modelos. servirá para direccionar el “puntero” de escritura o lectura. dispondrá de 8 . Esto es. Vemos entonces. direccionarse sólo cuatro unidades de la misma a través de A1 y A2. sumando así 512 Bytes de capacidad. mientras que la 24C16. A0. Aquí empezaremos a ver ya. según la página donde decidamos trabajar. Por su parte la memoria 24C02 posee una página de 256 Bytes y la 24C04 ya poseedos páginas de 256 Bytes cada una. Por su parte. 1010000X para la primer página y 1010001X para la segunda.es la 24C04 que debe tener siempre conectado A0 a GND o a VCC. B1 y B0 sirven para identificar por software la página (o bloque) dentro de la memoria. siendo X el bit que defina la lectura o escritura en la memoria. mientras que nos encontramos con la terminología B2. Es decir. hacia la primer página de 256 Bytes o hacia la segunda. destacamos que en este grupo de memorias encontramos la siguiente característica: sumarse a otras iguales para incrementar la capacidad de almacenamiento. a diferencia de las anteriores vistas hasta aquí. Por último. A1 y A0 no poseen conexión interna colocándose generalmente estos a GND. en este caso. pudiendo por lo tanto. B1 y B0 dentro de la palabra de control en estos modelos. Tabla que nos muestra como seleccionar las páginas en memorias 24C08 y 24C16 En el caso de estas dos memorias. B2. cómo la estructura interna de estas memorias está organizada en “páginas”. no podremos colocar en el bus múltiple cantidad de ellas sino que sólo tendremos posibilidad de colocar una sola. que para la 24C08 que posee una disposición decuatro páginas de 256 Bytes (4 X 256 X 8 bits = 1 KByte = 8 Kbit). por lo que la palabra de control para ellas será igual a 1010000X. A2. mientras que la 24C04 tendrá dos palabras de control. que las 24C01 y 24C02 poseen una sola página. repetimos los primeros cuatro bits iniciales que identifican a las memorias EEPROM seriales (1010) y el último bit R/W.

Por lo tanto. es decir: Binaria. lo que equivale a10100001 en binario y que nos indica que accederemos a la primer página (página cero) de cualquier memoria de las vistas y que la citada memoria será leída. por lo que tendremos apenas 16 “filas” para ubicar Bytes de información. Mientras que por último. vemos que tendremos 4 palabras de control para la 24C08 y 8 Palabras de control para la 24C16: una por cada página de 256 Bytes. la que será usada para decidir el casillero que ocuparemos con información dentro de la página que habremos seleccionado con anterioridad. lo que nos indica que se leerá la octava de todas las filas de Bytes que tenga esta página.páginas de 256 Bytes de 8 bits lo que equivale a un total de 2KByte que es lo mismo que 16Kbit. Protón Lite acepta cualquiera de las tres notaciones para las palabras de Control y de Dirección. 24C08 y 24C16 son tamaños de memoria altamente utilizadas en los equipos de TV y DVD para almacenar información La palabra Dirección Habiendo llegado hasta aquí. [Dato] En el ejemplo mostrado tenemos la palabra de control 161. que sería 00000100 en binario. el dato extraído será volcado en una variable de tamaño BYTE a la que hemos denominado “Dato” . razonando lo mencionado y analizando el cuadro superior. nos queda resolver solamente la forma en que estará compuesta esta palabra. 8. por lo que podemos escribir para facilitar el trabajo. un comando de la siguiente forma: BUSIN 161. Luego viene el valor 8. Decimalo Hexadecimal. En el caso de la 24C00 teníamos una página de tan sólo 16 Bytes.

Además. la información se guarda de manera automática para su posterior control. grabar inmediatamente todas las variables dentro de la memoria para luego proceder a apagar el sistema de forma automática hasta que se reponga la energía. Para otras páginas. los flippers y la mayoría de las máquinas recreativas que trabajan con fichas o monedas. Un ejemplo de esta aplicación son los contadores de fichas de los videojuegos de salón. funciones extras dentro del programa del microcontrolador nos pueden permitir detectar el corte de la tensión de alimentación y. 8. El ejemplo muestra la utilización de un PIC16F84A y la declaración de los pines que se utilizarán como SDA y SCL. Programa ejemplo para leer una EEPROM I2C con Proton Con este sencillo programa de ejemplo podemos leer la primer página de una memoria EEPROM I2C y colocar en un display LCD cada uno de los valores leídos durante medio segundo antes de pasar al próximo valor. Mientras la máquina funciona normalmente. ¿Lo sabías? . [Otro_Dato] El último bit de la palabra de control a pasado a ser cero (antes teníamos 161 y ahora tenemos 160). también de tamaño BYTE y declarada al inicio del listado del programa. hasta leerlos a todos. De esta forma se pueden guardar una multitud de datos en una memoria EEPROM I2Cy tenerlos siempre listos para su utilización durante el desarrollo del programa. variaremos la palabra de control según nuestras necesidades de uso. la batería de respaldo se mantiene cargada y al momento de un apagón o de la desconexión para su traslado.Escribir en esta misma dirección sería: BUSOUT 160. mediante el uso de una batería de respaldo o Back-Up. y el valor a grabar será el que exista en ese momento dentro de la variable “Otro_Dato”. También cabe destacar que se utilizará una baja velocidad de bus y que el LCD se conecta al puerto por defecto para tal fin. que en este caso es el B.

.

comandos de programas o programas enteros inclusive. o por conexionado interno de matrices de diodos. las cuales tienen asignada una dirección de memoria (o número de casillero). además de las de alimentación. según para el tipo de aplicación que se requieran. La capacidad de memoria se mide en Bytes. El conjunto de celdas constituye la llamada matriz de memoria. el control de secuencia (comandado por el Clock) y las puertas de entrada/salida de datos (controladas por el Chip Selection y la orden R/W.INTRODUCCIÓN Las memorias son dispositivos semiconductores que sirven para guardar información. . las líneas de direccionamiento o ADDRESS y las líneas de control. o por conexionado interno de matrices de diodos (en el caso de algunas PROM). La organización interna de un memoria está constituida por celdas (o casilleros de memoria) de un Byte c/u. Estructuralmente pueden estar compuestas por Flip-Flop's o por celdas capacitivas (en el caso de las RAM dinámicas). La variedad de capacidades de memoria varía de unos pocos Bytes a varios Mega Bytes (MB). unidad consistente de 8 bits. o por TTL. Para realizar operaciones con las celdas dentro de la memoria existen los decodificadores de direccionamiento. dicha información puede estar conformada por datos a ser procesados. Tecnológicamente pueden estar constituidas por MOS. En una memoria existen las líneas de datos.

En este informe se ahondara en el subgrupo de las EEPROM ó E² PROM(Electrically Eraseable PROM). Hoy en día. En las memorias más antiguas de este tipo se precisaba una línea de tensión de valor bastante superior al de alimentación del chip. A través de estas líneas el µP solamente indica cuál será la celda a ser escrita o leída. cuyo método de borrado y grabación consiste en la aplicación. sin sacarlas de su emplazamiento. ya se encuentran algunas que manejan la operación de escritura sólo con la tensión de alimentación normal. pero pueden ser usadas como de escritura "lenta" (Alrededor de 10 mS) para el almacenamiento prolongado de nuevos datos. . Este grupo tiene una capacidad de memoria bastante inferior a la de las EPROM debido a su complejidad estructural intrínseca. Son básicamente de sólo lectura. de pulsos de tensión. Con las líneas de datos (o BUS de datos) el microprocesador recibe o envía información desde o hacia la memoria. Pero tienen la ventaja de ser regrabables durante un procesamiento de datos.escritura/lectura). Esta selección o posicionamiento es más conocido por direccionamiento. de una manera determinada. cuando lee o escribe. Con las líneas ADDRESS el microprocesador tiene cómo seleccionar una posición de memoria para leer o escribir un dato.

En realidad las memorias actuales incorporan en su interior los recursos necesarios para borrar la propia memoria eléctricamente. Su aspecto. la propia memoria realiza el borrado previo del byte que va a grabar de forma automática. Borrado de una EEPROM El proceso de borrado de una EEPROM es muy sencillo. son memorias más caras y más rápidas que las EPROM (pueden tener tiempos de acceso alrededor de 35 ns) y una vida media en torno a los 10. de alimentación de un sistema digital. Durante el proceso de grabado. Se caracterizan por usar una única tensión para su lectura y su escritura. Es el propio terminal de lectura/escritura el que hace las funciones de terminal de grabación.MEMORIAS EEPROM Las memorias EEPROM (electrically erasable and reprogrammable ROM) o E2PROMs como son llamadas habitualmente. El hecho de necesitar sólo una tensión de alimentación/grabación de + 5 v es debido al hecho de que las EEPROMs actuales incorporan las bombas de . su Vcc). Este hecho las hace muy atractivas en muchas aplicaciones. coincidiendo con la tensión de + 5 v. No es necesaria ninguna tensión especial de borrado ni ningún procedimiento. Lo único que varía con respecto a una memoria RAM es el tiempo necesario para grabar la memoria (en torno a los 10 ms/byte). ni dispone de terminales especiales de grabado como en el caso de la EPROM. desde el punto de vista de terminales y de funcionalidad es similar al de una memoria SRAM (estática) equivalente.000 ciclos de borrado/escritura. Grabado de una EEPROM La grabación de una memoria EEPROM no requiere ninguna tensión especial (basta con los + 5 v de la alimentación general del sistema y de la propia memoria. pues permite alterar su contenido sin necesidad de extraer la memoria del sistema digital del que forma parte.

valdrá 0. Para leer el byte basta con poner la señal R/W# a 1.Activar la señal R/W# a 0 (escritura) 4.Establecer el dato (byte) a grabar en el bus de datos de la EEPROM 3. si realmente es un 1 en el byte que se está grabando.Si son distintos. salir. Si son iguales. mientras se está grabando el dato. el bit de mayor peso (MS) tiene el valor complementado del valor real del mismo. Leer el bit MS del byte grabado.Establecer la dirección a grabar en el bus de direcciones de la EEPROM 2. . volver a 4. mientras se realiza el proceso. Este mecanismo incorporado en la memoria permite simplificar el proceso de grabación de la misma pues sólo habrá que esperar a que este bit MS deje de estar complementado (tiempo de grabación de la memoria) para continuar grabando otro dato. Durante el proceso de grabación de un byte. es decir.Compararlo con el bit MS del byte original 6. Los fabricantes recomiendan seguir el siguiente procedimiento (algoritmo) para grabar sus memorias: 1.carga necesarias durante el proceso de grabación y funcionan con esta tensión. 5.Leer el byte que se acaba de grabar.

un análisis comparativo y en el proceso identifica los beneficios y ventajas de EEPROMs De serie. Esta memoria tiene numerosos beneficios: . También. como su nombre implica. el diseñador debe enfrentar un diseño más complicados con un EEPROM de serie Las opciones de memoria no-volátiles disponible ofrece una variedad de dispositivos diferentes. el diseñador del sistema selecciona a menudo una solución no-volátil que no reúne sus requisitos. la mayoría diseñadores del sistema no son conscientes de los beneficios de EEPROM de serie.MEMORIAS EEPROM SERIAL La tecnología de EEPROM de serie es uno de las tecnologías de memoria no-volátiles que han surgido como una solución principal de diseño. Como resultado. Desgraciadamente. la documentación de apoyo en databooks no es a menudo adecuada. la habilidad de comunicar a través de una interface de serie. La mayor parte estas opciones de memoria pueden agruparse en dos categorías mayores: soluciones de serie y las soluciones paralelas. Características El rasgo principal de este dispositivo de serie es. se consigue información incompleta o ambigua. o. conductas. Esta categoría discute los atributos de cada uno.

2. Rendimiento 2. El byte de programación.2. Las EEPROM de serie requieren sólo dos a cuatro líneas (dependiendo del hardware y protocolo del software) para comunicación completa.1. Entrada de datos 2. Primero. Mando del dispositivo 3. 6. la comunicación de serie es cumplida con un número mínimo de I/O. en la industria.4. 2. 4. esta memoria está disponible en un chip de 8 pines. Debido a un número limitado de puertos de I/O operando corrientes que están normalmente debajo de 3 mA. La tasa del reloj esta entre 100KHz y 400KHz para dispositivos de dos conductores. Consumo actual bajo. Que va de las densidades de 16 a 256 Kbit. habilidad de borrar y programar al mismo tiempo sin afectar el volumen del paquete. en el parque automotor y aplicaciones del consumidor: . 5. Dirección de la memoria 2.3. Usos y aplicaciones Las EEPROMs de serie realizan una variedad de funciones en el mundo de las computadoras. en las telecomunicaciones. Otro beneficio de comunicación de serie es tamaño del paquete. esto es obviamente muy beneficioso para las aplicaciones donde el tamaño del producto y el peso es un factor del plan importante.1.

etc. PCs. pagers. puntos de venta. radios y entrada del teclado. módems. abridores de puerta de garaje y equipos médicos. y receptores del satélite  En el parque AUTOMOTOR. el antibloqueo de los frenos. palm y COMPUTADORAS portátiles. tarjetas inteligentes. juegos de CD. entonación.  En TELECOMUNICACIONES los teléfonos Celulares. y telemandos. cerraduras de cajas fuertes. unidades de disco y organizadores. 3) eventos de tiempo real ( mantenimiento ) 4) el almacenamiento de la configuración 5) para ver últimos números discados 6) monitoreo de circuitos Aplicaciones de EEPROM de serie  Afinadores de TELEVISION de CONSUMIDOR.) 2) almacenamiento de baja potencia. radios. detector de fallas ó diagnostico de errores. . inalámbricos.  fotocopiadoras.  Lectores de código de Barra INDUSTRIALES. cámaras.1) el almacenamiento de memoria de seleccionadores del cauce o los mandos analógicos (volumen. VCRs. facsímiles.

.5 V . Descripción funcional    Es una memoria de 256 Kbits organizada es a 32 k *8 Soporta protocolo de transmisión de datos en bus de dos líneas.5V. el control de acceso al bus y además genera las condiciones de START y STOP mientras el 24lc25616B actua como slave. El bus se controla mediante un master que se encarga de generar el reloj ( SCL ). que en la traducción sería memoria de solo lectura programable y borrable de forma eléctrica.    El rango de Vcc 1. lo que significa que una vez que se le quita la corriente eléctrica mantiene la información de forma indefinida y además puede reprogramarse borrando su contenido de forma eléctrica.MEMORIA 24XX256 Esta memoria es del tipo EEPROM .8-5. Máxima corriente en escitura 3mA a 5. Esto es una ventaja frente a las memorias EPROM que se deben borrar con luz ultravioleta.Electrical Erasable Programmable Read Only Memory . Max frecuencia del clock 400 khz.

 Durante la transferencia de datos estos deben permanecer estables mientras la línea de reloj esté a nivel alto. la línea se mantiene estable mientras el reloj está alto.La línea de datos presenta un valor válido cuando después de la condición start. ( Un pulso por dato ) Cada transferencia es iniciada con un start y finalizada con un stop.  Stop en la transferencia .Transición de alto a abajo mientras el reloj está alto.5 V.  Start en la transferencia . Máxima corriente en lectura 400μA a 5. Condiciones del protocolo  Bus libre .  Validación de datos . La siguiente figura muestra una configuración típica de esta memoria : Características del bus  Sólo puede iniciarse transferencia de datos cuando el bus está libre. Si se producen cambio se interpretan como un Start o un Stop.Las lineas de datos y de reloj estan a valor alto. Los datos unicamente pueden cambiar mientras el reloj esté en valor bajo.Transición de bajo a alto mientras el reloj está alto. El .

A1. cuando se le direcciona. Cuando se produce una sobreescritura se reemplazan los datos en un esquema FIFO ( First In First Out )  Reconocimiento . A0 ) que corresponden realmente a los bits de direccionamiento más altos y el último bit que indica la operación a realizar ( un 1 .lectura. a pesar de todo sólo los últimos 16 bytes se almacenan durante una operación de escritura. tres bits indicando la página ( A2. un 0 . este consiste en cuatro bits que indican la operación.Cada receptor.escritura ). está obligado a generar un ACK después de la recepción de cada byte.número de bytes entre ambos está determinado por el master y teoricamente no está limitado. La siguiente figura lo muestra cada fase : Direccionamiento de un dispositivo y operación Después del START se envia un byte de control. . Una vez enviado el dispositivo responde con un ACK. El master debe generar un pulso de reloj extra que se asocia al ACK. El ACK se da colocando un valor bajo sobre SDA durante el valor alto del reloj.

después de cada elemento se añade un ACK por parte de la memoria como se indica en la figura.Operaciones de escritura La escritura comienza por un START. la memoria posee un . dirección del byte y finalmente el byte a escribir. direccionamiento del dispositivo. Escritura secuencial Si lo que se desea es escribir un grupo de 16 bytes sólo es necesario enviar la dirección del primero de ellos y a continuación el resto.

Una escritua incluye un borrado del contenido de la dirección por lo que esta es mucho más lenta que una lectura. como puede verse en la figura. después del dato no hay un ACK. ya que este va dirigido al master. La diferencia respecto a la escritura de un único byte estriba en el hecho del señalizador del STOP. este se irá incrementando para cada byte. La figura muestra el caso. la lectura de la dirección actual( almacenada por el contador de dirección ). Lectura actual Toma la posición actual de la memoria. . lectura arbitraria en cualquier posición de la memoria y finalemente la lectura secuencial.contador interno que determina la dirección actual. Operaciones de lectura Las operaciones de lectura son 3. si este no aparece es que se debe escribir sucesivos bytes.

. por eso existe un ACK después de la dirección. Lectura secuencial La lectura secuencial toma la dirección actual y va extrayendo los datos uno detrás del otro. hay que destacar que primero se ha de enviar la dirección y despues se recibe el dato. hay que tener en cuenta que se lee la página actual y esta no se cambia cuando se llega al final por lo que la lectura como máximo es de 16 byt es.Lectura arbitraria En esta lectura se indica la posición a leer la información.

 AO.Descripcion de los pines. Es de selección de escritura y lectura va conectado a tierra o ha Vcc. Los niveles de entrada son comparados con los bits correspondientes en la dirección del esclavo. Sincroniza la transferencia de datos del dispositivo.hasta 7FFF.  WP.). El chip selecciona si la comparación es verdad. SDA puede estar habilitado solo cuando el pin SCL esta en nivel bajo. Puede leer o escribir desde 0000. .A2 son los pines de entrada.  SDA Data serial. Es un pin bidireccional (entrada y salida de data). La cual puede trabajar en dos condiciones START o STOP.  SCL SERIAL CLOCK. la cual es usada por el 24C256 para multiples operaciones. Para habilitar el pin de SDA debe tener conectado una resistencia del pin (SDA) a VCC ( 10 kΩ desde 100 khz y 2kΩ desde 400 khz y 1 khz. A1.

Diagrama de bloque .