Download c k3.Z

Transcript
U N I V E R S I D A D 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 I N G E N I E R I A E L E C T R O N I C A I i
/
CHECADOR DE T A R J E T A S
146498
ALUMNOS:
W
T
A GASTELUM LUZ F R A N C I S C A .
>
n
PULIDOBAñOSALEJANDRO.
\
\I
1
ASESOR:
S E R G I O P A E Z RODEA.
MAYO D E rppo
INDI CE
9
RELOJ MAESTRU
ii
TABLA DE ESTADOS
13
.yz.-,
CONCLUSIONES
A L L
L3
APENUICE B:
INFORMACION REGISTROS 8 2 0 5 0
: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 s e c c i h
p e r t e n e c i e n t e al sistema de t r a n p o r t e colectivo
cual ha sido r e a i h a d o este proyecto, es la del
las computadoras y equipo p e r i f e r i c o que existe
las lineas del m e t r o .
de
Computadoras.
METRO, y para la
mantenimiento de
p a r a cada una de
Esas computadoras t i e n e n encargada L a tarea de regular
el tránsito de t r e n e s , llevar el seguimiento de é s t o s a
lo
Largo
de toda la línea, y +.P el despacho de t r e n e s e n las terminales.
L a comunicación e n t r e la
sección donde se maneja el
trdtf ico de t r e n e s CTel&rBfico> y la c;omput.mima mrreqpml.fentse a
cada línea se realiza a t r a v é s de una i n t e r f r i s e , la cual hace uso
de d i f e r e n t e s 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
opto-acopladas de 16 b i t s RTP 7435/37!, cuya función es
la de r e c i b i r las e n t r a d a s digitales del sistema de t e l e t r a f i c o
procesarlas y pasarlos a la tarjeta RTP 7435/38 salida a relés d e
16 b i t s , p a r a que de ahí s e a n enviados a la computadora.
digitales
El propósito de este proyecto f u e el de elaborar un
probador p a r a la tarjeta de e n t r a d a s digitales opto-acopladas p a r a
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
de
redizacih
nuestro
proyecto,
se
requirib
diseñar una i n t e r f a s e que comunicara la PC con la tarjeta a p r o b a y v i c e v e r s a ; a s í como de un programa que mandara y r e c i b i e r a d a t o s
por el p u e r t o serie d e la PC utiiizando comunicación
la norma RS-232 del p u e r t o serie e n la computadora.
asíncrona
y
La tarea principal de La i n t e r f a s e es la d e r e c i b i r dos
b y t e s de prueba que s o n mandados por la PC a traves del p u e r t o
serie; una v e z recibidos mandarlos a las e n t r a d a s e n paralelo de
la tarjeta a probar y g e n e r a r un r e t a r d o para posteriormente
recibir también en paralelo los datos de saiida de la tarjeta;
e s t o s s o n recibidos e n dos bytes, los cuales s o n mandados e n forma
serie al p u e r t o de la PC. U n diagrama a bloques de la i n t e r f a s e se
m u e s t r a e n la f i g u r a 1.
'
P a r a lograr lo a n t e r i o r se diseñó una p a r t e de control,
se
requirib
de
unos
circuitos
especiales
capaces
de
pero
transmitir y recibir d e forma asíncrona, estos son los UARTS
AY-5-lOl3A (información e n el apendice A>.
COMUNICACION ASINCRONA:
La transmisión de información digital a t r a v é s d e un
par de alambres no es del todo dificil. D e hecho, un r e g i s t r o
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 r e g i s t r o convertidor de
serie a paralelo, tal como el S N 74164 que
puede ser usado como
r e c e p t o r . Pero todo este proceso solo contiene la c a r g a de datos
e n paralelo d e n t r o del transmisor y de s u c a r g a e n el r e g i s t r o , un
b i t a la vez. El r e c e p t o r puede mandar los d a t o s recibidos e n el
registro
uno
a
la
vez
hasta
que
sean
todos
recibidos.
Desafortunadamente, este proceso no es una transmisión asíncrona,
dado que las señales del r e l o j son comunes y m u c h a s s e a e s de
control s o n requeridas e n t r e los dos r e g i s t r o s de c a r g a integrados
e n los circuitos. Podría s i n embargo t r a b a j a r , pero no v a a ser
compatible con el e s t a n d a r de las tecnicas de t r a n s f e r e n c i a en
serie, de datos e n forma asíncrona. En una verdadera t r a n s f e r e n c i a
de datos, solo la linea de transmisidn de datos se conecta al
r e c e p t o r y al transmisor.
..
~
. ..
.
.
.
4
_._-_
..
..
.
-
. .
..... .... . .
..
1
Obviamente, debe de haber algunos trucos que son usados
p a r a c o n t r o l a r una verdadera t r a n s f e r e n c i a s de d a t o s e n serie, de
forma asíncrona.
comunicación asíncrona no existe un
Dado que e n una
reloj comfin
conectado
entre
el transmisor y el r e c e p t o r , y
tambien
ninguna señal de
c o n t r o l existe entre eiios, un BIT DE
COMIENZO siempre precede a
cualquier t r a n s f e r e n c i a 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 r e c e p t o r que una nueva serie de d a t o s ya ha sido bransmitida.
C a d a transmisión termina con uno o dosBITS DE PARADA,
los cuales s o n siempre uno lógicos. L a opción de uno o dos BiTS DE
PARADA
son
de
alguna
manera
arbitraria.
En algunos c a s o s
especiales la a p l i c a c i h de uno, dos b i t s o uno y m e d i o b i t s de
parada pueden ser usados.
Por s u p u e s t o que debe de haber un límite e n cuanto al
niunero de b i t s de datos e n cada transmisión, por o t r o lado aigunos
s i s t e m a s t r a n s m i t e n cinco b i t s de d a t o s despues de un b i t de
comienzo, mientras o t r o s desearían transmitir c i e n t o s d e b i t s de
datos. L a serie de b i t s de datos encontrados e n t r e el b i t de
comienzo y el bit de parada esta limitada e n t r e cinco y ochobits.
El BIT DE PARIDAD, p a r o no, es usado p a r a checar los
e r r o r e s e n la transmisión de datos. E l BIT DE PARIDAD indica si el
número d e unos lógicos e n la palabra d e datos es p a r o impar. L a
figura 2 muestra
los b i t s
de
control p a r a
la
comunicación
asíncrona.
PUERTO SERIE
(NORMA R S 232)
El corazón de el adaptador es un chip INS8250 o un
equivalente. Algunas c a r a c t e r i s t i c a s s o n las siguientes: No h a y
necesidad de una sincronización precisa; el reloj del r e c e p t o r es
independiente; detección de un b i t de comienzo falso; generación
de una linea de a b o r t o y detección.
Todo el protocolo de comunicación es una función del
s i s t e m a y debe d e ser cargada , a n t e s de que el adaptador esté e n
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 .
La
f i g u r a 3 es un
diagrama a bloques del adaptador de comunicación asíncrona.
.
i
a
P
O
f
aJ
4
ui
e4
*
a
a
I
m
.
'
L o s diferentes m o d o s
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 e n t r a d a y
sdda
(primaria
hex 3f8 a 3ff, y
hex 2f8 a 2ff
para
la
secundaria) escribiendo el dato de salida e n el conector. L o s b i t s
de
direccionamiento AO,
Al,
y
A2
seleccionan los d i f e r e n t e s
registros que definen los diferentes m o d o s de operación. T a m b i é n ,
el b i t de acceso del L a t c h d i v i s o r < b i t 7> del registro d e linea
de control es usado p a r a seleccionar ciertos registros.
En
la
tabla
1
se
muestran
las
direcciones
correspondientes a los registros utilizados para manejar el 8250.
DIRECCION DE E/S
--_--_---_-------ADAPTADOR PRIMARIO
REQISTRO SELECCIONADO
.................................................................
3F8
3F8
3F8
3F9
3F9
3FA
3FB
3FC
3FD
3FE
B u f f e r TX
B u f f e r RX
L a t c h Divisor LSB
L a t c h Divisor MSB
R e g i s t r o de Interrupt Enable
R e g i s t r o de Identificación
de Interrupción
R e g i s t r o de C o n t r o l d e L i n e a
R e g i s t r o d e C o n t r o l de Modem
R e g i s t r o de Status de L i n e a
R e g i s t r o - d e Status d e Modem
TABLA 1
La
tabla d e l apéndice
B
m u e s t r a el m a p a de registros
donde se encuentra la descripción de los b i t s p a r a cada registro
mencionado en la tabla 1.
146498
D E S A R R O L L O
P a r a la utilización de los UARTS e n la i n t e r f a s e ; la
p a r t e de
control,
recepción
y
transmisión que comprenden el
modo de funcionamiento de este t i p o
de
circuitos, quedó de la
siguiente manera:
a p a r t e de c o n t r o l se programó el UART para que no
En l
t r a b a j a r a con paridad, t u v i e r a un b i t de parada y ocho b i t s de
datos; quedando conectada esta p a r t e como se m u e s t r a e n la t a b l a
2a.
P a r a 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 z a r sus banderas p a r a conocer el e s t a d o
del b u f f e r de transmisión, la c a r g a de d a t o s y el final de la
transmisión, la cual por s u p u e s t o es e n forma serie. L a t a b l a 2b
m u e s t r a como f u é utilizada esta p a r t e .
En la p a r t e de recepción
tenemos ocho
paralelo, una e n t r a d a e n serie, o t r a vez un reloj 16
BAUD RATE generado por la PC y la p a r t e que programa
de recepción de los datos. E s t e protocolo u t i l i z a las
framing e r r o r y la de dato recibido disponible. En la
encuentra la forma e n que esta parte f u e conectada.
salidas
en
veces el
el protocolo
banderas del
t a b l a 2c se
Una v e z expuesto lo a n t e r i o r y dado que estamos
utilizando
una
comunicación
asíncrona es de
suponer que la
transmición y recepción e n la PC haya sido programada de la m i s m a
forma.
TABLA 2a
I
TABLA 2b
NUM. DEL PIN
12
17
20
5
NOMBRE
-
RDI
RD8
CLOCK
19
SI
RDA
14
FE
VALOR
E n t r a d a s i de la tarjeta
C o n t r o l de reloj
Puerto serie de la PC
C o n t r o l de la interfase
C o n t r o l de la interfase
RELOJ MAESTRO
153600
El r e l o j maestro genera frecuencias desde 2400 hasta
Hz. con o b j e t o de poder r e c i b i r datos desde 150 hasta 9óOO
baudes. E s t o se realizó por
Hz.
medio de un
reloj oscilando a
153600
Como la transmisión es asíncrona, la frecuencia del
reloj maestro no n e c e s i t a ser muy exacta, con que no v a r i e 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
r e l o j se utiiízaron un temporizador LM555 c o m o generador de la
frecuencia, y un 14040 c o m o divisor de frecuencias. En la f i g u r a 4
se muestra el circuito del r e l o j maestro.
En la tabla 3 m o s t r a m o s las frecuencias con sus bauds.
BAUDES
FRECUENCIA
2400
4800
9600
19200
38400
76800
153600
i
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
A
B
C
D
E
F
G
H
I
J
K
L
M
N
O
P
RDA 1
o
#
TMBT 1
EOC 1
CLKT 1
1
l
1
l
1
1
l
1
1
l
1
1
l
1 ' 1
1 1
l l
1
1
l
1
1
l
1
1
1
1
1
l
1
1
l
1
1
l
1
o
l
1
o
#
1
1
l
0
0
0
O
0
O
O
#
O
O
O
0
CLOCKDETI
CLK o
O
#
0
1
1
1
0
0
0
o
#
o
#
o
o
o
#
ci
1
1
l
1
1
o
ci
l
ú
1
1
1
1
o
1
1
o
#
1
l
1
1
o
1
1
o
1
CLOCKT2
#
0
O
O
0
#
1
#
1
0
0
O
O
1
0
#
is
1
1
O
1
O
O
1
1
#
1
CLOCKT2
1
1
1
O
bandera
CLKR 1
RDA2
TMBT2
EOC2
CLKTS
CLkR2
A'
MR
VFiR 1
VFiR2
cíS2
o
o
1
1
1
1
#
#
0
o
1
1
o
0
ELK #
o
#
o
1
1
1
1
1
0
o
0
#
o
0
0
0
Q
O
O
0
O
O
#
#
#
0
0
0
0
o
1
l
#
o
0
o
O
O
1
0
o
o
#
#
0
0
o
#
O
0
0
0
0
0
0
/
M
o
o
o
/
DS1
8'
1
1
/
1
1
1
1
o
/
/
#
o
1
O
i
#
1
3
#
0
o
o
/
i
J
l
1
l
1
/
o
1
1
0
O
1
#
ú
o
1
O
o
#
#
#
o
o
/
CI
0
o
#
O
#
l
1
O
0
1
1
#
0
o
O
l
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
L a tabia 4 antes presentada ya conLiene *unos
estados
que resuitarón despues del manejo de las variables artificiales,
las cuales s o n M, VARl, VAR2; de estas junto con las banderas
desplegadas por los UARTS dependen las
variables D S l , DS2, CLKTl,
CLKT2, CLKRl, CLy el MR.
Las ecuaciones
siguiente manera.
de
la p a r t e
de
control
quedaron
de
La
CLKRl = CLOCK 8 RDAl‘ 8 MR’
CLKR2 = CLOCK 8 RDAl 8RDA2‘
CLKTl = CLOCK
M
CLKT2 = <CLOCK 8 M 9 8 RDA2
A, = (RDA2’ + TMBT2’> 8 EOC2 + EOC2’
DS2
VARl 8 Q2’ (74123)
DSl
V A R 2 8 Q2’ <74123>
--
Los
mapas
para
las
variables
CLKRl
y
CLKFU
son
los
siguientes:
J
m
O
O
O
O
1
1
1
1
TMBTl TMBT2
O 0 o1 11 10
RDAl RDA2 \
O
o !X x 1 X
O
1
! X
x x X
1
1
! O
x o O
1
o !X x o X
1
o !X x x X
1
1
! X
x x X
O
1
! X x
x X
O
o !X x o X
W A S TMBT2
O 0 O 1 11 10
RDAl TMBTí
O
O
1
1
O
l
l
O
\ *
I
!
!
!
X
X
X
X
X
O
l
X
X
X
O
X
X
X
O
O
146498
CLKRl=RDAl98MR’tCLK
I
Las v a r i a b l e s VARl, V A N ,
circuitos 7474
inbegrado.
que
son
flip-flops
M
y
MR se implementarón con
D con dos e n cada
tipo
La forma e n que fueron conectados los flip-flops para la
v a r l f u e de la s i g u i e n t e manera:
CLEAR = RDA2, D = RDA2, CLK = Ql’ <74123>, PRESET = 1,
SALIDA Q a la entrada de una and, cuya otra e n t r a d a esta conectada
a TMBT2, y a la saiida t e n e m o s VARl. A q u i se d e j a pasar un uno e n
el flip-flop ai darse un flanco p o s i t i v o en el reloj ei cual esta
conectado al r e t a r d o generado por el 74123 <figura 5 ) .
La f o r m a p a r a VAR2 es la siguiente:
CLEAR = RDA2 ic TMBTl, D = 1, CLK = TMBT2, PRESET = 1, y
e n la salida Q tenemos VAR2. El cambio de e s t a d o a la salida se
debe a un flanco positivo generado por la señal TMBT2 la cual nos
indica que el b u f f e r d e transmisión vuelve a estar l i s t o <fig. 6).
L a forma p a r a M es la siguiente, pero e n esta ocasion se
usaron los dos flip-flops del integrado:
CLEAR1 = R D A 2 = CLEAR2, D i = f = D2, CLKl = BIT 1 de
contador binario, PRESET1 = 1 mPRESET2, Q l = CLK2, Q2 es M y
salida Q2’
es M’. En esta ocasibn el nivel de la salida
cambiado debido a un flanco positivo generado por el b i t 2 de
contador permitiendonos así manadar dos veces un byte a t r a v é s
UART2 <fig. 7 ) .
un
la
es
un
del
P a r a Master R e s e t f u e necesario s e p a r a r l o e n dos debido
a que necesitamos un reset p a r a la i n t e r f a s e para cuando esta
empieza a t r a b a j a r , este c o n s i s t e e n un diodo, una resistencia y
un capacitor, su configuracibn puede ser encontrada e n el d i a p a m a
de
la
figura
8 .
La
segunda
parte
que
compone al reset
t i e n e como funcibn la de dar un reset cuando hemos terminado un
ciclo de estados. La segunda p a r t e f u e implementada con un
flip-flop debido a que este t i p o de c i r c u i t o s con un solo cambio
de nivel detectado es posible hacerlo cambiar de e s t a d o a la
salida. A s í
la
segunda
p a r t e quedo impiementada de la siguiente
manera:
Tambien
esta
ocasión
fueron
utilizados
los
dos
flip-flops contenidos e n el integrado. CLEAR1 = CLEAR2 = RDAS,
D i = D2 ,
1
'
CLKl =EOCl, PRESET1 =PRESET2 =I, QI =CLK2, y por
iiltimo la salida Q 2 proporciona la señal p a r a 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 a v e s del UARTl y por
lo t a n t o se han terminado de mandar b y t e s de la i n t e r f a s e a la PC
L o s D a t a S t r o b e tanto del U a r t l como del Uart2 dependen
de un pulso generado por la segunda p a r t e contenida e n el integrado
74123, este pulso es dejado p a s a r o no a la r e s p e c t i v a p a t a del
UART por VARl o VAR2 s e g h corresponda. U n puis0 en la p a t a de
D a t a S t r o b e del UART g e n e r a que se c a r g e un d a t o y se comienze s u
transmisión. <Para m a s información s o b r e el funcionamiento de los
pines del UART c o n s u l t a r el apendice A al final del r e p o r t e ) .
Debido a que
la
i n t e r f a s e trabaja a
velocidad m a s
rapida a la de la r e s p u e s t a de la tarjeta, hubo la necesidad de
g e n e r a r un r e t a r d o p a r a c o n t r o l a r el envío de los b y t e s de
r e s p u e s t a a la PC, este f u e implementado con un c i r c u i t o 74123 el
cual utiliza un c a p a c i t o r de 100 pF y una r e s i s t e n c i a de 35 K ohms
lo cul
nos
da u n t w de I000 ns, las especificaciones sobre este
integrado se pueden e n c o n t r a r e n el apendice C . E s t e c i r c u i t o
de
r e t a r d o puede ser encontrado e n la f i g u r a 9.
I
io
P
>
O
S
m
c
E
4
o
1:
c
QD
a
L
a
.*e
IL
Q
a
L
a
e
2
\
ANALISIS DE RESULTADOS
a la interfase
I
f u e necesario
serie de la computadora y do
PC ora lo mismo quo m e macibiei,
funcionaba satisfactoriamente ai
mandados, y con el mismo valor.
los dos bytes
que
oran
Para poder ileyar a las pruebas finales de la interfase
se requiri6 algún tiempo, ya que la p a r t e de control t o m o tiempo
ajustarla adecuadamente a n u e s t r a s necesidades, esto nos orillo a
crear v a r i a b l e s artificiales, si así podemos llamarles; es d e c i r , .
externas creadas y controladas por n o s o t r o s p a r a
variables
facilitar el paso de un e s t a d o a otro. La necesidad de estas
variables se basa en que Las banderas de los UARTS que n o s o t r o s
utilizamos p a r a el c o n t r o l y ,que creíamos se daban e n un
determinado tiempo no era así, creandonos problemas g r a v e s de
control.
L a prueba principal, e n t r e muchas, que nos permitío
estar securos del buen funcionamiento de la i n t e r f a s e ; f u é la que
se reall26 p a r a comprobar que la i n t e r f a s e recibía
dos bybes
y
estos eran llevadas e n paralelo a la tarjeta de forma correcta,
comprobando a s í que les velocidades e n t r e la i n t e r f a s e y la
computadora concuerdan; el siyuiente paso f u e vex- si la i n t e r f a s e
mandaba e n serie los dos b y t e s que .La tarjeta r e g r e s a al ser
a l i m e n t a d a con datos, pero p a r a e s t o f u é necesario colocar un ciclo
e n la computadora p a r a que nunca saliera de transmitir los mismos
datos y de esta forma t e n e r siempre los m i s m o s datos de salida
p a r a poderlos v e r e n el osciloscopio; de esta manera pudimos
comprobar que.& i n t e r f a s e mandaba dos b y t e s a la computadora y la
velocidad era correcta.
-
I
1
Se realizarón unas pruebas juntando la i n t e r f a s e ; la
tarjeta y un proc;rama muy simple, el cual solo mandaba dos ciatog y
recibía los datos que mandaba la i n t e r f a s e ; este programa no tenía
ventanas
ni n i ~ t m t i p o 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, p e r o el problema era
que siempre f u e r o n los mismos, así que se procedí0 a r e v i s a r si
la tarjeta e s t a b a respondiendo ya que estabamos s e g u r o s 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 e n t r a d a de la -jeta.
A s í que el problema
se enconbraba e n la r e s p u e s t a de la tarjeta, lo cual f u e
comprobado. Los opto-acopladores que t i e n e la tarjeta e n cada una
de sus e n t r a d a s no e r a n alcanzados a ser activados con el v o l t a j e
que provenía de los buffers conect+os a ias salidas en paraielo
de los UARTS; este v o l t a j e era de alrededor de 4 V o l t s , así que se
tuvo que amplificar las saiidas e n paraielo de los UARTS p a r a
poder hacer t r a b a j a r a la t-jeta.
I
Resuelto el problema de la tarjeta se procedió
a
v e r i f i c a r si los dos b y t e s recibidos por la PC e r a n c o r r e c t o s , y
a s í fue. El siguiente paso consistio e n desarrollar m a s s o f t w a r e ,
p a r a t e n e r opcihn de checar la tarjeta por completo, o linea por
iinea y t e n e r una ayuda p a r a a l g h error, además de indicarle al
usuario a t r a v é s de ventanas los pasos a s e g u i r p a r a la
utilización del proyecto; quedando a s í un proyrama largo y lleno
de ventanas.
Sin embargo al probar j u n t o s la
i n t e r f a s e , la tarjeta y
el nuevo programa se encontró que la computadora solo leia uno de
los b y t e s perdiendo el o t r o . A l principio se pensó que se perdía
el (iltimo b y t e que mandaba la i n t e r f a s e a La PC, as$ que se trató
de agilizar el programa p a r a que e n cuanto l e y e r a el primer byte
leyera
el segundo,
pero
no
se 1 0 ~ 1 ’ 6 n f ~ C i
inmediatamente
resultado positivo. Se continuaron las pruebas, esta vez se t r a t ó
de v e r i f i c a r si era cierto que el byte que era perdido era el
Segundo, así que se e s t u v o cambiando los b y t e s de entrada a la
i n t e r f a s e p a r a v e r como cambiaba s u r e s p u e s t a el W c o b y t e que se
recibía e n la i n t e r f a s e , 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 t r a t ó de solucionarse a t r a v é s de s o f t w a r e ,
provocando retardos e n el programa a n t e s de que f u e r a a traer el
primer da+o del p u e r t o &e entrada, este i n t e n t o no f u e f r u c t o s o
a s í que d e c i d i m o s mandar dos v e c e s el primer dato que manda la
i t
.
. .
. . .
-
...
......
.~ ..
n
i n t e r f a s e a la PC p a r a a s e g u r a r que lea ese d a t o la segunda v e z
que es enviado, y dio resultado. P a r a lograr mandar dos veces se
tuvo que m o d i f i c a r un poco la p a r t e de c o n t r o l de la i n t e r f a s e ,
aumentando un contador el cual nos da la p a u t a p a r a continuar al
segundo byte-resultado.
Consideramos que el
provoca retardos al programa
perdida del primer byte.
de ventanas y letreros de error
los cuales a s u vez provocarón la
u80
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 i n t e r f a s e t r a b a j a n
correctamente juntos, lo cual algunas v e c e s parecía que no era a s í
pero e s t o es debido a la tarjeta con la cual se hacen la pruebas
no esta trabajando del todo bien y e n aipnas ocasiones no
responde c o m o es debido a los b y t e s de prueba.
I
f
I
I
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 d e t a l l e s es a h m a s pesado que el
diseño mismo del proyecto, y que e n el caso de localizar un error
grave en la base del proyecto, lo m a s sano es truncar s u
desarrollo y r e g r e s a r a atacar el problema d e raíz, y a que
continuar de esta forma así con una base erronea acarreara mas
problemas y a la larga l l e v a r á m a s tiempo resolverlos.
Tambien pudimos iiegar a la conclusion de que las
velocidades e n una comunicación asíncrona son criticas, y a que
estamos haciendo uso de relojes independientes y e s t o s deben de
t e n e r una cierta exactitud p a r a poder a s e g u r a r la transmisión y
recepción c o r r e c t a . A d e m a s de que t a n t o una parte como o t r a ;
transmisor y r e c e p t o r ambos deben estar programados de la m i s m a
forma p a r a poder t e n e r datos confiables. Es decir, que ambos
manden o reciban d a t o s con la m i s m a paridad o s i n ella, así como
con un b i t d e comienzo y uno o dos b i t s de parada segun como se
requiera.
Tambien pudimos concluir que a n t e s de comenzar el diseño
un proyecto h a y que estar completamente s e g u r o s de lo que
necesitamos y d e que e r r a m i e n t a s disponemos. p a r a atacar el
problema, el cual debe de estar tambien completamente definido. D e
no c o n t a r con objetivos d e t r a b a j o c l a r o s y con una idea precisa
del problema se c o r r e el peligro de e n t r a r en un proyecto largo,
canzado y e n aigunas ocasiones p a r e c e r a que s i n solución.
de
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ü.
h
APENDICE A
UARTS :
Receptor-Transmisor Universal A s h m o n o (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 e l usuario de forma t a l que formatos de datos serialesasí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 d e s c r i p c i o n e s f u n c i o n a l e s serán l a s 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 c o n t r o l del UART s o n . a q u e l l a s que son cornitties a
ambas secciones, la de transmision y l a de recepcibn. Estas
incluyen e l 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 l a s mismas
6 lineas son usadas para programarlas a ambas.
TABLAS DE FUNCIONES DEL UART
CONTROL
Noarbre
M R -> Master Reset
CS -> Control Strobe
NP -> No Parit-y
PE -> P a r i t y . o r Parity Even
S0 -> Stop Bits
NB2-> Number of
NBl-> Data bits
SWE-> Status Words Enable
Ruin. de Pin
~
21
34
35
39
36
37
38
16
TRANSMISION
N u . de Pin
Nombre
D B i - > Data
DBZ-:. Data
I)83-> Data
DB4-3 Dat.a
DB5-:> D a t a
DB6-> Data
26
27
Bit.
Bit
Bit.
Bit.
Bit
Bit
DE!?-> Data Bit
DB8-> Data Bit
28
29
30
31
32
33
1
2
3
4
5
5
7
8
*
Clock
40
25
SO -> Serial Output
TMST->Transmiter Biif f er
Empty Flag.
DS -> Data Strobe
EOC-> End of miaracter Flag
22
23
24
c
Hum, de Pin
12
li
10
9
8
7
6
5
17
20
4
18
19
13
14
15
-
. .
. .
Nombre
RDf-> Data Bit 1
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 i n 21: Un í l.6yico en asta entrada d a
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
el.
No Parity, pin 55: Un i l6gico e n esta entrada
eliminara la p r e s e n c i a 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 l o s bits entre el iIlt.imcz b i t del
dato (MSB) y el bit de parada. Por l o t a n t o , e l receptor
esperara recibir un b i t d e 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, p i n 39: Un i lbgico en e s t a entrada
selecciona e l modo da paridad par y un cero l 6 g i c v
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 i n s 37 y 38: Est-os pines
permiten l a selecci6n de cinco. seis, siete u ocho b i t s d e
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 s i g u e :
NB-2lpin 37)
NB-ifpin 381
Data B i t s
o
o
5
O
1
1
O
6
7
1
1
8
Control Strobe, pin 34: Un uno logic0 en e s t a 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.
p i n 4 0 : La s e c c i b n 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 r a t e .
Clock,
Data Strobe, pin 23: La section de trarismisiún del
UART tambien usa tres senales de control para manejar l a
t.ransaisián actual d e 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 e s t a accibn. S i e l transmisor esta
todavia mandando e l dato, l a t r a n s p i i s i h es completada a n t e s
de que ef nuevo dato sea transmitido d e s d e el b u f f e r de
transmisibn a l registro d e l transmisor, desde e l cual es
transmitido.
Transmiter Buffer Eapty, pin 22: Una sena1 o bandera
(fe que el buffer de transmision esta vacía fTMBT) esta
p r o v i s t a 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 e s t e t-údavia
contiene l a palabra que t i e n e que ser aun t r a n s m i t i d a (.-.-.
-ro
lOtjiC0).
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 r e c i b i d a por l a secci&i del
transmisor d e l UART.
End of Character, pin 2'4: Una bandera adicional esta
p r o v i s t a 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 d e
l a palabra d e datos de 5 a 8 h i t s , y los bits de control.
146498
.
. ..
Dado que l a secciOn d e 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 r o esta esperando.
Serial Outqtit-D pin 25: La salida serial (Sü) b e l
transmisor esta disponible en el pin 25. La s a l i d a serial es
una representación de b i t compatible con el TTL.
I
RECEPCION :
Clock, p i n 17: La sección de recepción del UART es de
alguna wanera mas complicada que l a secci6n da transraision,
dado que tenemos bits de comienzo. bits de parada, bits de
paridad y l o s bits de los datos deben de ser recqnocidos y
e j GGUtadOS. La seccih de recepcidn también r e q u i e r e iina
señal d e 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 v e z que rtn paquete de
b i t s en serie ha sido recibido, este es transferido cn
paralelo desde el registro d e receycih hacia el buffer en
la seccidn de recepcidn de UART. L a s acho salidas de esta
sección pueden t e n e r tres estados; uno lsgicú, cero logic0 y
tercer e s t a d o . 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,
p i n 19: La h a b i f i t a c i ó n de los datos r e c i b i d o s es indicada
por el estado da la bandera d e l dato recibido y d i s p o n i b l e ,
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 i d o recibido aun. La bandera Data Ready. Reset
tDRR) p i n 18. esta d i s p o n i b l e como tina entrada por lo tanto
la bandera Received Dat.a Available debe ser reseteada
despues de que l a bandera ha s i d o censada y que el dato ha
sido usado por el sistema de recepcibn. Esta acci6n activa
la bandera Received Data Available, por fo t a n t o debe ser
usada para sensar y habilitar e1 prbximo s e t de hits de
datos que s e r h e n v i a d o s 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. p i n 1 4 : Un uno logic0 en esta salida es
wad0 vara indicar que el receptor no ha detectado un bit de
parada, o dos b i 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 l a bandera Received Dat.a Available no ha sido reseteada
despues de que el caracter previo ha s i d o recibido. Por lu
t a n t o , el c a r n c t e r que se acaba d e recibir ha sido escrito
sobre su antecesor. Por 10 tant.0 fa c i ’ r c u i t e r i a e x t e r n a 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.
Enable, p i n 16: Parit.y Error, Cverruri
Error y Framing Error, a s 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 l a s 5 Banderas estar1 activas Curio o
cero l6giccí). pero si Stat.us Word Enable esta en i.mo iOyico,
las c i n c o barideras de salida e s t a n en a l t a impedancia o
desconectadas,
Status Word
.
APENDICE E
..
.
,
..
. .
..:..:
. ..
...:;
.....
. .... .
.
O
h
Ir
-.'
(s
P
A
4
A
L
u-
i
O
U
.. .
h
D
.
s
l
It
..
.
IC'.'
.'
3
APENDICE C
146498
I
I
.
.
oid ccmparar (void)
I
k(iNDOW * w n d L ;
i* vEuitatia desplega resultado * f
WINISOW *wmdD;
v e n t a t 3 a despieg
WZNDOW * e w n d ;
ventana mensaje
unsigrmd shark int elementrrcC3;
/*
/*
' int i , r e s i d u u ;
int. buf I83:
char s a l = '':
char ret=":
í
j
I
1
'
col ares-? ini=8;
bander a=FALSE;
wndC = e s t á & l i s h - w i n d
set-tít.le(wndc, "Re
set-colorstwndc,
A
di sp l a y - w i r r d c s w ( w n
i f (cunta>=@)
I <
eie-mento = t i n t l c o l a r e
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 1emerita = E!1 ~rnent.o/2
:
3
if (buf [canta-61==U)
<
w p r i n t f 4wndC," EL
wpr it-rtf ( wndci,"Xd"
w r r i r i t f (nndC,'* f
el bit, ' * I =
3
else
<
wpt-intf(wndl,"
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
wpt-it-ltf bvrldl=,"ird" *
w p r i rtt-f 4 wndC ,'' f tie
ico para el &it "1;
cumecto ! '' i ;
2
E?ilze
,I*
Lo sientao, el result-aciu bel b i t "1:
t
3,311;
ELLOW,
BRIGHT)
para continuar"):
ELLOW. BRIGHT2 :
"1:
r3ridX = e s t a b l i s h - H i r k b w C0,0,3,201 :
s e t - t r a l o r s ( w n d X , ALL, BLUE. YELLOW' BRIGHT) :
5et-tit.le (wndX, "Eianderas"):
d i sp I a y-w 1 r i do 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 , A L L , BLUE, YELLOW, ErRIGHT) p
k e t - t . i t l e I w n d A , D t C m - rierído Diagnust-icu"3 :
d i s p l a y - w i n d o w iwr-idA) :
curt t-adoY =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 ( w n d G , "%d",conta1G
wprompt(wndA,9,4, "Estoy Trarrunitxendú.
cursor 1 0 , 2 5 1 :
wndC = ~ 6 t a b l i s h _ n i n d o w < 2 5 . ~ ~ ~ , ~ ' ~ 1 :
set-t-itle (wndC, "Mensaje") :
I
set-coiors(wndC,
ALL, BLUE, WH
display-windowfwnd~);
i w p r i n t f ( w n d C , "Presiona dos ueces 't' para rnatsdar io5 dat-os a l a t a r - j e k a " ) . :
' sys-on ( ) P
w t i i l e (cantador(2)
i
I
i
!
.r:
DESENCOtA Icolares,&element.ci):
f o r ( i = 0 ; i<8; i++)
<i
residuo = a1ernent.o X 2;
i f (residuu==l)
buflil = 1;
€!15Ec
bufEil = @;
elernento = elerr~~~to/T-I:
3
w r r i n t f (wncJA, "%i",cont3:
w p r - i n t f ( w n d A , ** -> * I ) :
f a r ( i = 7 s i>.=0:i--2
w p r iritf I w n d A , '*%i",truf
t i l 1:
WPY
>
i n t f ( w n d A , ''h
cortt++ :
S Y S - o f f 11 j
comparar O j
conta++ :
coiatran->ini=c~lar~s-~~~i=~~
cola~t-an->fi~=culare~->fí~=~:
cuWlt=1 5
s
>
cuwit2-1;
3whi le (conta<lEi):
mid r e s e t - i n ( v o i d )
unsigned short i n t eiemf-nto=Qi;
i t i t cant-ador
=a,cotit=1:
char sal='*;
i d proyecve ( 1
INDOW *wndB:
f-&p '*"cp;
nt
5
/*
vet-kana d e l menu de opciones
= 8;
ys-off (1 :
*delay(2@00) 5 */
lrscr O :
*curc,or (0,251:
n d A = establish-window(0, 1, 23, 85) F
&-&order I w n d A , 4 ) ;
yt_culor54wndfi, ALL, RED, YEUOl4+12@, BRIGkiT) i
isplay-window(wndA):
prompt CwndA, 22, 2, "UNIVERSXDAD AUTONOMA METROPOLITANA" 1 :
prompt (wndCS, 3 1 , 3, "CiNIDAD I L T G P A L A P A " ) :
*/
i d checa-tarjeta (void)
INDOW *wt-tdC, *swtid:
rrsigned short irk. elemenLu=Q;
n t i , residuo,currtador=@,cont=li
n t bUf~S1:
hár sal.='' 5
a<
conbador=@;
wndX = e s t a b l i s h w i d o n ( 0 , @,3,2@)i
sid mairt0