Logo Studenta

I-C-E--64-12

¡Este material tiene más páginas!

Vista previa del material en texto

INSTITUTO POLITÉCNICO NACIONAL 
ESCUELA SUPERIOR DE INGENIERÍA MECÁNICA Y 
ELÉCTRICA CULHUACAN 
INGENIERÍA EN COMUNICACIONES Y ELECTRÓNICA 
 
 
 
 
Programador de tarjetas EEPROM para su reutilización y 
disminución de impacto ambiental 
 
 
TESIS 
QUE PARA OBTENER EL TÍTULO DE 
INGENIERO EN COMUNICACIONES Y ELECTRÓNICA 
PRESENTA 
 
 
C. Alemán Cruz David 
 
 
ASESORES 
 
Dr. Leobardo Hernández González 
Lic. Mimí Chantal Escobar Zamorano 
 
 
México D.F. Enero 2012 
 
 
INSTITUTO POLITÉCNICO NACIONAL 
ESCUELA SUPERIOR DE INGENIERÍA MECÁNICA Y ELÉCTRICA 
UNIDAD CULHUACAN 
 
 
TESIS INDIVIDUAL 
 
 
Que como prueba escrita de su Examen Profesional para obtener el Título de Ingeniero en Comunicaciones 
y Electrónica, deberá desarrollar el C.: 
 
DAVID ALEMAN CRUZ 
 
 
“PROGRAMADOR DE TARJETAS EEPROM PARA SU REUTILIZACION Y DISMINUCION DE IMPACTO 
AMBIENTAL” 
 
 
A mediados de los años 90 y debido al avance de sistemas electrónicos embebidos, se logro un gran 
desarrollo tecnológico en la fabricación de memorias tipo flash altamente seguras lo que genero el 
uso masivo de este tipo de tarjetas como medios electrónicos de recarga con alta seguridad. Un 
impacto negativo de este avance tecnológico. Es la generación de tarjetas utilizadas que terminan 
generalmente en la basura con un alto impacto al medio ambiente. El desarrollo de un sistema 
electrónico de recarga de tarjetas EEPROM de bajo costo, permitirá reutilizar las tarjetas usadas 
como soporte de aplicaciones secundarias diferentes a las que fueron inicialmente fabricadas, 
permitiendo disminuir el impacto negativo al medio ambiente en cuanto a basura industrial. El 
desarrollo y comprensión de este tipo de tecnología permitirá a los estudiantes de ingeniería en 
comunicaciones y electrónica una mayor competencia en su posible ámbito de desarrollo 
profesional. 
 
CAPITULADO 
 
 
CAPITULO 1 Introducción a Memorias EEPROM 
CAPITULO 2 Programador de tarjetas EEPROM 
CAPITULO 3 Principio de funcionamiento de tarjetas EEPROM 
CAPITULO 4 Prototipo experimental y pruebas 
 Conclusiones 
 Biografía 
 
México D. F., a 30 de Octubre del 2012 
 
 
 
 PRIMER ASESOR: SEGUNDO ASESOR: 
 
 
 
 DR. LEOBARDO HERNANDEZ GONZALEZ M. en C. MIMI CHANTAL ESCOBAR ZAMORANO 
 
 
 Vo. Bo. APROBADO 
 
 
 
 M. en C. ANTONIO ROMERO ROJANO M. en C. HECTOR BECERRIL MENDOZA 
 JEFE DE LA CARRERA DE I.C.E. SUBDIRECTOR ACADÉMICO 
 
 
 
ii 
 
 
Dedicatoria 
 
 
 
 
 
 
 
 
 
 
 
A mis padres por ser el pilar fundamental en todo lo que soy, en toda mi educación, tanto 
académica, como de la vida, por su incondicional apoyo perfectamente mantenido a través del 
tiempo. 
 
Todo este trabajo ha sido posible gracias a ellos. 
 
A mi maestro, el Dr. Leobardo Hernández González por su gran apoyo y motivación para la 
culminación de mis estudios profesionales y para la elaboración de esta tesis; a la Lic. Mimí 
Escobar por su apoyo ofrecido en este trabajo y a Dios por haberme permitido llegar hasta este 
punto y haberme dado salud para lograr mis objetivos, además de su infinita bondad y amor. 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
JUSTIFICACION 
 
A mediados de los años 90´y debido al avance de sistemas electrónicos embebidos, se logro 
un gran desarrollo tecnológico en la fabricación de memorias tipo flash altamente seguras, lo que 
genero el uso masivo de este tipo de tarjetas como medios electrónicos de recarga con alta 
seguridad. Un impacto negativo de este avance tecnológico, es la generación de tarjetas utilizadas 
que terminan generalmente en la basura con un alto impacto al medio ambiente. El desarrollo de un 
sistema electrónico de recarga de tarjetas EEPROM de bajo costo, permitirá reutilizar las tarjetas 
usadas como soporte de aplicaciones secundarias diferentes a las que fueron inicialmente 
fabricadas, permitiendo disminuir el impacto negativo al medio ambiente en cuanto a basura 
industrial. El desarrollo y comprensión de este tipo de tecnología permitirá a los estudiantes de 
ingeniería en comunicaciones y electrónica una mayor competencia en su posible ámbito de 
desarrollo profesional. 
 
 
 
 
 
 
2 
 
ÍNDICE 
 
Capítulo 1. Introducción a Memorias EEPROM 
 
1
1.1 
Memorias programables…………………………………............ 
1
11 
1
1.2 
Tipos de memorias programables……………….…………........ 
1
12 
1
1.3 
Memoria EEPROM………………….………….………………. 
1
16 
1
1.4 
Historia………………………………………….………………. 
1
18 
1
1.5 
Cualidades……….………………………………...……………. 
1
18 
1
1.6 
Ventajas……………………………………..…..…………......... 
1
18 
1
1.7 
Arquitectura………………………….……….……….……....... 
1
19 
1
1.8 
Descripción…………………………….…….………….……… 
2
20 
1
1.9 
Característica principal………………..…………….………….. 
1
20 
1
1.10 
Limitaciones…………………………………….…….………… 
1
21 
 
 
 
 
 
 
 
3 
 
Capítulo 2. Programador de tarjetas EEPROM 
2
2.1 
 
Introducción………………………………………………..…....... 
2
23 
2
2.2 
 
Tarjetas EEPROM……………………………………...………..... 
2
23 
2
2.3 
Método de programación……………………….……..……….…. 
2
25 
2
2.4 
Características de un display………………………………….…... 
2
27 
2
2.5 
Interfaz y hardware de un display…………………………….…... 
3
34 
2
2.6 
Emulador……………….……….……………………….…........... 
3
40 
2
2.7 
Diagrama a bloques del programador……………………….......... 
3
41 
2
2.8 
Diagrama esquemático del programador…………………….…… 
3
41 
 
Capítulo 3. Principio de funcionamiento de tarjetas EEPROM 
 
3
3.1 
Introducción……………………………………………………….. 
4
43 
3
3.2 
Funcionamiento de tarjetas para 256 Bytes.………………………. 
4
43 
3
3.3 
Funcionamiento de tarjetas para128 Bytes...……………………… 
4
51 
 
 
 
 
 
4 
 
Capítulo 4. Prototipo experimental y pruebas 
 
4
4.1 
Construcción de un lector de tarjetas EEPROM.............................. 
5
57 
4
4.2 
Algoritmo de programación…….....……………………..…......... 
5
58 
4
4.3 
Mapeo de Tarjetas…………………...………………………...…. 
6
61 
4
4.4 
Circuito para programación de Tarjetas EEPROM…...…….......... 
7
69 
Conclusiones………………………………………................................. 
7
72 
Recomendaciones…………....……………………………..................... 
7
73 
Bibliografía……………………………………………………………. 
7
74 
Anexos…………………………………………………………………. 
8
75 
 
 
 
 
 
 
 
 
 
 
 
5 
 
LISTADO DE FIGURAS 
 
Capítulo 1. Introducción a Memorias EEPROM 
 
1.1 Tipo de memorias programables…………………………………… 12 
1.2 Vista de una ventana de una EPROM…………………………….. 14 
1.3 Celda de memoria de una EPROM………………………………… 15 
1.4 Diagrama a bloques de una memoria EEPROM………………….. 17 
1.5 Arquitectura de la memoria EEPROM.………………………….... 19 
 
 
Capítulo 2. Programador de tarjetas EEPROM 
 
2.1 Diagrama chip tarjeta EEPROM……………...…………………..... 23 
2.2 Diagrama de tiempo de las Señales...………………………..…...... 25 
2.3 Técnicas de programación…………………………………...…….. 25 
2.4 Realización física del “1” y del “0” Lógico………………………. 26 
2.5 Aspecto físico de un LCD………………………………………… 27 
2.6 Capacidad de visualización de caracteres del display…………… 27 
2.7 Matriz de representación de caracteres, representación del carácter A y de un 
carácter definido por el usuario…………………………….. 28 
2.8 Display virtual y display real………………………………………. 29 
2.9 Posición del display real respeto al virtual cuando se inicializa el 
LCD……………………………………………………………………. 30 
2.10 Mapa de memoria de la DD RAM y sus posiciones en el display 
virtual…………………………………………………………………... 31 
2.11 Mapa de memoria de la CG RAM……………………………….. 32 
6 
 
2.12 Carácter definido por el usuario y los valores a almacenar en la CG 
RAM………………………………………………………………. 33 
2.13 Valores a almacenar en la CG RAM para definir en el carácter0... 33 
2.14 Asignación de pines del LCD…………………………………….. 34 
2.15 Interfaz del LCD con un sistema de control……………………… 35 
2.16 Conexión del LCD utilizando un bus de 8 bits y un bus de 4 bits... 36 
2.17 control del contraste en el LCD…………………………………... 37 
2.18 Cronograma del LCD ..…………………………………………… 38 
2.19 Cronogramas correspondientes a la operación de escribir el dato $41 
(Carácter ‘A’) en el display utilizando un bus de datos de 8 y 4 
bits……………………………………………………………………… 39 
2.20 Diagrama a Bloques del Programador EPROM…………………. 41 
2.21 Forma Esquemática del Programador de tarjetas 
EEPROM……………………………………………………………… 41 
 
Capitulo 3. Principio de funcionamiento de tarjetas EEPROM 
 
3.1 Distribución de Pines de tarjetas EEPROM……………………….. 44 
3.2 Interfaz entre el Chip y el Teléfono……………………………….. 47 
3.3 Interfaz entre en Chip y el Teléfono para tarjetas que no requieren tensión 
Vpp...…………………………………………………………... 
47 
3.4 Mapa de tarjetas de128 Bytes…………………….……………….. 51 
3.5 Lectura de Datos…………………………………………………… 53 
3.6 Escritura de Datos…………………………………………………. 54 
3.7 Borrado de Datos…………………………………………………... 55 
 
 
 
7 
 
Capítulo 4. Prototipo experimental y pruebas 
 
4.1 Lector de tarjetas EEPROM………………………………....…….. 57 
4.2 Foto lector de Tarjetas EEPROM………………………...……….. 58 
4.3 Instalación de controladores Sistema Operativo Windows NT…… 59 
4.4 Controladores para Sistema Operativo Windows 95/98….............. 59 
4.5 Error cuando no están instalados correctamente los controladores.. 60 
4.6 Ejecución de programa de manera correcta………………………... 60 
4.7 Mapeo de Tarjeta con $30 de crédito………………………………. 61 
4.8 Mapeo de Tarjeta con $27 de crédito………………………………. 63 
4.9 Mapeo de Tarjeta con $24 de crédito………………………………. 63 
4.10 Mapeo de Tarjeta con $21 de crédito……………………………... 64 
4.11 Mapeo de Tarjeta con $18 de crédito……………………………... 64 
4.12 Mapeo de Tarjeta con $15 de crédito……………………………... 65 
4.13 Mapeo de Tarjeta con $12 de crédito……………………………... 65 
4.14 Mapeo de Tarjeta con $9 de crédito………………………………. 66 
4.15 Mapeo de Tarjeta con $6 de crédito………………………………. 66 
4.16 Mapeo de Tarjeta con $3 de crédito………………………………. 67 
4.17 Mapeo de Tarjeta con $0 de crédito………………………………. 67 
4.18 Circuito para recarga de tarjetas EEPROM………………………. 68 
4.19 Foto circuito para recarga de tarjetas EEPROM…………………. 70 
 
 
 
 
 
8 
 
LISTADO DE TABLAS 
 
Capítulo 1. Introducción a Memorias EEPROM 
 
1.1 Características de las memorias EEPROM…………………........... 20 
 
Capítulo 2. Programador de tarjetas EEPROM 
 
2.1 Código asociado a cada carácter imprimible por el display........… 29 
2.2 Manera en la que trabaja el bus de control……………………….. 37 
 
Capítulo 3. Principio de funcionamiento de tarjetas EEPROM 
 
3.1 Distancia de terminales en formato ISO………………………….. 44 
3.2 Funcionamiento de cada terminal de Chip.………………………... 45 
3.3 Significado de cada Byte de tarjetas de 256 Bytes...………………. 48 
3.4 Descripción de pines para tarjetas de 128 Bytes….....……………. 51 
3.5 Mapa de memoria de tarjetas de 128 Bytes……………...………… 52 
 
Capítulo 4. Prototipo experimental y pruebas 
 
4.1 Decremento de crédito de una tarjeta EEPROM…………………... 68 
 
 
 
 
 
 
9 
 
RESUMEN 
 
 
 
El presente trabajo trata del diseño de un grabador de tarjetas EEPROM de bajo 
costo, mismas que podrán ser reutilizadas en aplicaciones secundarias diferentes a las que 
fueron diseñadas inicialmente, se analizará el principio de codificación de como la 
información es guardada en la matriz de almacenamiento, lo anterior permitirá realizar el 
algoritmo de lectura y escritura apropiado para su reutilización una vez que estas tarjetas 
son desechadas. 
El Capítulo I trata acerca de la evolución, tipos, cualidades y ventajas de las 
memorias EEPROM, se detalla también la arquitectura y se describe el principio de 
funcionamiento de este tipo de memorias 
El Capítulo II se presenta la metodología de diseño para realizar un programador de 
tarjetas EEPROM, se presentan las limitaciones y ventajas obtenidas en esta parte de la 
tesis. 
En el Capítulo III analiza el funcionamiento a partir de un prototipo experimental 
para los dos tipos de tarjetas EEPROM mas utilizadas: 128 y 256 Bytes. 
Finalmente en el Capítulo IV se muestran los diferentes resultados obtenidos, que se 
realizaron en diferentes pruebas. 
Se anexan las conclusiones y recomendaciones para este tipo de desarrollo 
tecnológico. 
 
 
 
10 
 
 
 
 
 
 
 
 
 
 
CAPITULO 1 
 
 
Introducción a Memorias EEPROM 
 
 
 
 
 
11 
 
1.1 Memorias programables 
Las computadoras y otros tipos de sistemas digitales requieren el almacenamiento 
permanente o temporal de un gran número de datos binarios. Los sistemas basados en 
microprocesadores necesitan de la memoria para almacenar los programas y datos 
generados durante el procesamiento y disponer de ellos cuando sea necesario. 
Las modernas técnicas de circuitos integrados permiten combinar miles e incluso 
millones de puertas dentro de un solo encapsulado. Esto ha llevado a la fabricación de 
diseños más complejos como los dispositivos lógicos programables, memorias y 
microprocesadores, que proporcionan dentro de un solo chip circuitos que requieren gran 
cantidad de componentes discretos. 
Las memorias son dispositivos de almacenamiento de datos binarios de largo o 
corto plazo. La memoria es un componente fundamental de las computadoras digitales y 
está presente en gran parte de los sistemas digitales. La memoria de acceso aleatorio (RAM, 
random access memory) almacena datos temporalmente, la memoria de sólo lectura (ROM, 
Read only memory) los guarda de manera permanente. La ROM forma parte del grupo de 
componentes llamados dispositivos lógicos programables (PLD, programmable logic 
devices) y aunque esta es su tarea fundamental (más del 90 % de las memorias se dedican a 
este fin) también se pueden utilizar para la implementación de circuitos combinacionales y 
pueden sustituir la mayor parte de la lógica de un sistema. 
Un dispositivo lógico programable es un chip LSI (Large Scale Integration) que 
contiene una estructura de circuito “regular”, pero que permite al diseñador adecuarlo para 
una aplicación específica. Cuando un PLD típico deja la fábrica como circuito integrado, 
aún no está listo para una función específica, sino que debe ser programado por el usuario 
para que realice la función requerida en una aplicación particular. Los chips con la mayor 
funcionalidad por unidad de área han sido los chips de memoria, que contienen arreglos 
rectangulares de celdas de memoria. Uno de estos PLD es el chip “de memoria de sólo 
lectura”. 
En una primera clasificación, se puede distinguir entre memorias de 
almacenamiento masivo, caracterizadas por ser memorias baratas y lentas, y memorias 
semiconductoras o memorias de estado sólido, más caras y rápidas. En las primeras, la 
prioridad es disponer de una gran capacidad de almacenamiento, como ocurre en los discos 
duros, en tanto que en las segundas, la prioridad es disponer de velocidades de acceso 
rápidas compatibles con la mayor capacidad de almacenamiento posible. Que son las 
habitualmente utilizadas como memorias de almacenamiento de programa y de datos en la 
mayoría de las aplicaciones. 
Se puede considerar una memoria como un conjunto de “M” registros con “N” bits 
en uno de ellos. Estos registros ocupan las posiciones desde el valor 0 hasta M-1. Para 
acceder a cada registro es necesaria una lógica de selección. En general, para cada registro 
se pueden realizar procesos de lectura y de escritura. Para realizar todas estas operaciones 
son necesarias las siguientes terminales: 
 
 
12 
 
 Terminales de datos (de entrada y de salida) 
 Terminales de direcciones, son necesarios m, de tal forma de 2m=M 
 Terminales de control. Son los que permiten especificar si se desea realizar una 
operación de escritura ode lectura, seleccionar el dispositivo. 
 CS (Chip select): Es el terminal de selección de chip (habitualmente se activa con 
nivel bajo. 
 R/W (Read/Write): Selecciona el modo de operación (lectura o escritura) sobre la 
 memoria. habitualmente con valor bajo ese activa el modo de escritura. 
 OE (Output Enable). Controla el estado de alta impedancia de los terminales de 
salida del dispositivo. 
 
1.2 Tipos de memorias programables 
 
En la Figura 1.1 se muestran los principales tipos de memoria y su descripción, se 
presentan de acuerdo a desarrollo y utilización cronológica en la industria de la electrónica. 
Para una mejor comprensión de cada uno de estos tipos de memoria se procede a dar un 
pequeño bosquejo técnico. 
 
Siglas Descripción 
ROM Memoria de solo lectura 
PROM Memoria de solo lectura programable 
EPROM Memoria de solo lectura programable y borrable 
EEPROM Memoria de solo lectura eléctricamente programable y borrable 
Figura 1.1 Tipo de memorias programables 
 
ROM (READ ONLY MEMORY) 
 
Es una memoria de sólo lectura que se programan mediante máscaras. Es decir, el 
contenido de las celdas de memoria se almacena durante el proceso de fabricación para 
mantenerse después de forma irrevocable; por lo tanto la escritura de este tipo de memorias 
ocurre una sola vez y queda grabado su contenido aunque se le retire la energía. 
Se usa para almacenar información vital para el funcionamiento del sistema: en la 
gestión del proceso de arranque, el chequeo inicial del sistema, carga del sistema operativo 
y diversas rutinas de control de dispositivos de entrada/salida suelen realizar las tareas 
encargadas a los programas grabados en ROM. Estos programas forman la llamada BIOS 
(Basic Input Output System). Junto a la BIOS se encuentra el chip de CMOS donde se 
almacenan los valores que determinan la configuración de hardware del sistema, como 
tipos de unidades, parámetros de los discos duros, fecha y hora del sistema. etc. Esta 
13 
 
información no se pierde al apagar la computadora. Estos valores se pueden modificar por 
medio del SETUP. 
La memoria ROM constituye lo que se ha venido llamando como el Firmware, es 
decir, el software metido físicamente en hardware. De cara a los fines del usuario es una 
memoria que no sirve para la operación de su programa, sólo le aporta mayores 
funcionalidades (información) del equipo. 
Recordando cómo se fabrican los circuitos integrados, se entenderá de donde viene 
el nombre. Estos se fabrican en obleas (placas de silicio) que contienen varias decenas de 
chips. Estas obleas se fabrican a partir de procesos fotoquímicos, donde se impregnan capas 
de silicio y oxido de silicio, y según convenga, se erosionan al exponerlos a la luz. Como 
no todos los puntos han de ser erosionados, se sitúa entre la luz y la oblea una mascara con 
agujeros, de manera que donde deba incidir la luz, esta pasará. Con varios procesos 
similares pero más complicados se consigue fabricar los transistores y diodos 
micrométricos que componen un chip. El elevado costo del diseño de la máscara sólo hace 
aconsejable el empleo de los microcontroladores con este tipo de memoria cuando se 
precisan cantidades superiores a varios miles de unidades. 
Las PCs vienen con una cantidad fija de ROM, donde se localizan los programas de 
la BIOS, que contienen los programas y los datos necesarios para activar y hacer funcionar 
la PC y sus periféricos. 
La ventaja de tener los programas fundamentales de la computadora almacenados 
en la ROM, es que están implementados en el interior del computador y no hay necesidad 
de cargarlos en forma externa. Debido a que están siempre residentes, los programas en 
ROM son muy a menudo los cimientos sobre los que se construye el resto de los programas 
(incluyendo el DOS). 
Estas memorias, cuyo nombre procede de las iniciales de Read Only Memory son 
solo de lectura. Dentro de un proceso de elaboración de datos de una computadora, no es 
posible grabar ningún dato en las memorias ROM. Son memorias perfectas para guardar 
microprogramas, sistemas operativos, tablas de conversión, generación de caracteres etc. 
 
MEMORIA PROM (PROGRAMMABLE READ ONLY MEMORY) 
 
Una alternativa para proyectos pequeños es el uso de una de las memorias de sólo 
lectura programables o PROM (programmable read only memories), memoria basada en 
semiconductores que contiene instrucciones o datos. Éstas existen en muchas variantes, 
pero todas permiten que el usuario programe el dispositivo por si mismo, ahorrándose el 
alto costo de la producción de la máscara. En la PROM los contenidos pueden ser leídos 
pero no modificados por un programa de usuario. Sus contenidos no se construyen, como la 
ROM, directamente en el procesador cuando éste se fabrica, sino que se crean por medio de 
un tipo especial de “programación”, ya sea por el fabricante, o por especialistas técnicos de 
programación del usuario. El proceso de programación es destructivo: una vez grabada, es 
como si fuese una ROM normal. 
14 
 
Las operaciones muy importantes o largas que se habían estado ejecutando mediante 
programas, se pueden convertir en microprogramas y grabarse permanentemente en una 
pastilla de memoria programable sólo de lectura. Una vez que están en forma de circuitos 
electrónicos, estas tareas se pueden realizar casi siempre en una fracción del tiempo que 
requerían antes. La flexibilidad adicional que se obtiene con la PROM puede convertirse en 
una desventaja si en esta se programa un error que no se puede corregir. Para superar esta 
desventaja, se desarrolló la EPROM, o memoria de solo lectura reprogramable. 
Las prestaciones de las memorias PROM son similares a las anteriores, con la única 
salvedad del proceso de programación. La escritura de la memoria PROM tiene lugar 
fundiendo los fusibles necesarios por lo que la memoria PROM solo puede ser programada 
una vez. Ahora la hace el usuario usando un equipo programador y, además, se rompe con 
la dependencia de la fábrica y los enormes costes de las máscaras. 
 
MEMORIA EPROM (ERASABLE PROGRAMMABLE READ-ONLY 
MEMORY) 
 
Las EPROM se programan mediante impulsos eléctricos y su contenido se borra 
exponiéndolas a la luz ultravioleta (de ahí la ventanita que suelen incorporar este tipo de 
circuitos), de manera tal que estos rayos atraen los elementos fotosensibles, modificando su 
estado, ver Figura 1.2. 
 
 
 
 
 
Figura 1.2 Vista de la ventana de una EPROM 
Programación de una EPROM 
Las EPROM se programan insertando el chip en un programador de EPROM y 
aplicando en un pin especial de la memoria una tensión entre 10 y 25 Voltios durante 
aproximadamente 50 ms según el dispositivo, al mismo tiempo se direcciona la posición de 
memoria y se pone la información a las entradas de datos. Este proceso puede tardar varios 
minutos dependiendo de la capacidad de memoria. 
La memoria EPROM, se compone de un arreglo de transistores MOSFET de Canal 
N de compuerta aislada. En la Figura 1.3 se observa el transistor funcionando como celda 
de memoria en una EPROM. 
15 
 
Cada transistor tiene una compuerta flotante de SiO2 (Oxido de Silicio sin conexión 
eléctrica) que en estado normal se encuentra apagado y almacena un “1” lógico. Durante la 
programación, al aplicar una tensión (10 a 25V) la región de la compuerta queda cargada 
eléctricamente, haciendo que el transistor se encienda, almacenando de esta forma un “0” 
lógico. Este dato queda almacenado de forma permanente, sin necesidad de mantener la 
tensión en la compuerta ya que la carga eléctrica en la compuerta puede permanecer por un 
periodo aproximado de 10 años. 
Fila
Compuerta aislada
Columnas
VDD
 
Figura 1.3 Celda de memoria de una EPROM 
 
Las EPROMs también emplean transistores de puerta dual o FAMOS (Floating Gate 
Avalanche-Injection Metal-Oxide Semiconductor) de cargas almacenadas. 
Estos transistores son similares a los transistoresde efecto de campo canal-P 
(FETs), pero tienen dos compuertas. La compuerta interior o flotante esta completamente 
rodeada por una capa aislante de dióxido de silicio; la compuerta superior o compuerta de 
control es la efectivamente conectada a la circuitería externa. 
Funcionamiento de una EPROM 
Una vez grabada una EPROM con la información pertinente, la memoria es 
instalada en el sistema correspondiente donde será utilizada como dispositivo de lectura 
solamente. Eventualmente, ante la necesidad de realizar alguna modificación en la 
información contenida o bien para ser utilizada en otra aplicación, la EPROM es retirada 
del sistema, borrada mediante la exposición a luz ultravioleta con una longitud de onda de 
2537 Angström (es una unidad de longitud empleada principalmente para expresar 
longitudes de onda, distancias moleculares y atómicas, etc. Se representa por la letra sueca 
Å. 1A = 10
-12
 m), programada con los nuevos datos, y vuelta a instalar para volver a 
comportarse como una memoria de lectura solamente. Por esa exposición para su borrado 
es que es encapsulada con una ventana transparente de cuarzo sobre la pastilla o de la 
EPROM. 
http://es.wikipedia.org/wiki/Longitud
http://es.wikipedia.org/wiki/Longitud_de_onda
http://es.wikipedia.org/wiki/%C3%85_%28letra%29
16 
 
Es pertinente aclarar que una EPROM no puede ser borrada parcial o 
selectivamente; de ahí que por más pequeña que fuese la eventual modificación a realizar 
en su contenido, inevitablemente se deberá borrar y reprogramar en su totalidad. 
Los tiempos medios de borrado de una EPROM, por exposición a la luz ultravioleta, 
oscilan entre 10 y 30 minutos. 
Con el advenimiento de nuevas tecnologías para la fabricación de circuitos 
integrados se pueden emplear métodos eléctricos de borrado. Estas EEPROM pueden ser 
borradas sin necesidad de extraerlas de la tarjeta del circuito. Este tipo de EEPROM suelen 
ser denominadas RMM (Read Mostly Memories), memorias de casi-siempre lectura, ya que 
no suelen modificarse casi nunca, pues los tiempos de escritura son significativamente 
mayores que los de lectura. 
Entre las aplicaciones generales, se destacan las de manejo de sistemas 
microcontrolados. Todo sistema microcontrolado y/o microprocesado (se trate de una 
computadora personal o de una máquina expendedora de boletos para el autotransporte) se 
encontrará con cierta cantidad de memoria programable por el usuario (RAM), usualmente 
en la forma de dispositivos semiconductores contenidos en un circuito integrado (no olvidar 
que un relay biestable o un flip-flop también son medios de almacenamiento de 
información). 
Estos dispositivos semiconductores integrados están generalmente construidos en 
tecnología MOS (Metal-Oxide Semiconductor, Semiconductor de Oxido Metálico) o -más 
recientemente- CMOS (Complementary Metal-Oxide Semiconducto o Semiconductor de 
Oxido Metálico Complementario). Lamentablemente, estos dispositivos RAM presentan un 
inconveniente, que es, como ya se ha comentado, su volatibilidad. 
Dado que cualquier sistema microprocesado requiere de al menos un mínimo de 
memoria no volátil donde almacenar ya sea un sistema operativo, un programa de 
aplicación, un lenguaje intérprete, o una simple rutina de actualización, es necesario utilizar 
un dispositivo que preserve su información de manera al menos semi-permanente. Y aquí 
es donde comienzan a brillar las EEPROMs. 
 
1.3 EEPROM (Memoria de solo lectura eléctricamente borrable) 
La memoria EEPROM es programable y borrable eléctricamente y su nombre 
proviene de la sigla en inglés Electrical Erasable Programmable Read Only Memory. 
Actualmente estas memorias se construyen con transistores de tecnología MOS (Metal 
Oxide Silice) y MNOS (Metal Nitride-Oxide Silicon). 
Las celdas de memoria EEPROM son similares a las celdas EPROM y la diferencia 
básica se encuentra en la capa aislante alrededor de cada compuesta flotante, la cual es más 
delgada y no es fotosensible. 
Las memorias EEPROM son memorias no volátiles y eléctricamente borrables a 
nivel de bytes. La posibilidad de programar y borrar las memorias a nivel de bytes supone 
una gran flexibilidad, pero también una celda de memoria más compleja. Además del 
transistor de puerta flotante anterior, es preciso un segundo transistor de selección. El tener 
2 transistores por celda hace que las memorias EEPROM sean de baja densidad y mayor 
17 
 
costo. La programación requiere de tiempos que oscilan entre 157  s y 625  s por byte. 
Frente a las memorias EPROM, presenta la ventaja de permitir su borrado y programación 
en placa, aunque tienen mayor costo debido a sus dos transistores por celda. 
Estas memorias se presentan, en cuanto a la organización y asignación de 
terminales, como la PROM cuando están organizadas en palabras de 8 bits. Se programan 
de forma casi idéntica pero tienen la posibilidad de ser borradas eléctricamente. Esta 
característica permite que puedan ser programadas y borradas “en el circuito”. 
En cuanto a la forma de referenciar los circuitos, estas memorias suelen comenzar 
con el prefijo 28, de forma que la 2864 indica una memoria EEPROM de 64Kbytes, 
equivalente en cuanto a terminales y modo de operación de lectura a la PROM 2764. 
Una ventaja adicional de este tipo de memorias radica en que no necesitan de una 
alta tensión de grabado, con 5 voltios de la tensión de alimentación es suficiente. En la 
Figura 1.4 se muestra el proceso de habilitación para lectura y escritura. 
 
CE = CHIP ENABLE: Permite Activar el Circuito Integrado 
OE = OUTPUT ENABLE: Permite Activar La Salida Del Bus De Datos 
 
MODO OPERACION WE 
LECTURA 1 
ESCRITURA 0 
Figura 1.4 Diagrama a bloques de una memoria EEPROM 
 
 
 
 
 
 
BUS DE 
DATOS 
 
MEMORIA 
 
EEPROM 
OECE
WE
BUS DE 
DIRECCIONES 
18 
 
1.4 Historia 
La EEPROM es una modificación de la EPROM y fue diseñado por George 
Perlegos. Su desarrollo comenzó en 1978 cuando aún Perlegos era empleado de Intel. Sin 
embargo, la arquitectura de EEPROM solo se utilizaba dentro del diseño de las 
computadoras personales. 
Perlegos formo una nueva division llamada Seeq Intel Tecnología, esta diseñó el 
primer pleno funcionamiento de la EEPROM. Para eliminar la necesidad de programación 
externa, la empresa realizó una delgada capa de aislamiento, integrado un circuito oscilador 
y un condensador en el propio chip de memoria. Esto permitió hacer uso de la grabación 
por alto voltaje. Para configurar una EEPROM se aplica un campo eléctrico producido por 
una fuente de voltaje a las celdas marcadas como de modificación. 
 
1.5 Cualidades 
Las memorias de tipo EEPROM tienen como principal cualidad el permitir el 
almacenamiento y la sobre-escritura de datos por medio de los voltajes de operación de los 
circuitos electrónicos, además sostienen la información por muchos años sin fuente de 
alimentación. Podemos encontrar circuitos integrados de memorias EEPROM paralelas, 
compatibles pin a pin con circuitos con circuitos de memoria RAM o de memoria 
EPROM. Este tipo de memorias precisamente por ser de interfaz paralela, tiene más pines 
externos por medio de los cuales recibe y entrega los datos y permite el direccionamiento 
de las distintas posiciones de almacenamiento. Debido a esto, los circuitos integrados son 
de gran tamaño físico, impidiendo ser utilizados en aplicaciones que requieran tamaño 
reducido. 
 
1.6 Ventajas 
 La programación y el borrado pueden realizarse sin la necesidad de una fuente de 
luz UV y unidad programadora de PROM. 
 Las palabras almacenadas en memoria se pueden borrar de forma individual. 
 Las memorias EEPROM no requieren programador. 
 De manera individual se puede borrar y reprogramar eléctricamente grupos de 
caracteres o palabras en el arreglo de la memoria. 
 El tiempo de borrado total se reduce a 10ms en circuito donde su antepasado 
inmediato requería media hora bajoluz ultravioleta externa. 
 El tiempo de programación depende de un pulso por cada palabra de datos de 10 
ms, versus los 50 ms empleados por una ROM programable y borrable. 
 Se pueden re-escribir aproximadamente unas 1000 veces sin que se observen 
problemas para almacenar la información. 
 Para re-escribir no se necesita hacer un borrado previo. 
 
 
 
19 
 
1.7 Arquitectura 
Las arquitecturas generales pueden variar pero normalmente consisten en una o más 
matrices de puertas AND y OR para implementar funciones lógicas (Figura 1.5). Muchos 
dispositivos también contienen combinaciones de flip-flop´s y latche´s que pueden usarse 
como elementos de almacenamiento para entrada y salida de un dispositivo. Los 
dispositivos más complejos contienen macrocélulas. Las macrocélulas permiten al usuario 
configurar el tipo de entradas y salidas necesarias en el diseño 
Aunque el nombre no implica la lógica programable, las EEPROM, son de hecho 
lógicas. La arquitectura de la mayoría de las EEPROM consiste generalmente en un número 
fijo de compuertas tipo AND que alimenta una matriz programable de compuertas tipo OR. 
Se usan principalmente para decodificar las combinaciones de entrada para obtener 
funciones de salida. 
A
A
B
B
C
CA’ B’ C’
“AND”
“OR” 
PROGRAMABLE 
Figura 1.5 Arquitectura de la memoria EEPROM 
 
 
 
 
 
 
 
 
20 
 
1.8 Descripción 
Existen dos tipos de memoria EEPROM seriales, una de ellas es la serie 24LCXX, 
que corresponde a los dispositivos de comunicación serial de dos hilos y la serie 93LCXX 
que se comunica a través de tres hilos. Cada una de las memorias utiliza un protocolo de 
comunicación serial que depende de la acción a ejecutar, es decir, si se va a leer un dato, a 
escribir o se va a enviar una dirección. El programa que ejecuta el microcontrolador deberá 
seguir paso a paso la secuencia del protocolo dependiendo del tipo de memoria que se 
desea programar o leer. 
Si la memoria tiene más de 256 posiciones el direccionamiento se hace por medio 
de páginas, siendo las 256 direcciones la página 0 (cero), las posiciones 256 a 511 la página 
1 y así sucesivamente. 
 
1.9 Característica principal 
 Se pueden conectar fácilmente con microprocesadores o microcontroladores, 
algunas de estas memorias tienen terminales para realizar esta labor. 
 Transferencia de datos de manera serial, lo que permite prescindir de la 
memoria del microcontrolador, lo que posibilita dedicarlo a otras funciones. 
 El consumo de corriente es mucho menor que en las memorias que trabajan en 
paralelo. 
Un aspecto que podría significar una limitante para las memorias seriales es la 
velocidad de lectura, si se comparan con las EEPROM paralelas, aunque las velocidades 
que se logran son aceptables para la mayoría de las aplicaciones. 
Entre las diferencias que se pueden encontrar entre los dos tipos de memorias 
seriales, es que la de dos hilos usa bus IIC no siendo así para la de tres hilos que utilizan el 
protocoló I2C. La de tres hilos maneja datos de 8 a 16 bits, mientras que la de dos hilos 
maneja 8 bits; en la de dos hilos la protección contra escritura es por el hardware, mientras 
que en la de tres hilos se protege a través del software; la operación de la de tres hilos es de 
hasta 6 MHz y la de 2 hilos es de 100 KHz a 400 KHz con opción a 1 MHz; la de tres hilos 
tiene 4 terminales de comunicación, mientras que la de dos hilos tiene solamente dos pines. 
Tabla 1.1 Características de las memorias EEPROM 
Características de la 
memorias EEPROM 
Tipo de 
Bus 
Capacidad 
Manejo de 
Datos 
Protección 
contra escritura 
Velocidad de 
Operación 
N° de terminales 
designadas a la 
comunicación 
Memoria de 2 Hilos Bus IIC Solo 8 bits 
Se implementa 
mediante el 
hardware 
Entre 100 y 400 
KHz con opción a 
escalar a 1MHz 
2 Pines 
Memoria de 3 Hilos Bus I2C 
Entre 8 y 16 
bits 
Se implementa 
mediante 
software 
Hasta 6 MHz 4 Pines 
 
21 
 
1.10 Limitaciones 
Mientras que la EEPROM se puede reprogramar, el número de veces que puede ser 
alterado es limitado. Esta es la razón principal por la EEPROM chips son populares para 
almacenar sólo los datos de configuración, tales como el BIOS del equipo de código que no 
requiere la reprogramación frecuente. La capa aislante de óxido puede ser dañada por 
reescribir frecuentemente. Las EEPROM hoy en día pueden volver a escribir hasta un 
millón de veces. 
 
22 
 
 
 
 
 
 
CAPITULO 2 
 
 
Programador de tarjetas EEPROM 
 
 
 
 
 
 
23 
 
2.1 Introducción 
En la actualidad, está muy extendido el uso de las llamadas tarjetas programables a 
través de un chip interno. Esta denominación incluye varios tipos de tarjetas cuyas únicas 
características comunes son el tamaño (tipo tarjeta de crédito) y la inclusión de un chip en 
lugar de una banda magnética como medio para almacenar datos y de protección de 
información. Por lo demás, las tarjetas chip pueden estar destinadas a usos muy diversos, y 
los chips que utilizan pueden ir desde una simple EEPROM hasta sistemas basados en 
microcontroladores capaces de codificar, decodificar y almacenar datos con altos niveles de 
seguridad. 
Este capítulo trata de estudiar en forma específica el principio de funcionamiento 
electrónico de las tarjetas EEPROM a nivel teórico y práctico, con la finalidad de diseñar 
una tarjeta de programación. 
 
2.2 Tarjetas EEPROM 
Las tarjetas EEPROM más habituales contienen en su interior una memoria de 256 
bits, organizados en 256 direcciones de 1 bit. El direccionamiento lo realiza un circuito 
contador de 8 bits, de forma que cuando el contador está en la dirección n, se puede leer o 
escribir en la posición n. Para avanzar a la siguiente dirección, sólo hay que incrementar el 
impulso a la entrada del reloj del contador, y entonces, éste apuntará a la siguiente 
dirección, n + 1. 
Existe una entrada de reset que pone a cero el contador. Además, el contador de 
direcciones es cíclico, de forma que si está en la posición 20 y se quiere acceder a la 
posición 18, se debe de realizar primero un reset y aplicar después 18 pulsos de reloj, o 
bien no utilizar el reset y dar 254 pulsos de reloj. 
En la Figura 2.1 aparece la numeración de las terminales de un chip de tarjeta 
EEPROM estándar y el significado de cada terminal o contacto. 
VCC
R/W
Clock
Reset
Gnd
VPP
I/O
Fuse
 
Figura 2.1 Diagrama chip tarjeta EEPROM 
 
24 
 
Donde: 
VCC es la entrada de alimentación positiva, 5V 
 R/W Selecciona el modo de operación (Lectura o escritura) 
 Clock es la entrada de avance del contador de direcciones 
 Reset pone a cero el contador de direcciones 
 GND es la referencia de la alimentación 
 VPP es el voltaje de alimentación de programación (21V) 
 I/O Entrada y salida de datos 
 Fuse protege la zona de memoria protegida 
 
En la Figura 2.2 se visualiza el diagrama de tiempo de las señales para un ciclo de 
reset, de lectura o de escritura. 
Durante un reset, Vpp debe estar a +5V, el estado de Din es indiferente, y RST debe 
estar a cero. En estas condiciones, durante el flanco de bajada del CLK, se pone a cero el 
contador de direcciones interno. Para el resto de operaciones, la terminal RST debe estar a 
nivel alto. 
En estas condiciones, una vez realizado un reset, se tendrá en Dout el dato 
almacenado en la dirección 0 de la EEPROM. Si ahora se aplica un pulso de reloj, cuando 
CLK vuelve a estado bajo, se tendrá en Dout el dato de la dirección 1 de la EEPROM, y así 
sucesivamente, hasta llegar a 255, en que volvería a la dirección 0. 
Si durante un pulso de reloj Vpp está puesto a +21V, el estado de Din quedará 
almacenado en la dirección de la EEPROM que indicará el contador interno. A este 
respecto, es conveniente aclarar un par de cosas: una EEPROM en blanco, o virgen, tiene 
almacenadas en todas sus direcciones datos igual a cero. Se pueden convertir uno de esos 
datos en un1, pero jamás se podrá poner un cero donde había un 1. Por tanto, si durante un 
ciclo de escritura en Din hay un cero, el contenido de la EEPROM no variará. Por otro lado, 
la EEPROM de las tarjetas comerciales, tiene una zona “reservada”, en la que no se puede 
escribir. Esta zona ocupa las 96 primeras direcciones de la EEPROM, y ha sido escrita en 
fábrica y protegida fundiendo un fusible interno. 
En esta zona reservada, están almacenados datos acerca del fabricante, el tipo de 
tarjeta, la empresa para la que ha sido fabricada, valor de la tarjeta y el No de serie. El resto 
de direcciones suelen contener ceros, aunque en algunas tarjetas, algunas direcciones, 
normalmente de la 96 a la 105, o bien de la 246 a la 255, han sido puestas a 1 durante el 
control de calidad en fábrica. 
25 
 
Cuando una tarjeta es introducida en un lector, éste lee la zona reservada y 
comprueba si la tarjeta es de esa empresa y de qué valor es. Si la tarjeta es válida, va 
leyendo el resto de la tarjeta para averiguar hasta donde ha sido escrita y calcula cuánto le 
queda por gastar, el lector va poniendo a 1 las direcciones de la EEPROM y leyéndolas para 
verificar que han sido bien escritas, hasta llegar a una dirección determinada en que calcula 
que la tarjeta está completamente agotada. 
 
Figura 2.2. Diagrama de tiempo de las señales de lectura y escritura 
 
2.3 Método de programación de las EEPROM 
Para conseguir que la información que se desea grabar sea inalterable, se utilizan 
dos técnicas: por fundición de fusible o por fundición de unión (ver Figura2.3). 
 
 
 
 
 
 
 
Figura. 2.3 Técnicas de programación 
26 
 
La idea es básicamente la misma que las ideas ROM convencionales, pero en este 
caso todas las celdas tienen diodos, por lo cual la memoria viene programada de fábrica con 
todos 1. Cada diodo tiene conectado un fusible, cuya funcionalidad es similar a la que se 
puede ver en fuentes de alimentación o estabilizadores de tensión: cuando se produce una 
sobretensión, el fusible se quema y, por lo tanto, el circuito se abre. De esta manera, el 
diodo pierde contacto con el mundo exterior y el lector de memoria nunca sabe de su 
existencia, así que a esa celda la interpreta como un cero (Figura 2. 4) Por lo tanto para 
programar un chip de memoria EEPROM; con un dispositivo llamado programador, se les 
aplica a las celdas correspondientes una tensión superior a la que son capaces de soportar 
los fusibles, y así quedan definidos todos los bits de la memoria en cuestión. Como se 
puede ver, este tipo de memorias tiene una falla: no pueden ser reprogramadas. 
 
Figura 2.4. Realización física del “1” y del “0” Lógico 
La pastilla es insertada en un dispositivo que genera en las salidas de la ROM 
(usadas como entradas) los valores lógicos de cada palabra. Para cada posición, se genera 
un pulso de hasta 30V por la entrada Vpp=Vcc, que produce una circulación de corrientes 
que funden delgadas conexiones fusibles en serie con diodos o transistores que se quiere 
desconectar. Así se obtienen los ceros que deben resultar en las salidas, dado que el chip 
“virgen” viene con todos los diodos conectados. Este proceso dura pocos minutos. 
El proceso de programación de una EEPROM generalmente se realiza con un 
equipo especial llamado Grabador. Este equipo emplea un mecanismo de interruptores 
electrónicos controlados por software que permiten cargar las direcciones, los datos y 
genera los pulsos para fundir los fusibles del arreglo interno de la memoria. En la Figura 
(2.4) se indica de forma esquemática la función del programador. 
 
 
 
 
 
 
27 
 
2.4 Características de un display 
Aspecto físico, el LCD tiene un aspecto físico como el mostrado en la Figura 2.5. 
Está constituido por un circuito impreso en el que están integrados los controladores 
y las terminales para la conexión del display. Sobre el circuito impreso se encuentra el 
LCD , rodeado por una estructura metálica que lo protege. En total se pueden visualizar 2 
líneas de 16 caracteres cada una, es decir, 2x16=32 caracteres, como se muestra en la 
Figura 2.6. 
 
 
 
 
 
 
 
 
Figura 2.5 Aspecto físico de un LCD 
 
 
Figura 2.6 Capacidad de visualización de caracteres del Display 
 
A pesar de que el display solo puede visualizar 16 caracteres por línea, puede 
almacenar en total 40 por línea. Es el usuario el que especifica cuales de los 16 caracteres 
son los que se van a visualizar. 
 
Alimentación 
La tensión nominal de alimentación es de 5V, con un consumo menor de 5mA. 
 
 
28 
 
Los caracteres del LCD 
 
El LCD dispone de una matriz de 5x8 puntos para representar cada carácter. En 
total se pueden representar 256 caracteres diferentes. 240 caracteres están grabados dentro 
del LCD y representan las letras mayúsculas, minúsculas, signos de puntuación, números, 
etc. Existen 8 caracteres que pueden ser definidos por el usuario. En la Figura 2.7 se 
muestra gráficamente cómo es la matriz de representación de los caracteres. Se ha 
dibujado el carácter A y un carácter definido por el usuario. 
 
Figura 2.7 Matriz de representación de caracteres, representación del carácter A y de un 
carácter definido por el usuario 
 
En la Tabla 2.1 se muestran los caracteres más importantes que es capaz de 
imprimir el display. Todos los códigos están en hexadecimal. No se han representado los 
caracteres correspondientes a los códigos desde el $80 hasta el $FF, que corresponden a 
símbolos especiales. Los códigos comprendidos entre el 0 y el 7 están reservados para que 
el usuario los defina. 
 
 
 
 
 
 
 
 
29 
 
Tabla 2.1 Código asociado a cada carácter imprimible por el display 
 
La memoria del LCD 
 
El LCD dispone de dos tipos de memorias independientes: la DD RAM y la CG 
RAM 
 
DD RAM (Display Data Ram) 
En esta memoria se almacenan los caracteres que están siendo visualizados o que se 
encuentran en posiciones no visibles. El display almacena en esta memoria dos líneas de 40 
caracteres pero sólo se visualizan 2 líneas de 16 caracteres. Por ello la DD RAM tiene un 
tamaño de 2x40=80 bytes. 
Debido a esta peculiar disposición de la DD RAM se puede pensar en el display 
como un display virtual constituido por dos líneas de 40 caracteres cada una (Figura 2.8). 
La posición situada más a la izquierda de cada línea es la posición 1 y la situada más a la 
derecha es la posición 40. Para localizar los elementos dentro del display virtual se va a 
utilizar un par de coordenadas (x,y) donde x representa la posición horizontal (comprendida 
entre 1-40) e y representa la línea (1-2). 
 
Figura 2.8 Display virtual y display real 
30 
 
El display real es una ventana en la que se visualizan dos líneas de 16 caracteres. Es 
lo que el usuario está viendo. En el ejemplo de la Figura 2.9 se encuentra almacenado en la 
línea 1 del display virtual el mensaje: “ESTO ES UNA PRUEBA DE UN MENSAJE”. 
Sin embargo, en este ejemplo, el usuario sólo verá en el display el mensaje 
“PRUEBA DE UN MEN” que tiene exactamente 16 caracteres de longitud. Más adelante 
se verá cómo es posible ‘mover’ el display real para que se desplace a lo largo del display 
virtual. Tal y como se encuentra configurado el display real en la Figura 2.9, la posición 
(14,1) se corresponde con la letra P, la posición (15,1) con la letra R, ....., y la posición 
(29,1) con la letra N. Cuando se inicializa el LCD, el display real se sitúa en el extremo más 
izquierdo del display virtual, que se corresponde con los valores de x comprendidos entre 1 
y 16. 
En la Figura 2.9 se muestra la situación del display real respecto al virtual al 
inicializar el LCD. 
 
Figura 2.9 Posición del display real respeto al virtual cuando se inicializa el LCD 
 
En el ejemplo de la Figura 2.9, en la posición (2,1) se encuentra la letra E y en la 
posición (16,1) la letra U. 
31 
 
 
Figura 2.10 Mapa de memoria de la DD RAM y sus posicionesen el display virtual 
 
El mapa de memoria de la DD RAM se muestra en la Figura 2.10. Está constituido 
por dos bloques de 40 bytes. El primer bloque corresponde con los 40 caracteres de la 
línea 1 del display virtual. El segundo bloque con la segunda línea. En la figura se han 
representado las direcciones en hexadecimal. Así, las direcciones $00-$27 están asociadas 
a las posiciones (1,1)-(40,1) del display virtual y las direcciones $40-$67 a las posiciones 
(1,2)-(40,2). En el ejemplo, en la dirección $40 de la DD RAM se encuentra almacenado 
el carácter H, que corresponde con la posición (1,2) del display virtual. En la dirección 
$02 se encuentra el carácter S, posición (3,1) del display virtual. 
Las operaciones de escritura en el display, en realidad son operaciones de escritura 
en la memoria DD RAM. Según en la posición de esta memoria en la que se escriba el 
carácter, aparecerá en una posición u otra en el display real. Los caracteres enviados al 
display pueden ser visibles si se encuentran en posiciones que caen dentro del display real 
o pueden ser no visibles. En la Figura 2.9, las posiciones (1,1)-(16,1) y (1,2)-(16,2) son 
visibles. Todos los caracteres enviados a esas posiciones serán visibles. Si se envía un 
carácter a cualquiera de las otras posiciones no será visible. 
 
 
 
 
 
32 
 
LA CG RAM (Character Generator RAM) 
 
La CG RAM es la memoria que contiene los caracteres definibles por el usuario. 
Está formada por 64 posiciones, con direcciones $00-$3F. Cada posición es de 5 bits. 
La memoria está dividida en 8 bloques, correspondiendo cada bloque a un carácter 
definible por el usuario. Por ello el usuario puede definir como máximo 8 caracteres, cuyos 
códigos van del 0 al 7. En la Figura 2.11 se ha representado la CG RAM. Todas las 
direcciones están en hexadecimal. Como se representó en la Figura 3, cada carácter está 
constituido por una matriz de 5 columnas x 8 filas. Para definir un carácter y asignarle por 
ejemplo el código 0 habrá que almacenar en las posiciones $00-$07 los valores binarios de 
las 8 filas del carácter del usuario. Un bit con valor 1 representa un punto encendido. Un bit 
con valor 0 es un punto apagado. 
 
Figura 2.11 Mapa de memoria de la CG RAM 
 
En la Figura 2.12 se ha dibujado un carácter que se quiere definir. A la derecha del 
dibujo se encuentran los valores en binario y en hexadecimal que hay que almacenar en las 
posiciones de la CG RAM. Si se quiere que este carácter tenga asignado el código 0 habrá 
que almacenar el valor $0E en la posición $00, $01 y $02, el valor $04 en la $03 y el valor 
$11 en la posición $07, como se muestra en la Figura 2.13. 
33 
 
 
Figura 2.12 Carácter definido por el usuario y los valores a almacenar en la CG RAM 
 
Una vez definido el nuevo carácter, cada vez que se envié su código 
correspondiente al display, este se visualizará en el LCD. 
 
Figura 2.13 Valores a almacenar en la CG RAM para definir en el carácter 0 
 
 
 
 
 
 
 
 
 
34 
 
2.5 Interfaz y hardware de un LCD 
 
En la Figura 2.14 se puede observar la asignación de terminales físicas para el LCD 
a trabajar. 
 
 
Figura 2.14 Asignación de terminales del LCD 
 
En la Figura 2.15 aparecen las señales necesarias para el funcionamiento y control 
del display. Los datos se transmiten por un bus de datos de 8 bits de anchura (El display 
ofrece la posibilidad de trabajar con este bus multiplexado en dos grupos de 4 bits, se verá 
más adelante). Para el control del display son necesarios 3 bits: una señal de enable (E), 
una para indicar lectura/escritura (R/W) y otra para seleccionar uno de los dos registros 
internos (RS). Por ello, en el peor caso, el sistema de control del display necesitará utilizar 
8+3=11 bits. En el caso de utilizarse la tarjeta T6811 será necesario utilizar 2 puertos, por 
ejemplo el PUERTO C para los datos y el PUERTO B para el control. 
35 
 
 
Figura 2.15 Interfaz del LCD con un sistema de control 
 
El bus de datos 
 
El bus de datos del display se puede configurar para funcionar de dos formas 
diferentes. Bien como un bus de 8 bits o bien como un bus multiplexado de 4 bits. El 
utilizar el bus multiplexado de 4 bits es una opción muy útil para ahorrar bits en el sistema 
de control. En vez de utilizar 11 bits en total, se utilizan 7. Se ahorran bits pero se gana en 
complejidad del controlador, que tiene que multiplexar y demultiplexar los datos. Al 
utilizar un bus de 8 bits se logra que el controlador sea más sencillo pero se utilizan más 
bits. 
En la Figura 2.16 aparecen representados los dos tipos de bus. Cuando se utiliza un 
bus de 4 bits sólo se utilizan los pines D4-D7 del display dejándose D0-D3 sin conectar. La 
transferencia de la información se realiza de la siguiente manera: primero los 4 bits más 
significativos y luego los 4 menos significativos. 
 
36 
 
 
Figura 2.16 Conexión del LCD utilizando un bus de 8 bits y un bus de 4 bits 
 
El bus de control 
El bus de control está formado por 3 señales: RS, R/W y E. La señal E es la señal de 
validación de los datos. Cuando no se utiliza el display esta señal debe permanecer a 0. 
Sólo en las transferencias de información (lecturas o escrituras) es cuando se pone a nivel 1 
para validar los datos, pasando después de un tiempo a nivel 0. En la siguiente sección se 
explican detalladamente las temporizaciones. 
La señal R/W permite seleccionar si la operación que se va a realizar sobre el 
display es una lectura o una escritura. Cuando R/W=1 se realizan lecturas y cuando R/W =0 
escrituras. Lo normal siempre es realizar escrituras, no obstante, el display ofrece la 
posibilidad de poder leer los contenidos de la memoria CG RAM y DD RAM así como leer 
el estado interno del display (ocupado o disponible) y el contador de direcciones.. 
Con RS (Register Select) se selecciona el registro interno del display sobre el que se 
va a leer/escribir. El LCD dispone de dos registros internos: Registro de control y registro 
de datos. Ambos registros son de lectura y escritura. RS=0 selecciona el registro de control. 
RS=1 el registro de datos. 
 
 
 
37 
 
Tabla 2.2 Manera en la que trabaja el bus de control 
 REGISTRO DE CONTROL REGISTRO DE DATOS 
LECTURA 
Lectura de la bandera de ocupado 
(D7) y del contador de direcciones 
(D0-D6) 
Leer contenido de la memoria CG 
RAM o DD RAM 
ESCRITURA 
Ejecución de un comando interno: 
borrar display desplazar el display, 
mover el cursor 
Escribir en la CG RAM o DD RAM 
 
El control del contraste 
 
Para controlar el contraste hay que introducir por la terminal Vo una tensión entre 5 
y 0 voltios. La tensión típica es de 0.6 voltios. Normalmente se coloca un potenciómetro 
para poder ajustar en cada momento el contraste más adecuado. En la Figura 2.17 se 
muestra un esquema típico de control del contraste. 
 
 
 
Figura 2.17 Control del contraste en el LCD 
 
Temporización 
En la Figura 2.18 se han representado los cronogramas correspondientes a una 
operación de escritura y otra de lectura. Al controlar el display, los tiempos empleados 
deben ser siempre mayores que los mínimos indicados en la figura y menores que los 
máximos. A pesar de la aparente complejidad del cronograma, las operaciones de lectura y 
escritura son muy sencillas. En la Figura 2.18 se ha supuesto que las transmisiones de los 
datos se realizaban a 8 bits. 
38 
 
 
Figura 2.18 Cronogramas del LCD 
 
En la Figura 2.19 se muestran los cronogramas correspondientes a las operaciones 
más habituales: escritura de un carácter en el LCD. Se presenta el cronograma cuando se 
usa un bus de 8 bits y cuando se usa un bus multiplexado de 4 bits. Se ha supuesto que el 
carácter enviado es el $41 (La letra ‘A’).7 
 
39 
 
 
Figura 2.19 Cronogramas correspondientes a la operación de escribir el dato $41 (Carácter 
‘A’) en el display utilizando un bus de datos de 8 y 4 bits.Para el caso de 4 bits, primero se envían los 4 bits mas significativos y después los 4 
bits menos significativos. Los cronogramas de arriba se pueden expresar secuencialmente, 
describiendo las operaciones que tendría que realizar un microcontrolador para escribir el 
carácter A en el LCD 
 
 
 
 
 
 
 
 
 
40 
 
2.6 Emulador 
Lógicamente, para emular una tarjeta EEPROM se tendrá que realizar un circuito 
capaz de responder como una tarjeta real, pero si se quiere que sea reutilizable, deberá ser 
posible borrarla, es decir, hacer que siempre que se introduzca en un dispositivo de lectura, 
se comporte como una tarjeta nueva. 
Por tanto, el emulador a diseñar deberá responder a la lectura de los primeros 96 bits 
como lo haría una tarjeta real, y deberá permitir que se escriba y se lea en el resto, 
almacenando los valores escritos hasta que se requieran, o, al menos, durante el tiempo que 
dure su utilización. 
El emulador será diseñado de acuerdo con esta idea, es decir, con las siguientes 
especificaciones: debe responder en las primeras 96 direcciones (0 - 95) como una tarjeta 
estándar, y en el resto (96 - 255), debe responder con 0 mientras no se escriba otra cosa 
(como si fuera una tarjeta recién comprada), y cuando se escriba un 1 en una dirección, ese 
dato debe poder ser leído en sucesivas operaciones de lectura. Además, debe responder ante 
un ciclo de RESET como lo haría una tarjeta real, es decir, inicializando el contador de 
direcciones a 0, pero sin que se borre el contenido de dichas direcciones de memoria. 
 
Como primera aproximación, el diseño del emulador consta de los siguientes 
bloques: 
 
 Un circuito contador; se encargará de ir contabilizando como lo haría el contador 
interno de una tarjeta comercial, para que el circuito sepa cuál es la dirección en la 
que el dispositivo lector va a escribir o leer, y cuándo está en la zona reservada y 
cuándo no. El chip encargado de esta función es un CI4040. 
 
 Una ROM de 96 bits, conteniendo una copia exacta de los primeros 96 bits de la 
tarjeta que se quiere emular. La ROM más barata y que mejor se ajusta a estas 
características es el propio chip de una tarjeta comercial (puede ser usada, puesto 
que el contenido de esta zona reservada no varía de una tarjeta nueva a una gastada). 
 
 Una memoria RAM estática de, al menos, 160 bits; se encargará de almacenar los 
datos que vaya escribiendo el lector, como si fuera una EEPROM, pero con la 
diferencia de que puede ser borrada. Para esta función se ha elegido un chip de tipo 
4537, una RAM en tecnología CMOS de 256 bits. 
 
 Un decodificador de direcciones que asegure que en las primeras 96 direcciones 
funcione la ROM seleccionada y en el resto de la RAM. 
 
 
41 
 
2.7 Diagrama a Bloques del Programador 
 
En la Figura 2.20 se presentan el diagrama a bloques del programador EEPROM 
que será diseñado de acuerdo al tipo de LCD y de microntrolador a utilizar. 
Figura 2.20. Diagrama a bloques del programador EEPROM 
 
2.8 Diagrama Esquemático del Programador 
 
 
 
 
 
 
Figura. 2.21 Forma Esquemática del Programador de tarjetas EEPROM 
42 
 
 
 
 
 
 
CAPITULO 3 
______________________________ 
 
Principio de funcionamiento de tarjetas 
EEPROM 
 
_______________________________ 
 
 
 
 
43 
 
3.1 Introducción 
Una tarjeta tipo "chip" es, por definición, una memoria EEPROM de diferente 
capacidad cuyos datos pueden ser leídos y regrabados. Hay modelos más complejos, que 
incluyen zonas que no se pueden leer si no se proporciona una clave. Algunos modelos 
incluyen un microprocesador con sistema operativo propio (definido en el estándar 
ISO/IEC 7816). Se emplean tarjetas "chip" para gran cantidad de aplicaciones, desde 
control de sistemas de seguridad hasta habilitación de comunicaciones telefónicas, pasando 
por sistemas de automatización para decodificadores y ordenadores de control. Las tarjetas 
de teléfono pertenecen al primer modelo, pero no por ello son inseguras, simplemente no 
hay datos que proteger y es preciso que el soporte sea lo más económico posible. 
Todas las tarjetas poseen una zona de identificación (como si fuese el documento de 
la memoria) que puede ser protegida desde la fabricación. De esta manera, mediante el uso 
de una palabra clave se coloca una protección que impide la modificación del número de 
serie y demás datos de fabricación. Como no se puede re-escribir esta parte de la memoria, 
si se intenta cambiar sus datos, ésta queda inutilizada ya que no existiría compatibilidad 
entre el número de serie y los datos cargados posteriormente. 
Sin embargo, si se utilizan las tarjetas con memoria EEPROM de 256 bytes de 
capacidad y un bit por palabra (byte). Estas tarjetas, tal como se han mencionado, poseen 
una zona que puede ser protegida contra re-escritura con una capacidad de 96 bytes. Más 
adelante se vera que para fines prácticos, se agrupan de 8 bits para formar palabras en la 
memoria de modo que estas EEPROM se comporten como memorias de 32 bytes de 8 bits 
cada uno. 
Existen diversos fabricantes de tarjetas telefónicas que emplean chips elaborados 
por diferentes empresas. Existen al menos cuatro fabricantes, quienes construyen sus 
productos con chips diferentes pero que son compatibles entre sí, de modo que al colocar 
cualquier tarjeta homologada para cada país, funciona en cualquier teléfono público. Hay 
tarjetas que tienen 6 contactos, otras 8 y hasta más (pero no son telefónicas). Poseen 
normalmente una EEPROM de 128 bytes de 1bit y respetan las normas ISO internacionales 
 
3.2 Funcionamiento de Tarjetas para 256 Bytes basadas en las Normas ISO/IEC 7816 
La norma ISO/IEC 7816 regula el funcionamiento de las tarjetas con aplicaciones 
telefónicas y agrupa a tres sub-normas. 
Norma ISO/IEC 7816-1 
Describe las características físicas que deben cumplir las tarjetas, tales como 
resistencia mecánica, resistencia eléctrica de los contactos, protección frente a agentes 
externos, luz ultravioleta empleada para el borrado, campos magnéticos asociados, 
electricidad estática, resistencia mecánica, flexibilidad (debe soportar 1000 flexiones de 2 
cm a razón de 30 por minuto sin que se produzca rotura), máxima diferencia de nivel entre 
los contactos, etc. 
 
 
44 
 
Norma ISO/IEC 7816-2 
Regula las dimensiones y localización de los contactos. El tamaño mínimo es de 
1.7x2 mm. Existen dos posicionamientos de los 8 contactos sobre la tarjeta: 
1. AFNOR es una disposición debida a la compatibilización con las tarjetas de banda 
magnética y está casi en desuso. 
 
2. ISO, que es la de uso más común. La distancia de los terminales en formato ISO, 
expresada en mm, se muestra en al Tabla 3.1. La disposición de los contactos sobre 
la tarjeta (a los que hace referencia la Tabla 3.1) se muestra en la Figura 3.1 
 
ISO 1
ISO 2
ISO 3
ISO 4
ISO 6
ISO 8
ISO 7
ISO 5
 
Figura 3.1. Distribución de Pines de tarjetas EEPROM 
 
Tabla 3.1 Distancia de Terminales en formato ISO, mm 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
I
SO 1 
1
0.25 
1
2.25 
1
9.23 
2
0.93 
I
SO 2 
1
0.25 
1
2.25 
2
1.77 
2
3.47 
I
SO 3 
1
0.25 
1
2.25 
2
4.31 
2
6.01 
I
SO 4 
1
0.25 
1
2.25 
2
6.85 
2
8.55 
I
SO 5 
1
7.87 
1
9.87 
1
9.23 
2
0.93 
I
SO 6 
1
7.87 
1
9.87 
2
1.77 
2
3.47 
I
SO 7 
1
7.87 
1
9.87 
2
4.31 
2
6.01 
I
SO 8 
1
7.87 
1
9.87 
2
6.85 
2
8.55 
45 
 
ISO/IEC 7816-3 
Establece las características de las señales eléctricas aplicadas a la tarjeta, así como 
los protocolos utilizados para la comunicación con el microchip. También especifica la 
tensión de alimentación y las estructuras de las señales, el intercambio de información, la 
velocidad de repetición de las señales, los valores de corriente, las convenciones de paridad, 
los procedimientos a realizar para las distintas operaciones, la forma de comunicación contarjetas inteligentes, etc. En la Tabla 3.2 se puede apreciar la función que cumple cada 
terminal del chip (siempre haciendo referencia al esquema de la Figura 3.1). 
 
Tabla 3.2 Funcionamiento de terminales 
 
 
 
 
 
 
 
 
 
 
 
 
 
Las tarjetas telefónicas poseen chips de funcionamiento sincrónico con memoria 
protegida. Poseen un contador interno de direcciones que opera en forma secuencial y 
apunta siempre al bit que se está por leer o que se acaba de escribir. Para escribir un dato, 
se utilizan dos o tres contactos del chip, a los que se le colocan tensiones específicas, un 
terminal corresponde al dato, otro a la “predisposición” para lectura y el tercero actúa como 
reloj (CLK). 
Ahora bien, cuando se precisa un margen de seguridad mayor, se emplean chips 
asincrónicos que contienen un microprocesador, lo que brinda un margen de seguridad más 
amplio, lo que los hace aptos para aplicaciones con tarjetas bancarias. En cuanto al 
funcionamiento, como se puede apreciar en la Tabla 3.2, la tensión de alimentación, que es 
de 5V, se aplica al terminal ISO1. En realidad, la tensión debe estar comprendida entre 
4,8V y 5,25V, produciendo un consumo de 200mA promedio. Cabe aclarar que hace un 
tiempo se empleaban tarjetas con tecnología NMOS que requerían una tensión adicional de 
+21V en el caso en que se quisiera realizar la escritura de datos (Vpp). Estos chips tenían 
Terminal Función 
ISO 1 Voltaje de Alimentación (5v) 
ISO 2 Lectura/Escritura (R/W) 
ISO 3 Reloj (CLK) 
ISO 4 Reset de la Tarjeta (RST) 
ISO 5 Tierra (GND) 
ISO 6 Vpp= +21v 
ISO 7 Entrada/Salida de Datos (I/O) 
ISO 8 Fusible 
46 
 
un consumo de 20mA en estado de reposo y unos 50mA en estado de programación. La 
potencia máxima de operación era de 1W y no podía superar 1.4W durante 1 segundo. 
Como se mencionó anteriormente, el bus de datos es de un sólo bit (correspondiente 
al contacto ISO7), y no existe un bus de direcciones. Las posiciones de memoria son leídas 
o escritas en forma secuencial. Cuando se quiere leer o escribir un dato en una posición 
determinada, se debe hacer un reset en el chip por medio del terminal ISO4, “comenzando a 
buscar” desde el bit 1 hasta la posición elegida para realizar la operación. 
El terminal ISO2 determina el estado de lectura o escritura. Cuando tiene un 
potencial alto, el chip está listo para ser escrito, mientras que si posee un “0” lógico, 
entonces se va a leer un dato desde la memoria del chip. 
El terminal ISO8 no se utiliza normalmente, es empleado en fábrica para darle los 
datos de identificación del chip (96 primeros bits de memoria), los que luego no se pueden 
re-escribir. 
El contacto ISO3 (CLK) se utiliza para darle a la tarjeta la señal de reloj. La 
frecuencia que se aplica está comprendida entre 1MHz y 5MHz con ciclos de actividad que 
no deben superar el 50%. 
La tarjeta EEPROM opera con equipos a los que se denominan interfaces, que son 
los que actúan de interfaz entre el chip y el aparato a comandar (teléfono). Para establecer 
la comunicación entre el dispositivo y la tarjeta debe realizarse de la siguiente manera: 
1. Conexión y activación de los contactos por el dispositivo 
2. Reset de la tarjeta 
3. La tarjeta comunica la aceptación del reset 
4. Se produce el intercambio de información entre la tarjeta y la interfaz 
5. Se produce la desactivación de los contactos entre la interfaz y el chip de la tarjeta 
Una vez que se lleva a cabo el primer paso, es decir, la activación de los contactos 
de la interfaz con el chip de la tarjeta, cada terminal queda en la siguiente condición: 
 RST: Es puesto a nivel bajo 
 Vcc: es puesta a +5V y permanece estable 
 I/O: Es puesta a un nivel lógico “1” para la recepción de datos desde la interfaz 
 Vpp: Deberá permanecer en estado de espera o reposo 
 CLK: Será suministrado de forma adecuada y estable 
Cuando se establece la condición de activación de los contactos, la interfaz manda 
la información del reset, tal como se muestra en la Figura 3.2. 
 
47 
 
 
Figura. 3.2 Interfaz entre en Chip y el Teléfono 
En la Figura 3.3 se da el diagrama de tiempos de señales para tarjetas que no 
requieren tensión de “escritura” (Vpp). 
 
Figura.3.3 Interfaz entre en Chip y el Teléfono para tarjetas que no requieren tensión Vpp 
 
48 
 
En el caso de las tarjetas correspondientes al diagrama de señales de la Figura 3.3, la 
forma de operar es más sencilla, ya que no utilizan el terminal Nº 6 correspondiente a la 
tensión de programación Vpp, utilizando el contacto ISO 2 para escribir un dato. Cuando 
esto ocurre, en el próximo ciclo de reloj se vuelve a leer el dato escrito, tal y como muestra 
la Figura 3.3. 
Una vez que finaliza el intercambio de información entre el chip y la interfaz, se 
desactivan los terminales, siguiendo la siguiente secuencia: 
 RST: Primero se manda el terminal a un estado lógico bajo. 
 CLK: Se pone en “0”. 
 Vpp: Se retira la alimentación 
 I/O: Se pone en “0”. 
 Vcc: Se retira la alimentación. 
Si bien la memoria de estas tarjetas posee 256 bits (256 bytes de 1 bit cada uno), 
para especificar el contenido se “agrupan” 8 bytes (o sea 8 bits) para definir palabras. Los 
primeros 96 bits son el “documento” y no se pueden re-escribir. En la Tabla 3.3 se muestra 
el significado de cada grupo de 8 bits de los 96 que se tienen disponibles. 
Tabla.3.3 Significado de cada Byte de tarjetas de 256 Bytes 
Byte(bit) Código Binario Operación (a lo que cada byte hace referencia) 
1(1 al 8) Checksum o byte de control 
2(9 al 16) 10000001 Código de la tarjeta telefónica 
3(17 al 24) 11111111 
4(25 al 32) 11111111 
5(33 al 40) 00110000 G+D 
 10010000 Oberthur 
 01011010 Gemplus 
6(41 al 48) MSB Numero de Serie de la tarjeta 
7(49 al 56) 
8(57 al 64) LSB 
9-10 (65 al 80) 00010100 
Identifica el valor de la tarjeta 10001010 
 00100101 
49 
 
 00000100 
 00100101 
 00000110 
11(81 al 88) 00011110 
12(89 al 96) 00101111 Identifica el país de origen 
13(97 al 104) 11111111 Contador lento 
 11000000 
 00000000 
 00000000 
32(249 al 256) 00000000 Contador rápido 
 
Los primeros 8 bits serán la palabra de control. Es algo similar al bit de paridad de 
un código común y se obtiene de la siguiente manera: 
Se resta a 216 el número de unos existentes entre el bit 9 y el 96, ambos incluidos. 
Una vez obtenida la resta decimal, este número se pasa a binario dándo el byte de control o 
Checksum. 
De la segunda a la cuarta palabra (bit 9 a bit 32) se escribe al código de la tarjeta 
EEPROM. 
La palabra 5 (bit 33 a bit 40) contiene información relativa al constructor de la 
tarjeta. Las palabras 6, 7 y 8 contienen la información concerniente al número de serie de la 
tarjeta que la interfaz toma para saber si está habilitada. 
Las palabras 9 y 10 (bit 65 a bit 80) contienen el código que representa el valor de la 
tarjeta. En la palabra 12 se encuentra el código del país donde es válida la tarjeta. A partir 
de la palabra 13 (bit 97 en adelante, hasta el 256) se encuentran los bits que se pondrán a 
“1” cada vez que se hable por teléfono y se esté descontando crédito. Cuando se usa por 
primera vez la tarjeta EEPROM, estos bits (del 97 al 256) están todos en “o” y en la medida 
que pasa el tiempo de comunicación, estos bits se ponen en “1”. Cabe aclarar que cuando se 
fabrican las tarjetas telefónicas se les realiza un control de calidad poniendo a “1” los bits 
97 a 104 aproximadamente para certificar que el funcionamiento es correcto. 
En síntesis, las palabras 1 a 12 (bits 1 a 96) representan el “documento de identidad” 
de la tarjeta, mientras que en las palabras 13 a 32 (bits 97 a 256) se escribirán “1” cada vez 
que se use la tarjeta. 
50 
 
La zona de escritura por parte de la interfaz se divide en dos sub zonas: una zona 
denominada de “contador lento” y otra zona de “contador rápido”. 
El tamaño que posee cada sub zona depende del valor de latarjeta. Se entiende 
entonces que cada vez que se escriba un “1” en algún bit de estas sub zonas, la interfaz 
estará descontando el crédito. 
El descuento del importe de la llamada se produce escribiendo un "1", empezando 
por el último bit de cada zona. La primera zona donde se produce la escritura es la zona 
rápida, pasando luego a la zona lenta. No es necesario poner a "1" todos los "0" 
equivalentes al importe de una llamada, ya que con marcar el último de estos a "1" es 
suficiente. Debido a esto, cuando se examina el contenido de una tarjeta EEPROM existe 
un número indeterminado de "0" en la zona de descuento. 
El reset de la tarjeta se produce cuando se origina un pulso de la señal de reloj luego 
de haber puesto a “0” la terminal de reset y R/W. Luego se pasa a estado alto la señal de 
reset y en la salida I/O aparece el dato correspondiente al primer bit de la memoria. 
Con cada flanco de bajada del pulso de reloj, se incrementa el contador de 
direcciones y aparece el siguiente a la salida de I/O. 
Para escribir un dato, en primer lugar se debe posicionar el contador de direcciones 
sobre la dirección de memoria que se desea escribir. Luego las señales R/W y Vpp deben 
pasar a nivel alto. En estas condiciones y dentro de un tiempo comprendido entre 10 y 
50ms se debe producir el flanco de subida de la señal de reloj. Después de un tiempo 
comprendido entre 10 y 50ms deberá aparecer el flanco de bajada de las señales Vpp y 
R/W; luego se producirá el flanco de bajada de la señal de reloj con lo que el contador de 
direcciones apuntará a la siguiente posición y a la salida I/O obtendremos el valor del bit de 
memoria correspondiente a esa dirección. 
En las tarjetas que no utilizan la tensión Vpp, una vez concluida la grabación en el 
siguiente pulso de reloj se lleva a cabo una nueva lectura del bit grabado, para comprobar 
que se ha realizado la grabación correctamente. 
 
 
 
 
 
 
 
 
 
 
 
51 
 
3.3 Funcionamiento de tarjetas de 128 Bytes 
En los chips de las tarjetas de segunda generación el número de contactos disminuye 
a 6 (véase la Figura 3.4, la descripción de los pines se ve en la Tabla 3.4). Estas tarjetas 
tienen otra forma de implementar la información relativa al fabricante (país, valor, byte de 
control, etc.) y de descontar el crédito. 
ISO
3
ISO 2 ISO
1
ISO
5
ISO
8
ISO 7
ISO 1 = VCC
ISO 2 = RESET
ISO 3 = CLOCK
ISO 5 = GND
ISO 7 = I/O
ISO 8 = S/C
 
Figura 3.4 Descripción de pines para tarjetas de 128 Bytes 
En estos integrados la capacidad es de 128 bits, dispuestos en 16 bytes de 8 bits 
cada uno (posee la mitad de capacidad que las tarjetas anteriores). La función de cada 
terminal se describe en la Tabla 3.4 y el mapa de la memoria se puede ver en la Tabla 3.5 
 
Tabla.3.4 Descripción pines tarjetas de 128 Bytes 
Contacto Significado 
ISO 1 Voltaje de Alimentación (5v) 
ISO 2 Reset (RST) 
ISO 3 Reloj (CLK) 
ISO 5 Tierra (GND) 
ISO 7 Entrada/Salida de Datos (I/O) 
ISO 8 No Conectada 
 
 
 
 
 
 
 
 
52 
 
Tabla.3.5 Mapa de memoria de tarjetas de 128 Bytes 
 
 
Poseen 64 bits EPROM de escritura protegida (área relativa a los datos del 
fabricante), 40 bits EEPROM (área de control crédito) y 24 bits puestos a “1”. 
Los cuatro primeros bytes indican la información del fabricante de la tarjeta y del 
país donde se va a utilizar ésta. Los cuatro bytes siguientes contienen información relativa 
al número de serie de la tarjeta, al byte de control y al monto del crédito de la tarjeta. 
En los cinco bytes siguientes se implementa un contador octal de cinco etapas que 
será el encargado de descontar el valor fijado en principio en la tarjeta. Los tres últimos 
están puestos a "1" en fábrica y sirven para realizar el control de calidad. 
Byte(bit) 
Código 
Binario 
Operación (a lo que cada Byte 
hace referencia) 
1(1 al 8) 11000011 Datos del País y del Fabricante 
2(9 al 16) 00111100 
3(17 al 24) 00000001 
4(25 al 32) 00000001 
5(33 al 40) 00110100 Número de Serie 
6(41 al 48) 00000010 
7(49 al 56) 01000000 
8(57 al 64) 10000000 
9(65 al 72) 00000011 Zona de Crédito 
10(73 al 80) 00000110 
11(81 al 88) 00001100 
12(89 al 96) 00001100 
13(97 al 104) 10000000 
14(105 al 112) 11111100 Control de Calidad 
15(113 al 120) 11111001 
16(121 al 128) 11110011 
53 
 
Para realizar la “cuenta” de pulsos durante el uso de la tarjeta se debe tener en 
cuenta el número de "1" que tiene cada byte; sólo serán válidos aquellos "1" que no tengan 
un “0” a su derecha (esto es debido a que el "0" se utiliza como marcador y cuando deja 
algún "1" o grupo de "1" a su izquierda los deja inválidos para el descuento del importe y 
así saber el valor final). También hay que mencionar que el último bit de cada byte no tiene 
valor alguno sobre el crédito final. 
El valor del importe final se obtiene teniendo en cuenta la siguiente secuencia de 
control digital: 
1. Se cuenta el número de "1" válidos o útiles de cada byte 
2. Se multiplica este número de "1" por el número de cada byte independiente 
3. Obtenidos los valores parciales de cada byte se suman y de esta manera se obtiene 
el crédito final de la tarjeta 
El descuento del crédito se realiza desde el byte 13 al 9, de forma que cuando se 
necesite un importe superior y se pone un "1" en éste, al mismo tiempo los 8 bits del byte 
inferior se ponen todos a "0". El reset de la tarjeta se produce cuando la señal de reloj pasa 
a nivel alto y la línea de reset se encuentra también a nivel alto. Luego de poner a “0” la 
señal de reloj y, cuando la señal de reset va a “0”, el contenido del primer bit aparece a la 
salida de I/O. Además, hay que tener en cuenta que el contador de direcciones no puede ser 
reseteado cuando se encuentra en el rango de 0 a 7. 
El contador de direcciones se incrementa con la llegada de cada flanco de bajada de 
la señal de reloj, mientras la señal de reset permanezca a “0”, con lo que el dato contenido 
en cada dirección aparece a la salida del terminal ISO7. En la Figura 3.5 se puede apreciar 
este proceso. 
 
Figura 3.5 Diagrama de tiempos para lectura de Datos 
Los bytes 9 a 13 (bits 65 a 104) pueden ser escritos (pasa su valor de 1 a 0) o 
borrados (pasa su valor de 0 a 1). Para poder realizar la operación de escritura, la señal de 
Reset debe pasar a nivel alto mientras la señal del Reloj está a nivel bajo, con lo que se 
deshabilita el incremento del contador de direcciones con el pulso de Reloj. Luego, la señal 
54 
 
de Reset pasa a “0” y el Reloj es puesto a “1” durante al menos 10 milisegundos para 
escribir el bit en la posición direccionada. Al finalizar la escritura del bit y el Reloj se pone 
a “0”, el contador de direcciones se desbloquea y el contenido del bit escrito se coloca en el 
terminal ISO7, confirmando que la operación se realizó correctamente. (Vea la Figura 3.6) 
 
Figura 3.6 Diagrama de tiempos para la escritura de Datos 
Para borrar una célula de memoria, la señal de Reset debe pasar a “1” mientras la 
señal del Reloj está a nivel bajo, con lo que se deshabilita el incremento del contador de 
direcciones con el impulso de Reloj. Luego, la señal de Reset pasa a nivel bajo y el reloj se 
pone a nivel alto durante al menos 10 milisegundos para realizar la escritura del bit. Una 
vez que la señal de Reloj pasa a “0”, la señal de Reset vuelve a “1” con lo que el contador 
de direcciones se detiene por segunda vez. Cuando la señal de Reset vuelve a “0”, la señal 
del Reloj pasa a “1” durante al menos 10 ms para escribir un “1” en el bit direccionado. 
Cuando la operación de borrado finaliza, y el Reloj pasa a “0”, el contador de direcciones 
se desbloquea y el contenido del bit escrito (“1”), aparece a la salida I/O confirmando que 
la operación se cumplió correctamente (ver Figura 3.7). Se debe tomar en cuenta que en las 
tarjetas de 1ª generación sólo se puede modificar la información almacenada en la zona de 
conteo o

Continuar navegando