Escolar Documentos
Profissional Documentos
Cultura Documentos
TESIS
QUE PARA OBTENER EL TÍTULO DE
INGENIERO EN COMUNICACIONES Y ELECTRÓNICA
PRESENTA
ASESORES
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.:
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
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.
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.
ii
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.
ÍNDICE
1 1
Memorias programables…………………………………............
1.1 11
1 1
Tipos de memorias programables……………….…………........
1.2 12
1 1
Memoria EEPROM………………….………….……………….
1.3 16
1 1
Historia………………………………………….……………….
1.4 18
1 1
Cualidades……….………………………………...…………….
1.5 18
1 1
Ventajas……………………………………..…..………….........
1.6 18
1 1
Arquitectura………………………….……….……….…….......
1.7 19
1 2
Descripción…………………………….…….………….………
1.8 20
1 1
Característica principal………………..…………….…………..
1.9 20
1 1
Limitaciones…………………………………….…….…………
1.10 21
2
Capítulo 2. Programador de tarjetas EEPROM
2 2
2.1 Introducción………………………………………………..…....... 23
2 2
2.2 Tarjetas EEPROM……………………………………...………..... 23
2 2
Método de programación……………………….……..……….….
2.3 25
2 2
Características de un display………………………………….…...
2.4 27
2 3
Interfaz y hardware de un display…………………………….…...
2.5 34
2 3
Emulador……………….……….……………………….…...........
2.6 40
2 3
Diagrama a bloques del programador………………………..........
2.7 41
2 3
Diagrama esquemático del programador…………………….……
2.8 41
3 4
Introducción………………………………………………………..
3.1 43
3 4
Funcionamiento de tarjetas para 256 Bytes.……………………….
3.2 43
3 4
Funcionamiento de tarjetas para128 Bytes...………………………
3.3 51
3
Capítulo 4. Prototipo experimental y pruebas
4 5
Construcción de un lector de tarjetas EEPROM..............................
4.1 57
4 5
Algoritmo de programación…….....……………………..….........
4.2 58
4 6
Mapeo de Tarjetas…………………...………………………...….
4.3 61
4 7
Circuito para programación de Tarjetas EEPROM…...……..........
4.4 69
7
Conclusiones……………………………………….................................
72
7
Recomendaciones…………....…………………………….....................
73
7
Bibliografía…………………………………………………………….
74
8
Anexos………………………………………………………………….
75
4
LISTADO DE FIGURAS
5
2.12 Carácter definido por el usuario y los valores a almacenar en la CG
RAM………………………………………………………………. 33
3.3 Interfaz entre en Chip y el Teléfono para tarjetas que no requieren tensión
47
Vpp...…………………………………………………………...
6
Capítulo 4. Prototipo experimental y pruebas
7
LISTADO DE TABLAS
8
RESUMEN
9
CAPITULO 1
10
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:
11
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 o de 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.
Siglas Descripción
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.
13
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.
Fila
Compuerta aislada
Columnas
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 transistores de 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.
15
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.
WE
MEMORIA
BUS DE
BUS DE EEPROM
DATOS
DIRECCIONES
CE OE
MODO OPERACION WE
LECTURA 1
ESCRITURA 0
17
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 bajo luz 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.
18
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 C’
“AND”
“OR”
PROGRAMABLE
19
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.
Capacidad N° de terminales
Características de la Tipo de Protección Velocidad de
Manejo de designadas a la
memorias EEPROM Bus contra escritura Operación
Datos comunicación
Se implementa
Entre 8 y 16
Memoria de 3 Hilos Bus I2C mediante Hasta 6 MHz 4 Pines
bits
software
20
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.
21
CAPITULO 2
22
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.
VCC Gnd
R/W VPP
Clock I/O
Reset Fuse
23
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
24
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.
25
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.
26
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.
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.
27
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.
28
Tabla 2.1 Código asociado a cada carácter imprimible por el display
Figura 2.9 Posición del display real respeto al virtual cuando se inicializa el LCD
30
Figura 2.10 Mapa de memoria de la DD RAM y sus posiciones en el display virtual
31
LA CG RAM (Character Generator RAM)
32
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.
33
2.5 Interfaz y hardware de un LCD
34
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.
35
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.
36
Tabla 2.2 Manera en la que trabaja el bus de control
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.
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.
37
Figura 2.18 Cronogramas del LCD
38
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
39
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.
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.
40
2.7 Diagrama a Bloques del Programador
41
CAPITULO 3
______________________________
_______________________________
42
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.
43
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 6
ISO 2 ISO 8
ISO 3 ISO 7
ISO 4 ISO 5
44
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 con
tarjetas 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).
Terminal Función
ISO 8 Fusible
45
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.
46
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
47
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
10010000 Oberthur
01011010 Gemplus
7(49 al 56)
00100101
48
00000100
00100101
00000110
11000000
00000000
00000000
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.
49
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 la tarjeta. 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.
50
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.
51
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.
52
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.
54
Figura 3.7 Diagrama de tiempos para el borrado de Datos
55
CAPITULO 4
_______________________________
56
4.1 Construcción de un lector de tarjetas EEPROM experimental
Con el fin de entender de una mejor forma el funcionamiento de las tarjetas
EEPROM; la aplicación será para las tarjetas de 2a generación (128 bytes), se construyó un
lector de tarjetas experimental para utilizarlo con un programa de mapeo de bits, estos dos
elementos; el circuito lector y el programa, permiten hacer un mapa de bits de las tarjetas y
observar así el comportamiento de los 5 contadores octales que contienen el crédito de las
tarjetas, lo anterior de acuerdo a el principio de operación detallado en los capítulos
anteriores.
El diagrama de dicho lector es el que se muestra en la Figura 4.1, como se observa
en la figura, la comunicación con la computadora se lleva a cabo a través del puerto
paralelo, de esta manera es posible obtener el mapeo de memoria de las tarjetas a utilizar.
Figura 4.1 Conexión eléctrica del puerto paralelo al lector de tarjetas EEPROM
Cabe indicar que para que el lector funcione necesita una fuente de alimentación de
5v entre tierra y VCC del lector, debido a que el puerto paralelo no suministra ningún tipo de
voltaje. Otro punto a considerar es que el lector desarrollado permite estudiar tanto tarjetas
de 1° como de 2° generación.
En la Figura 4.2 se muestra la imagen real de cómo queda la conexión física del
lector de tarjetas para la implementación del prototipo experimental.
57
Figura 4.2 Foto Lector de Tarjetas EEPROM
4.2 Instalación de Programa de mapeo
El programa de mapeo permite describir bit a bit la memoria de las tarjetas así como
las características propias de una tarjeta, algunas de estas características son:
País
N° de serie de la tarjeta
Valor de la tarjeta
Contador Octal de la tarjeta
Saldo Disponible en la tarjeta
El programa incluye dos carpetas una llamada Tartelv3 y otra llamada dlportio, esta
última contiene los controladores.
Si se trabaja con Windows NT, solo basta con ejecutar el archivo install ubicado en
la ruta:
C:\dlportio\install\install
Se le da click a install se obtendra una ventana como se muestra en la Figura 4.3
58
Figura 4.3 Instalación controlador para Sistema Operativo Windows NT
Dentro de esa carpeta se encontrarán dos archivos como se muestra en la Figura 4.4.
59
Figura 4.5 Error cuando no están instalados correctamente los controladores
60
Como se observa en la figura anterior los botones se habilitan y ahora se puede
usara el programa de mapeo para leer la tarjeta.
61
En la Figura 4.7 del lado izquierdo se muestran las características de la tarjeta,
número de serie, saldo disponible, valor de la tarjeta y los contadores octales. Del lado
derecho se observa el mapa de memoria de una tarjeta con crédito lleno, en esta muestra un
conjunto de 16 bytes, a los cuales se les asigna un valor denominado, byte 1, byte2, byte 3;
etc. Sucesivamente y empezando de izquierda a derecha, de este mapa se destaca lo
siguiente:
Los primeros dos bytes de la tarjeta representan al fabricante (marcados con color
rosa)
El tercer byte (59 en su forma hexadecimal), representa el país para cual fue creada
la tarjeta, en este caso México.
El byte número 8 (23 en forma hexadecimal y remarcado con color verde), muestra
en crédito máximo que puede almacenar la tarjeta, para este caso es de 30 pesos.
62
En la Figura 4.8 se muestra el mapeo de la tarjeta EEPROM cuando se han
descontado 3 pesos, es decir el saldo disponible es de $27, se observa que de todos los
datos mencionados anteriormente, solo se presenta un cambio en los byte 9 al 13 que se
encargan de descontar el crédito, presentándose los nuevos valores, de 00 1F 3F 7F 00
($30) a 00 1F 03 01 0F ($27).
La Figura 4.9 muestra el mapeo de una tarjeta cuando esta presenta un crédito de
$24, se observa que hay un cambio en los contadores octales de:
00 1F 03 01 0F ($27) a 00 0F 1F 0F 00 ($24)
63
La Figura 4.10 muestra el mapeo de una tarjeta cuando esta presenta un crédito de
$21, se observa que hay un cambio en los contadores octales de:
00 0F 1F 0F 00 ($24) a 00 0F 00 3F 0F ($21)
64
En la Figura 4.12 se muestra el mapeo de una tarjeta cuando esta tiene un crédito de
$15, se observa que hay un cambio en los contadores octales de:
00 07 0F 01 00 ($18) a 00 03 7F 07 0F ($15).
En la Figura 4.13 se muestra el mapeo de una tarjeta cuando esta tiene un crédito de
$12, se observa que hay un cambio en los contadores octales de:
00 03 7F 07 0F ($15) a 00 03 03 3F 00 ($12).
65
En la Figura 4.14 se muestra el mapeo de una tarjeta cuando esta tiene un crédito de
$9, se observa que hay un cambio en los contadores octales de:
00 03 03 3F 00 ($12) a 00 01 3F 00 0F ($9).
En la Figura 4.15 se muestra el mapeo de una tarjeta cuando esta tiene un crédito de
$9, se observa que hay un cambio en los contadores octales de:
00 01 3F 00 00 ($9) a 00 01 01 07 00 ($6).
66
En la Figura 4.16 se muestra el mapeo de una tarjeta cuando esta tiene un crédito de
$3, se observa que hay un cambio en los contadores octales de:
00 01 01 07 00 ($6) a 00 00 0F 1F 0F ($3)
En la Figura 4.17 se muestra el mapeo de una tarjeta cuando esta tiene un crédito de
$0, se observa que hay un cambio en los contadores octales de:
00 00 0F 1F 0F ($3) a 00 00 00 00 00 ($0).
Representación
Crédito Representación binaria
hexadecimal
68
4.4 Circuito para recargar Tarjetas EEPROM
Como se observa en la Figura 4.18 las salidas del PIC están colocadas a un zócalo
(DIP 6), el cual representa el chip de las tarjetas EEPROM y cada terminal del zócalo
representa una terminal del chip de la siguiente manera:
69
Figura 4.19 Foto circuito para recarga de tarjetas EEPROM
70
Después de comprobar que la memoria EEPROM esta vacía comprueba el
CheckSum, que es el código de seguridad que tiene la memoria EEPROM definidas, y este
es exclusivo de cada región, así pues, si la tarjeta no es de la región correspondiente, no la
puede cargar, debido a que CheckSum es el código de área que lee la cabina cuando se
introduce y si se escribe sobre ella, se pierde la memoria EEPROM y marcará error al
momento de leerla.
Lo siguiente que realiza el circuito es el algoritmo para escribir en los bytes del 9 al
13 de la memoria EEPROM (después de tomar las 2 consideraciones anteriores) esto se
hace tomando en cuenta el comportamiento del reloj y el reset de la tarjeta (explicado su
comportamiento a detalle en el capítulo 3) y estos datos son enviados del PIC a la memoria
EEPROM a través de la terminal I/O de la memoria y RA4 del PIC.
Una vez realizado lo anterior la memoria EEPROM queda otra vez cargada con el
crédito igual a su valor total, para el ejemplo muestra es de $30, cabe mencionar que la
memoria EEPROM no puede ser recargada con un saldo mayor al definido por su
fabricante; es decir, que si la memoria EEPROM esta predefinida para tener crédito de $30
no se puede cargar con un saldo mayor, por ejemplo, de $50 o $100, esta definición se
encuentra en el byte 8 de la memoria EEPROM.
71
Conclusiones
72
Recomendaciones
Para llevar a cabo la lectura de las tarjetas es necesario contar con una
computadora que tenga puerto paralelo y cuente con alguno de los siguientes
sistemas operativos: Windows 95/98/NT.
73
Bibliografía
4.- Reyes, Carlos A; Microcontroladores: PIC 16F62X, 16F84X, 16F87X, 3era edición
2008, pagina 211.
74
Anexos
75
76
77
78
79
Diagrama de Flujo
Inicio
ORG 0x2100
DE 0x99,0x61,0x59,0x0A
DE 0x73,0x14,0x33,0x23
DE 0x00,0x0F,0x3F,0x01
INICIO
DE 0x00,0xFF,0x64,0x64
ORG 0
goto INICIO
ORG 4
RESET DE LA
TARJETA
RUTINA DE CLK
RUTINA DE
BORRADO
RUTINA DE
PROTECCION DE
BYTES, BLOQUEO Y
WRITE
80
1
RUTINA DE
WRITECARRY
RUTINA DE
ESCRITURA EN
LA EEPROM
RECARGA
EXITOSA DE
TARJETA
81