51
UNIVERSIDAD AUTONOMA METROPOLITANA UNIDAD IZTAPALAPA c k3.Z REPORTE FINAL DE: PROYECTO DE INGENIERIA ELECTRONICA Ii / CHECADOR DE TARJETAS 146498 ALUMNOS: W T A GASTELUM LUZ FRANCISCA. > n \ \I 1 PULIDOBAñOSALEJANDRO. ASESOR: SERGIO PAEZ RODEA. MAYO DE rppo

UNIVERSIDAD AUTONOMA METROPOLITANA UNIDAD …148.206.53.84/tesiuami/uam6462.pdfuniversidad autonoma metropolitana unidad iztapalapa c k3.z reporte final de: proyecto de ingenieria

Embed Size (px)

Citation preview

UNIVERSIDAD AUTONOMA METROPOLITANA

UNIDAD I Z T A P A L A P A c k3.Z

REPORTE F I N A L DE:

PROYECTO DE INGENIERIA ELECTRONICA I i

/

CHECADOR DE T A R J E T A S

1 4 6 4 9 8

ALUMNOS:

W T A GASTELUM LUZ FRANCISCA. > n

\ \ I 1 PULIDOBAñOSALEJANDRO.

ASESOR:

SERGIO PAEZ RODEA.

MAYO D E rppo

I NDI CE

RELOJ MAESTRU

TABLA DE ESTADOS

9

i i

13

.yz .-, CONCLUSIONES A L L

L 3

APENUICE B: INFORMACION REGISTROS 82050 :34

APENDICE E: DIAGRAMA DE Lfi INTEHFASE 36

APENDICE D: PROGRCSMCS DEL PROYECTO 38

2

P R O L O O O

L a función principal de la seccih de Computadoras. perteneciente al sistema de t ranpor te colectivo METRO, y para la cual ha sido reaihado este proyecto, es la del mantenimiento de las computadoras y equipo periferico que existe para cada una de las lineas del m e t r o .

Esas computadoras tienen encargada L a tarea de regular el tránsito de t renes , llevar el seguimiento de éstos a lo Largo de toda la línea, y +.P el despacho de t r enes en las terminales.

L a comunicación e n t r e la sección donde se maneja el trdtf ico de trenes CTel&rBfico> y la c;omput.mima mrreqpml.fentse a cada línea se realiza a t r a v é s de una interfrise, la cual hace uso de diferentes t a r j e t a s para la transmisión y recepción de datos; ?nkn es%?? m a de 1- m a s usadas es la kmjeta de entradas digitales opto-acopladas de 16 b i t s RTP 7435/37!, cuya función es la de recibir las entradas digitales del sistema de te le t raf ico procesarlas y pasarlos a la tarjeta RTP 7435/38 salida a relés de 16 bits, para que de ahí sean enviados a la computadora.

El propósito de este proyecto fue el de elaborar un probador para la tarjeta de entradas digitales opto-acopladas para que con e s t o la reparación de dicha tarjeta sea de una forma mas rápida, de forma tal que se p o w agilizar el sistema de mantenimiento y ademas que se ahorrará dinero reparando las tarjetas y no sustituyéndolas por nuevas.

8

3

U E N E R A L I D A D E S

Pana la redizacih de nuestro proyecto, se requirib diseñar una in te r fase que comunicara la PC con la tarjeta a proba- y viceversa; a s í como de un programa que mandara y recibiera datos por el puerto serie de la PC utiiizando comunicación asíncrona y la norma RS-232 del puerto serie en la computadora.

La tarea principal de La in te r fase es la de recibir dos bytes de prueba que son mandados por la PC a traves del puerto serie; una vez recibidos mandarlos a las entradas en paralelo de la tarjeta a probar y generar un retardo para posteriormente recibir también en paralelo los datos de saiida de la tarjeta; e s t o s son recibidos en dos bytes, los cuales son mandados en forma serie al puerto de la PC. U n diagrama a bloques de la interfase se muestra en la figura 1.

Pa ra lograr lo anter ior se diseñó una p a r t e de control, pero se requirib de unos circuitos especiales capaces de transmitir y recibir de forma asíncrona, estos son los UARTS

' AY-5-lOl3A (información en el apendice A>.

COMUNICACION ASINCRONA:

La transmisión de información digital a t r a v é s de un par de alambres no es del todo dificil. D e hecho, un reg is t ro sencillo que convierta de serie a paralelo tal como el S N 74165 puede ser usado como un t r a n s m i s o r y un reg is t ro convertidor de serie a paralelo, tal como el SN 74164 que puede ser usado como receptor. Pero todo este proceso solo contiene la carga de datos en paralelo dentro del transmisor y de s u carga en el regis t ro , un b i t a la vez. El receptor puede mandar los datos recibidos en el reg is t ro uno a la v e z hasta que sean todos recibidos. Desafortunadamente, este proceso no es una transmisión asíncrona, dado que las señales del re loj son comunes y m u c h a s s e a e s de control son requeridas en t r e los dos reg is t ros de carga integrados en los circuitos. Podría s in embargo t raba jar , pero no va a ser compatible con el estandar de las tecnicas de transferencia en serie, de datos en forma asíncrona. En una verdadera transferencia de datos, solo la linea de transmisidn de datos se conecta al receptor y al transmisor.

.. .. 4

.. ~ . . . . . . _._-_

.

- . . 1 . . . . ... .. . .

. .

Obviamente, debe de haber algunos trucos que son usados para controlar una verdadera transferencias de datos en serie, de forma asíncrona.

Dado que en una comunicación asíncrona no existe un reloj comfin conectado e n t r e el transmisor y el receptor, y tambien ninguna señal de control existe entre eiios, un BIT DE COMIENZO siempre precede a cualquier transferencia de datos. E s t e b i t es siempre un cero lógico. E s t e es usado para indicar a el receptor que una nueva serie de datos ya ha sido bransmitida.

C a d a transmisión termina con uno o dosBITS DE PARADA, los cuales son siempre uno lógicos. L a opción de uno o dos BiTS DE PARADA son de alguna m a n e r a arbi t rar ia . En algunos casos especiales la apl icacih de uno, dos b i t s o uno y medio b i t s de parada pueden ser usados.

Por supuesto que debe de haber un límite en cuanto al niunero de b i t s de datos en cada transmisión, por o t r o lado aigunos sistemas transmiten cinco b i t s de datos despues de un bi t de comienzo, mientras otros desearían transmitir cientos de b i t s de datos. L a serie de b i t s de datos encontrados e n t r e el bi t de comienzo y el bit de parada esta limitada en t r e cinco y ochobits.

El BIT DE PARIDAD, par o no, es usado para checar los e r ro res en la transmisión de datos. E l BIT DE PARIDAD indica si el número de unos lógicos en la palabra de datos es par o impar. L a figura 2 muestra los b i t s de control para la comunicación asíncrona. i

PUERTO SERIE (NORMA RS 232)

El corazón de el adaptador es un chip INS8250 o un equivalente. Algunas caracter is t icas son las siguientes: No hay necesidad de una sincronización precisa; el reloj del receptor es independiente; detección de un b i t de comienzo falso; generación de una linea de aborto y detección.

Todo el protocolo de comunicación es una función del s i s t e m a y debe de ser cargada , an t e s de que el adaptador esté en operación. Todos los Status de las señales de control deben de ser manejados a t r a v é s del s i s t e m a de S o f t w a r e . L a f igura 3 es un diagrama a bloques del adaptador de comunicación asíncrona.

.

P O ui e4 aJ

a

I

m

a

f . '

4 * a

L o s diferentes modos de operación son seleccionados programando los e l e m e n t o s de comunicación asíncrona del 8250. E s t o es hecho a t r a v é s de seleccionar las direcciones de entrada y sdda (primaria hex 3f8 a 3ff, y hex 2f8 a 2ff para la secundaria) escribiendo el dato de salida en el conector. L o s b i t s de direccionamiento AO, A l , y A 2 seleccionan los diferentes registros que definen los diferentes m o d o s de operación. También , el b i t de acceso del L a t c h divisor <bit 7> del registro de linea de control es usado para seleccionar ciertos registros.

E n la tabla 1 se m u e s t r a n las direcciones correspondientes a los registros utilizados para manejar el 8250.

DIRECCION DE E/S

ADAPTADOR PRIMARIO REQISTRO SELECCIONADO --_--_---_-------- .................................................................

3F8 B u f f e r TX 3F8 B u f f e r RX 3F8 L a t c h Divisor LSB 3F9 L a t c h Divisor MSB 3F9 R e g i s t r o de In t e r rup t E n a b l e 3 F A R e g i s t r o de Identificación

3FB R e g i s t r o de C o n t r o l de L i n e a 3FC R e g i s t r o de C o n t r o l de Modem 3 F D R e g i s t r o de Status de L i n e a 3FE R e g i s t r o - d e Status de Modem

de Interrupción

TABLA 1

L a tabla del apéndice B m u e s t r a el mapa de registros donde se encuentra la descripción de los b i t s para cada registro mencionado en la tabla 1.

1 4 6 4 9 8

D E S A R R O L L O

Para la utilización de los UARTS en la interfase; la pa r t e de control, recepción y transmisión que comprenden el modo de funcionamiento de este tipo de circuitos, quedó de la siguiente manera:

En la p a r t e de control se programó el UART para que no t raba jara con paridad, tuviera un b i t de parada y ocho b i t s de datos; quedando conectada esta pa r t e como se muestra en la tabla 2a.

Para la p a r t e de transmisión se recibían ocho b i t s en paralelo y se us6 un reloj 16 veces m a y o r al BAUD RATE generado por la PC; además de u t i l i zar sus banderas para conocer el estado del buffer de transmisión, la carga de datos y el final de la transmisión, la cual por supuesto es en forma serie. L a tabla 2b muestra como fué utilizada esta parte.

En la p a r t e de recepción tenemos ocho salidas en paralelo, una entrada en serie, o t r a vez un reloj 16 veces el BAUD RATE generado por la PC y la p a r t e que programa el protocolo de recepción de los datos. E s t e protocolo utiliza las banderas del framing e r r o r y la de dato recibido disponible. En la tabla 2c se encuentra la forma en que esta parte fue conectada. I

Una v e z expuesto lo anter ior y dado que estamos utilizando una comunicación asíncrona es de suponer que la transmición y recepción en la PC haya sido programada de la m i s m a forma.

TABLA 2a

TABLA 2b

NUM. DEL PIN NOMBRE VALOR

12 - 5 RDI - RD8 E n t r a d a s i de la tarjeta 17 CLOCK C o n t r o l de reloj 20 S I Puerto serie de la PC 19 RDA C o n t r o l de la interfase 14 FE C o n t r o l de la interfase

RELOJ MAESTRO

El re loj maestro genera frecuencias desde 2400 hasta 153600 Hz. con objeto de poder recibir datos desde 150 hasta 9óOO baudes. E s t o se realizó por medio de un reloj oscilando a 153600 Hz .

Como la transmisión es asíncrona, la frecuencia del reloj maestro no necesita ser muy exacta, con que no var ie m a s del tres porciento de la frecuencia dada se asegura que se este ejecutando la recepcibn y la transmisión. Para la realizacidn del re lo j se utiiízaron un temporizador LM555 como generador de la frecuencia, y un 14040 como divisor de frecuencias. En la figura 4 se muestra el circuito del re lo j maestro.

En la tabla 3 m o s t r a m o s las frecuencias con sus bauds.

FRECUENCIA BAUDES i

2400 4800 9600

19200 38400 76800

153600

150 300 600

1200 2400 4800 9600

TABLA 3

& I-

P

a

Basandonos en los ec;t.ados en íos que deben de estar las banderas de los UARTS dependiendo de la función que este vaalizarido la interfase se propuso una tabla de estados la cual se muestra en la tabla 4: esta tabla de estados es la que nos sirvio para hacer la parte de control de la interfase.

TABLA DE ESTCIDOS

bandera A B C D E F G H I J K L M N O P

RDA 1 o # 1 1 1 1 ' 1 1 1 1 1 1 1 1 1 1 TMBT 1 1 1 1 1 1 1 1 1 1 1 1 1 1 o o 1

EOC 1 l l l l l l l l l 1 l l l l # l CLKT 1 0 0 0 O 0 O O # O O O 0 C L O C K D E T I

CLKR 1 RDA2

TMBT2 EOC2

CLKTS CLkR2

A ' MR

VFiR 1 VFiR2

cíS2 DS1

M 8'

o o 1 1 # # 1 1 o O o # o 1

CLK o O # 1 1 1 1 0 0 o ELK 1 1 0 0 0 # O # O # 0 0 # O 1 1

0 1 1 1 o # o o O # o o o /

0 0 0 1 1 1 1 o ci

l l ú CLOCKT2 O # # 0 1 1 0 0 0 1 0 0 0 0 0 / o o 0 0 0 0 0 0 1 1 1

o # o # o o o # ci

1 1 1 1 1 1 1 1 1 1 1 o o l o o O # 1 1 1 # 1 1 1 1 1 O CLOCKT2 # 0 O O O 0 O # O 0 # is O 0 0 o 1 1 o 1 1 1 1 Q O O O O 0 i 3 0 1 o l o o O # # o # 1 # 0 # 1 1 0 # 0 # / # # o o CI O o / # # ú / / i J # O o o o o o l l l l / 1 1 1 / 1 1 1 1

___-__----_----__------------------------------------------------- Nota: El simbolo / en esta tabla viene representando un pulso

rnegativo es decir un pulso que va de un nivel 1 a O y regresa a un nivel 1).

TABLA 4

La tabia 4 antes presentada ya conLiene *unos estados que resuitarón despues del manejo de las variables artificiales, las cuales son M, VARl, VAR2; de estas junto con las banderas desplegadas por los UARTS dependen las variables DSl , DS2, CLKTl, CLKT2, CLKRl, CL- y el MR.

I

Las ecuaciones de la parte de control quedaron de La siguiente manera.

CLKRl = CLKR2 = CLKTl = CLKT2 =

A, = DS2 - DSl -

CLOCK 8 RDAl‘ 8 MR’ CLOCK 8 RDAl 8RDA2‘ CLOCK M <CLOCK 8 M 9 8 RDA2 (RDA2’ + TMBT2’> 8 EOC2 + EOC2’ VARl 8 Q2’ (74123) VAR2 8 Q2’ <74123>

L o s mapas para las variables siguientes:

Jm O O O O 1 1 1 1

TMBTl TMBT2 O 0 o1 11

RDAl RDA2 \ O o ! X x 1 O 1 ! X x x 1 1 ! O x o 1 o ! X x o 1 o ! X x x 1 1 ! X x x O 1 ! X x x O o ! X x o

10

X X O X X X X X

W A S TMBT2 O 0 O 1 11 10

O O I X X X X O l ! X O X X 1 l ! X l O O 1 O ! X X X O

RDAl TMBTí \ *

CLKRl y CLKFU son los

1 4 6 4 9 8

CLKRl=RDAl98MR’tCLK

Las variables VARl, V A N , M y MR se implementarón con circuitos 7474 que son flip-flops tipo D con dos en cada inbegrado.

La forma en que fueron conectados los flip-flops para la var l fue de la siguiente manera:

CLEAR = RDA2, D = RDA2, CLK = Ql’ <74123>, PRESET = 1, SALIDA Q a la entrada de una and, cuya otra entrada esta conectada a TMBT2, y a la saiida t e n e m o s VARl. A q u i se deja pasar un uno en el flip-flop ai darse un flanco posit ivo en el reloj ei cual esta conectado al re ta rdo generado por el 74123 <figura 5) .

La f o r m a para VAR2 es la siguiente:

CLEAR = RDA2 ic TMBTl, D = 1, CLK = TMBT2, PRESET = 1, y en la salida Q tenemos VAR2. El cambio de estado a la salida se debe a un flanco positivo generado por la señal TMBT2 la cual nos indica que el buffer de transmisión vuelve a estar listo <fig. 6).

L a forma para M es la siguiente, pero en esta ocasion se usaron los dos flip-flops del integrado:

CLEAR1 = RDA2 = CLEAR2, D i = f = D2, CLKl = BIT 1 de un contador binario, PRESET1 = 1 mPRESET2, Q l = CLK2, Q2 es M y la salida Q2’ es M’. En esta ocasibn el nivel de la salida es cambiado debido a un flanco positivo generado por el b i t 2 de un contador permitiendonos así manadar dos veces un byte a t r a v é s del UART2 <fig. 7) .

Para Master R e s e t fue necesario separarlo en dos debido a que necesitamos un reset para la in te r fase para cuando esta empieza a t raba jar , este consiste en un diodo, una resistencia y un capacitor, su configuracibn puede ser encontrada en el d i a p a m a de la figura 8 . L a segunda pa r t e que compone al reset tiene como funcibn la de dar un reset cuando hemos terminado un ciclo de estados. La segunda pa r t e fue implementada con un flip-flop debido a que este tipo de circuitos con un solo cambio de nivel detectado es posible hacerlo cambiar de estado a la salida. A s í la segunda pa r t e quedo impiementada de la siguiente manera:

Tambien esta ocasión fueron utilizados los dos flip-flops contenidos en el integrado. CLEAR1 = CLEAR2 = RDAS, D i = D2 '1, CLKl =EOCl, PRESET1 =PRESET2 =I, QI =CLK2, y por iiltimo la salida Q2 proporciona la señal para el reset. El flanco positivo esta vez es generado por la señal EOCI la cual nos indica con ello que se ha dejado de transmitir a t r aves del UARTl y por lo tanto se han terminado de mandar bytes de la interfase a la PC

L o s D a t a Strobe tanto del U a r t l como del Uart2 dependen de un pulso generado por la segunda p a r t e contenida en el integrado 74123, este pulso es dejado pasar o no a la respectiva pata del UART por VARl o VAR2 s e g h corresponda. U n puis0 en la pata de D a t a Strobe del UART genera que se carge un dato y se comienze s u transmisión. <Para m a s información sobre el funcionamiento de los pines del UART consultar el apendice A al final del reporte).

Debido a que la in te r fase trabaja a velocidad m a s rapida a la de la respuesta de la tarjeta, hubo la necesidad de generar un re tardo para controlar el envío de los bytes de respuesta a la PC, este fue implementado con un circuito 74123 el cual utiliza un capacitor de 100 pF y una resistencia de 35 K ohms lo cul nos da un t w de I000 ns, las especificaciones sobre este integrado se pueden encontrar en el apendice C. E s t e circuito de re tardo puede ser encontrado en la figura 9.

I

E 4 o

1: io

P > O m S

c

c

QD

a L e a .* IL

Q

L e

a a

2

\

ANALISIS DE RESULTADOS

a la interfase I

fue necesario

serie de la computadora y do PC ora lo mismo quo m e macibiei, funcionaba satisfactoriamente ai los dos bytes que oran mandados, y con el mismo valor.

Para poder ileyar a las pruebas finales de la interfase se requiri6 algún tiempo, ya que la pa r t e de control t o m o tiempo ajustarla adecuadamente a nues t ras necesidades, esto nos orillo a crear variables artificiales, si así podemos llamarles; es decir,. variables externas creadas y controladas por nosotros para facilitar el paso de un estado a otro. La necesidad de estas variables se basa en que Las banderas de los UARTS que nosotros utilizamos para el control y ,que creíamos se daban en un determinado tiempo no era así, creandonos problemas graves de control. I

1 L a prueba principal, e n t r e muchas, que nos permitío

estar securos del buen funcionamiento de la interfase; fué la que se reall26 para comprobar que la in te r fase recibía dos bybes y estos eran llevadas en paralelo a la tarjeta de forma correcta, comprobando a s í que les velocidades e n t r e la in te r fase y la computadora concuerdan; el siyuiente paso fue vex- si la in te r fase mandaba en serie los dos bytes que .La tarjeta regresa al ser a l i m e n t a d a con datos, pero para esto fué necesario colocar un ciclo en la computadora para que nunca saliera de transmitir los mismos datos y de esta forma t ene r siempre los mismos datos de salida para poderlos ver en el osciloscopio; de esta manera pudimos comprobar que.& in ter fase mandaba dos bytes a la computadora y la velocidad era correcta.

-

I Se realizarón unas pruebas juntando la interfase; la tarjeta y un proc;rama muy simple, el cual solo mandaba dos ciatog y recibía los datos que mandaba la interfase; este programa no tenía ventanas ni n i ~ t m t ipo de opciones que e¡ pro6rama final contiene. A l hacer estas pruebas se encontró que la computadora siempre recibía dos &tos como era requerido, pero el problema era que siempre fueron los mismos, así que se procedí0 a revisar si la tarjeta es taba respondiendo ya que estabamos seguros que la PC estaba enviando bien los datos de ‘prueba y la interfase recibiendoios correctamente; ya que los datos enviados por la PC eran encontrados a la entrada de la -jeta. A s í que el problema se enconbraba en la respuesta de la tarjeta, lo cual fue comprobado. Los opto-acopladores que t iene la tarjeta en cada una de sus entradas no e ran alcanzados a ser activados con el voltaje que provenía de los buffers conect+os a ias salidas en paraielo de los UARTS; este vo l t a j e era de alrededor de 4 V o l t s , así que se tuvo que amplificar las saiidas en paraielo de los UARTS para poder hacer t r aba ja r a la t-jeta.

Resuelto el problema de la tarjeta se procedió a verificar si los dos bytes recibidos por la PC eran correctos, y así fue. El siguiente paso consistio en desarrollar m a s s o f t w a r e , para tener opcihn de checar la tarjeta por completo, o linea por iinea y t ener una ayuda para a l g h error, además de indicarle al usuario a t r a v é s de ventanas los pasos a seguir para la utilización del proyecto; quedando así un proyrama largo y lleno de ventanas.

Sin embargo al probar juntos la interfase, la tarjeta y el nuevo programa se encontró que la computadora solo leia uno de los bytes perdiendo el otro. A l principio se pensó que se perdía el (i lt imo byte que mandaba la in te r fase a La PC, as$ que se trató de agilizar el programa para que en cuanto leyera el primer byte inmediatamente l eye ra el segundo, pero no se 10~1’6 n f ~ C i n resultado positivo. Se continuaron las pruebas, esta vez se t r a t ó de ver i f icar si era cierto que el byte que era perdido era el Segundo, así que se estuvo cambiando los bytes de entrada a la in te r fase para v e r como cambiaba s u respuesta el W c o byte que se recibía en la interfase, llegando a la conclusión de que no era el segundo byte que la interfase manda a la PC, sino era el primero. E s t e problema trató de solucionarse a t r avés de software, provocando retardos en el programa an te s de que fue ra a traer el primer da+o del puerto &e entrada, a s í que decidimos mandar dos veces el

i t .

. .

este intento no fue fructoso primer dato que manda la

. . . - ... ...... .~ . .

interfase a la PC para asegurar que lea ese dato la segunda vez

tuvo que m o d i f i c a r un poco la p a r t e de control de la interfase, aumentando un contador el cual nos da la pauta para continuar al segundo byte-resultado. I

I

que es enviado, y dio resultado. Para lograr mandar dos veces se f

I

Consideramos que el u80 de ventanas y letreros de error provoca retardos al programa los cuales a s u vez provocarón la perdida del primer byte.

Por ú l t i m o se procedió a probar de nuevo iiegando a la conclusión de que t a n t o el programa como la in te r fase t rabajan correctamente juntos, lo cual algunas v e c e s parecía que no era a s í pero esto es debido a la tarjeta con la cual se hacen la pruebas no esta trabajando del todo bien y en aipnas ocasiones no responde como es debido a los bytes de prueba.

C O N C L U S I O N E S

A t r a v é s del desarrollo de este proyecto hemos podido concluir que el ultimar los detalles es a h m a s pesado que el diseño mismo del proyecto, y que en el caso de localizar un error grave en la base del proyecto, lo m a s sano es truncar s u desarrollo y regresar a atacar el problema de raíz, ya que continuar de esta forma así con una base erronea acarreara mas problemas y a la larga l levará m a s tiempo resolverlos.

Tambien pudimos iiegar a la conclusion de que las velocidades en una comunicación asíncrona son criticas, ya que estamos haciendo uso de relojes independientes y e s t o s deben de tener una cierta exactitud p a r a poder asegurar la transmisión y recepción correcta. Ademas de que t an to una parte como o t ra ; transmisor y receptor ambos deben estar programados de la m i s m a forma para poder tener datos confiables. Es decir, que ambos manden o reciban datos con la m i s m a paridad o s in ella, así como con un b i t de comienzo y uno o dos b i t s de parada segun como se requiera.

Tambien pudimos concluir que an te s de comenzar el diseño de un proyecto h a y que estar completamente seguros de lo que necesitamos y de que erramientas disponemos. para atacar el problema, el cual debe de estar tambien completamente definido. D e no contar con objetivos de t rabajo claros y con una idea precisa del problema se corre el peligro de e n t r a r en un proyecto largo, canzado y en aigunas ocasiones parecera que s in solución.

B I B L I O U R A F I A

Notas sobre los UARTS.

Manuales de INTEL.

Manual de TTL.

Manual de L i n e a r .

Manual del usuario de la PC IBM.

Manual de ECü.

APENDICE A

h

UARTS :

Receptor-Transmisor Universal Ashmono (UART). Los Receptores-Ti*ansmisores Universales Ashcrony,s o

UART han Sido desarrollados de Loma t a l qué todos han sido incorporados a un circuito integrado standard de 4 0 pines

pay algunas funciones eri el ship que son programadas por el usuario de forma ta l que formatos de datos seriales- asíncronos pueden ser acomodados.

Los UARTS, son fabricados por d i f e r e n t e s casa, entre ellas la Texas Iristrunierit que fabrica a l TM56012; l a Western Diuital Corporation con el TRl602 y la Ceneral 1rtst.r-vmerit Corporation con e1 AY-3-1015, aiirque los nhner-os de pines y l a s descr ipc iones funcionales serán las mismas para d i s p o s i t i v o s compatibles.

Los UART se camponen 1sasicantent.e de 3 partes, una de cont.ro1, otra de receycion y una Ultima d e transmisi6n. Las sesales d e control del UART son. aque l las que son cornitties a ambas secciones, la de transmision y l a de recepcibn. Estas incluyen el Master Reset, pin 2 f , y otras 6 señales de control que son d e s c r i t a s mas adelante. Estas 5 s+ñales controlan e l formato del dato que esta siendo transmitido y r e c i b i d o . E l formato para la sección dé Recepcion y de Transmisión para cada chip es el mismo, dada que la s mismas 6 lineas son usadas para programarlas a ambas.

TABLAS DE FUNCIONES DEL UART CONTROL

Ruin. de Pin Noarbre 21 34 35 39 36 37

38 16

~

MR -> Master Reset CS -> Control Strobe NP -> No Parit-y

PE -> Par i ty .or Parity Even S0 -> Stop Bits NB2-> Number of NBl-> Data bits SWE-> Status Words Enable

TRANSMISION

N u . de Pin Nombre 26 D B i - > Data Bit. 1 27 DBZ-:. Data Bit 2 28 I)83-> Data B i t . 3

29 DB4-3 Dat.a B i t . 4

30 DB5-:> D a t a B i t 5

31 DB6-> Data Bit 5 32 DE!?-> Data Bit 7 33 DB8-> Data Bit 8 *

40 Clock 25 SO -> Serial Output 22 TMST->Transmiter Biif f er

Empty Flag. 23 DS -> Data Strobe 24 EOC-> End of miaracter Flag

c

Hum, de Pin Nombre 12 RDf-> Data Bit 1 l i 10 9 8 7 6

5 17

20 4

18 19

13 1 4

15

Rp2-> Data Bit 2 RD3-> D a t a B i t 3 RD4-r D a t a B i t 4 RD5-> Data Bit 5 RD6-> Data B i t 6 R07-> Data Bit 7 RD8-> Data Bit 8

Giock Si -> Serial Input

RDE-> Received Data Enable DRR->- D a t a Ready Reset. RDA-i. Received Data

Available PE -> Parity Error FE -> Framing Error OR -> Overrun Error

- . .

, ... . .

Y.

CONTROL :

Master Resert. p in 21: Un í l.6yico en asta entrada da un Reset al UART. Esta entrada debe de estar en un estado O

l6iigico para operaciones normales. El UART debe de ser reseteado cada vez que un voltaje de encendido es aplicado a

e l . No Parity, pin 55: Un i l6gico en esta entrada

eliminara la presencia d e l bit d e paridad en los bits transmitidos. Por l o c u a l , a l receptor no esperará recibir un b i t de paridad entre IQS b i t s . Si este bit es un cero lógico, el bit de paridad, par 6 impar, ser& colocado en la transmisiin en serie de los bits entre el iIlt.imcz b i t del dato (MSB) y el bit de parada. Por l o tanto , el receptor esperara recibir un b i t de paridad S i el p i n 35 es ?in cero 16gico [en nuestra interfase su u t . i l i z a iin O lúgicú) .

Parity Select, pin 39: Un i lbgico en esta entrada selecciona el modo da paridad par y un cero l6gicv selkciona el modo de paridad impar. El modo de seleccih no es ixsado por la lógica interna d e l UART si el p i n 35 (No parit.y input) está en el estado uno lógico.

Number of Stop b i t s , pin 36: Ua cero lúgico en esta entrada seleccionara un B i t de parada. mientras que un uno lógico seleccionara dos b i t s de parada.

Number of Data b i t s , p ins 37 y 38: Est-os pines permiten l a selecci6n de cinco. seis, siete u ocho b i t s de datos en serie, entre el b i t de conaienzo y el b i t - de parada. S i cinco b i t s son seleccionados, entonces habra cinco b i t s de datos en la información transmit.ida y l a secciún de recepción d e l UART esperará recibir cinco bits de datos.

\

. . ... __._ ~.

Estas dos entradas son programadas como sigue:

NB-2lpin 37) NB-ifpin 381 Data B i t s o o 5

1 O 7 O 1 6

1 1 8

Control Strobe, pin 34: Un uno logic0 en esta entrada a i UART permitira la entrada de los cinco bits de control dentro de la círcuiteria de respectiva del UART. Esta entrada deberá r e c i b i r un pulso de un uno lógico, o debera estar permanentemente en un uno lOyico, corno usualmente se tiace en nuestra interf ase.

Clock, p in 40: La seccibn de trartsmision del UART acepta un set en paralelo mayor a 8 b i t s de datos, los cuales sori formateados por l o s B i t s de control, y despties los 'mandanda en forma serial. Para hacer estú, primero se

requiere una sena1 de reloj. En la mayoria de las aplicaciones de los UART, la serial de reloj debe ser 16

v e c e s la de el data rate.

Data Strobe, pin 23: La section de trarismisiún del UART tambien usa tres senales de control para manejar la t.ransaisián actual de información en serie. El Data Strobe GS una sesal que carga la palabra de 8 b i t s dentro del buffer d e transmisión. Un cero l6gico an el Data Strobe causa. que se realize es ta accibn. S i el transmisor esta todavia mandando el dato, l a t r a n s p i i s i h es completada antes de que ef nuevo dato sea transmitido desde el b u f f e r de transmisibn a l registro d e l transmisor, desde el cual es transmitido.

Transmiter Buffer Eapty, pin 22: Una sena1 o bandera (fe que el buffer de transmision esta vacía fTMBT) esta prov i s ta como fina salida que indica que el b u f f e r de t r a n s m i s i h esta vacio (uno lógico) o que este t-údavia contiene l a palabra que t i e n e que ser aun t ransmit ida (.-.-. -ro l O t j i C 0 ) .

Cuando una palabra ha sido transferida desde ei buffer de t.ransmisi6n al registro d e t.ransmisi6n para ser mandada, , l a bandera del b u f f e r se va a un9 16giC9, indicando que la próxima palabra puede ser rec ibida por l a secci&i del transmisor d e l UART.

End of Character, pin 2'4: Una bandera adicional esta provis ta para indicar si esta o nu la transmisibn -011

proceso. La bandera de fin de caracter (EOC) tiene un uno lOgico cuando no se esta t r i d m i t i e n d o y UTI cero idgico cuando se esta transmitiendo. E l caracter esta compuesto de l a palabra de datos de 5 a 8 h i t s , y los bits de control.

146498

. . ..

Dado que l a secciOn de t r a n s r a i s i h esta compuesta de dos registras, est6 pueda estar transmitiendo un caracter mientras o t ro esta esperando.

Serial Outqtit-D pin 25: La salida serial (Sü) be l transmisor esta disponible en el pin 25. La sal ida serial es una representación de b i t compatible con el TTL.

I

RECEPCION :

Clock, pin 17: La sección de recepción del UART es de alguna wanera mas complicada que la secci6n da transraision, dado que tenemos bits de comienzo. bits de parada, bits de paridad y los bits de los datos deben de ser recqnocidos y e j GGUtadOS. La seccih de recepcidn también requiere iina señal de clock que es 16 veces 1.a velocidad con la que se va ha recibir el bit.. La señal de clock es recihida y aplicada en el pin 17.

Received Data Enable, pin 4: Una vez que rtn paquete de b i t s en serie ha sido recibido, este es transferido cn paralelo desde el registro de receycih hacia el buffer en la seccidn de recepcidn de UART. L a s acho salidas de esta sección pueden tener tres estados; uno lsgicú, cero logic0 y

tercer estado. Este Último es un estado de alta impedancia que desconecta las s a l i d a s d e l receptor del UART de l o s dispositivos a los cuales est.& conectado. E s t a entrada debe tener un cero luyico para permitir la recepcion de datos, si tiene un uno lágico los ocho datos de entxada estarán en estado de alta impedancia, desconectándolos d e l sistema.

&+,a Ready Reset. g i n 18; y Recelved Data Available, pin 19: La habif i tación de los datos r e c i b i d o s es indicada por el estado da la bandera del dato recibido y disponib le , pin 19. Un uno logic0 en esta salida indica que un set

completo de h i t s de datos ha sido recibido y transferido al buffer receptor. Un cero logic0 indica que un set dé bits de datos no ha s ido recibido aun. La bandera Data Ready. Reset tDRR) pin 18. esta disponib le como tina entrada por lo tanto la bandera Received Dat.a Available debe ser reseteada despues de que l a bandera ha s ido censada y que el dato ha sido usado por el sistema de recepcibn. Esta acci6n activa la bandera Received Data Available, por fo tanto debe ser usada para sensar y habilitar e1 prbximo set de hits de datos que serh enviados seria1utent.e. a l a seccion üe recepci6n del U M T . Uri cero logic0 aplicado a l a entrada 13at.a Ready Reset.. reseteara la bandera Received h t . a Available.

Parity Error,pin 13: Esta salida se va a uno 16gzco si la paridad de ].a palabra de datos recibida nu concuerda con la paridad que ha sido seleccionada para el UART en el pin 33. Parity Select. La s a l i d a de P a r i t y E r r o r no tiene significado si no se ha seleccionado un tipo de paridad en cuyo caso el pin 35 estarzi en uno lOgico.

Framing Error. pin 1 4 : Un uno logic0 en esta salida es wad0 vara indicar que el receptor no ha detectado un bit de parada, o dos bi t . s de parada, en el paquete de h i t s recibido,

Overrun, pin 15: Un uno lógico en esta salida i n d i c a q.re la bandera Received Dat.a Available no ha sido reseteada despues de que el caracter previo ha s i d o recibido. Por lu tanto , el carncter que se acaba de recibir ha sido escrito sobre su antecesor. Por 10 tant.0 fa ci’rcuiteria externa a l UART debe resetear l a bandera Received Data Available ciespués de que cada nueva palabra de datos es censada y utilizada en el UART.

Status Word Enable, p i n 16: Parit.y Error, Cverruri Error y Framing Error, as l como Transmitter Buffer Empty y Received Data Available. tienen tres estados de salida. Estas salidas son controladas simultaneamente por la entrada Status Word Enable, p i n 16. Cuando esta ent.rada est.& en ~ e r o l0gico. la salida de las 5 Banderas estar1 activas Curio o cero l6giccí). pero si Stat.us Word Enable esta en i.mo iOyico, las c inco barideras de salida estan en a l t a impedancia o desconectadas,

.

APENDICE E

.. .. .

,

. . ..:..: . . ... . ..... :; .. . . . . .

O

h

Ir

u-

h

D

.

s I . . t

L

U i O

l

-.' (s

P A 4

A

.. .

. I C ' . ' .' 3

APENDICE C

1 4 6 4 9 8

I

I

. .

oid ccmparar (void) I

k(iNDOW * w n d L ; i* vEuitatia desplega resultado * f

WZNDOW * e w n d ; /* ventana mensaje unsigrmd shark int elementrrcC3;

' int i , res iduu; int. buf I83: char sal=' ': ' char ret=":

í col ares-? ini=8; j bander a= FALSE ;

wndC = e s t á & l i s h - w i n d I set-tít.le(wndc, "Re

s e t - c o l o r s t w n d c , A di sp l a y - w i r r d c s w ( w n 1 i f (cunta>=@)

I < ' eie-mento = t i n t l co la re

WINISOW *wmdD; /* ventat3a despieg

f c r r ( i = @ ; i<8: i + + )

residuo = e l e r n e n t o X 2; i f ( residuu==l)

b u f l i l = 1; else

lsufEil = 8; e 1 emerita = E! 1 ~rnent.o/2 : 3

if (buf [canta-61 ==U) <

w p r i n t f 4wndC," EL el bit, ' * I = wpr i t-rt f ( wndci , "Xd" w r r i r i t f (nndC, '* f 3

else <

w p t - i n t f ( w n d l , " La 5ienix3, el resultado del bit, ''1: wpt- ir1t.f CwndC, "Xd". corska) : w p r i n t f fwndC, " esta m a l " ) :

3 3

w p r in%f ( W C , " E l ico para el &it "1; wpt-it- l t f bvrldl=, "ird" * w p r i rtt-f 4 wndC , '' f tie cumecto ! '' i ; 2

E?ilze

, I * Lo sientao, el result-aciu bel b i t "1:

3,311; ELLOW, BRIGHT)

para continuar") :

t

ELLOW. BRIGHT2 :

"1:

r3ridX = e s t a b l i s h - H i r k b w C0,0,3,201 : set-tralors ( w n d X , ALL, BLUE. YELLOW' BRIGHT) : 5et-tit.le (wndX, "Eianderas") : d i sp I a y-w 1 r id o w f wrtdX 1 : wndG = e s t . a ~ l i s h - w i n d o w ( 1 8 , 3, 15, 501; c,at-bcrr&r (wndfi , 3) t set-crJ1ut-s I w n d A , ALL, BLUE, YELLOW, ErRIGHT) p ket- t . i tle IwndA, D t C m - r ierído Diagnust-icu" 3 : d i s p l a y - w i n d o w iwr-idA) : curt t-ado Y =Qr P ilont= 1 : w p r o m p t (wndA,3, 1 , " E s t o y corriendo diagnostico para ' I ) :

w p r i t - t t f (wndA, "bit. ==> *') : w p r int.f (wndG, "%d",conta1 G w p r o m p t ( w n d A , 9 , 4 , " E s t o y T r a r r u n i t x e n d ú . cursor 1 0 , 2 5 1 : wndC = ~6tablish_nindow<25.~~~,~'~1: set-t-itle (wndC, "Mensaje") : s e t - c o i o r s ( w n d C , ALL, BLUE, WH I

d i s p l a y - w i n d o w f w n d ~ ) ;

' sys-on ( ) P i w p r i n t f (wndC, "Presiona dos ueces 't' para rnatsdar io5 dat-os a la tar-jeka").: I

w t i i le (cantador(2) !

i

i

.r: DESENCOtA Icolares, &element.ci) : for( i=0; i<8; i++) <i

residuo = a1ernent.o X 2; i f ( res iduu==l ) buflil = 1;

€!15Ec bufEil = @;

elernento = elerr~~~to/T-I: 3

wrrintf (wncJA, "%i",cont3: w p r - i n t f (wndA, ** -> * I ) : f a r ( i = 7 s i>.=0: i--2 w p r iritf IwndA, '*%i",truf t i l 1 : WPY intf (wndA, ''h cortt+ + :

> SYS-of f 11 j comparar O j con ta+ + : coiatran->ini=c~lar~s-~~~i=~~ cola~t-an->fi~=culare~->fí~=~: cuWlt= 1 5

s cuwit2-1; 3whi le (conta<lEi) :

> mid rese t - in (void)

unsigned short int eiemf-nto=Qi; i t i t cant-ador =a, cotit= 1 : char sal='*;

id proyecve ( 1

INDOW *wndB: /* vet-kana d e l menu de opciones */ f-&p '*"cp; n t 5 = 8;

y s - o f f ( 1 : *delay(2@00) 5 */ l r s c r O : *curc,or (0,251: n d A = establish-window(0, 1, 23, 85) F &-&order IwndA,4) ; yt_culor54wndfi, ALL, RED, YEUOl4+12@, BRIGkiT) i isplay-window(wndA): prompt CwndA, 22, 2, "UNIVERSXDAD AUTONOMA METROPOLITANA" 1 : prompt (wndCS, 31 , 3, "CiNIDAD ILTGPALAPA") :

i d checa-tarjeta (void)

INDOW *wt-tdC, *swtid: rrsigned short irk. elemenLu=Q; n t i , residuo,currtador=@, cont=li nt bUf~S1: hár sal.=' ' 5

a< conbador=@; wndX = estab l ishwidon (0 , @,3,2@) i

sid mairt0