Download docx - Memoria EPROM

Transcript
Page 1: Memoria EPROM

Memoria EPROMEste 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).

Page 2: Memoria EPROM

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

Page 3: Memoria EPROM

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.

Page 4: Memoria EPROM

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

Page 5: Memoria EPROM

NOTA: 1702 EPROM son PMOS, las EPROM de las serie 27x que contienen una C en el nombre están basadas en CMOS, el resto

son NMOS

Pines de la EPROM 2764

+--------------+

VPP |1 +--+ 28| VCC

A12 |2 27| /PGM

A7 |3 26| NC

A6 |4 25| A8

A5 |5 24| A9

A4 |6 23| A11

A3 |7 2764 22| /OE

A2 |8 21| A10

A1 |9 20| /CE

A0 |10 19| D7

D0 |11 18| D6

D1 |12 17| D5

D2 |13 16| D4

GND |14 15| D3

+--------------+

[editar]Borrado de un EPROM

Una memoria EPROM puede ser borrada con una lámpara de luz UV, del tipo UV-C, que emita

radiación en torno a los 2537 Å (Angstrom) o 254nm, a una distancia de unos 2,5 cm de la memoria. 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.

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 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.4 W de potencia suministrada). Este tiempo también depende del fabricante de la memoria

que se desee borrar. En este tiempo todos sus bits se ponen a 1.

Es importante evitar la sobreexposición del tiempo de radiación a las EPROM; es decir, la potencia

luminosa suministrada a la memoria, pues se produce un envejecimiento prematuro de las mismas.

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), es necesario tapar dicha ventanilla con una

etiqueta opaca que lo evite, una vez que son grabadas.

Page 6: Memoria EPROM

Se debe aclarar que una EPROM no puede ser borrada parcial o selectivamente; de ahí que por muy

pequeña que fuese la eventual modificación a realizar en su contenido, inevitablemente se deberá borrar

y reprogramar en su totalidad.

[editar]Borrador de EPROM

Un borrador de EPROM es un caja opaca ópticamente, con una fuente de luz UV del tipo C, la cual

también es utilizada para esterilizar instrumentos quirúrgicos y/o como germicida.

Lámpara borradora de EPROM.

Para borrar las EPROM no se puede utilizar las luz "UV Negra", (que es comúnmente utilizada para

verificar billetes, tickets, etc.), que emiten en la región UV-A, (365 nm). La única luz que funciona es la

UV-C, (254 nm), la cual emite "luz peligrosa" o "germicida", (mata gérmenes). Es "luz peligrosa" por que

la exposición prolongada puede causar cataratas a largo plazo y daño en la piel; sin embargo una

exposición breve, unos 5 segundos continuos en la piel, no debería de causar más que una leve

resequedad, por lo que es necesario tomar todas las precauciones para evitar estos problemas. Dado

que este tipo de luz UV-C se encuentra en la luz solar, si se deja una EPROM directamente bajo ésta,

en algunas días o semanas se borraran; por lo que se requiere proteger las EPROM una vez se hayan

programado.

Se puede utilizar una lámpara de tubo normal de 4 W del tipo F4T5 (4 watt, 5 pulgadas) que da luz

blanca (ver foto). También un tubo de luz G4T5 "Germicidal UVC", que tiene el vidrio claro, para borrar

las EPROM. La "G" es para germicidas, lo mismo que la "F" es para fosforescentes (aunque no tengan

fósforo). Otro tipo de lámpara comúnmente utilizada es la PHILIPS TUV 4W-G4T5-240805D-4WTUV.

Page 7: Memoria EPROM

Circuito simple para borrador de EPROM, (se le puede agregar temporizador).

Las lámparas UV que tienen el vidrio morado o lila son para el espectro UV-Visible o "UV Negra",

normalmente están marcadas como U4T5 o similar y no funcionan para borrar las EPROM.

Un tubo de luz fluorescente de luz blanca, tiene una cubierta de fósforo en el interior del vidrio. La Luz

UV del mercurio excita el fósforo, el cual re-radia la energía en el rango visible. Las lámparas UV para

borradores de EPROM o germicidas usan directamente la luz del vapor de mercurio. El vidrio se debe

de hacer de cuarzo, en lugar de vidrio ordinario, para evitar que el vidrio absorba la mayor parte de los

rayos UV. El cuarzo es más transparente en las longitudes UV del mercurio.

También podrían ser borrados si son expuestos a la luz de la soldadura eléctrica (de electrodo), con el

riesgo que una chispa queme el chip, 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. En teoría también se pueden borrar con rayos

X, "tomando radiografías del EPROM", el tiempo de borrado dependerá de la calibración/emisión del

equipo de rayos X utilizado.

[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. CMOS sólo consume potencia apreciable cuando una señal está cambiando. NMOS

usa canal N FET's con elementos resistores, mientras CMOS evita las resistencias que desperdician

energía por utilizar ambos canales N y P FET. Además los CMOS evitan la producción de calor,

permitiendo arreglos más compactos de transistores de los que los NMOS son capaces. La alta

densidad de elementos de los CMOS reduce las distancias de interconexión lo cual incrementa la

velocidad. Además CMOS brilla cuando hay una cantidad limitada de energía como cuando se utiliza un

sistema alimentado por baterías.

Se presentan algunos problemas en las EPROM CMOS usando programadores viejos, debido a a las

diferencias en los voltajes de programación, (CMOS tiene 12,5 Vpp). EPROM CMOS también requieren

Page 8: Memoria EPROM

una fuente de voltaje, (Vcc), de exactamente 6 Voltios. CMOS son fáciles de borrar pero tienden a morir

si son sobre expuestos a la luz UV.

[editar]Decodificando los Números de los EPROM

27(C)XXX son EPROM o OTPROMS.

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).

Estos todavía se programan como los EPROM 27(C) XXX en los programadores de bolsillos,

porque el algoritmo del software lo tiene en cuenta.

28(C)XXX son EEPROM con la C indicando para CMOS.

28FXXX son Flash EEPROM con la F señalando para Flash. No confundir con EPROM.

[editar]Cross list

Las siguientes partes pueden ser la misma - (de acuerdo a las guías de referencia de los fabricantes),

allí pueden haber algunas diferencias incluyendo el algoritmo usado para programarlos.

Manufacturer

AMD AMIC Atmel FujitsuHitach

iHynix

INTEL

Mitsu-bishi

NEC NSC SGS SSTST

microTI

Toshiba

Winbond PINs

prefix AM AE ASD AT MBM HN HY D M5M UPD NM M SST M TMS TC W

32K 2732 2732 2732 2732 27C32 D2732 27C32Q 2732 2732 N/A

64K 27C64 27C64 27C64 27C64 27C64 27C64 27C64Q 27C64 27C64 N/A

128K27C128

27C12827C128

27C128

27C128

27C12827C128Q

27C12827C128

N/A

256K27C256

27C256 27C25627C256

27C256

27C256

27C25627C256Q

27C25627SF256

2725627C256

57256

28HC256

512K27C512

27C512 27C51227C512

27C512

27C512

27C51227C512Q

27C51227SF512

27C51227C512

57512 27E512

28F512

29C51229EE512

49C51239SF512

29F512 29EE512

1MEG27C010

29F1008

27C01027C1001

27C010

27C010

27C101

27C1001

27C010Q

27C1001

27SF010

27C1001

27C010

571000 27E010

29C010

49F00128F001

39SF010

29F010 29EE011

28F010

49F01028F010

29C01029EE010

2MEG27C020

29F2008

27C02027C2001

27C020

27C020

27C201

27C2001

27C020Q

27C2001

27SF020

27C2001

27C020

N/A 27E020

29F002

29C02049F02049F002

29F002

28F002

29EE02039SF020

29F002 29C020

4MEG27C040

27C4001

27C040

27C040

27C401

27C4001

27C040Q

27C4001

27C040

574000

29F040

29C04049F040

28F004

28SF04039SF040

28SF04029F040

29040

Page 9: Memoria EPROM

29F040

29F04029F040

29F040BM29F040

x1629F400

29F40029F400

8MEG

2901029001290011

27C801 32

29F080

29F08029F080

x1629F800

29F80029F800

16MEG29002290021

32

32MEG2940029040A

32/48

64Meg 29800 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. Tener la posibilidad de almacenar datos de diversa índole en una memoria no volátil, 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, se perdería al desconectar un sistema. 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.

Anuncios Google

3 Axis CNC Mill $5,995 www.microkinetics.com - Ballscrews, 17x7x5 work envelope. High perf. USB motion controller

Estos diminutos circuitos integrados poseen la capacidad de almacenar

datos organizados, 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, 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. Pueden llegar a retener la información sin ser alimentadas durante cientos

de años. Se organizan por páginas para facilitar su direccionamiento y

almacenamiento de la información. 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.

Page 10: Memoria EPROM

Amplia variedad de encapsulados para adaptar el modelo necesario, de acuerdo al tamaño de la aplicación.

Los electrodomésticos utilizan este tipo de memorias en forma masiva, almacenando datos de programación muy importantes para su

funcionamientoRepasemos el Concepto I2CEl Bus I2C (Inter - 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. a 100 Khz.)  y que fue desarrollado por Philips Semiconductor, a comienzos de la década del 80. Originalmente creado para reducir los costos de los equipos electrónicos, tuvo sus primeras aplicaciones en controles de contraste, brillo y volumen en aparatos de televisión pero actualmente encontramos conexiones por bus I2C en una gran variedad de computadoras, equipos industriales, entretenimiento, medicina, sistemas militares y un ilimitado abanico de aplicaciones e importantes usos potenciales.

Antes de la aparición del Bus I2C, las transferencias de datos de memorias a microprocesadores, eran realizadas en forma paralela requiriendo de esta forma encapsulados con una importante cantidades de pines (24, 28, o más pines). La asignación de funciones de los pines se repartían entre el direccionamiento de la memoria, la selección, el control y la transferencia

Page 11: Memoria EPROM

de datos. Esta última solamente requería de 8 pines más otros ocho pines para el direccionamiento, por mencionar algunos. En contraste con este despilfarro de pines, el Bus I2C permite la comunicación “chip-to-chip” usando solo dos cables en una conexión serial, permitiendo de esta forma comunicar dispositivos con muy pocas vías.Estos dos cables son llamados Clock (SCL) y Data (SDA) y son los encargados del direccionamiento, selección, control y transferencia de datos, de a un BIT por vez.

Una memoria 24C04 utilizada en un TVSDA está encargado del intercambio de datos, mientras que SCL se encarga de sincronizar al transmisor y al receptor durante la transferencia de los datos mencionados desde un IC al otro. Dentro del sistema de comunicación I2C, los dispositivos están identificados como Maestro (Master) y Esclavo (Slave), por lo que al dispositivo que inicia el contacto y “abre” el bus se lo denomina Master, mientras que al que recepciona y contesta el llamado se lo denomina Slave.  Los dispositivos conectados al bus pueden ser Master solamente, Slave solamente o intercalar las funciones de Master y Slave de acuerdo como el sistema requiera, tal como es el caso que veremos de las memorias EEPROM I2C.

Este sistema puede interconectar a muchos IC sobre el bus (hasta 255 dispositivos) y todos conectados a los mismos dos cables SDA y SCL.

Page 12: Memoria EPROM

Cada dispositivo esclavo posee una única dirección y cuando el Master transmita el llamado todos los ICs conectados al bus lo escucharán, pero solo le contestará aquel que posea la dirección que el transmisor incluyó en su llamada y será con este único Slave, con quien iniciará la transferencia de datos hasta que decida “cerrarla”. 

Comenzando a comunicar La condición de START o Inicio ocurre únicamente en la transición de un estado ALTOa un estado BAJO en la línea SDA mientras la línea SCL se encuentre en un nivelALTO. En cambio, la transición de un estado BAJO a un estado ALTO en la línea SDA, mientras la línea SCL se encuentre en un nivel ALTO, indicará una condición de STOP oParada. Las condiciones de START y STOP son siempre generadas por el dispositivo que asuma la condición de Master dentro del bus.

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. Este “cierto tiempo” será determinado por el Master y vendrá especificado en la hoja de datos del mismo.

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, porque pueden existir desarrollos en que estemos trabajando con un dispositivo que no posea un módulo SSP nativo(Synchronous Serial Port). En este caso, no tendremos pines dedicados (por hardware) a tal fin en el microcontrolador y debemos indicarle al sistema mediante instrucciones de programa, que pines cumplirán la función de interconexión al Bus I2C. Esto se realiza al comienzo del programa antes de la declaración de variables y se formaliza mediante un comando llamado DECLARE, quedándonos la secuencia de la siguiente forma: 

DECLARE SDA_PIN PORTB.0DECLARE SCL_PIN PORTB.1    

Page 13: Memoria EPROM

En el ejemplo propuesto, hemos ordenado que SDA sea el pin 0 del puerto B, mientras que SCL sea el pin 1 del mismo puerto. 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 defecto se asignarán los pines PORTA.0 para SDA y PORTA.1 para SCL.

Otra de las cosas que debemos indicarle a nuestro sistema durante el desarrollo es lavelocidad a la que intercambiará datos el bus ya que la mayoría de los dispositivos actuales puede realizarlo a 400Khz o a 100Khz. 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. Por lo tanto, si optamos por utilizar la frecuencia mínima, incluiremos el siguiente comando:DECLARE SLOW_BUS=ON

Luego de esto, ya estamos listos para “abrir” el diálogo dentro del bus y lo haremos con el sencillo comando: BSTART  

De esta forma, 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, transmitiendo al bus la dirección pertinente. Para leer datos, en nuestro caso alojados en una memoria, lo haremos de la siguiente forma: BUSIN Control, Dirección, [Variable]

La sintaxis expresada nos indica que el Master (nuestro microcontrolador) recibirá (BUSIN) un dato, el que colocará dentro de una Variable luego de haberlo sacado de uno de los dispositivos “colgados” del Bus I2C. 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, y que dicho dato se encuentra en la Dirección apuntada. 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. Si por el contrario lo que desea hacer el sistema es escribir un dato en el dispositivoSlave seleccionado, lo hará mediante la siguiente forma: BUSOUT Control, Dirección, [Variable]

Con una sintaxis muy similar al caso anterior, el Master transmitirá (BUSOUT) un dato, el que tomará de una Variable, y lo grabará en uno de los dispositivos conectados al bus y seleccionado con la palabra de Control. En esta palabra se indicará a cuál de todos los dispositivos le

Page 14: Memoria EPROM

hablará, indicándole que grabará en él y que a este proceso lo hará en una Dirección definida dentro del programa principal. 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, para asegurar la grabación del dato, la que se efectiviza mediante la expresión:DELAYMS 10 , indicándonos con esto que efectuará un retardo o demora (Delay) de 10 milisegundos. Luego, sólo nos queda “cerrar” el bus y lo haremos con la instrucción:BUSTOP

Eso es todo. Ya tenemos la forma de abrir el bus, de leer o de grabar en un dispositivo Slave y de cerrar nuevamente el bus. Es momento de saber cómo manejar la palabra de Control y la Dirección de lectura/escritura.

Organización Interna de las MemoriasNo todas las memorias EEPROM I2C se direccionan y controlan de la misma forma. Por lo tanto, 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.

Palabra o Byte de ControlLa palabra o Byte de Control, nos indicará la dirección que posee la memoria dentro del bus y si vamos a leer o a escribir en ella.

24C00 = 1|0|1|0|X|X|X|R/WR/W significa Read o Write, que en español equivale a Leer o Escribir respectivamente según lo que decidamos hacer con  la memoria. Si vamos a leer la memoria (Read) este bit adoptará el valor 1. En cambio, al grabar un dato en la misma (Write), el valor será 0. Por su parte X, significa que el valor que adopte en estas posiciones no tiene relevancia, por lo que podemos adoptar para este lugar, un cero o un uno que el resultado será el mismo. Como dato adicional podemos mencionar que la memoria 24C00 posee una capacidad de 128 bits, organizada en una sola página con 16 Bytes de 8 bits 

24C01/24C02/24C04 = 1|0|1|0|A2|A1|A0|R/WPara este grupo de memorias tenemos la misma dirección en los cuatro bits iniciales (1010) que en el caso anterior, lo mismo para el bit final de R/W, pero encontramos un significativo cambio en las posiciones A0, A1 y A2 que coinciden con los pines uno, dos y tres respectivamente, según las hojas de datos de las memorias.

Page 15: Memoria EPROM

Los pines A2, 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, trabajo que puede realizar cómodamente el microcontrolador. La única que se diferencia de este grupo es la 24C04 que debe tener siempre conectado A0 a GND o a VCC, pudiendo por lo tanto, direccionarse sólo cuatro unidades de la misma a través de A1 y A2. A0, en este caso, servirá para direccionar el “puntero” de escritura o lectura, hacia la primer página de 256 Bytes o hacia la segunda.Aquí empezaremos a ver ya, cómo la estructura interna de estas memorias está organizada en “páginas”. Por último, destacamos que en este grupo de memorias encontramos la siguiente característica: sumarse a otras iguales para incrementar la capacidad de almacenamiento.

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, sumando así 512 Bytes de capacidad. Vemos entonces, que las 24C01 y 24C02 poseen una sola página, por lo que la palabra de control para ellas será igual a 1010000X, siendo X el bit que defina la lectura o escritura en la memoria, mientras que la 24C04 tendrá dos palabras de control, según la página donde

Page 16: Memoria EPROM

decidamos trabajar. Esto es, 1010000X para la primer página y 1010001X para la segunda.

24C08/24C16 = 1|01|0|B2|B1|B0|R/WEn el caso de estos modelos, repetimos los primeros cuatro bits iniciales que identifican a las memorias EEPROM seriales (1010) y el último bit R/W, mientras que nos encontramos con la terminología B2, 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, no podremos colocar en el bus múltiple cantidad de ellas sino que sólo tendremos posibilidad de colocar una sola, a diferencia de las anteriores vistas hasta aquí. Esto es debido a que a pesar de poseer la misma disposición de pines que los modelos anteriores, A2, A1 y A0 no poseen conexión interna colocándose generalmente estos a GND.

Por su parte, B2, B1 y B0 sirven para identificar por software la página (o bloque) dentro de la memoria. Es decir, 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); mientras que la 24C16, dispondrá de 8 páginas de 256 Bytes de 8 bits lo que equivale a un total de 2KByte que es lo mismo que 16Kbit. Por lo tanto, razonando lo mencionado y analizando el cuadro superior, 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.

Page 17: Memoria EPROM

24C08 y 24C16 son tamaños de memoria altamente utilizadas en los equipos de TV y DVD para almacenar información

La palabra DirecciónHabiendo llegado hasta aquí, nos queda resolver solamente la forma en que estará compuesta esta palabra, la que será usada para decidir el casillero que ocuparemos con información dentro de la página que habremos seleccionado con anterioridad. En el caso de la 24C00 teníamos una página de tan sólo 16 Bytes, por lo que tendremos apenas 16 “filas” para ubicar Bytes de información. Protón Lite acepta cualquiera de las tres notaciones para las palabras de Control y de Dirección, es decir: Binaria, Decimalo Hexadecimal, por lo que podemos escribir para facilitar el trabajo, un comando de la siguiente forma:  BUSIN 161, 8, [Dato]

En el ejemplo mostrado tenemos la palabra de control 161, 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.Luego viene el valor 8, que sería 00000100 en binario, lo que nos indica que se leerá la octava de todas las filas de Bytes que tenga esta página. Mientras que por último, el dato extraído será volcado en una variable de tamaño BYTE a la que hemos denominado “Dato”

Page 18: Memoria EPROM

Escribir en esta misma dirección sería:

BUSOUT 160, 8, [Otro_Dato]

El último bit de la palabra de control a pasado a ser cero (antes teníamos 161 y ahora tenemos 160), y el valor a grabar será el que exista en ese momento dentro de la variable “Otro_Dato”, también de tamaño BYTE y declarada al inicio del listado del programa.

Programa ejemplo para leer una EEPROM I2C con ProtonCon 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, hasta leerlos a todos. Para otras páginas, variaremos la palabra de control según nuestras necesidades de uso. El ejemplo muestra la utilización de un PIC16F84A y la declaración de los pines que se utilizarán como SDA y SCL. 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.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. Además, funciones extras dentro del programa del microcontrolador nos pueden permitir detectar el corte de la tensión de alimentación y, mediante el uso de una batería de respaldo o Back-Up, 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. Un ejemplo de esta aplicación son los contadores de

Page 19: Memoria EPROM

fichas de los videojuegos de salón, los flippers y la mayoría de las máquinas recreativas que trabajan con fichas o monedas. Mientras la máquina funciona normalmente, la batería de respaldo se mantiene cargada y al momento de un apagón o de la desconexión para su traslado, la información se guarda de manera automática para su posterior control. ¿Lo sabías?

Page 20: Memoria EPROM

INTRODUCCIÓN

 Las memorias son dispositivos semiconductores que sirven para guardar

información; dicha información puede estar conformada por datos a ser

procesados, comandos de programas o programas enteros inclusive.

Estructuralmente pueden estar compuestas por Flip-Flop's o por

celdas capacitivas (en el caso de las RAM dinámicas), o por conexionado

interno de matrices de diodos (en el caso de algunas PROM).

Tecnológicamente pueden estar constituidas por MOS, o por TTL, o por

conexionado interno de matrices de diodos.

La capacidad de memoria se mide en Bytes, unidad consistente de 8

bits. La variedad de capacidades de memoria varía de unos pocos Bytes a

varios Mega Bytes (MB), según para el tipo de aplicación que se requieran.

En una memoria existen las líneas de datos, las líneas de

direccionamiento o ADDRESS y las líneas de control, además de las de

alimentación.

La organización interna de un memoria está constituida por celdas (o

casilleros de memoria) de un Byte c/u, las cuales tienen asignada una dirección

de memoria (o número de casillero). El conjunto de celdas constituye la

llamada matriz de memoria. Para realizar operaciones con las celdas dentro de

la memoria existen los decodificadores de direccionamiento, 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, escritura/lectura).

Con las líneas ADDRESS el microprocesador tiene cómo seleccionar una

posición de memoria para leer o escribir un dato. Esta selección o

Page 21: Memoria EPROM

posicionamiento es más conocido por direccionamiento. A través de estas

líneas el µP solamente indica cuál será la celda a ser escrita o leída. Con las

líneas de datos (o BUS de datos) el microprocesador recibe o envía información

desde o hacia la memoria, cuando lee o escribe.

En este informe se ahondara en el subgrupo de las EEPROM ó E²

PROM(Electrically Eraseable PROM), cuyo método de borrado y

grabación consiste en la aplicación, de una manera determinada, de

pulsos de tensión. 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. Hoy en día, ya se encuentran algunas que

manejan la operación de escritura sólo con la tensión de alimentación

normal. Este grupo tiene una capacidad de memoria bastante inferior a

la de las EPROM debido a su complejidad estructural intrínseca. Pero

tienen la ventaja de ser regrabables durante un procesamiento de datos,

sin sacarlas de su emplazamiento. Son básicamente de sólo lectura;

pero pueden ser usadas como de escritura "lenta" (Alrededor de 10 mS)

para el almacenamiento prolongado de nuevos datos.

Page 22: Memoria EPROM

MEMORIAS EEPROM

Las memorias EEPROM (electrically erasable and reprogrammable ROM) o E2PROMs como son llamadas habitualmente, 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.000 ciclos de borrado/escritura. Se caracterizan por usar una única tensión para su lectura y su escritura, coincidiendo con la tensión de + 5 v. de alimentación de un sistema digital. Este hecho las hace muy atractivas en muchas aplicaciones, pues permite alterar su contenido sin necesidad de extraer la memoria del sistema digital del que forma parte.

Borrado de una EEPROMEl proceso de borrado de una EEPROM es muy sencillo. En realidad las

memorias actuales incorporan en su interior los recursos necesarios para

borrar la propia memoria eléctricamente. Durante el proceso de grabado, la

propia memoria realiza el borrado previo del byte que va a grabar de forma

automática. No es necesaria ninguna tensión especial de borrado ni ningún

procedimiento.

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, su Vcc), ni dispone de terminales especiales de grabado como

en el caso de la EPROM. Su aspecto, desde el punto de vista de terminales y de

funcionalidad es similar al de una memoria SRAM (estática) equivalente. Es el

propio terminal de lectura/escritura el que hace las funciones de terminal de

grabación. 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).

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 carga necesarias durante el proceso de grabación y

funcionan con esta tensión.

Los fabricantes recomiendan seguir el siguiente procedimiento

(algoritmo) para grabar sus memorias:

1.Establecer la dirección a grabar en el bus de direcciones de la EEPROM

Page 23: Memoria EPROM

2.Establecer el dato (byte) a grabar en el bus de datos de la EEPROM

3.Activar la señal R/W# a 0 (escritura)

4.Leer el byte que se acaba de grabar. Para leer el byte basta con poner

la

señal R/W# a 1. Leer el bit MS del byte grabado.

5.Compararlo con el bit MS del byte original

6.Si son distintos, volver a 4. Si son iguales, salir.

Durante el proceso de grabación de un byte, mientras se está grabando

el dato, el bit de mayor peso (MS) tiene el valor complementado del valor real

del mismo, es decir, si realmente es un 1 en el byte que se está grabando,

mientras se realiza el proceso, valdrá 0. 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.

Page 24: Memoria EPROM

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. Desgraciadamente, la mayoría diseñadores del sistema no son

conscientes de los beneficios de EEPROM de serie. También, la

documentación de apoyo en databooks no es a menudo adecuada, se

consigue información incompleta o ambigua. Como resultado, el

diseñador del sistema selecciona a menudo una solución no-volátil que

no reúne sus requisitos, o, 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. La mayor parte estas opciones de

memoria pueden agruparse en dos categorías mayores: soluciones de

serie y las soluciones paralelas. Esta categoría discute los atributos de

cada uno, conductas, un análisis comparativo y en el proceso identifica

los beneficios y ventajas de EEPROMs De serie.

Características

El rasgo principal de este dispositivo de serie es, como su nombre

implica, la habilidad de comunicar a través de una interface de serie.

Esta memoria tiene numerosos beneficios:

1. Primero, la comunicación de serie es cumplida con un número

mínimo de I/O.

2. Las EEPROM de serie requieren sólo dos a cuatro líneas (dependiendo

del hardware y protocolo del software) para comunicación completa.

2.1. Dirección de la memoria

2.2. Entrada de datos

2.3. Rendimiento

2.4. Mando del dispositivo

3. Otro beneficio de comunicación de serie es tamaño del paquete. Que

Page 25: Memoria EPROM

va de las densidades de 16 a 256 Kbit; esta memoria está disponible

en un chip de 8 pines, esto es obviamente muy beneficioso para las

aplicaciones donde el tamaño del producto y el peso es un factor del

plan importante.

4. Consumo actual bajo. Debido a un número limitado de puertos de I/O

operando corrientes que están normalmente debajo de 3 mA.

5. El byte de programación, habilidad de borrar y programar al mismo

tiempo sin afectar el volumen del paquete.

6. La tasa del reloj esta entre 100KHz y 400KHz para dispositivos de dos

conductores.

Usos y aplicaciones

Las EEPROMs de serie realizan una variedad de funciones en el

mundo de las computadoras, en la industria, en las telecomunicaciones,

en el parque automotor y aplicaciones del consumidor:

1) el almacenamiento de memoria de seleccionadores del cauce o los

mandos analógicos (volumen, entonación, etc.)

2) almacenamiento de baja potencia, detector de fallas ó diagnostico

de errores.

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, VCRs, juegos de CD,

cámaras, radios, y telemandos.

fotocopiadoras, PCs, palm y COMPUTADORAS portátiles, unidades de

disco y organizadores.

Lectores de código de Barra INDUSTRIALES, puntos de venta, tarjetas

inteligentes, cerraduras de cajas fuertes, abridores de puerta de

garaje y equipos médicos.

En TELECOMUNICACIONES los teléfonos Celulares, inalámbricos,

Page 26: Memoria EPROM

facsímiles, módems, pagers, y receptores del satélite

En el parque AUTOMOTOR, el antibloqueo de los frenos, radios y

entrada del teclado.

Page 27: Memoria EPROM

MEMORIA 24XX256

 

Esta memoria es del tipo EEPROM - Electrical Erasable Programmable

Read Only Memory , que en la traducción sería memoria de solo lectura

programable y borrable de forma eléctrica, 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. Esto es una ventaja frente a las memorias EPROM que

se deben borrar con luz ultravioleta.

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.

El bus se controla mediante un master que se encarga de generar el

reloj ( SCL ), el control de acceso al bus y además genera las condiciones

de START y STOP mientras el 24lc25616B actua como slave.

El rango de Vcc 1.8-5.5 V .

Max frecuencia del clock 400 khz.

Máxima corriente en escitura 3mA a 5.5V.

Máxima corriente en lectura 400μA a 5.5 V.

La siguiente figura muestra una configuración típica de esta memoria :

Page 28: Memoria EPROM

 

Características del bus

Sólo puede iniciarse transferencia de datos cuando el bus está libre.

Durante la transferencia de datos estos deben permanecer estables

mientras la línea de reloj esté a nivel alto. Si se producen cambio se

interpretan como un Start o un Stop.

  Condiciones del protocolo

Bus libre - Las lineas de datos y de reloj estan a valor alto.

Start en la transferencia - Transición de alto a abajo mientras el reloj está

alto.

Stop en la transferencia - Transición de bajo a alto mientras el reloj está alto.

Validación de datos - La línea de datos presenta un valor válido cuando

después de la condición start, la línea se mantiene estable mientras el reloj

está alto. Los datos unicamente pueden cambiar mientras el reloj esté en

valor bajo. ( Un pulso por dato )

Cada transferencia es iniciada con un start y finalizada con un

stop. El número de bytes entre ambos está determinado por el master

y teoricamente no está limitado, a pesar de todo sólo los últimos 16

bytes se almacenan durante una operación de escritura. Cuando se

produce una sobreescritura se reemplazan los datos en un esquema

FIFO ( First In First Out )

Reconocimiento - Cada receptor, cuando se le direcciona, está

obligado a generar un ACK después de la recepción de cada byte. El

master debe generar un pulso de reloj extra que se asocia al ACK.

Page 29: Memoria EPROM

El ACK se da colocando un valor bajo sobre SDA durante el valor alto

del reloj.

La siguiente figura lo muestra cada fase :

 

Direccionamiento de un dispositivo y operación

Después del START se envia un byte de control, este consiste en cuatro

bits que indican la operación, tres bits indicando la página ( A2, A1, 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, un 0 - escritura ). Una vez

enviado el dispositivo responde con un ACK.

Operaciones de escritura

La escritura comienza por un START, direccionamiento del

dispositivo, dirección del byte y finalmente el byte a escribir, después de

Page 30: Memoria EPROM

cada elemento se añade un ACK por parte de la memoria como se indica

en la figura.

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, la memoria posee un contador interno que determina la dirección

actual, este se irá incrementando para cada byte.

La diferencia respecto a la escritura de un único byte estriba en el

hecho del señalizador del STOP, si este no aparece es que se debe

escribir sucesivos bytes. La figura muestra el caso.

Una escritua incluye un borrado del contenido de la dirección por

lo que esta es mucho más lenta que una lectura.

 

Operaciones de lectura

Page 31: Memoria EPROM

Las operaciones de lectura son 3, la lectura de la dirección

actual( almacenada por el contador de dirección ), lectura arbitraria en

cualquier posición de la memoria y finalemente la lectura secuencial.

Lectura actual

Toma la posición actual de la memoria, como puede verse en la

figura, después del dato no hay un ACK, ya que este va dirigido al

master.

Lectura arbitraria

En esta lectura se indica la posición a leer la información, hay que

destacar que primero se ha de enviar la dirección y despues se recibe el

dato, por eso existe un ACK después de la dirección.

 

Page 32: Memoria EPROM

Lectura secuencial

La lectura secuencial toma la dirección actual y va extrayendo los

datos uno detrás del otro, 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 bytes.

 

Descripcion de los pines.

AO, A1,A2 son los pines de entrada, la cual es usada por el

24C256 para multiples operaciones. Los niveles de entrada son

comparados con los bits correspondientes en la dirección del

esclavo. El chip selecciona si la comparación es verdad.

SDA Data serial. Es un pin bidireccional (entrada y salida de

data). 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.). SDA puede estar habilitado solo cuando el pin

SCL esta en nivel bajo. La cual puede trabajar en dos condiciones

START o STOP.

SCL SERIAL CLOCK. Sincroniza la transferencia de datos del

dispositivo.

WP. Es de selección de escritura y lectura va conectado a tierra

o ha Vcc. Puede leer o escribir desde 0000- hasta 7FFF.

Page 33: Memoria EPROM

Diagrama de bloque

Page 34: Memoria EPROM
Page 35: Memoria EPROM
Page 36: Memoria EPROM
Page 37: Memoria EPROM
Page 38: Memoria EPROM
Page 39: Memoria EPROM
Page 40: Memoria EPROM
Page 41: Memoria EPROM
Page 42: Memoria EPROM