57
UNIVERSIDAD AUTONOMA METROPOLITANA UNIDAD IZTAPALAPA / PROYECTO DE INGENIERIA ELECTRONICA 152969 Y ASESOR DEL PROYECTO : ING. ALEJANDRO MARTINEZ GONZALEZ INTEGRANTES DEL EQUIPO: b Z A L E Z SANDOVAL GERARD0 SANCHEZ MORALES OSCAR 9 ENERO 1994 /

UNIVERSIDAD AUTONOMA METROPOLITANA148.206.53.84/tesiuami/UAM7048.pdf · El sistema mínimo tiene una memoria EPROM 2716 y una memoria RAM 6116. El mapa de memoria de este sistema

Embed Size (px)

Citation preview

UNIVERSIDAD AUTONOMA METROPOLITANA UNIDAD IZTAPALAPA

/ PROYECTO DE INGENIERIA ELECTRONICA

152969

Y

ASESOR DEL PROYECTO :

ING. ALEJANDRO MARTINEZ GONZALEZ

INTEGRANTES DEL EQUIPO:

b Z A L E Z SANDOVAL GERARD0

SANCHEZ MORALES OSCAR 9

ENERO 1994 /

INDICE

APEND ICE A

Programa ensamblador del circuito electrhnico. APEND I CE B

Archivos fuente del sistema.

BIBLIOGRAFIA

, . ... .

OBJETIVOS

- DiseZo e implementacidn de una herramienta de desarrollo que sus t i tuya memorias EPROM, para cualquier circuito elec tr6nico que utilice memorias de este tipo.

- El sistema planteado para simular memorias EPROM deberh ser lo mhs general posible, tendra la capacidad de sustituir a las memorias comerciales mhs comunes en el mercado mexicano.

152969

1

INTRODUCCION

En el disezo y desarrollo de los sistemas digitales se cuenta con una serie de herramientas para probar su correcto funcionamiento, estas herramientas van desde software (simuladores, ensambladores, etc) hasta aparatos de medicidn y muestre0 de seífales (multimetros, osciloscopios, analizadores de estados logicos entre otros). Los sistemas digitales abarcan un extenso campo en la electrdnica y la utilizaci6n de ellos se ha vuelto indispensable en la vida moderna.

Un dispositivo importante en el campo digital es la MEMORIA. La memoria es un circuito integrado que siempre esti presente en los sistemas que utilizan microprocesadores o microcontroladores y en algunos otros circuitos que no utilizan este tipo de dispositivos. Existen dos tipo de memorias y son las siguientes:

Memorias ROM. Son memorias de solo lectura (Read Only Memory), este tipo de memorias semiconductoras se diseífan con el fin de contener datos que sean permanentes o bien que no cambien frecuentemente. Durante la operacidn normal, no pueden escribirse nuevos datos en una ROM pero s i puede leerse informacidn de ella. Para algunas ROM los datos que estan almacenados tienen que grabarse durante el proceso de fabricacidn; para otras ROM los datos se pueden introducir de forma electrica. El proceso de grabar datos se conoce como programacidn de la ROM. Algunas ROM no pueden alterar sus datos una vez que se hayan programado; otras pueden borrarse y reprogramarse con la frecuencia que se desee.

Memorias RAM. Son memorias de acceso aleatorio (Random Acces Memory) lo cual quiere decir que cualquier localidad de direccidn de memoria se puede accesar ficilmente como cualquier otra. Muchos tipos de memoria se pueden clasificar como de acceso aleatorio, pero cuando el termino RAM se utiliza con memorias semiconductoras generalmente ello significa que la memoria es para lectura y escritura, en contraste con la ROM (que como se había dicho es solo de lectura).

2

Las RAM se emplean en las computadoras para el almacenamiento temporal de los programas y datos. El contenido de muchas localidades de direccidn en la RAM cambiara continuamente conforme la computadora ejecute un programa.

Una desventaja importante en la Ram es que son volhtiles y

pierden toda la informacidn almacenada en ellas si se interrumpe el suministro de energia o s í se apaga la maquina, Sin embargo algunas RAM emplean pequexas cantidades de energía en modo de transicidn (sin efectuar operaciones de lectura o de escritura) y pueden alimentarse con baterías siempre que se interrumpa la fuente de energía principal. Por supuesto, la ventaja principal de las RAM es que se puede escribir en ellas y tambidn se puede leer de ellas muy rapidamente con la misma facilidad.

Nuestro objetivo se centra en el funcionamiento de las memorias ROM y en particular de las memorias EPROM debido a que son memorias que se pueden borrar y grabar (son memorias que s e borran con rayos ultravioleta), es decir, nos importa el funcionamiento de este tipo de memorias, mas no el dispositivo físico en s í . El presente proyecto simula el funcionamiento de una memoria EPROM utilizando memorias RAM para ello, de ahí que el nombre del proyecto sea "SIMULADOR DE MEMORIAS EPROM", este simulador pretende ser una herramienta m&s en el desarrollo y disexo de sistemas digitales, ya que algunas de las ventajas que ofrce son las siguientes:

- Evita el grabado y borrado de memorias hasta el diseí'ío final, - Reduce el tiempo de prueba y depuracidn del programa. - Sirve para probar programas y corregir errores de manera casí

inmediata. - El campo de usuarios de este simulador es bastante extenso

pues comprende a estudiantes, profesores y disexadores de sistemas digitales.

- Las memorias que se pueden simular son las siguientes: Zkb, 4kb, 8kb, 16kb, 32kb y 64kb con un bus de datos de 8

bits. Las sexales de control que se dan al usuario son: Output Enable, Chip Select (activos en bajo), Tierra.

3

E l SIMULADOR DE MEMORIAS EPROM c o n s t a de s o f t w a r e p a r a PC y un c i r c u i t o e l e c t r 6 n i c o d e i n t e r f a s e , e l f u n c i o n a m i e n t o d e l SIMULADOR DE MEMORIAS EPROM a g r a n d e s r a s g o s es e l s i g u i e n t e :

E l s o f t w a r e d e l a PC s e e n c a r g a de m a n i p u l a r e l a r c h i v o que e l u s u a r i o desee g r a b a r , e l c d d i g o d e e s t e a r c h i v o es t r a n s m i t i d o a l c i r c u i t o d e i n t e r f a s e p o r m e d i o d e l p u e r t o s e r i a l d e l a P C , en e l c i r c u i t o d e i n t e r f a s e s e c a r g a n u n p a r d e m e m o r i a s RAM c o n e l

c 6 d i g o r e c i b i d o y u n a v e z t e r m i n a d a s l a s o p e r a c i o n e s s e p u e d e e l e g i r l a o p c i 6 n s i m u l a r desde l a P C , l o c u a l i n d i c a a l c i r c u i t o d e i n t e r f a s e que e l a c c e s o a l c 6 d i g o d e l a s m e m o r i a s RAM s e r a e x t e r n o . Al u s u a r i o s e l e p r o p o r c i o n a n l o s b u s e s d e d a t o s , d i r e c c i o n e s y c o n t r o l a t r a v e s d e un c o n e c t o r DB25 ( d i r e c c i o n e s y

c o n t r o l ) y d e un c o n e c t o r DB9 ( d a t o s ) que e s t a a un l a d o del DB25.

4

HARDWARE

1 5 2 9 6 9

DISPOSITIVOS DEL CIRCUITO

L o s dispositivos utilizados en el circuito de interfase son:

- Un microprocesador 280. - Un UART (Universal Asynchronous Receiver Transmiter) 8250.

- Una EPROM 2716.

- Una RAM 6116,

- Un decodificador 74139.

- Cuatro buffers de tres estados 74245.

- Un CI 7400 (nand). - Un CI 7404 (not). - Un CI 7408 (and). - Un CI 7432 (or). - Un CI 74257 (multiplexor). - Un CI 1488.

- Un CI 1489.

- Un PPI 8255.

- DOS RAM 62256.

- Un cristal de 1 . 8 Mhz. - Cuatro arreglos resistivos de 10 khoms. - Un pushbutton. - Un diodo. - Un capacitor, - Dos leds.

5

MAPEO DE MEMORIA Y PUERTOS

L a s d i r e c c i o n e s en l a s c u a l e s s e e n c u e n t r a n mapeadas l a s

memorias y l o s p u e r t o s d e l s i s t e m a e s como s i g u e a c o n t i n u a c i b n .

MEMOR I A

D E S C R I P C I O N D I R ( H E X ) A l l A 1 0 A9 A 8 A 7 A 6 A 5 A 4 A 3 A 2 A l A 0

C S E P R O M O000 o o 0 0 0 0 0 0 0 0 0 0

07FF o 1 1 1 ' 1 1 1 1 1 1 1 1

C S R A M O800 1 o 0 0 0 0 0 0 0 0 0 0

O F F F 1 1 1 1 1 1 1 1 1 1 1 1

P U E R T O S *

T H R

R B R

D L L

D L M

I E R

I IR

L C R

MC R

L S R

M S R

P I O D A

P I O D B

P I O D C

P I O C T R

P T O M E M

- -O0

- -O0

- -O0

--o 1

--o 1

"02

--O3 - - O 4

--o5 --O6 --O8

--o9

- - O A

--OB "10

* P a r a m a y o r e s d e t a l l e s ver l a h o j a d e e s p e c i f i c a c i o n e s t e c n i c a s d e l P P I 8255 y e l U A R T 8250.

6

DESCRIPCION DEL CIRCUITO

E l circuito elctrdnico de interfase est& implementado con el microprocesador 280 ya que este brinda las características necesarias para el desarrollo del proyecto.

El sistema mínimo tiene una memoria EPROM 2716 y una memoria RAM 6116. El mapa de memoria de este sistema es el siguiente:

OOOH - 7FFH : ROM

800H - FFFH : RAM

En la parte de los puertos tenemos un P P I 8255, dos memorias RAM (62256) y un UART 8250.

El P P I 8255 sirve para escribir las direcciones en las memorias RAM (6225) utilizando sus puertos A y B, el puerto C se utilizo para el control de la sella1 interna-externa, así como para asegurar ceros ldgicos en los bits (externos) de direccidn no utilizados.

El UART 8250 se utilizd para la comunicacidn serial con la PC y

es quien recibe y transmite el cddigo que se escribir& en las RAM

(62256) para simular la memoria EPROM seleccionada, el 8250 tiene conectados en sus pines de transmisidn y recepcidn los circuitos de interfase 1488 (transmisidn) y 1489 (recepcidn) y sirven para cambiar los niveles TTL.

Como se había dicho tambi8n estan mapeadas a puerto un par de memorias R A M que simularhn la funcidn de una EPROM. El bus de datos del sistema interno se conecta con estas memorias por medio de un buffer de tres estados para evitar conflictos entre las operaciones internas del circuito con las externas a 81, tambibn se utilizardn otros tres buffers en las partes de datos y

direcciones de las memorias así como un multiplexor 74257 para habilitar operaciones internas o externas según fuera el caso. Separando del circuito las RAM y los dispositivos que las atienden queda solamente el sistema mínimo (microprocesador, memorias del sistema y UART) que se encarga de transmitir datos (Fig. l), el resto del circuito es la parte que simula la EPROM (Fig. 2).

152969 7

8

" ,. ."r"=j _... _,.__. ""_ ." ." .... - . - - . -

I l l

i

DESCRIPCION DEL FUNCIONAMIENTO DEL CIRCUITO.

La operac idn in terna de l c i r c u i t o d e acuerdo al programa s i s t e m a e s l a s i g u i e n t e :

P a r t e d e I n i c i a l i z a c i d n . S e i n i c i a l i z a e l S t a c k P o i n t e r c o n v a l o r mas a l t o en R A M , p a r a n u e s t r o c a s o e s t e v a l o r e s OFFFH, programa e l 8255 c o n s u s t r e s p u e r t o s A , B y C de s a l i d a ,

d e l

e l

s e s e

programa e l 8250 para operar a una velocidad de 9600 baudios c o n : c a r a c t e r d e 8 b i t s , 1 b i t d e parada s in par idad y s e h a b i l i t a p a r a p r o d u c i r i n t e r r u p c i o n e s , p o s t e r i o r m e n t e s e i n i c i a l i z a n l a s RAM

l l e n a n d o l a s c o n c e r o s y s e e s c r i b e en e l p u e r t o C del 8255 u n OH p a r a e v i t a r c o n t e n c i o n e s de bus e i n d i c a r que l a s o p e r c i o n e s son i n t e r n a s .

P a r t e de O p c i d n . Una vez terminada l a p a r t e d e i n i c i a l i z a c i d n e l s i s t e m a e s p e r a una transmisi6n p o r p a r t e d e l a PC y ademas q u e

e l c a r a c t e r t r a n s m i t i d o s e a ' a t , 'b' o ' d ' r e c i b i e n d o u n o de e s t o s c a r a c t e r e s e s p o s i b l e hacer una o p e r a c i d n v a l i d a , s i e l c a r a c t e r r e c i b i d o p o r e l s i s t e m a e s c u a l q u i e r o t r o entonces n o hay operacidn y e l s i s t e m a s i g u e en e l c i c l o de e s p e r a . Cuando l l e g a e l c a r a c t e r ' a t l a e j e c u c i d n del programa sa l ta a una f u n c i d n que s e e n c a r g a de l l e n a r l a s memorias RAM con e l c d d i g o d e l programa q u e s e d e s e a e j e c u t a r , p r i m e r o s e c a r g a en l o s r e g i s t r o s E y D e l t o t a l de c a r a c t e r e s a r e c i b i r , D e s l a p a r t e a l t a y E l a p a r t e b a j a , p o s t e r i o r m e n t e s e c a r g a l a d i r e c c i d n a p a r t i r d e l a c u a l s e empezara a e s c r i b i r en l a memoria e s t a d i r e c c i d n s e c a r g a en l o s r e g i s t r o s H ( p a r t e a l t a ) y L ( p a r t e b a j a ) , una vez h e c h o e s t o l a e j e c u c i d n del programa e n t r a en u n c i c l o donde s e e s c r i b e e l d a t o en l a s memorias y s e t r a n s m i t e e l c a r a c t e r a l a P C , es to fue hecho p a r a s i n c r o n i z a r l a s a c c i o n e s e n t r e e l c i r c u i t o y l a P C , e s t a s operaciones s o n e j e c u t a d a s h a s t a que l o s r e g i s t r o s D, E sean c e r o .

Cuando s e e l i g e l a o p c i d n 'b' l a e j e c u c i d n d e l p r o g r a m a s a l t a a una r u t i n a que c h e c a e l c o n t e n i d o de l a s memorias RAM, comparando e s t e c o d i g o c o n e l codigo del b u f f e r de l a P C , a l i g u a l que en l a o p c i d n ' a t en e s t a f u n c i d n s e r e c i b e n como d a t o s el t o t a l d e

c a r a c t e r e s a comparar y l a d i r e c c i d n a p a r t i r de l a c u a l serAn comparados, una vez hecho es to l a e j ecuc idn d e l programa entra en u n c i c l o que empieza a e x t a e r e l c d d i g o d e l a s RAM y s e compara en l a P C , en caso d e que e x i s t a a l g ú n error se in forma a l usuar io a c e r c a de 6 1 , s i n o hay error entonces e l c i c l o t e r m i n a cuando l o s r e g i s t r o s D , E son c e r o .

La t e r c e r a y u l t i m a o p c i d n es ' d + que es cuando e l c i r c u i t o s i m u l a l a EPROM, a l e l e g i r e s t a o p c i d n l a e j e c u c i d n d e l programa s a l t a a una r u t i n a que modi f i ca l a conf igurac idn de l 8255 para e v i t a r l a c o n t e n c i 6 n de b u s , s e e s c r i b e u n comando a l p u e r t o C d e l

8255 que h a b i l i t a e l a c c e s o e x t e r n o y s e d e j a l a e j e c u c i d n d e l

programa en u n c i c l o , h a s t a que s e r e c i b a nuevamente u n dato , para nues t ro caso e l dato que s e e s p e r a e s u n OH que e s cuando termina de s i m u l a r , y a en e s t a p a r t e s e r e e s t a b l e c e l a c o n f i g u r a c i d n d e l 8255 en s u s t r e s p u e r t o s , El diagrama d e l c i r c u i t o aparece en l a F i g . 3 ,

11

PBO

QO PB 1

A l PB2

RESET PB4 PBJ

PB6 P87

Fs PB5

"-I r-" 12 li

i

I

1

3

I INTEGRQNTES DEL PROYECTO

G9NZQLEZ SANDOVQL CERPiRDO SQNCHEZ MORALES OScc\P

I

~

SOFTWARE

1 5 2 9 6 9

DESCRIPCION DEL OBJETIVO DEL SOFTWARE

Contar con una herramienta de Software de fdcil manejo, que cuente con una gran cantidad de opciones que ayuden a la depuracidn, creacidn y mantenimiento de sistemas basados en microprocesadores, microcontroladores o aquellos circuitos en los que se requiera almacenar informacion de tipo binaria en una memoria EPROM. Esta herramienta gobierna el acceso a la interfaz electrdnica que simulara la memoria EPROM comunichndose con ella por medio del puerto serie de una computadora desde donde se haran las modificaciones que se requieran.

DESCRIPCION TECNICA

La realizacidn de este sistema se centrd en el entorno de programaci6n del lenguaje C , por ser este un lenguaje desde el cual la manipulacidn de la informacidn utilizada (cddigo en Hexadecimal) es muy sencilla. El tipo de archivos que se maneja es binario, el tipo de monitor en el cual corre este programa inicialmente es general por ser la informaci6n de tipo texto. El sistema consta de dos partes principales, la primera es la ventana de edicidn en la cual se observa el contenido del buffer en su totalidad pudiendose desplazarse a l o largo y ancho del mismo con las teclas de movimiento del cursor. La parte restante es el menú de opciones tanto en la parte superior como en la parte inferior de la pantalla, y en la cual se muestran las opciones con que cuenta el programa.

PRESENTACION DEL SOFTWARE

I n i c i o de ses i6n . - C u a n d o s e i n i c i a l a sesi6n del SIMULADOR DE MEMORIAS EPROM s e deberh teclear l o s i g u i e n t e :

A:\>SM [ENTER]

Inmediatamnte despues aparece l a p a n t a l l a de presentacidn del s istema que se muestra en l a f i g u r a s iguiente .

Es ta panta l la espera que s e o p r i m a una tec la para pedir e l tamaíTo de l a memoria c o n l a cual s e v a a t r a b a j a r .

. .. . ."

."_.I_ - """"

.-

LiiJI?.'EHSI DAD ASTDbiDMfi MET'RDF'C)!.. I'TANA I z t a p a l a

i l "- La anterior pantalla pide al usuario el tama3o de la memoria a

Cop i ar Borrar rlox;e)- cC3mparar E d i t a r l o N g i t u d Despues de teclear ENTER obtenemos la pantalla de menus y

edicidn en la cual se realiza todo el trabajo de depuracidn del cddigo manejado.

""""""""

DESCRIPCION DE FUNCIONES

La parte de software del simulador consiste de un programa nombrado "SM-EXE", el cual es el sistema maestro del simulador de memorias EPROM y a que desde este, se controla la totalidad del sistema; este sistema ofrece opciones diferentes para la edicidn, depuracidn y creacidn de los distintos programas o cddigo que se manejara en el simulador de memorias, un punto importante que se debe tomar en cuenta es que la presentacidn en pantalla del cddigo es completamente en cddigo hexadecimal.

El programa en s i ofrece l a s siguientes opciones para la depuracidn y creacidn del cddigo que se quiera simular en un circuito, todas ellas son habilitadas solo presionando la tecla remarcada correspondiente a la opcidn elegida, y posteriormente se le pide al usuario la informacidn de los distintos parhmetros que la opcidn requiera,

SIMULAR:

Esta opcidn tiene tres subopciones que son:

( A ) CargaMem.- Transfiere la totalidad del cddigo a la interfaz del sistema.

CB> ChecaMem.- Descarga el contenido del cddigo de la interfaz hacia la computadora, en la cual se checa que el cddigo recibido corresponda al que contiene el buffer, de no ser así se despliega un error que previene al usuario.

C c > SimTiempoRea1.- Esta opcidn cede el control del cddigo almacenado en la interfaz del simulador al sistema mínimo externo que hara uso de 81 como si estuviera grabado en una memoria EPROM.

ES i m p o r t a n t e s e E a l a r q u e s i en c u a l q u i e r a de l a s a n t e r i o r e s o p c i o n e s e l s i s tema n o r e s p o n d e , e n a p a r i e n c i a c o m o s i n o s e

h i c i e r a n a d a , es d e b i d o a q u e espera u n a respuesta d e l a i n t e r f a z l a c u a l n o l l e g a p o r a l g ú n m o t i v o ( p o r e j e m p l o que e l c i r c u i t o n o e s t 6 c o n e c t a d o ) e l u s u a r i o t i ene l a p o s i b i l i d a d d e a b o r t a r l a o p c i d n a n t e r i o r p u l s a n d o l a t e c l a ESC e i n t e n t a r n u e v a m e n t e ,

CARGAR:

E s t a o p c i d n s e e n c a r g a de c a r g a r e l c d d i g o d e l p r o g r a m a y a

e n s a m b l a d o q u e e s t e a l m a c e n a d o e n un a r c h i v o d e t i p o b i n a r i o ( p o s t e r i o r m e n t e s e a m p l i a r a a d i s t i n t o s f o r m a t o s , h e x , e x e , b i n , e t c ) a l b u f f e r d e l s istema , p a r a desde a q u í t r a n s m i t i r l o a l a i n t e r f a z , o b i e n p a r a r e a l i z a r m o d i f i c a c i o n e s s o b r e 6 1 . En l o s a r c h i v o s c o n e x t e n s i d n ".EXE" s e l e p i d e a l u s u a r i o ademas d e l

n o m b r e d e l a r c h i v o y l a d i r e c c i d n de i n c i c i o un o f f s e t c o n l a f i n a l i d a d d e e l i m i n a r e l c d d i g o r e d u n d a n t e , p a r a n u e s t r o s p r o p d s i t o s , d e l a r c h i v o .

GUmDAR:

A q u í s e t i ene l a o p c i d n de g u a r d a r e l c o n t e n i d o del b u f f e r de l a c o m p u t a d o r a e n un a r c h i v o d e t i p o b i n a r i o , p a r a p o s t e r i o r e s c o n s u l t a s o m o d i f i c a c i o n e s .

LLENAR: E s t a o p c i d n s e t i e n e para l l e n a r un d e t e r m i n a d o e s p a c i o e n e l

b u f f e r d e t r a b a j o , d e un d a t o e s p e c í f i c o , p o r e j e m p l o c o n FFh 6

OOh. Se l e p i d e a l u s u a r i o una d i r e c c i d n i n i c i a l y o t r a f i n a l , a s i como e l d a t o q u e s e u t i l i z a r & , p o r s u p u e s t o e n h e x a d e c i m a l .

I MPRI M I R:

Con e s t a o p c i d n s e manda a l a i m p r e s o r a u n b l o q u e de c d d i g o a y u d a n d o c o n e s t o p a r a l a m e j o r d e p u r a c i d n d e c u a l q u i e r p r o g r a m a e n e l s i m u l a d o r . Se l e p i d e a l u s u a r i o u n a d i r e c c i d n i n i c i a l y

o t r a f i n a l e n h e x a d e c i m a l .

17

VE A o . 0 :

E s t a o p c i d n s i r v e p a r a i r d e u n a p o s i c i d n a o t r a e n e l b u f f e r l o mhs r d p i d o p o s i b l e C G O TO),

COP1 AR:

Se l e p r o p o r c i o n a a l u s u a r i o l a l a f a c i l i d a d d e c o p i a r un b l o q u e d e c d d i g o a o t r a d i r e c c i d n . Se l e p i d e a l u s u a r i o u n a d i r e c c i d n f u e n t e y o t r a d e s t i n o e n h e x a d e c i m a l , a s i como l a c a n t i d a d de c a r a c t e r e s a c o p i a r .

BORRAR:

E s t a o p c i d n b o r r a un b l o q u e d e c d d i g o d e j a n d o e n e s t e b l o q u e solo c e r o s , S e l e p i d e a l u s u a r i o u n a d i r e c c i d n i n i c i a l y o t r a f i n a l e n h e x a d e c i m a l .

MOVER:

M u e v e u n b l o q u e c o m p l e t o a o t r a p o s i c i d n d e n t r o d e l b u f f e r , S e

l e p i d e a l u s u a r i o u n a d i r e c c i d n f u e n t e , o t r a d e s t i n o a s í como l a c a n t i d a d de c a r a c t e r e s q u e s e m o v e r h n d e p o s i c i d n .

COMPARAR:

S i r v e p a r a c o m p a r a r d o s b l o q u e s d e c d d i g o i n f o r m a n d o a l u s u a r i o s i s o n o n o i g u a l e s . Se l e p i d e a l u s u a r i o d o s d i r e c c i o n e s e n h e x a d e c i m a l , a s i como l a c a n t i d a d d e c a r a c t e r e s a c o m p a r a r ,

ED1 TAR:

Con e s t a o p c i d n s e e d i t a l a p o s i c i d n en d o n d e s e e n c u e n t r a c o l o c a d o e l c u r s o r , l a e d i c i d n s o l o es d e n ú m e r o s h e x a d e c i m a l e s , p u d i e n d o s e d e s p l a z a r p o r t o d o e l b u f f e r d e l s is tema. P a r a t e r m i n a r d e e d i t a r s e debera t e c l e a r ESC, Si e s t o n o es s u f i c i e n t e , s e e d i t a e l m i s m o c d d i g o d o n d e s e e n c u e n t r a e l c u r s o r y

p o s t e r i o r m e n t e s e o p r i m e ESC.

LONG1 TUD:

Dadas d o s d i r e c c i o n e s i n d i c a l a l o n g i t u d e n hexadecimal q u e e x i s t e e n t r e e l l a s ,

ABORTAR UNA OPCION:

P a r a a b o r t a r c u a l q u i e r a de l a s f u n c i o n e s a n t e r i o r e s e x c e p t o E d i t a r y S i m u l a r , e s s u f i c i e n t e o p r i m i r l a t e c l a ENTER t a n t a s veces como s e a n e c e s a r i o ,

FALLAS

E s t a s e c c i d n d e s c r i b e l a s f a l l a s que s e p o d r í a n p r e s e n t a r en l a e j e c u c i d n del programa y s u s s o l u c i o n e s , s o l a m e n t e s e t r a t a n f a l l a s d e s o f t w a r e .

FALLA EN LA TRANSMISON DEL CODIGO:

S e p r e s e n t a e s t a f a l l a cuando s e e j e c u t a l a o p c i d n Simular en c u a l q u i e r a de s u s i n c i s o s ,

A ) CARGAMEM,- La f a l l a en e s t a o p c i 6 n p u e d e s e r d e b i d a a que l a computadora s e quede bloqueada en u n c i c l o de e s p e r a d e u n c a r a c t e r p o r e l p u e r t o s e r i a l , como c o n t e s t a c i 6 n a una transmisidn p o r e l mismo p u e r t o y que e s p a r t e de l a s i n c r o n i z a c i d n que e x i s t e e n t r e l a PC y e l c i r c u i t o de i n t e r f a z . La s o l u c i d n a e l l o es o p r i m i r l a t e c l a ESC y pres ionando e l b o t 6 n de RESET de l a i n t e r f a z p a r a que s e i n i c i a l i c e nuevamente.

B) CHECAMEM.- I g u a l que e l i n c i s o a n t e r i o r . Ademas de que puede o c u r r i r o t r a f a l l a despues d e h a b e r s e a b o r t a d o e s t a o p c i 6 n p o r

e n c o n t r a r que los cddigos del b u f f e r y de l a s memorias n o son i g u a l e s , a l i n t e n t a r nuevamente comparar los c6digos tal vez n o responda como s e e s p e r a , l a s o l u c i 6 n e s d a r u n r e s e t a l c i r c u i t o d e i n t e r f a z , p u e s t o que s e e n c u e n t r a en u n c i c l o d e

transmisidn-recepcidn y l a única forma de s a c a r l o d e a q u í e s r e s e t e a n d o e l c i r c u i t o de i n t e r f a z . Tomando en cuenta que s e i n i c i a l i z a n nuevamente l a s memorias con c e r o s y s e p i e r d e e l c d d i g o que a n t e s s e t e n i a en e l l a s ,

C ) S1MTIEMPOREAL.- Igual que en e l i n c i s o A .

CARGA: S i a l q u e r e r a b r i r u n a r c h i v o s e l e i n d i c a a l u s u a r i o c o n un m e n s a j e q u e n o s e h a p o d i d o a b r i r l o , es una c o n s e c u e n c i a d e

n o h a b e r e s c r i t o c o r r e c t a m e n t e e l n o m b r e d e l a r c h i v o o b i e n de

q u e n o s e e n c u e n t r a e n e l d i r e c t o r i o a c t u a l .

IMPRESION: P a r a i m p r i m i r un b l o q u e d e c d d i g o , asegúrese d e que

l a i m p r e s o r a s e e n c u e n t r e c o n e c t a d a , t e n g a p a p e l y e s t 6 e n l i n e a ,

COPIAR: Cuando s e c o p i a un b l o q u e d e c 6 d i g o a o t r a p o s i c i 6 n a s e g h r e s e de q u e e l c 6 d i g o i n i c i a l d e l b l o q u e n o s e s o b r e e s c r i b a en l a p a r t e f i n a l del mismo y a que d e e s t e modo s e p e r d e r & u n a p o r c i d n del c d d i g o o r i g i n a l .

EDITAR: Cuando s e q u i e r e a b a n d o n a r l a o p c i 6 n E d i t a r y n o r e s p o n d e l a t e c l a E S C , s e deberk e d i t a r l a l o c a l i d a d a c t u a l d e l

b u f f e r y d e s p u e s o p r i m i r E S C .

P a r a a s e g u r a r q u e l o s p a r t t m e t r o s d e l a s o p c i o n e s h a n s i d o i n t r o d u c i d a s c o r r e c t a m e n t e , d e b e n v a l i d a r s e c o n l a t e c l a ENTER d e

o t r o modo NO s e a c e p t a r k n , a s e g u r a n d o a s i q u e s e p u e d e n c o r r e g i r , en c a s o d e e r r o r , a n t e s d e s e r i n t r o d u c i d o s a l s i s t e m a .

FIN DE SESION

P a r a t e r m i n a r l a s e s i b n de t r a b a j . 0 e s n e c e s a r i o s a l i r o a b o r t a r c u a l q u i e r a de las opc iones que s e e j e c u t e a c t u a l m e n t e y

poster iormente o p r i m i r l a t e c l a ESC dos v e c e s , l a pr imera vez se muestra l a p a n t a l l a i n i c i a l d e l s i s t e m a , y en caso de querer r e g r e s a r a l a p a n t a l l a d e l e d i t o r s e oprime l a t e c l a ENTER, en o t r o c a s o s e o p r i m e nuevamente ESC c o n l o c u a l s e l e d e v u e l v e e l c o n t r o l a l s i s t e m a o p e r a t i v o .

F i n a l m e n t e s e d e s c o n e c t a e l c i r c u i t o de i n t e r f a z .

IMPORTANTE:

E l usuario debe tener en cuenta que n o s e l e a d v e r t i r & , en caso de n o haber lo hecho , de l a necesidad de s a l v a r e l c b d i g o de l b u f f e r a u n a r c h i v o de t i p o b i n a r i o , p o r l o c u a l a l momento de terminar l a s e s i o n s e p e r d e r h e l c d d i g o que s e e n c u e n t r e en e l b u f f e r de e d i c i b n .

INTERCONEXION

CONEXIONES

P a r a e l u s o d e l . s i m u l d o r es n e c e s a r i o tener u n a c o m p u t a d o r a P C - c o m p a t i b l e u n a f u e n t e d e v o l t a j e q u e s u m i n i s t r e l o s s i g u i e n t e s v o l t a j e s : +5V, + 1 2 V y - 1 2 V , e l s o f t w a r e d e l a P C y e l c i r c u i t o d e

i n t e r f a s e .

P r i m e r o s e c o n e c t a e l c a b l e ent re l a c o m p u t a d o r a ( p u e r t o s e r i e ) y e l c i r c u i t o d e i n t e r f a s e que t i e n e u n a c o n e c t o r DB9 e m p o t r a d o en e l c o s t a d o d e r e c h o d e l a b a s e d e l c i r c u i t o , e n e l d i a g r a m a 1 s e muestra como s o n l a s c o n e x i o n e s en e l que c a b l e que d e c o m u n i c a c i 6 n .

2 . 3

U I

s i r v e como v i a

d i a g r a m a 1

Una v e z h e c h a s l a s c o n e x i o n e s a n t e r i o r e s s e c o n e c t a r a n t a m b i e n los b u s e s d e d a t o s , d i r e c c i o n e s y c o n t r o l .

En l a p a r t e f r o n t a l d e l c i r c u i t o hay d o s c o n e c t o r e s e m p o t r a d o s en l a b a s e , uno es un DB9 ( d a t o s ) y e l o t r o es un D B 2 5 ( d i r e c c i o n e s y c o n t r o l ) .

P a r a los d a t o s l o s p i n e s c o r r e s p o n d e n d e l a s i g u i e n t e manera:

1 = DO (NEGRO) 5 = D4 (AMARILLO) 9 = N.C.

2 = Dl (CAFE) 6 = D5 (VERDE) 3 = D 2 ( R O J O ) 7 = D6 (AZUL) 4 = D3 (NARANJA) 8 = D7 (VIOLETA)

Paya las direcciones y control los pines corresponden así:

13 = A0 (NEGRO) 10 = A6 (AZUL) 15 = A12 (AMARILLO) 25 = A l (CAFE) 22 = A7 (VIOLETA) 3 = A13 (VERDE) 12 = A2 (ROJO) 9 = A 8 (NEGRO) 16 = A14 (AZUL) 24 = A 3 (NARANJA) 1 = A9 (CAFE) 4 = A15 (VIOLETA) 11 = A4 (AMARILLO) 14 = A10 (ROJO) 20 = OE y 19 = C E

23 = A5 (VERDE) 2 = A l l (NARANJA) 7 = GND

Una vez hechas todas la conexiones se tiene que energizar el circuito así: +5V (alambre rojo), -12 V (alambre amarillo), +12 V (alambre naranja), tierra (almbre. negro).

I

2 3

- ."

SINCRONIZACION PC-CIRCUITO

P a r a s i n c r o n i z a r l a t r a n s m i s i 6 n P C - I n t e r f a z e I n t e r f a z - P C , s e u t i l i z o e l m d t o d o XON-XOFF e l c u a l i n d i c a q u e p o r c a d a d a t o t r a n s m i t i d o espera e l a c u s e d e r e c i b i d o q u e e n e s t e c a s o es e l m i s m o d a t o , y h a s t a e n t o n c e s p u e d o mandar e l s i g u i e n t e d a t o y a s i s u c e s i v a m e n t e .

FUNCI ON PC I NTERFAZ

CARGAMEM R e c - C o n t ' a ? T ' a t T t o t - b a j a T t o t - a l t a

R e c - C o n t

Rec-Con t T Dir-a l t a Rec-Con t T D i r - b a j a

R e c - C o n t

T c n x o R-T CICLO

CHECAMEM R e c - C o n t 'b' T 'b' T t o t - b a j a

R e c - C o n t T t o t - a l t a R e c - C o n t

R e c T L i s t o R e c - C o n t T D i r - a l t a R e c - C o n t T D i r - b a j a

R-T CICLO T CICLO

SIMTIEMPOREAL R e c - C o n t ' c ' T ' c ' T commando

R e c - C o n t T F i n R e c - C o n t

T : T r a n s m i t e R e c : R e c i b e

C o n t : C o n t e s t a 1 5 2 9 6 9

FALLAS Y SOLUCIONES I

C u a n d o s e t r a n s m i t e m a l u n d a t o e l p r o g r a m a d e l a PC a b o r t a l a o p e r a c i d n y l e i n d i c a a l u s u a r i o e l t i p o d e f a l l a , e s t o p u e d e

o c u r r i r c u a n d o s e t r a n s m i t e e l c o d i g o d e l a PC a l c i r c u i t o o

c u a n d o se c h e c a e l c o n t e n i d o d e l a m e m o r i a y e l b u f f e r , e n t o n c e s es n e c e s a r i o v o l v e r a i n i c i a r l a s o p e r a c i o n e s e n l a PC y s e d e b e r e s e t e a r e l c i r c u i t o d e i n t e r f a s e d e b i d o a q u e e s t e e s t a b a e n u n c i c l o y n o s a l e d e i?l d e b i d o a q u e n o s e c u m p l e n l a s c o n d i c i o n e s

d e f i n d e c i c l o .

25

CONCLUSIONES:

En el desarrollo digital, sobre todo cuando se trabaja con microprocesadores o microcontroladores, es necesario una serie de herramientas que nos permitan alcanzar los objetivos planteados en un problema especifico, el trabajo aquí presentado trata precisamente de ser una herramienta que sirva a ese fin, que permita el desarrollo de software específico de aplicacidn sin el lento y tedioso proceso de programacidn y borrado de EPROM'S. Ademas de ser una herramienta para localizar y corregir errores de manera casí inmediata. Desde un principio se pretendio que la realizacidn de este proyecto fuera de bajo costo, de tal manera que estuviera al alcance de cualquiera y aunque así fue pudimos observar con el transcurso del tiempo y la investigacidn que hay mejores alternativas de diseíío e implementacidn , sin embargo esto no le resta ningún m4rito a los resultados obtenidos ya que fuerdn buenos y nos alienta a seguir buscando mejores opciones.

APENDICE A

; U N I V E R S I D A D A U T O N O M A M E T R O P O L I T A N A

7

I

I

1

THR RBR DLL DLM IER I IR LCR MCR LSR MS R PIODA PIODB PIODC

ALUMNOS : SANCHEZ MORALES OSCAR.

GONZALEZ SANDOVAL GERARDO.

PROGRAMA ENSAMBLADOR (FUENTE) DEL SIMULADOR DE MEMORIAS

EQU OOH EQU O O H EQU O O H EQU 01H EQU 01H EQU 02H EQU 03H EQU 04H EQU 05H EQU 06H EQU 08H EQU 09H EQU OAH

PIOCRT EQU OBH MEM EQU 10H RECEPCION EQU 800H BANDERA EQU 801H

ORG O O O O H RST 38H

ORG 0038H JP l O O H

;***************5***********************************************************

ORG 0066H

;Funcion que checa que haya una recepción y devuelve e l ; caracter en la variable RECEPCION.

LEE: PUSH AF IN A,(IIR) ; lee la identif icacion de interrup AND 04H ;checa que sea por recepcion JP Z , NORECEP ; s i no hay nada no hace nada IN A , (RBR 1 ; lee e l caracter rec ibido en e l LD (RECEPCION1,A ; regis tro de datos LD A , O O LD (BANDERA ) , A

RETN NORECEP: POP AF

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ORG O l O O H

INICIALIZACION:

LD HL, OFFFH ; in ic ia l iza e l s tack po inter LD SP,HL

I " " -, "_ .r ~ . & s s b a d L . s . ~ . ~ Q s * - * -

PT08255: L3 A , f33H 03T (PIXRT 1 , A ;Los puer tos de salida

X9R A OUT {PIODC 1 , A ;Prende e l l e d e x t r a

PROG8250: LD A , 80H OUT (LCR 1 , A ;pone DLAB = 1 LD A , 1 2 OUT (,DLL ) , A XOR A OUT (DLM 1, A ;velocidad 9600 con 1.8MHz LD A,03H OUT (LCR 1 , A ;caracter 8 b i t s , l b i t d e p a r a d a , no paridad LD A,OlH OUT (IER) , A ; h a b i l i t a I n t e r r u p c i o n d e r e c e p c i o n

MEMORIA: LD XOR LD

MEMALTA : LD OUT LD

MEMBAJA : OUT OUT INC JP INC JP

HL , OOOOH ; l l e n a t o d a s las loca l idades de A ; l a memoria con ceros B, PIODA ; d i r b a j a s e x t e r n a s C , PIODB ; d i r a l t a s ex te rnas ( C ) , H

C , B ( C ) , L (MEM 1 , A

N2,MEMBAJA H N2,MEMALTA

XOR A OUT (PIUDC 1 , A ;Apaga e l l e d e x t r a

SWITCH: CALL ESPERAREC ;dependiendo del caracter r e c i b i d o manda CP 'a ' ;un mensaje especifico JP NZ ,CHEQUEO CALL LOADMEM JP SWITCH

JP N2 , PASOPAS CALL CHECMEM JP SWITCH

JP N2 ,SIMULA CALL PASOPAS JP SWITCH

JP N2 ,SWITCH CALL SIMULACION JP SWITCH

CHEQUEO: CP 'b '

PASOPAS: CP 'c '

SIMULA: CP 'd '

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

I

;Funcion que carga e l codigo en l a memoria RAM LOADMEM: LD A, ' a '

OUT (THR) , A CALL ESPERAREC LD E , A OUT (THR 1 , A CALL ESPERAREC LD D , A OUT ('I'HR 1 , A CALL ESPERAREC LD L , A OUT (THR ) , A CALL ESPERAREC LD H , A OUT (THR 1 , A XOR A OUT (PIODC 1 , A

CARGANDO: LD C,PIODB OUT ( C ) , H LD C ,PIODA OUT ( C ) , L CALL ESPERAREC OUT (MEM 1 , A IN A, (MEM) INC HL OUT (THR 1 , A DEC DE LD A , E CP O0 JP N Z ,CARGANDO LD A , D CP 0'0 JP N2 ,CARGANDO

RET

;regresa la contestacion de l i s t o ;carga parte baja en E del to ta l da ;caracteres a r e c i b i r ;devuelve e l dato

;carga parte alta en D ;devuelve e l dato ;carga parte baja en L de la direccion de ; in ic io de l codigo a rec ib i r ;devuelve e l dato

;carga parte a l ta en H ;devuelve e l dato

;comando que e v i t a l a contencion de buses

;asegura que e l dato ha s ido escr i to icorrectamente

* ..........................................................................................

;Funcion que compara e l contenido de l a RAM con el contenido ;de programa en l a COMPUTADORA.

CHECMEM:- LD A, ' b ' OUT (THR 1 , A CALL ESPERAREC LD E , A OUT (THR 1 , A CALL ESPERAREC LD D , A OUT (THR 1 , A CALL ESPERAREC LD L , A OUT (THR 1 ,A CALL ESPERAREC LD H . , A OUT (THR 1, A XOR A OUT (PIODC 1 , A

TRANSMIT : CALL ESPERAR.EC LD C ,PIODB

;regresa la contestacion de l i s t o ;carga parte baja en E del to ta l de ;caracteres a r e c i b i r ;devuelve e l dato

;carga parte alta en D ;devuelve e l dato ;carga parte baja en L de la direccion de ; in ic io de l codigo a rec ib i r ;devuelve e l dato

;carga parte a l t a en H ;devuelve e l dato

;comando que e v i t a l a contencion de buses

OUT ( C 1 , H

- ""_ *_._. -.""" "" " - v-

r .-., '> - (? -, *. 2; - , .. -r 4h

13':'T !C , L. 18 P,, (MEM :) CUT (THR) , A INC HL DEC DE LD A,E CP o0 JP N2 ,TRANSMIT LD A,D CP o0 JP N2 , TRANSMIT

1

RET

S IMULACION : LD A, 'd ' OUT (THR 1 , A LD A,92H OUT (PIOCRT 1 , A CALL ESPERAREC OUT (PIODC 1 , A OUT (THR 1 , A CALL ESPERAREC LD A , 80H OUT (PIOCRT 1 , A XOR A OUT (PIODC 1, A OUT (THR) , A RET

END

;regresa l a contestacion de l i s t o

; e s c r i b e e l comando

;termina de simular cuando recibe un OOh

;Los puertos de sal ida

APENDICE e

... "l..-.l.""" """I"."""-... . .

..... *

i". ni i- i". 3 "2

r: 9 c" r- L.

m "_ v

,a CL

ru o- ru r; J 1.n

Li.

L.,. ! l i2

a J m

.a

I-..' .- n t ; 9 a c"

F l ry a

;M? 'p: .......

w z 1 7 9

u S

..-,

Trans-Datar char c

-. .... .I. ... .... .r. .C. *L.. .... .... I... C C .

1 c. .- C. F. c.. C. h -. h h v C.

I I I I I I t I I I I

I I

I I I I I I I 1 I i I I I I

I " i w

U

Q J- U C I . .

I.. C. (fj

.-. E.... w .a.. P. = g - >>:.:.:+-"

s... c, E ............ I

t'. ['-~ ".. ........... ..... ....... ......

..-.

I" .Pi

n L..

2.::

l i j

E C..,

"L1

- :

.: y, I .i.

rtrtahe:.: I char tdatts!

i

i

!

" . . . ".

, r. .-/

ii

i-t .-i L' L:

"

.&.l c 5 4

"I 31' ."

. .

L ... r'l .-i

FEOYECTD TERM I NAL 1

c,i

, .

"L. ......

D 3.7 r-l I

i

!

BIBLIOGRAFIA

TTL Logic standard t t l , schottky

low power schottky Texas Instruments, 1988

Pheripheral, INTEL, Co USA

Jose María UruXuela Martinez; "MICROPROCESADORES

Programacidn e interconexidn" Ed. PRENTICE HALL, 1989

Ronald J. Tocci; "SISTEMAS DIGITALES PRINCIPIOS Y

APLICACIONES" Ed. PRENTICE HALL

3ra. Edicidn, Mdxico 1987