Upload
halien
View
217
Download
0
Embed Size (px)
Citation preview
,/'
/f
/
L. '. Sistema de control d e acceso mediante t a r j e t a s
con banda nagnetica
Asesor:
Ing. Anrozoc Nunez San Miguel.
1
<OBJETIVO
* _ -
Contr o1 d e acceso u t i 1 í r a n d o i d e n t i f i c a d o n e s g r a b a d a s sobre una
t a r j e t a con banda magn&t ica .
E l desarrollo de este sistema se p l a n e o c u b r i r s e d u r a n t e el c u r s o d e
I n g e n i e r l a E l e c t r d n i c a I Y 11 . Por l o t a n t o los objetivos a c u b r i r e n
cada c u r s o s o n :
PROYECTO DE I NG. ELECTRON1 CA I
* c i r c u i t o grabador y r e p r o d u c t o r de tar je tas d e banda
m a g n e t i c a e n base al LMl818 Csistema e l e c t r d n i c o d e switcheo
para c i n t a s de audio>.
* clrcui t o grabador y r e p r o d u c t o r de tar jetas de banda
magnbti cas e n base a amp1 i f i cador es o p e r a c i o n a l es.
* sistema mecfinico para mover l a tarjeta.
* f u e n t e s de a l i m e n t a c i b n .
* hacer p r u e b a s de g r a b a c i 6 n y r e c u p e r a c i 6 n de i n f o r m a c l 6 n
e n l a s tar j e tas
PROYECTO DE ING. ELECTRONICA I 1
* s e l e c c i o n a r microprocesador u t i l i z a d o .
* programa para s i m u l a r u n a t e r m i n a l i n t e l i g e n t e q u e valide
datos de e n t r a d a .
* programas de c o m u n i c a c i 6 n e n t r e microprocesador y sistema
c e n t r a l CPC> y l a i n t e r f a s e .
* desar r o1 1 ar p r u e b a s de comuni caci 6 n
* programa para g r a b a c i b n y recuperacih e n l a tar j e ta d e banda
magnetita.
2
I NTRODUCCI ON.
Con el a d v e n i m i e n t o de l a s computadoras se r e s o l v i 6 e n g r a n p a r t e
el problema d e l acceso r a p i d 0 a l a i nformaci6n con l o c u a l se
d e s a r r o1 1 a r o n n u e v a s t Q c n i cas d e a l macenami e n t o d e i nf o r maci 6n.
E l u s o de tClcni cas d e g r a b a c i 6 n y r e c u p e r a c i b n d e i nf ormacidn
mediante cbdigor C tales como los u s a d o s e n t a r jetas d e c r h d i t o 3 , t i e n e n
una i n f i n i d a d de a p l i c a c i o n e s y esta s i e n d o a m p l i a m e n t e a c e p t a d o por l a
i n d u s t r i a , por o t r a p a r t e el c r e c i m i e n t o d e sistemas basados e n
m i c r o p r o c e s a d o r e s , da un i m p u l s o a d i c i o n a l a l u s o de esta t k n i c a d e
a l macenami e n t o de i n f or maci bn.
E x i s t e n dos v a r i a n t e s s o b r e esta forma de almacenamiento d e
i n f o r m a c i d n : m a g n e t i c 0 y b p t i c o . E s t e p r o y e c t o se c e n t r a en el
almacenamiento y r ecuper aci 6n e n medi os magndti cos.
Debido a l a u g e de esta t t k n i c a de almacenamiento de i n f o r m a c i e n se
d e s a r r o l l 6 un sistema de c o n t r o l d e acceso mediante este t i p o d e
t a r jetas a l a s c u a l e s se les g r a b a un dato de i d e n t i f i c a c i 6 n q u e es
validado por u n a t e r m i n a l i n t e l i g e n t e q u e r e c o n o c e el dato d e
i d e n t i f i c a c i 6 n .
E s t a s t a r j e t a s t i e n e n un i d e n t i f i c a d o r g r a b a d o a d e d s de una
seKal d e s i n c r o n i z a c i b n , es decir l a t a r j e t a es grabada desde dos
c a n a l e s de g r a b a c i 6 n d i f e r e n t e s al mismo t i e m p o C d a t o s y seKal de
sincronozacidn3.
Por o t r a p a r t e existe un sistema c e n t r a l q u e p o s e e los
i d e n t i f i c a d o r e s validos que son transmi t idos y a c t u a l i z a d o s cada vez
q u e se a n e c e s a r i o a cada una de l a s t e r m í n a l e s . E s t a a c t u a l i z a c i b n se
puede realizar de dos formas: h a c i e n d o u n a a c t u a l i z a c i d n c o m p l e t a o
el i m i nando s6l o uno d e 1 os e l e m e n t o s .
P r i n c i p a l m e n t e se e n f o c a al almacenamiento y r e c u p e r a c i 6 n de
i nf or macidn en forma d i g i t a l ya q u e de esta manera se logra l a
compatibilidad c o n las t e r m i n a l e s de v a l i d a c i b n de datos C80313.
3
DESCRIPCION DEL SISTEMA
En e s t a p a r t e se da u n a d e s c r i p c i d n d e l c o m p o r t a m i e n t o d e l sistema.
E l f i n d e este s i s t e m a es u t i l i z a r s e p a r a c o n t r o l a r el acceso a las
s a l a s de computo en l a UAM - I ; para esto se c u e n t a c o n una
"contraseKa" que se dar& a l a s p e r s o n a s q u e e s t e n a u t o r i z a d a s a los
r e c u r s o s d e c o m p u t o , e s t a c o n t r a s s f i a se dar& e n forma d e c o d i g o g r a b a d o
s o b r e una t a r j e t a c o n banda magndtica. Este c6digo s e r a validado en
cada una de 1 as p u e r t a s por una terminal 1 a cual primer o h a c e l a
r e c u p e r a c i h d e l cddigo grabado s o b r e l a banda magnetita y se almacena
e n u n a r e g i o n d e memoria, despues es buscado este mismo c6digo e n una
" b a s e de d a t o s " q u e se e n c u e n t r a e n l a misma t e r m i n a l . E l m a n t e n e r e s t a
i n f o r m a c i d n e n l a misma t e r m i n a l l a f a c i l i d a d d e q u e el p r o c e s o d e
val i d a c i 6 n sea mas r S p i d o y a d e d s se e v i t a el problema d e q u e un
sistema c e n t r a l p r o p o r c i o n e e s t a i n f o r m a c i d n .
Por o t r a p a r t e se e n c u e n t r a el sistema c e n t r a l ,el c u a l se ocupa de
dar los cddigos q u e s e r An vdlidos p a r a t e n e r acceso. E s t e s i s t e m a
c e n t r a l t r a n s m i t e t o d a esta i n f o r m a c i b n a cada una d e l a s t e r m i n a l e s
m e d i a n t e u n a c o m u n i c a c i d n s e r i a l e n t r e t e r m i n a l y s i s t e m a c e n t r a l .
D e b i d o a l h e c h o de que pueden e x i s t i r mas de una t e r m i n a l e n l a r e d , se
h a c e n e c e s a r i o e s t a b l e c e r un p r o t o c o l o d e c o m u n i c a c i d n e n t r e estos para
l o g r a r un c o r r e c t o " e n t e n d i m i e n t o " e n l a c o m u n i c a c i d n . E s t a
comunicacidn se h a c e d e l a s i g u i e n t e manera: Primero el sistema c e n t r a l
transmi t e un b y t e d e d i r e c c i d n el c u a l es r e c i b i d o por cada una de 1 a s
t e r m i n a l e s Cpor l a cof i g u r a c i d n de l a r e d q u e se e x p l i c a
p o s t e r i o r m e n t e 3 , p e r o sol o s e r & r e c o n o c i d o por 1 a terrni nal adecuada e
i g n o r a d a p o r el r e s t o ; una vez hecho esto l a t e r m i n a l d i r e c c i o n a d a
t r a n s m i t e un r e c o n o c i m i e n t o a l s i t e m a c e n t r a l , el s i g u i e n t e byte
transmi ti do es un comando que d e f i n e c u a l es l a o p e r a c i o n q u e se debe
h a c e r , c o n s u r e s p e c t i v o r e c o n o c i m i e n t o . L a s o p e r a c i o n e s q u e se pueden
h a c e r s o n una a c t u a l i z a c i d n c o m p l e t a d e toda s u base d e d a t o s o l a
e l i m i n a c i 6 n de uno solo de s u s e l e m e n t o s .
4
Cuando se recibe el comando, se da un r e c o n o c i m i e n t o . E l s i g u i e n t e
datos que se t r a n s m i t e es el número d e b y t e s q u e forman el d a t o . Al i g u a l
q u e l a s t r a n s m i c i o n e s a n t e r i o r e s , el dato es t r a n s m i t i d o b y t e por byte
c o n un r e s p e c t i v o r e c o n o c i m i e n t o C u n i c o de l a t e r m i n a 1 ) p o r p a r t e d e l a
terminal. Cuando el dato h a s i d o c o m p l e t a m e n t e r e c i b i d o y el comando fue e l i m i n a c i b n de este dato, se busca el d a t o y se b o r r a ; e n c a s o d e q u e
el comando haya sido l a a c t u a l i z a c i b n por completo d e los d a t o s el
p r o c e s o es el s i g u i e n t e : c o n f o r m e se r e c i b e n los datos estos se
a l m a c e n a n e n s u l u g a r d e f i n i t i v o h a s t a q u e s e a n e c e s a r i a una nueva
a c t u a l i z a c i 6 n de &tos.
Hasta este momento solo se ha hablado d e l f u n c i o n a m i e n t o del
sistema s i n t o m a r e n c u e n t a l a s t a r j e t a s c o n banda magnetita. Para esto
se c u e n t a c o n u n c i r c u i t o g r a b a d o r - reproductor el c u a l c o n s t a d e un
sistema mecdnico y s i s t e m a e l e c t r d n i c o de g r a b a c l h . E l sistema
e l b c t r i c o esta formado por dos c i r c u i t o s g r a b a d o r e s y dos c i r c u i t o s
r e p r o d u c t o r e s C dos c a n a l es 3 el c u a l g r a b a o r e c u p e r a i nf ormaci6n
s o b r e l a t a r j e t a . m i e n t r a s el sistema mecanico mueve l a t a r j e t a f r e n t e
a u n a c a b e z a de l e c t u r a - e s c r i t u r a . C a b e h a c e r la a c l a r a c i d n q u e p a r a
l a r e c u p e r a c i b n n o es n e c e s a r i o el sistema m e c h i c o como se e x p l i c a r a
p o s t e r i o r m e n t e .
Un p u n t o q u e se ha pasado por a l t o es el hecho de l a c o m p a t i b i l i d a d
e n t r e los n i v e l e s d e l a s senales C +12 V. -12 V 3 que maneja el s i s t e m a
c e n t r a l C PC 3 y los n i v e l e s d e s e n a 1 C +S V , O V 3 que maneja el
p u e r t o s e r i a l de l a s t e r m i n a l e s C m i c r o c o n t r o l a d o r 8031 3 . P a r a l o g r a r
e s t a c o m p a t i b i l i d a d se u t i l i 2 6 u n o s c i r c u i t o s de i n t e r f a c e CMC-1488 y
MC-14893.
Por altimo en uno de los a p e n d i c e s se muestra el s o f t w a r e u t i l i z a d o
p a r a g r a f i c a r las seKales que se g r a b a n e n l a b a n d a m a g n b t i c a d e una
t a r j e t a . E s t e s o f t w a r e irnicamente hace l e c t u r a s a un p u e r t o d o n d e se
e n c u e n t r a p r e s e n t e l a seKal que se desea g r a f i c a r . El uso de este
s o f t w a r e da una idea mAs c l a r a d e l a t g c n i ca que se u t i 1 iza a l grabar
una seKal d i g i t a l e n un medio magn&tico.
5
ANTECEDENTES
L a l e c t u r a y e s c r i t u r a u s a d a e n e s t a a p l i c a c i 6 n se hizo usando un
c i r c u i t o c o n un t r a n s d u c t o r C c a b e z a d e l e c t u r a / e s c r i t u r a 3 . para
d e t e c t a r v a r i aci o n e s d e f 1 u j o magneti t o cambiados a una seKal
e l b c t r i c a .
En l a g r a b a c i 6 n m a g n d t i c a un medi o m a g n e t i z a b l e C u s u a l m e n t e c i n t a )
es movido a v e l o c i d a d c o n s t a n t e a traves d e una cabeza d e g r a b a c i 6 n , l a
c u a l i n d u c e e n el medio una magnetizaci6n proporcional a l a c o r r i e n t e
e n l a bobina de l a cabeza de g r a b a c i 6 n . As1 l a v a r i a c i 6 n de l a
c o r r i e n t e de g r a b a c i b n r e s p e c t o a l t iempo es g r a b a d o e n l a c i n t a como
una v a r i a c i 6 n d e m a g n e t i z a c i 6 n c o n l a d i s t a n c i a .
Cuando l a c i n t a p a s a por l a c a b e z a d e r e p r o d u c c i 6 n . el f l u j o
i n d u c i d o de 1 a c i n t a p a s a a tra-s d e l n ú c l e o d e l a bobina de l a
cabeza r e p r o d u c t o r a c o n un n i v e l p r o p o r c i o n a l a l a m a g n e t i z a c i b n d e
l a c i n t a . As1 d u r a n t e l a reproducci6n Ca l a misma v e l o c i d a d ) l a
v a r i a c i b n d e f l u j o a l o l a r g o de l a c i n t a i n d u c e una f u e r z a
e l e c t r o m o t r i z e n l a b o b i n a d e l a c a b e z a r e p r o d u c t o r a .
En a l g u n o s c i r c u i t o s de g r a b a c i d n se u t i l i z a una cabeza d e
r e p r o d u c c i 6x1 a d i c i o n a l p a r a h a c e r moni t o r e o s c o n t i n u o s d e l r e s u l tad0 d e
l a g r a b a c i d n . En otras grabadoras s6lo se usa una cabeza para grabar y
r e p r o d u c i r e n d i f e r e n t e s t i e m p o s . L a c a b e z a d e b o r r a d o e l i m i n a
c u a l q u i e r g r a b a c i 6 n p r e v i a y p r e p a r a l a c i n t a p a r a una nueva
m a g n e t i z a c i b n .
Los r e q u e r i m i e n t o s p a r a g r a b a c i d n m a g n & t i c a s o n :
13 un campo s u f i c i e n t e m e n t e f u e r t e p a r a d e j a r p e r m a n e n t e
l a m a g n e t i z a c i b n de g r a b a c i d n e n l a c i n t a .
23 c o n c e n t r a c i 6 n de campo e n una r e g i 6 n e s t r e c h a C p a r a a l t a
def i n i c i 6n3.
3 3 u n a m a g n e t i z a c i 6 n p r o p o r c i o n a l a l a setral de e n t r a d a C p a r a
una b a j a d i s t o r c i 6 n )
6
S i n e m b a r g o , p a r a lograr el tercer r e q u e r i m i e n t o se n e c c s i ta una
t d c n i ca espcci a1 , p o r q u e 1 a g r a b a c i d n magnatí ca depende de 1 as caractcrlrticas del material f e r r o m a g n & t i c o , el c u a l t i e n e propiedades
de hysteresis n o l i n e a l e s . L a n o 1 i n e a l i d a d de este material dar& una
alta d i s t o r s i h e n l a r e p r o d u c c i 6 n , para mejorar esta d i s t o r s i 6 n se u s a
un mCItodo i n g e n i o s o q u e c o n s i s t e e n u n a a l t a f r e c u e n c i a p a r a mejorar l a
l i m i t a c i 6 n i n h e r e n t e de g r a b a c i 6 n m a g n 9 t i c a .
En este Mtodo 1 a c i n t a n o m a g n e t i z a d a recibe e n l a cabeza de
g r a b a c i 6 n un campo magn6t ico . el c u a l esta compuesto de una sena1 de
a u d i o y una de u1 t r a s o n i d o CSO a 130 KHz1 , componente llamada d e
bias. Estas dos s e f l a l e s e s t a n s i m p l e m e n t e sumadas e n l a bobina de
g r a b a c i 6 n s i n m o d u l a c i b n de u n a f r e c u e n c i a por l a otra. La suma
electrica puede ser realizada de varias maneras , l a salida d e l
osci 1 ador de u1 trasoni do puede ser c o n e c t a d a e n paral el o o e n serie
c o n l a e n t r a d a de a u d i o a l a cabeza.
L a c a n t i d a d 6ptima de l a c o r r i e n t e d e bias d e u l t r a s o n i d o depende de
l as propiedades m a g n e t i c a s de l a c i n t a u s a d a .
PROCESAMIENTO Y ADQUISICION DE DATOS EN L A Co3rIpUTADORA.
En esta s e c c i d n se p r e s e n t a n u n a serie de programas implementados
para l a r e c e p c i 6 n y p r o c e s a m i e n t o de datos e n el sistema. E l sofware
desarrollado esta dividido e n c u a t r o partes:
l . -sofware del sistema c e n t r a l para l a comunicac i6n con
l a con cada u n a d e l a s t e r m i n a l e s i n t e l i g e n t e s .
2. -sofware para el p r o c e s a m i e n t o de los datos
3. -software de v a l i d a c i b n de datos
4. -sofware d e g r a b a c i b n de tarjetas de banda magn9tica.
5.-software para l a r e c u p e r a c i 6 n de l a i n f o r m a c i 6 n
grabada e n las tarjetas.
7
A n t e s d e comenzar a e x p l i c a r c o n d e t a l l e c a d a uno d e estos puntos,
es n e c e s a r i o a c l a r a r q u e l a cornunicaci6n entre l a i n t e r f a s e y l a
computadora Cen ambos s e n t i d o s > , se r e a l i z 6 m e d i a n t e p o l 1 i n g , y t o d a s
e s t a s r u t i n a s f u e r o n e s c r i t a s e n l e n g u a j e C con el compilador TURBO C.
Todo el c6digo se e n c u e n t r a e n el ap&ndicr.
SOFWARE DEL SISfEMA CENTRAL PARA COMUNICACION CON TERMINALES
La computador a p r o p o r c i o n a sena1 es c o n n i vel es de v o l t a j e
c o m p a t i b l e s c o n l a norma RS-232.
Como primer paso de l a e x p l i c a c i h , se n e c e s i t a m e n c i o n a r que e s t a
es hecha por pol 1 i n g , c o n l o c u a l el s o f t w a r e d e c o m u n i c a c i d n d e
sistema c e n t r a l s e r e d u c e solo a hacer c iclos d e l e c t u r a e n l a d i r e c c i d n
C03F8H> donde se e n c u e n t r a mapeado el p u e r t o serie de l a PC. E s t e
m u e s t r e 0 s o b r e el p u e r t o s e r i e se h a c e r e v i s a n d o el v e c t o r de s t a t u s de
este p u e r t o .
La programaci6n d e l a comunicaci6n se h i z o c o n las s i g u i e n t e s
c a r a c t e r l s t i c a s :
- Baud Rate de 1200
- Un b i t de arranque
- Ocho bits d e d a t o s
- Un b i t de p a r o
P a r a l a implementaci6n de e s t a f u n c i 6 n se h i z o c o n l a f u n c i 6 n
BIOSCOM de Turbo C .
Se debe t e n e r muy e n c u e n t a los parametros de c o m u n i c a c i 6 n a n t e s
mend onados, ya q u e estos deben ser 1 os mismos par a l a programaci6n de
c a d a una de las t e r m i n a l e s p a r a q u e de esta forma se logre una
c o m p a t i b i l i d a d e n l a comunicaci6n y esta se haga correctamente.
8
O F W A R E PARA EL PROCESAMIENTO DE DATOS.
L a s f u n c i o n e s r e a l i z a d a s p o r s i t e m a c e n t r a l s o n :
Enviar comandos d e i n i c i o d e sesi 6n a l a i n t e r f ase.
Enviar comandos de operacidn a r e a l i z a r .
Envia comandos de número d e d a t o s q u e t i e n e n q u e s e r r e c i b i d o s .
E n v i a r d a t o s b y t e a b y t e .
De esta forma l a c o m u n i c a c i b n e n t r e el s i s t e m a c e n t r a l y una d e l a s
t e r m i n a l e s se puede hacer en el momento d e s e a d o p a r a asi hacer
c u a l q u i e r a c t u a l i r a c i b n n e c e s a r i a .
Por o t r a p a r t e se e n c u e n t r a el s o f t w a r e de p r o c e s a m i e n t o d e l a s
t e r m i n a l e s el c u a l r e a l i z a l a s f u n c i o n e s d e :
V e r i f i c a r q u e el p r i m e r d a t o q u e r e c i b a c o r r e s p o n d a a l a d i r e c c i 6 n
que se l e est& asignando por software, una vez v a l i d a d a l a d i r e c c i 6 n el
s i g u i e n t e byte que se r e c i b a s e r a un comando con el que se e s p e c i f i c a
l a o p e r a c i b n q u e se t i e n e q u e r e a l i z a r . E x i s t e n d o s f u n c i o n e s q u e p u e d e n
s e r r e a l i z a d a s por cada una de l a s t e r m i n a l e s :
- Hacer una a c t u a l i z a c i d n c o m p l e t a de t o d o s s u s datos almacenados
e n memor i a.
- E l i m i n a r o d a r d e b a j a s6lo uno d e SUS d a t o s .
Cuando se h a r e c i b i d o l a f u n c i b n a r e a l i z a r el s i g u i e n t e d a t o q u e
se e s p e r a es el nrfmero de d a t o s q u e se d e b e r a n s e r r e c i b i d o s , e s t e
p a r i m e t r o r e s u l t a d e g r a n i m p o r t a n c i a p a r a p o d e r h a c e r u n a d i s t i n c i 6 n
del s i g n i f i c a d o d e cada uno de 1 os byte q u e e s t a n s i e n d o t r a n s m i ti dos.
Esto se puede ver mAs c l a r a m e n t e al c o n s i d e r a r q u e e n l a r e d n o s6l o existe una sola t e r m i n a l . Por este motivo se d e b e t e n e r e n c u e n t a el
ndmero d e bytes que se desea t r a n s m i t i r para que d e e s t a forma se l e d e
l a i n t e r p r e t a c i b n a d e c u a d a a cada uno de los bytes t r a n s m i t i d o s . Una vez
q u e se h a d e t e c t a d o q u e se a t r a n s m i t i d o e1 u l t i m o de los d a t o s el
s i g u i e n t e b y t e que se t r a n s m i t a s e r & c o n s i d e r a d o una d i r e c c i 6 n p a r a
a l g u n a t e r m i n a l y de esta f o r m a r e p e t i r el p r o c e s o .
9
En c u a l q u i e r t i p o d e r e d se n e c e s i t a una i n t e r f a c e e n t r e el e q u i p o
de c6mputo y l a red. La red imp1 ementada t i e n e c o n f i g u r a c i 4 n d e b u s
donde el c o n t r o l a d o r c e n t r a l es l a PC y cada nodo es un c o n t r o l a d o r
C80313 .
En l a f i g u r a 1 se m u e s t r a u n a d e s c r i p c i 6 n d e l a forma q u e t i e n e una
r e d e n c o n f i g u r a c i d n d e b u s .
Con esta topo1 ogl a el esquema d e c o m u n i c a c i b n s e r a d e p u n t o a punto,
l o cual permi te q u e c u a l q u i e r n o d o d e l sistema i n t e r c a m b i e i n f o r m a c i 6 n
c o n c u a l q u i e r o t r o n o d o ; a u n q u e p o r c a r a c t e r l s t i c a s d e diseno l a
comunicaci6n Cínicamente se h a r a a t r a d s d e l sistema c e n t r a l CPCD, es
d e c i r n u n c a h a b r a u n a c o m u n i c a c i 6 n d i r e c t a e n t r e d o s m i c r o c o n t r o l a d o r e s
C 8031 > .
La t a r j e t a d e s a r r o l l a d a C c o n t r o l a d o r i n t e l i g e n t e basado e n el 8031D
guar da en una secci 6 n d e s u memor i a 1 a i nf ormaci 6n que es n e c e s a r i a
p a r a dar u n a v a l i d a c i 6 n a l a i n f o r m a c i 6 n l e i d a d e una t a r j e t a d e banda
magndtica; esta v a l i d a c i 6 n p u e d e ser h e c h a s i n n e c e s i d a d d e p e d i r
i n f o r m a c i 6 n a d i c i o n a l a l sistema c e n t r a l , por lo que se d i c e q u e el
c o n t r o l a d o r es i n t e l i g e n t e .
Al d e s a r r o l l a r este c o n t r o l a d o r i n t e l i g e n t e se pretende irnplementar
una pequeKa r e d l o c a l l a c u a l s e r v i r l a p a r a t r a n s f e r i r l a s
a c t u a l i z a c i o n e s n e c e s a r i a s a los datos.
L a t a r j e t a , a p e s a r d e s e r un sistema " i n t e l i g e n t e " C u t i l i z a el
m i c r o c o n t r o l a d o r 80313 no es p o s i b l e i r n p l e m e n t a r l e un sistema o p e r a t i v o
der red s o f i s t i c a d o a menos d e que se d e s a r r o l l e una a r q u i t e c t u r a rrds
c o m p l e t a , ya que una de las l i m i t a c i o n e s mAs a p r e c i bl e que se o b s e r v a
es que l a t r a n s f e r e n c i a d e i n f o r m a c i 6 n u n i c a m e n t e p u e d e ser hecha
byte a b y t e l o c u a l limita l a v e l o c i d a d d e c o m u n i c a c i 6 n , ya de este
forma no es posible t r a n s m i t i r un comando c o m p l e t o , d e b i d o a que estos
estan formados por mbs d e un b y t e como se explic6 a n t e r i o r m e n t e .
10
FIGURA 1
CONFIGURACION DE LA RED
D e n t r o d e esta misma p a r t e d e l s o f t w a r e se e n c u e n t r a el s o f t w a r e de
comunicacidn d e l a t e r m i n a l el c u a l e s t a h e c h o c o n l a s mismas
c a r a c t e r l s t i c a s d e l sistema c e n t r a l .
Ahora pasaremos a dar una e x p l i c a c i h d e l f u n c i o n a m i e n t o d e e s t a
p a r t e d e l s o f t w a r e . C a b e h a c e r l a a c l a r a c i 6 n de q u e los p r o t o c o l o s d e
c o m u n i c a c i 6 n p u e d e n h a c e r s e t a n c o m p l e j o s como se deee y de esta forma
tener una mayor s e g u r i d a d de que el d a t o q u e se e n v i d sea el mismo q u e
se r e c l b i b .
AdemAs d e los p s i bles e r r o r e s al r e d bir i n f o r m a c i b n se pueden
m e n c i o n a r o t r o s como lo s o n l a s c o n t e n c i o n e s .
Como ya se d i j o se d i r e c c i o n a una d e l a s t e r m i n a l e s . s e d a el comando
de l a f u n c í 6 n q u e se r e a l i z a r a , p o s t e r i o r n e n t e el nQmero d e d a t o s q u e se
d e b e n e s p e r a n p a r a l l e v a r l a c u e n t a d e estos. P a r a t e n e r l a s e g u r i d a d e
q u e t a n t o estos d a t o s de c o n t r o l como los d a t o s d e a c t u a l i z a c i 6 n han
s i d o r e c i b i d o s c o r r e c t a m e n t e , l a t e r m i n a l t r a n s m i t e h a c i a el s i s t e m a
c e n t r a l un r e c o n o c i m i e n t o d e q u e se ha hecho l a r e c e p c i d n y esta l i s t o
p a r a el s i g u i e n t e d a t o .
Cuando alguna de 1 as t e r m i n a l es h a r e c i b i d o el comando d e
a c t u a l i z a c i 6 n d e s u s d a t o s e s t a se prepara para r e c i b i r b y t e por byte pero conoci endo el número d e bytes q u e d e b e r e c i b i r . Al p r a p a r a r s e p a r a
l a a c t u a l i z a c i 6 n c o m p l e t a d e s u s d a t o s se prepara p a r a e s c r i b i r s o b r e
s u s d a t o s a n t e r i o r m e n t e r e c i b i d o s . E s t o s d a t o s se e n c u e n t r a e n u n a RAM
q u e es di r e c c i o n a d a por el M i c r o c o n t r o l a d o r 8031. Una vez que uno d e 1 os
datos ha sido r e c i b i d o se r e g r e s a un r e c o n o c i m i e n t o y se a c t u a l i z a el
número d e b y t e s que se e s p e r a n r e c i b i r h a s t a q u e se r e c i b e n t o d o s .
L a o t r a f u n c i b n q u e puede ser hecha por l a t e r m i n a l es l a baja de
uno solo d e s u s e l e m e n t o s , y esto se h a c e d e l a s i g u i e n t e forma:
Una vez que se r e c i b i b y r e c o n o c i 6 d e comando d e b a j a d e uno d e l o s
e l e m e n t o s se e s p e r a r e c i b i r los d a t o s q u se desean dar d e b a j a . E s t o s
d a t o s se almacenan en una RAM i n t e r n a l a 8031 para que una vez
r e c i b i d o s c o m p l e t a m e n t e s e a n b u s c a d o s e n t r e l o s datos que se encuentran
e n l a RAM e x r t e r n a y e n caso d e s e r e n c o n t r a d o s s o n e l i m i n a d o s .
En 1 a f i g u r a 4 se muestra un diagrama a b l o q u e s mas d e t a l l a d o d e l
sistema e n el c u a l se muestran l a s partes que forma a l sistema c e n t r a l
y a una de l a s t e r m i n a l e s .
SOFTWARE DE VAL1 DACION DE DATOS
O t r a de las f u n c i o n e s d e una terminal es poder recuperar l a
inf ormacidn grabada en una banda magnetita, y una vez recuperada se
busque esta misma i n f o r m a c i 6 n e n l a RAM externa que maneja cada
t e r m i n a l . Los d a t o s r e c u p e r a d o s de l a t a r j e t a d e banda magnetita s o n
almacenados temporal mente en 1 a memoria RAM i n t e r n a d e l 8031 de 1 a
t e r m i n a l a n t e s de i n i c i a r s u v a l i d a c i 6 n .
En esta s e c c i d n se da una e x p l i c a c i b n d e e s t a p a r t e d e l s o f t w a r e .
P a r a i n i c i a r esta e x p l i c a c i 6 n se debe recordar que l a t e r m i n a l
c o n o c e d e antemano el número de datos v a l i d o s q u e t i e n e a l m a c e n a d o , y a
q u e e s t a i n f o r m a c i 6 n se l e proporcion6 a l momento d e ser t r a n s m i t i d a .
Como primer paso se g e n e r a l i z a q u e el dato a v a l i d a r p u e d e e s t a r
formado por 116s d e un b y t e ; t e n i e n d o e n c u e n t a estas c o n s i d e r a c i o n e s se
explica el f u n c i o n a m i e n t o d e l s o f t w a r e .
Como primer paso se compara el primer byte d e l d a t o a v a l i d a r c o n
el primer b y t e de l a tabla d e datos CRAM e x t e r n a 3 , e n este punto se
p u e d e n p r e s e n t a r dos o p c i ones :
12
Figura 4
En caso d e q u e c o i n c i d a n se compara el resto h a s t a q u e se han
comparada0 todos y cada uno de ellos, en caso d e que el d a t o s h a y a sido
e n c o n t r a d o se da por terminada l a bdsqueda. En c a s o d e n o coicidir e1
p r i m e r b y t e ya n o se comparan el resto d e los bytes c o r r e s p o n d i e n t e s a
este dato, s i n o q u e se p a s a al s i g u i e n t e b l o q u e d e bytes que forman el
s i g u i e n t e d a t o y este p r o c e s o c o n t i n u a h a s t a el momento d e e n c o n t r a r el
d a t o o h a s t a q u e se l l e g a a l f i n a l de l a t a b l a .
SOFTWARE DE GRABACION EN BANDA WA(MET1CA
Como ya se m e n s i o n b , l a s t a r j e t a s c o n b a n d a m a g n & t l c a se graban con
dos seKales CseRal de d a t o s y seKa1 d e z i n c r o n i a ) - Estas senales se
generan medi a n t e dos b i t s d e uno de 1 os p u e r t o s d e l m i c r o c o n t r o l a d o r . A
c o n t i n u a c i o n se d a u n a e x p l i c a c i d n del s o f t w a r e d e s a r r o l l a d o p a r a este
p r o p o s i to: Primero se d a una e x p l i c a c i b n d e l a s c o n s i d e r a c i o n e s que se
h i c i e r o n p a r a h a c e r una buena grabacibn y d e e s t a forma a l momento de
l a r e p r o d u c c i b n se pueda hecer de l a forma m&s p r e c i s a p o s i b l e .
Como e n c u a l q u i e r sitema e l t k t r i c o . l a r e s p u e s t a de un c i r c u i t o e n
los momentos " i n i c i a l e s " es muy i n e s t a b l e es n e c e s a r i o . como primer
p a s o a n t e s d e i n i c i a r l a g r a b a c i 6 n d e l a informacidn una p a l a b r a d e
s i n c r o n i z a c i b n C s e c u e n c i a de b i t s p r e d e f i n i d a q u e p r e s e d e a un d a t o > .
Con e s t a p a l a b r a d e s i n c r o n i z a c i 6 n se l o g r a q u e l a sena1 que se d e s e a
grabar ya este e s t a b i l f z a d a a l momento que se i n i c i e l a g r a b a c i 6 n d e l a
i n f o r m a c i b n .
O t r a c o n s i d e r a c i b n q u e se h i z o p a r a e s t a p a r t e d e l s o f t w a r e f u e q u e
esta p a l a b r a de s i n c r o n i t a c i 6 n se g r a b 6 t a n t o a l i n i c i o de l a g r a b a c i o n
como a l f i n a l d e +Sta. Esto se hizo con el f i n d e f a c i l i t a r s u forma de
l e c t u r a , es d e c i r q u e l a t a r j e t a c o n b a n d a magnetita pueda ser l e i d a
por ambos 1 a d o s d e 1 a t a r j e t a y esto es p o s i b l e p o r q u e 1 a p a l a b r a d e
s i n c r o n i a se e n c u e n t r a e n ambos e x t r e m o s d e l a i n f o r m a c i b n ; p o r o t r a
p a r t e debe tornarse es c u e n t a q u e l a i n f o r m a c i b n a grabar t i e n e q u e ser
n e c e s a r i a m e n t e un p a l i gr ama par a poder hacer 1 a r e c u p e r a c i 6n de 1 a
i n f o r ~ n a c i b n por ambos l a d o s de l a t a r j e t a .
13
Pr i mero asumiendo que uno de 1 os bi ts d e l p u e r t o d e l
m i c r o c o n t r o l a d o r 8131 dar& l a sena1 d e s i n c r o n i a , Ces muy i m p o r t a t e n o
c o n f u n d i r s e R a 1 de s i n c r o n i a c o n p a l a b r a de s i n c r o n i z a c i 6 n 3 y otro de
l o s b i t s d a r & l a sena1 de d a t o s , como p r i m e r a p a r t e d e l programa se
c u e n t a c o n una r u t i n a q u e da una palabra d e s i n c r o n i z a c i 6 n l a c u a l esta
formada por 5 n i v e l e s a l t o s y S n i v e l e s b a j o s a l t e r n a d a m e n t e , los
c u a l e s s o n g r a b a d o s e n memoria ram i n t e r n a d e l p r o c e s s a d o r ,
p o s t e r i o r m e n t e se toman los bytes que forman parte d e l a i n f o r m a c i h y
se s e p a r a n e n bits, de t a l forma q u e a l t e n e r un b i t est6 se almacena
dos veces, una vez haciendo 1 a oper a c i 6 n OR con O1 H y o t r a c o n OOH, es
d e c i r por cada b i t d e d a t o s , se g e n e r a t a n b i e n un c i c l o de 1 a seKal de
s i n c r o n i z a c i 6 n . esto se r e a l i z a con l a f i n a l i d a d d e t e n e r mayor
c o n f i a b i l i d a d e n l a r e c u p e r a c i 6 n d e l los mismos, a s 1 h a s t a t e r m i n a r c o n
t o d o s 1 os b i t s d e d a t o s , una vez que se ha hecho esto se i n i c i a l a
g r a b a c i b n de 1 os d a t o s . E s t o s datos s o n e n v i a d o s s e r i a l m e n t e al p u e r t o
del 8031 a u a n f r e c u e n c i a de SE-05 por byte, una vez e n v i a d o s estos
datos se r e g r e s a a l a r u t i n a q u e manda a l p u e r t o l a p a l a b r a de
s i n c r o n i z a c i b n .
SOFTWARE DE REPROWCCION EN BANDA WAGWTICA
En el s o f t w a r e p a r a l a r e c u p e r a c i 6 n d e l a informaci6n se s i m p l i f i c a
g r a c i a s a l a s c a r a c t e r i s t i c a s q u e se l e d i e r o n a l a seKal g r a b a d a . A n t e s
de iniciar l a e x p l i c a c i b n del f u n c i o n a m i e n t o d e se hace l a o b s e r v a c i d n
de q u e g r a c i a s a l a sefíal de s i n c r o n i a que se l e g r a b a a l a t a r j e t a se
1 ogr a que 1 a r e c u p e r a d 6n de e s t a i nf ormaci 6n se pueda hacer
manualmente, es d e c i r n o se r e q u i e r e de un d i s p o s i t i v o m e c d n i c o q u e
mueva l a t a r j e t a a una velocidad c o n s t a n t e . Tomando e n c u e n t a l a s
f a c i l i d a d e s dadas por l a seKal de s i n c r o n i a se diseKo l e s o f t w a r e d e l a
si g u i e n t e m a n e r a :
14
Al h a b e r g r a b a d o d o s s e n a l e s d i f e r e n t e s e n una misma banda
magnetita, se h a c e n e c e s a r i a l a r e c u p e r a c i d n d e estas dos senales, esta
r e c u p e r a c i 6 n se h a c e medi a n t e el moni t o r e o por medi o d e d o s 1 i noas de
e n t r a d a d e uno d e los p u e r t o s d e l m i c r o c o n t r o l a d o r 8031.
E l p r o c e s o d e r e c u p e r a c i 6 n es d e l a s i g u i e n t e forma: Primero es
d e t e c t a d o l a p a l a b r a d e s i n c r o n i z a c i o n q u e p r e c e d e al d a t o , si l a
p a l a b r a d e s i n c r o n i z a c i 6 n h a s i d o c o r r e c t a m e n t e i d e n t i f i c a d a se pasa a
un s i g u i e n t e e s t a d o e n d o n d e los s i g u i e n t e s d a t o s s o n l e i d o s por una d e
l a s e n t r a d a s d e l p u e r t o y almacenados para posteriormente sea
p r o c e s a d o s . El p r i n c i p i o d e f u n c i o n a m i e n t o d e esta p a r t e d e l s o f t w a r e
se b a s a e n el hecho de monitorear on que momentos se e n c u e n t r a un n i v e l
a l t o e n 1 a seflal de s i n c r o n l a , p a r a que en este momento sea tomada una
l e c t u r a d e l p u e r t o y se tome solamente el b i t q u e c o r r e s p o n d e al d a t o ,
esto se r e a l i z a h a s t a c o m p l e t a r un b y t e Cesto es p o s i b l e por que se
g r a b o d e l b i t mAs s i g n i f i c a t i v o a l menos s i g n i f i c a t i v o 3 , este byte es
almacenado en l a RAM i n t e r n a d e m i c r o c o n t r o l a d o r , asi r e p i t i e n d o este
p r o c e s o h a s t a q u e se h a r e c u p e r a d o t o d a l a i nf ormaci6n. Se debe hacer
l a o b s e r v a c i 6 n d e que l a seKal d e s i n r o n i z a c i d n u n i c a m e n t e es
monitoreada para l a c o r r e c t a r e c u p e r a c i 6 n d e l a i n f o r m a c i 6 n . e n n i n g d n
momento es almacenada.
Por u l t i m o r e s p e c t o a l a implementaci6n de l a r e d d e c o m u n i c a c i 6 n se
t i e n e q u e m e n c i o n a r l a u t i l i z a c i 6 n d e los c i r c u i t o s L i n e D r i v e r s p a r a
lograr una comunicaci6n a una d i s t a n c i a mayor. E s t o s c i r c u i t o s s o n el
sN75110 C r e c e p t o r 3 y el 9475108 C t r a n s m i s o r l los c u a l e s p r o p o r c i o n a n
una seKal s i n d i s t o r c i 6 n a l a v e l o c i d a d d e t r a n s m i c i 6 n q u e se empleo en
esta r e d . E s t e c i r c u i t o f u e p r o b a d o a una doistancia aproximadamente de
1 Km.
CIRCUITO GRABADOR Y LECTOR.
Como un p r i m e r c i c u i t o de prueba se diseno el c i r c u i to grabador /
r e p r o d u c t o r e n b a s e al LMl818 como se menciono anteriormente, esto fue con el f i n d e t e n e r una mejor percepcidn de 1 a for ma d e 1 a seKal que se
d e s e a g r a b a r , una vez que se conocir5 1 a f o r ma d e l a sena1 se d i s e n o un
c i r c u i t o h e c h o c o n a m p l i f i c a d o r e s o p e r a c i o n a l e s q u e s i m u l a r a este mismo p r o c e s o d e gr abaci 6n.
Como es d e esperarse el d i seKo h e c h o c o n a m p l í f i c a d o r e s
o p e r a c i o n a l e s r e s u l t.6 un d i s e n o mAs econ6míco y aun tomando e n c u e n t a
q u e p o r c a r a c t e r l s t i c a s d e l sistema son n e c e s a r i o s t a n t o d o s c i r u i t o s
g r a b a d o r e s corn d o s c i r c u i t o s l e c t o r e s como ya se e x p l i c 6
a n t e r i o r m e n t e .
Ahora pasamos a explica mAs e n d e t a l l e el c i r c u i t o hecho con
ampl i f i cador es oper aci onal es :
P r i m e r a e t a p a d e a m p l i f i c a c i b n .
Comparador.
Osci 1 ador.
Sumador -amp1 i f í c a d o r .
En l a p r i m e r a e t a p a de a m p l i f i c a c i b n l a sena1 d e e n t r a d a es l a
s e n a 1 q u e se desea g r a b a r , 1 a c u a l es ampl i f i c a d a e n un f a c t o r d e I OO. Esta es comparada con un n i v e l de DC a p r o p i a d o p a r a que, de esta forma
dar una mejor d e f i n i c i h d e los p u l s o s C n i v e l e s TIZ compati bles3 a ser
g r a b a d o s . En l a s i g u i e n t e e t a p a d e l c i r c u i t o se h a c e l a suma de esta
sePIal con una sena1 d e u1 t r a s o n i d o ; a l a s a l i d a d e este sumador se t i e n e
una seKal l a c u a l ya puede ser g r a b a d a e n un medio magn6tico con un
n i vel d e d e f i n i c i 6n a c e p t a b l e .
16
Por o t r a p a r t e se e n c u e n t r a el c i r c u i t o o s c i l a d o r q u e da l a sena1
d e u 1 t r a s o n i do que proporcionara una mayor f i d e l i d a d a l a s e n a 1
g r a b a d a . Una vez contando con estas dos senales por separado se suman y
a m p l i f i c a n a l a vez, d e t a l forma que l a c i n t a m a g n b t i c a se s a t u r e c o n
1 a sena1 que se d e s e a g r a b a r . A l a s a l i d a d e l sumador h i camente se
coloca 1 a cabeza d e g r a b a c i 6n a c o p l a d a c o n un c a p a c i t o r .
Como se mencion6 1 a banda magnatica que se d e s e a g r a b a r se graban
d o s seKalss. una sena1 d e s i n c r o n i z a c i c5n y o t r a r e n a l c o n 1 a
i n f o r m a d 6n deseada. La razbn que se da a l h e c h o d e g r a b a r una sena1 d e
s i n c r o n i z a c i 6 n es q u e d e esta forma se t i e n e l a s e g u r i d a d d e que en el
momento de l a recuperac i6n . la l e c t u r a d e los d a t o s se hara en los
tiempos adecuados, ya que estos t i e m p o s d e l e c t u r a e s t a n marcados por
l a s e n a 1 d e s i n c r o n 1 a . O t r a v e n t a j a d e esta s e K a l de s i n c r o n l a es que l a
r e c u p e r a c i d n se puede hacer manualmente Cno es n e c e s a r i o mover l a banda
m a g n b t i c a r e s p e c t o a l a c a b e z a d e r e p r o d u c c i 6 n a una v e l o c i d a d
c o n s t a n t e > .
Por otra p a r t e se t i e n e el c i r c u i t o r e p r o d u c t o r o lector el c u a l se
d e s c r i b e a c o n t i n u a c i 6 n :
D e s p u e s d e 1 as p r u e b a s r e a l i z a d a s c o n e 1 d i s e K o d e l c i r c u i t o h e c h o e n
base a l LMl818 se comprobc5 que 1 a seKal g r a b a d a t e n 1 a una ampl i t u d muy
pequeKa, por l o q u e el c i r c u i t o h e c h o c o n a m p l i f i c a d o r e s o p e r a c i o n a l e s
se h i z o d e l a s i g u i e n t e manera:
Como p r i m e r a e t a p a se a m p l i f i c a l a sena1 e l d c t r i c a p r o p o r c i n a d a por
el t r a n s d u c t o r C c a b e z a d e r e p r o d u c c i 6 n 3 , esta a m p l i f i c a c i 6 n se h i z o e n
un f a c t o r d e 1 0 0 veces; una vez hecha esta a m p l i f i c a c i 6 n l a s e K a l t i e n e
1 a ampl i t u d n e c e s a r i a p a r a q u e un c i r c u i t o comparador pueda detectar el
n i v e l d e l a senal. Esta c o m p a r a c i 6 n l o g r a l a r e c o n s t r i c c i 6 n c o m p l e t a d e
l a seKal que se grab6.
Como es d e e s p e r a r s e el d i s e K o c o n s t a d e d o s c i r c u i t o s
r e p r o d u c t o r e s los c u a l e s moni torean cada uno los c a n a l e s g r a b a d o s .
17
SISTEMA MECANICO DE GRAEACION
P a r a h a c e r l a g r a b a c i b n d e l a t a r j e t a d a b a n d a m a g n d t i c a se
implemento un sistema d e poleas movidas por un motor d e DC el c u a l g i r a
a una velocidad c o n s t a n t e . E s t a s p o l e a s a s u vez hacen girar unas
"ruedas" d e goma l a s c u a l e s t i e n e n una f r i c c i d n c o n l a t a r j e t a y l a
hacen mover.
En este mismo mecanismo se colocd u n a c a b e z a d e l e c t u r a / e s c r i t u r a
p a r a h a c e r t a n t o l a g r a b a c i d n como l a r e p r o d u c c i b n e n el medio
magnetice.
Por o t r a parte como las "ruedas" de goma que hacen mover a l a
t a r j e t a se e n c u e n t r a n de t a l f o r m a q u e i n c l i n a n a l a t a r j e t a d i f i c u l t a
de esta forma s u l i b r e m o v i m i e n t o ; se diseK6 un soporte que mantiene a
l a t a r j e t a q u e se desea grabar o r e p r o d u c i r c o m p l e t a m e n t e v e r t i c a l .
FUENTE DE ALI~NTACION.
Los r e q u e r i m i e n t o s de f u e n t e s de a l i m e n t a c i 6 n p a r a todo el sistema son amp1 ios pero se t r a t o de h a c e r l o s l o mAs a d e c u a d o s p o s i b l e s p a r a
r e d u c i r el n ú m r o de f u e n t e s r e q u e r i d a s , y de e s t a f o r m a se diseKb una
f u e n t e d e a l i m e n t a c i h c o n c u a t r o n i v e l e s d i f e r e n t e s d e v o l t a j e s :
1.3 +1BV 3A 2.3 -12V 1A 3. > + 0V2A 4.> + SV 1 A
18
GENERALIDADES DE CWUNICACION EN SERIE
La t r a n s f e r e n c i a d e datos o n t r e d o s d i s p o s i t i v o s p u e d e s e r e n
s e r i e o e n p a r a l e l o . En l a t r a n s f e r e n c i a e n p a r a l e l o , c a d a bi t del
m e n s a j e t i e n e s u t r a y e c t o r i a y el m e n s a j e t o t a l es t r a n s m i t i d o d e una
s o l a vez. E s t o s i g n i f i c a q u e un m e n s a j e d e n - b i t s es t r a n s m i t i d o e n
para1 el o a t r a v e s de n c o n d u c t o r e s s e p a r a d o s . En 1 a comuni c a c i 6 n e n
s e r i e cada b i t d e l mensaje es e n v i a d o en forma secuenci a l , uno a 1 a
vez. E s t e m6todo &lo r e q u i e r e del uso de dos o t r e s c o n d u c t o r e s , como
mí ni mo. La t r a n s m i s i 6 n e n p a r a l e l o es r a p i d a p e r o r e q u i e r e d e v a r i o s
c o n d u c t o r e s . E s u t i 1 i z a d a c u a n d o los dispositivos a comunicar se
e n c u e n t r a n a d i s t a n c i a s c o r t a s . L a t r a n s m i s i b n e n serie es l e n t a pero
menos costosa, p u e s t o q u e r e q u i e r e s6lo d e un par de conductores. Raz6n
por l a c u a l se e s c o j e r a este t i p o d e comunicaci6n.
Datos d i g i t a l e s pueden ser t r a n s m i t i d o s en forma s e r i a l , e n t r e
dos p u n t o s , e n t r e s f o r m a s d i f e r e n t e s : s i m p l e x , h a l f - d u p l e x , o
f u l l - d u p l e x . La forma s i m p l e x p e r m i t e l a t r a n s m i s i 6 n C c o n u n a s o l a
l í n e a > e n una sola d i r e c c i 6 n . E s t e metodo, es r a r a s veces empleado, en
l a t r a n s m i s i 6 n de datos d i g i t a l es, debido a que el r e c e p t o r no puede comunicarse con el transmisor para i n d i c a r l e 1 a ocur r enci a
d e e r r o r e s . E j e m p l o s de l a t r a n s m i s i 6 n s i m p l e x los encontramos e n l a
r a d i o , y e n l a t e l e v i s i b n .
Un sistema d e t r a n s m i s i h h a l f - d u p l e x es c a p a z d e t r a n s m i t i r
en ambas d i r e c c i o n e s , p e r o los d a t o s n o f l u y e n s i m u l t a n e a m e n t e . E s t e
sistema emplea un par de alambres. Una si t u a c i 6 n muy comh es 1 a de 1 os
modems; primero un modem t r a n s m i t e y o t r o r e c i b e . Cuando l a t r a n s m i s i b n
e n un s e n t i d o es completada los p a p e l e s se i n v i e r t e n , a h o r a el modem
q u e t r a n s m i t í a , r e c i b e ; y el q u e r e c i b í a , t r a n s m i t e .
Mediante l a t r a n s m i s i 6 n f u l l - d u p l e x es p o s i b l e recibir y
t r a n s m i t i r e n ambas d i r e c c i o n e s z i m u l t A n e a m e n t e . E s t e tipo d e
c o m u n i c a c i d n u t i l i z a de dos a cuatro c o n d u c t o r e s .
19
La transmi s i 6 n de d a t o s en s e r i e p u e d e ser s i n c r o n a o
a s i n c r o n a . En l a t r a n s m i s i 6 n s i n c r o n a , los dos d i s p o s i t i v o s d e s p a c h a n
b i t s a l mismo r i t m o . E n l a s c o m u n i c a c i o n e s s e r i a l e s a g r a n d e s d i s t a n c i a r
c a d a disposi ti- p o s e e un c i r c u i t o d e r e l o j de l a misma f r e c u e n c i a q u e
el o t r o p a r a g e n e r a r el mismo r i t m o d e t r a n s m i s i 6 n . P e r i 6 d i c a m e n t . e es
n e c e s a r i o t r a n s m i t i r seKales d e s i n c r o n i z a c i 6 n D p a r a m a n t e n e r a s u s
seKales d e r e l o j e n fase. En l a t r a n s m i s l 6 n a s l n c r o n a , l a informaci6n
es t r a n s m i t i d a s o l a m e n t e c u a n d o esti l i s t a C e n l a t r a n s m i s i 6 n s i n c r o n a
c o n t l nuamente se e n v l a i n f o r m a c i 6 n . p a r a m a n t e n e r e n s i n c r o n l a a los
c i r c u i t o s de reloj>. y l a l i n e a esta l i b r e .
TRANSMISION ASINCRONA
Una de las a p l i c a c i o n e s mAs comunes de 1 a t r a n s m i s i d n
a s i n c r o n a se e n c u e n t r a e n l o s teclados e impresoras d e l a s
microcomputadoras. Los c a r a c t e r e s a l f a n u m t 5 r i c o s c o n s i s t e n d e un c d d i g o
d e 8 b i t s , mb a l g u n o s b i t s a d i c i o n a l es i n s e r t a d o s a l pr i n c i p i o y a l
f i n a l del c6digo. En l a t r a n s m i s i h s e r i a l y a s i n c r o n a d e d a t o s cada
c a r a c t & C " f r a m e " 3 , c o n s i s t e de tres p a r t e s : un bit d e arranque, un
b l o q u e d e datos o b i t s d e l c a r a c t & , y 1 os b i t s de d e t e n c i 6 n . E l
transmisor mantiene la l i n e a de t r a n s m i 5 i 6 n e n 1 mientras no t r a n e m i t a
i n f o r m a c i 6 n . El primer b i t , llamado b i t d e arranque, s iempre es un O , y
es u t i 1 izado para i n d i c a r el p r i n c i p i o de un c a r a c t & . Un e j e m p l o de
este f o r m a t o es mostrado e n l a f i g u r a 2.
Un c a r a c t e r t r a n s m i t i d o e n s e r i e p u e d e ser detectado
por un r e c e p t o r s i e m p r e que este conozca las r e g l a s de t r a n s m i s i d n .
Cuando un c a r a c t & n o est& s i e n d o e n v i a d o , l a l l n e a d e t r a n s m i s i 6 n es
mantenida en l. E l i n i c i o d e l a t r a n s m i s i d n de un c a r a c t b r es d e t e c t a d o
por 1 a l l e g a d a de un b i t d e arranque, el c u a l s i e m p r e es O. Los b i t s
del c a r a c t & s i e m p r e s i g u e n al b i t de arranque. DespuBs del 61 timo b i t
del caractbr t r a n s m i t i d o , l lega un bit. de paro, e n t o n c e s l a l í n e a
r e g r e s a a l. Todos 1 os bits t i e n e n el mismo per 1 odo. Empleando estas
r e g l a s . el r e c e p t o r p u e d e d e t e c t a r un b i t de arranque cuando ocurra una
20
t r a n s i c i d n d e 1 a O en la l i n e a . Un reloj en l a r e c e p c i b n d e b e e x a m i n a r
l a l i n e a e n el momento a d e c u a d o p a r a d e t e c t a r c a d a b i t . El r e c e p t o r
d e b e t e n e r c o n o c i m i e n t o d e l a c a n t i d a d d e bits que l e s o n
t r a n s f e r i d o s , asi como l a v e l o c i d a d a l a que l e s o n e n v i a d o s estos.
Al final de c a d a c a r a c t & 1 a 1 f n c a es mantenida en 1 por un
periodo d e 1 a 2 veces el p e r i o d o de 1 b i t , con el f i n d e q u e t a n t o el
t r a n s m i s o r como el r e c e p t o r p u e d a n r e s i n c r o n i z a r s e . E l p e r i o d o d e
t iempo en que 1 a 1 inea permanece en este e s t a d o d e p e n d e d e 1 a c a n t i d a d
de t i e m p o q u e u n e q u i p o e m p l e a p a r a r e s i n c r o n i z a r s e .
Coma e n l a f i g u r a 2, c o n s i d e r e una t r a n s m i s i 6 n e n serie con
u n a v e l o c i d a d de t r a n s m i s i d n d e 1 0 c a r a c t e r e s por segundo. Cada
c a r a c t e r t r a n s m i t i d o c o n s i s t e d e un bit. d e a r r a n q u e . y d o s b i t s d e
d e t e n c i h . l o c u a l i m p l i c a un total d e 11 b i t s . Diez c a r a c t 6 r e s p o r
s e g u n d o s i g n i f i c a q u e c a d a c a r a c t & toma 0 . 1 S p a r a s e r t r a n s m i t i d o .
P u e s t o q u e se t i e n e n 11 b i t s por t r a n s m i t i r . t e n e m o s q u e t r a n s m i t i r un
b i t nos toma 9-09 ms . L a u n i d a d d e t r a n s m i s i 6 n d e i nf ormaci 6n es el
BAUD. el c u a l es i g u a l a un b i t por segundo. Por l o t a n t o 1 0 c a r a c t e r e s
t r a n s m i t i d o s e n un segundo. con un f o r m a t o d e 11 b i t s , t i e n e n una
v e l o c i d a d d e t r a n s m i s i d n d e 110 b a u d i o s .
. . 1 1 1 O 1 O O O
FIG. 2 FORMATO PARA LA TRANSMISIGN ASf NCRONA SER1 E
21
TRANSMISION Y RECEPCI ON DE INFORMACI ON EN COMPUTADORAS
La 1 nf or maci6n b i n a r i a r e c i b i d a por una computadora desde
un d i s p o s i tiva e x t e r n o g e n e r a l m e n t e es almacenada en memoria, para un
p r o c e s a m i e n t o p o s t e r i o r . L a i n f o r m a c i 6 n t r a n s m i t i d a p o r una
c o m p u t a d o r a h a c i a un d i s p o s i tivo e x t e r n o , g e n e r a l m e n t e p r o c e d e de l a
memoria. La CPU s o l a m e n t e e j e c u t a i n s t r u c c i o n e s de c n t r a d a / r a l i d a
CI/O3, y p u e d e r e t e n e r d a t o s t e m p o r a l m e n t e , p e r o l a f u e n t e o el d e s t i n o
de l a i n f o r m a c i b n , s i e m p r e es l a unidad d e memoria. La transf erencia de
datos e n t r e l a c o m p u t a d o r a c e n t r a l y los d i s p o s i t i v o s d e e n t r a d a h a l i d a
puede ser manejada de vari as maneras. Algunos metodos emplean al CPU
como un c a m i n o i n m e d i a t o , o t r o s t r a n s f i e r e n d a t o s d i r e c t a m e n t e h a c i a y
desde 1 a unidad de memoria. La transferencia de datos h a c i a y d e s d e 1 os
p e r i f e r i c o s p u e d e s e r m a n e j a d a de c u a t r o maneras d i s t i n t a s :
1 3 T r a n s f e r e n c i a de d a t o s c o n t r o l a d a p o r el
CPU C P a L I NQ
2 3 T r a n s f e r e n c i a d e datos c o n t r o l a d a p o r
i n t e r r u p c i o n e s
33 T r a n s f e r e n c i a de datos a c c e d i e n d o d i r e c t a m e n t e
a memoria C D M A 3
43 T r a n s f e r e n c i a de d a t o s a t r a v e s de un
procesador d e e n t r a d a / s a l i d a CIOP3
Las operaciones controladas por programa, son el r e s u l t a d o d e
i n s t r u c c i o n e s e s c r i t a s e n el programa d e l a computadora. Cada d a t o
t r a n s f e r i d o es r e s u l t a d o d e una i n s t r u c c i b n e n el programa.
Generalmente, l a t r a n s f e r e n c i a es h a c i a o desde algvhn r e g i s t r o de l a
CPU, desde o h a c i a un p e r i f e r i c o . A l g u n a s o t r a s i n s t r u c c i o n e s son
n e c e s i t a d a s para t r a n s f e r i r d a t o s e n t r e la CPU y l a memoria. La
t r a n s m i s i d n d e datos c o n t r o l a d a p o r p r o g r a m a r e q u i e r e de un c o n s t a n t e
moni t o r e o del per i f Br 1 co p o r p a r t e d e l CPU. Una vez q u e 1 a
t r a n s f e r e n c i a es i n i c i a d a , l a CPU es r e q u e r i d a p a r a m o n i t o r e a r l a
t r a n s f e r e n c i a , y d e c i d i r c u a n d o p u e d e i n i c i a r s e o t r a . E s t e &todo
tambien es c o n o c i d o como "POLLING".
22
En l a t r a n s f e r e n c i a c o n t r o l a d a p o r p r o g r a m a , l a CPU permanece
en un c i c l o h a s t a q u e el perifbrico l e i n d i c a q u e est& l i s t o para l a
t r a n s f e r e n c i a . E s t e p r o c e s o consume demasiado tiempo de CPU, y puede
s e r o v i t a d o si se r e c u r r e al u s o d e l a s i n t e r r u p c i o n e s , d e t a l forma
que s6lo d u r a n t e l a t r a n s m i s i 6 n l a CPU es u t i l i z a d a , m i e n t r a s t a n t o ,
el r e s t o d e l t iempo l a CPU se p u e d e e m p l e a r p a r a r e a l i z a r o t r a s t a r e a s .
En este caso q u i e n se e n c a r g a d e m o n i t o r e a r a l d i s p o s i t i v o es una
i n t e r f a c e .
L a t r a n s f e r e n c i a d e d a t o s c o n t r o l a d a por programa se r e a l i z a a
t r a v e s d e un b u s d e e n t r a d a y s a l i d a , y e n t r e el CPU y d i s p o s i ti yos
p e r i f d r i c o s . En el acceso d i r e c t o a memoria C W , una i n t e r f a c e
t r a n s f i e r e i n f o r m a c i 6 n h a c i a y d e s d e l a unidad de memoria a t r a v e s d e l
b u s d e l a memoria Cbus d e d a t o s > . L a CPU i n i c i a l a t r a n s f e r e n c i a
s u m i n i s t r a n d o al p e r i f e r i c o l a d i r e c c i 6 n i n i c i a l d e memoria y l a
c a n t i d a d de p a l a b r a s q u e v a n a s e r t r a n s m i t i d a s . D e s p u 6 s d e r e a l i z a r
+Sta o p e r a c i 6 n . l a CPU c o n t i n t 3 a e j e c u t a n d o o t r a s t a r e a s , a l a vez que
l a i n t e r f a c e s o l i c i t a ciclos d e memoria a t r a v e s el bus de memoria.
Cuando esta s o l i c i t u d es a c e p t a d a p o r el c o n t r o l a d o r d e memoria, l a
i n t e r f a c e t r a n s f i e r e d a t o s d i r e c t a m e n t e a memoria. La CPU r e t a r d a s u
o p e r a c i 6 n p a r a d a r p a s o a d s t a t r a n s f e r e n c i a .
Por iiltimo, m u c h a s c o m p u t a d o r a s c o m b i n a n s u i n t e r f a c e l d g i c a
con los r e q u e r i m i e n t o s p a r a acceso d i r e c t o a memoria d e n t r o d e un
d i s p o s i t i v o l l a m a d o p r o c e s a d o r d e e n t r a d a / s a l i d a CIOPD. LA IOP puede
manejar varios p e r i f e r i c o s . p e r m i t i d n d o l e s acceso d i r e c t o a memoria y
acceso a l a s i n t e r r u p c i o n e s . Un e j e m p l o d e t a l d i s p o s i t i v o es el 8089
empl @ado e n a l g u n a s c o m p u t a d o r a s .
23
DESCFUPCION DE L A TEFMINAL
En r e a l i d a d u n a t e r m i n a l Q n i c a m e n t e se encuentra formada por
m i c r o c o n t r o l a d o r d e I N E L 8031 el c u a l se d e s c r i b e a c o n t i n u a c i b n :
- EL MICROCONTROLADOR
E s t e b l o q u e se b a s a e n el microcontrol ador de 8 b i t s 8031 d e INTEL, el c u a l es un microprocesador especializado p a r a c o n t r o l . Las
c a r a c t e r i s t i c a s p r i n c i p a l e s de este microcontrolador son:
- 64 Kbytes d i r e c c i o n a b l e s p a r a memoria d e programa
- 84 Kbytes d i r e c c i o n a b l es para memoria de datos
- 128 bytes d e RAM i n t e r n a
- 3 p u e r t o s p a r a l e l o s
- 1 p u e r t o s e r i epar a t r ansmi si 6 n & e c e p c i 6n
si mpl ex, ha1 f -dupl ex o f u1 1 -duplex
- 2 c o n t a d o r e s d e e v e n t o s 6 2 t i m e r s
- S n i v e l e s d e i n t e r r u p c i 6 n
- C i r c u i t o osci 1 ador i n t e g r adoC 12 MHz>
Como puede verse las c a r a c t e r l s t i c a s d e este m i c r o c o n t r o l a d o r , l o
h a c e n a d e c u a d o p a r a d e s a r r o l l a r un sistema de c o n t r o l s e n c i l 1 0 , d e b a j o
costo pero e f i c i e n t e , r a z o n e s por l a s c u a l e s se decidio u t i l i z a r este
m i c r o c o n t r o l a d o r
C i r c u i t o s p a r a el manejo d e memoria y d i s p o s i t i v o s de e n t r a d a
y s a l i d a
E l 8031 d i vi d e s u A r e a de memoria en dos s e c c i o n e s : Area d e
memoria de programa y Area de memoria de d a t o s . E l A r e a d e memoria de
programa almacena solamente instrucciones , y solamente puede ser l e i d a
Cmedi ante l a l í n e a d e l p u e r t o de c o n t r o l PSEND . E l A r e a de memoria de
datos almacena toda clase de datos, y p u e d e s e r l e i d a y e s c r i t a
Cmediante l a s l i n e a s RD y WR d e l p u e r t o d e c o n t r o l , r e s p e c t i v a m e n t e > .
24
No o b s t a n t e esta divisi6n d e memoria es p o s i b l e t r a s l a p a r ambas a r e a s d e memoria a una s o l a , con el i n c o n v e n i e n t e d e q u e el A r c a t o t a l
d e memoria Cde programa y d a t o s > . se r e d u c e a solo 64kBytes, p e r o c o n
l a v e n t a j a d e q u e es p o s i b l e l e e r y e s c r i b i r datos e i n s t r u c c i o n e s e n
una misma Area de memoria.
En l a t a r j e t a de comunicaciones no es n e c e s a r i a una Area d e memoria
d e datos, s d l o se n e c e r i t a un Area de memoria para instrucciones que
únicamente se guardaran temporalmente unos cuantos datos Cc6digo para
el baud r a t e de c a d a p u e r t o s e r i e , c o n e x i o n e s ldgicas d e 1 os p u e r t o s y
a l g u n o s s t a t u s 3 por l o c u a l los 128 bytes d e RAM i n t e r n a d e l 8031 son
z u f i ci e n t e s .
E l acceso a memoria e x t e r n a e n el 8031 o r i g i n a l mente es de 2
t i p o s : acceso a memoria de programa y acceso a memoria d e d a t o s . L a
i t n i c a d i f e r e n c i a e n t r e u n o y o t r o es q u e e n el primero s6lo se efectúa
l e c t u r a . y u t i l i z a l a l i n e a PSEN para este efecto; e n el segundo el
acceso puede ser p a r a l e c t u r a o e s c r i t u r a , y l o r e a l i z a a t r a v e s de l a s
1 1 n e a s RD y WR, r e s p e c t i v a m e n t e . S i n e m b a r g o , p a r a n u e s t r o s f i n e s l a s
s e f i a l e s RD y PSEN r e p r e s e n t a n una s o l a l í n e a , RAMSEL.
E l b y t e bajo d e l a d i r e c c i d n es proporcionado por el p u e r t o O, mi e n t r a s q u e el byte a l t o es proporcionado por el p u e r t o 2. S i n embargo
debido a que el p u e r t o O tambien proporciona los d a t o s es n e c e s a r i o
almacenar l a p a r t e baja d e l a s d i r e c c i o n e s i n m e d i a t a m e n t e d e s p u e s d e
que es proporcionada; esta f u n c i 6 n l a r e a l i z a el l a t c h 74LS373 CU4>.
A c o n t i n u a c i 6 n se d e s c r i b e n los ciclos de acceso a memoria
externa. E l c i c l o de e s c r i t u r a es s e m e j a n t e a l d e l e c t u r a , l a ú n i c a
d i f e r e n c i a es q u e el p r i m e r o u t i l i z a l a seKal RAMSEL CRAMSEL=RD&PSEN> y
el segundo l a seKa1 WR.
E l c i c l o d e l e r c t u r a d e i n s t r u c c i o n e s se r e a l i z a e n Q p e r i o d o s
d e r e l o j o sea e n l a mi t a d d e un c i c l o d e M q u i n a d e l 8031 Cun c i c l o
d e mdquina d e l 8031 c o n s t a d e 12 ciclos d e r e l o j > . E l c i c l o se i n i c a e n
Tí2 con l a h a b i l i t a c i 6 n d e l a seKal ALE C a d d r e s s l a t c h e n a b l e > . L a
t r a n s i c i 6 n n e g a t i v a d e ALE es a p r o v e c h a d a p a r a r e t e n e r 1 a par te baja d e
1 a d i r e c c i 6 n e n T4. L a p a r t e b a j a d e l a d i r e c c i d n on T3 y d e s a p a r e c e a l
f i n a l d e m, y el p u e r t o O permanece en estado d e a l t a impedancia. En Ts RAMSEL es i g u a l a c e r o s c o n lo q u e 1 a memoria coloca un d a t o e n e1 bus
de d a t o s el c u a l es l e i d o h a c í a el f i n a l de 3 3 , 1 a o p e r a c i 6 n se r e p i te
e n los pr6xímos seis ciclos.
E l c i c l o d e l e c t u r a de d a t o s se r e a l i z a e n 12 p e r i o d o s d e
r e 1 OJ . L a s e c u e n c i a b h i c a m e n t e es 1 a misma que en el c a s o a n t e r i o r , c o n l a d i f e r e n d a de que 1 a seKal RAMSEL cambi a a c e r o h a s t a TI . y el
b u s d e d a t o s p e r m a n e c e d i s p o n i b l e para 1 a memoria desde TI h a s t a Ti 2. E s t o se h a c e c o n l a f i n a l i d a d de poder l e e r d a t o s d e d i s p o s i t i v o s d e
acceso l e n t o .
E l c i c l o d e e s c r i t u r a es muy s i m i l a r a l c i c l o d e l e c t u r a d e
d a t o s l a finica d i f e r e n c i a es q u e e n T7 l a l i n e a WR se pone a O y el
bus de datos permanece disponi b l e p a r a q u e el m i c r o p r o c e s a d o r e s c r i b a
d a t o s e n el p e r i f e r i c o o memoria. Los d i a g r a m a s d e t i e m p o d e s c r i t o s ,
s o n p r e s e n t a d o s e n l a f i g u r a 3.
TRANSMI SI 6N Asf NCRONA
Cuando el CPU e n v i a un d a t o . el 8251 A suma automAticamente un b i t
d e a r r a n q u e C n i vel ba j o3 s e g u i d o por 1 os bi ts de d a t o s C el bi t menos
s i g n i f i c a t i v o primero3 y el nirmero programado de b i t s d e p a r o p a r a c a d a
c a r a c t & . Se i n s e r t a t a m b i e n un b i t d e par idad, par o impar d e el C l o d
b i t C s 3 d e p a r o , d e a c u e r d o a l a forma en que se d e f í n i 6 c o n l a
í n s t r u c c i 6 n de modo. Entonces el caract& se t r a n s m i t e como un dato
s e r i e por l a s a l i d a TxD.
26
PUERTO SERIE DEL 8031
E l p u e r t o s e r i e o p e r a e n modo f u l l - d u p l e x , esto s i g n í f i c a q u e p u e d e
t r a n s m i t i r y r e c i b i r datos s i m u l t h e a m e n t e . L o s registros p a r a
r e c e p c l 6 n y trrnsmisi6n d e l p u e r t o s e r i e s o n accesados en el r e g i s t r o
de f u n c i 6 n e s p e c i a l S B U F . E s c r i b i e n d o a l SBUF se c a r g a el registro d e
t r a n s m i s i b n , y l e y e n d o d e l SBUF se a c c e s a un r e g i s t r o f i s i c o s e p a r a d o .
E l p u e r t o s e r i e p u e d o p e r a r e n c u a t r o modos, de los c u a l es s6lo nos
i n t e r e s a e l modo 1 .
Modo 1 Se t r a n s m i t e n Ca t r a d s d e TxD3 o r e c i b e n C a t r a d s d e RxDI)
1 0 b i t s : un b i t de arranque CO>; 8 b i t s d e dato CLSB primero>, y un b i t
d e p a r o C l > , En l a recepcibn el b i t d e p a r o v a a RB8 en el r e g i s t r o d e
f u n c i 6 n e f p e c i a l =ON.
CAMBIO A NI VELES COMPATIBLES CON RS-232
L a s l i n e a s de r e c e p c i 6 n y t r a n s m i s i b n de todos los p u e r t o s C s e r i e 3
i n c l u y e n d o a l del 8031, s o n p a s a d a s a t r a v e s d e los c o n v e r t i d o r e s d e
n i vel K1489 y MC1488. E s t o s c o n v i e r t e n de n i veles RS-232 a TTL y d e
TTL a RS-232. r e s p e c t i v a m e n t e . E s t a a c c i 6 n es n e c e s a r i a . y a q u e el
p u e r t o s e r i e de l a s computadoras emplean l a norma RS-232.
> 1 b i t de arranque
> 8 b i t s de datos
> 1 bit d e paro
> s i n p a r i d a d
el p u e r t o s e r i e del 8031 se programa para transmí ti r el mismo f ram de
datos.
c por p o l l í n g , se c h e c a c o n t i n u a m e n t e y e n forma s e c u e n c i a 1 el s t a t u s de
cada p u e r t o h a s t a d e t e c t a r l a l l e g a d a de un dato.
27
El punto hasta donde 1 leg6 este p r o y e c t o es sol o un pequeKo modelo
d e un sistema q u e p u e d e c r e c e r tanto como se q u i e r a . La d e c i s i 6 n d e
g r a b a r d o s senales en misma t a r j e t a . u n a de d a t o s y o t r a d e s i n c r o n i a
se a d o p t 6 d e s p u e s d e p r u e b a s de l e c t u r a h e c h a s sobre tarjetas d e uso
c o m e r c i a l . L a v e n t a j a d e asto. es q u e este sistema q u e d a a b i e r t o n o
solo p a r a l a r e c u p e r a c i d n d e i n f o r m a c i d n e n t a r j e t a s por aste.
En c u a n t o al W t o d o u t i l i z a d o p a r a l a g r a b a c i 6 n d e l a informaci6n
da 1 a f a c i l i d a d de que al momento d e l a recuperaci6n no sol o s e a
posible r e a l i z a r l o c o n un sistema mecdnico Cmovimiento a v e l o c i d a d
c o n t a n t e > . si no tambibn manualmente Cmovimiento a v e l o c i d a d v a r i a b l e ] .
Respecto a l a p a r t e q u e f o r m a l a r e d d e c o m u n i c a c i 6 n se p u e d e d e c i r
que los comandos que forman las o p e r a c i o n e s q u e se pueden hacer es
f aci 1 mente amp1 i ab1 e a t o d o s los comandos deseados con el r e s p e c t i v o
c r e c i m i e n t o e n s o f t w a r e , pero a p a r t i r d e los que aquí se implementaron
se p u e d e i n f e r i r 1 a forma de i mplementar nuevas comandos. En c u a n t o a
l a forma d e comunicacidn C b y t e por byte3 r e s u l t.6 una limi t a c i 6 n e n l a
comunicacidn, ya que con un h a r d w a r e e s p e c i a l i z a d o se p u d o t r a n s m i t i r
t o d o el b l o q u e e n un sol o e n 1 a c e d e c o m u n i c a c i 6 n .
Por las l i m i t a c i o n e s q u e se t i e n e n e n l a comunicacidn se t r a t 6 d e
q u e se u t i l i z a r a n lo menos p o s i b l e . por esta raz6n cada una d e l a s
t e r m i n a l es de l a r e d c o n t a b a c o n t o d a 1 a i nf ormaci6n necesaria para
d e c i d i r q u e c6di gos son vAl i dos p a r a t e n e r acceso a 1 a zona en 1 a c u a l
e s t a n c o n t r o l a n d o el acceso.
28
I NDI CE
Tema Pagi na
Descr i pci 6 n de l Si stema
A n t e c e d e n t e s
P r o c e s a m i e n t o y a d q u i s i c i b n d e Datos
D e s c r i p c i b n de l Software del Sistema C e n t r a l
D e s c r i p c i 6 n del Software de P r o c e s a m i e n t o de Datos
D e s c r i p c i 6 n d e l Software de V a l i d a c i b n d e D a t o s
D e s c r i p c i 6 n d e l Software de G r a b a c i 6 n e n B a n d a M a g n e t i c a
D e s c r i p c i 6 n d e l Software d e R e p r o d u c c i 6 n e n B a n d a M a g n G t i c a
C i r c u i t o G r a b a d o r y L e c t o r
Sistema M e c d n i c o d e G r a b a c i 6 n
F u e n t e d e Al i mentac i bn
G e n e r a l i d a d e s de Comuni caci 6 n Ser i e
Tr ansmi si 6n Asi n c r o n a
Tr ansmi si 6 n y R e c e p c i 6 n e n Computador as
D e s c r i p c i b n de l a Terminal
C o n c l u s i o n e s
4
6
7
8
8
12
13
14
16
18
18
1 9
20
22
24
28
29
APENDI CES
Software de Sistema C e n t r a l
Software de P r o c e s a m i e n t o y V a l i d a c i 6 n de Datos
Software de G r a b a c i 6 n en Banda Magnetita
Software de Reproducci6n en Banda Magnet ica
Software de Gr af i c a c i 6 n de S e K a l es Grabadas
Diagrama de C i r c u i t o G r a b a d o r y L e c t o r
31
32
33
34
35
36
30
APENDCI CE A
31
#include (5tdio.h) #include (bi0r.h) #include (db5.h) #include (rtrin9.h) (include (std1ib.h)
tdrf ine TXD OxSf8 4def ine RXD Ox3f8
unsigned char buffer1[1001; unsiqncd char byte,direc; int op =O;
main0 { printf 4' inicio de Secion\n'); renu (1 ;
1
menu ( 1 { while lop != '3') {
syster('clr\n'); printf ('\n,\n')i printf (' printf ('\n,\n'); printf (' printf ('\n,\n');
printf (' printf ('
printf ('\n,\n'); printf (' printf ('\n,\n'); printf ('
op=getchar (1 ;
I Henu de Opciones . \nD)f 1. Transmitir 3. Terminar
\n,\n'); \n,\nD1;
/ Digite su option : '11
sui tch (op) I
case 'l':system('cls\n'); trans (1 ; break;
case '3':system('cls\n'); op='3'; printf ('\n,\n,\n,\n,\n,'); printf (' / Sesion Terrinada . '1; break;
1
I It termina el while f/ 1
{
int cad = 0,port = O; char control = 131; int cont = O;
bufferll03 =Ox5F;bufferl[lI =Ox09; buffnl[ZI =0x00; bufferlt31 =OxOO; buffer1141 =Ox00;buffnl~51 =0x00; buffwlCb1 =0xOO; bufferl['ll - 0 ~ 0 0 ; bufferllBl =0xOO;buffwf[91 =OxOO; bufferlC101 =OxOO; direc = Ox5F;
L:"" - l" . l ""&"l " m * * \ .
cnd = 3; "
while(cont ( ll)I while(bioscrn(cnd,tMltrol,pDTt) != Ox6000);/+ shift reg de trans vacio+/ outportb(TXD,buffalIc~tl); printf ('transniti'); while(biostoItcrd,control,pwt) != Ox6100);/+datr rrady, rey de trans vacio+/ printf ('estoy lista pua recibir'); byte = inportb(RXD1;
printf (' %02x\n',bytr)~ Cont +t;
1 1
APENDI CE B
32
PROYECTO H-PRESIDIUH MH-Z CLAVE 1.1011
ARCHIVO MIGEN=) PROYECTO.PAS
005F 0070 007 1 0072 0073 0074 0075 '
0076 0077 11bC 1000
l lbC 11 bC 757200 11 bF 757600 1172 758110 1175 757400 1178 7920 117A 757100 11 7D 75D000 11 EO 758920 1183 E587 1185 4480 1187 F5B7 1189 75EDEA 11EC 759890 l l 8 F D28E 1191 MAF 1193 3098FD 1196 E599 1198 C29B 1198 FC 1198 E574 119D 840017 llllo E576 ilA2 14 1143 b02D 1145 E576
l l A B 14 l l A 9 M O D I l l l B E576 l l A D 6016 llM 757600 1182 757100 1185 021238 1188 EC 1189 6 7 4 l l 8 B 757603
1 1 ~ 7 14
DIREC BORR COWNIC BAND BAND4 NTAFiJL DIRCOHi CON1 COMLWD INICIO BASE
; ttttttt
SERIE:
RESEP:
EQU OSFH E W 070H EW 071H EW 072H EW 073H EW 074H EPU 075H EW 07bH EPU 077H E W 11bCH EQU lOOOH
;CONTADORES DE NUMERO DE TARJETAS
tttttttttittttttttttttttttttttttttttit~ittttttttitttttt~tt
OR6 IN IC IO
HOV CONT, #OH HDV SP,#lOH HOV NTARJL, #OOH HOV R1,tZOH HOV CMIJNI C , lOOH I(0V PSY,#OOH HOV M O D , #2OH HOV A,87H ORL A,#BOH HOV 87H,A HOV TH1 ,#OEM HDV SCDN , #50H SETB TRI CLR E l l JNB RI ,RESEP HW A,SBUF CLR R1 HOV R4,A HOV A,NTARJL CJNE A,#WH,LLSE HDV A,CONT DEC A JZ COMANDO WDV A,CONT DEC A
J Z NUHDATOS HW A,CDNT JZ CHKDIR HOV CoNT,#oOH HOV COHUN I C , 4OOH LJHP SALIDA
HDV NTARJL,A
nov BAND, #OOH
MC a
WDATDS: HW A,R4
nw CONT,#O3H
;INICIO DE STACK
;RECARGA DE TIHER
;MBIL ITKIWI DE T I E R ;HABILITA IWTERRUPCIONES
;WnPllRA SI HAY MTOS POR RECIBIR
;MUHERO DE DATOS QUE SE ESPERAN
,tttff ttttt
PA61 1
PROYECTO H-PRESIDIUM UAH- 2 CLAVE 1.1M
ARCHIVO ORIGEN=) PROYECTO.PAS
l lBE E571 IlCO 6076 l l C 2 02121K l l C 5 757b01 l l C 8 EC llC9 B45FbC llCC 757101 IICF 02122F 1102 757602 t ID5 E571 l l D 7 14 l l D 8 705E l I D A EC l l D 8 F577 l l D D B4004F 11EO 7EFF l l E 2 7FOF l l E 4 02122F l l E 7 E571 l l E 9 14 l lEA 6OOB l lEC 1574 l l E E 757600 l l F l 021238 11F4 E577 l l F 6 14 l l F 7 6000 l l F 9 E577 I l F B bo18 11FD 757100 1200 757600 1203 021238 1206 EC 1207 F7 1208 09 1209 1574 l2OB 757600 120E E574 1210 bol4 1212 02122F 1215 EC 1216 BE82 1218 8583 1218 A3 121B FO 121c E82 l 2 l E M83 1220 1574 1222 757600 1225 E574 1227 6003
CHKDIR:
COMANDO:
ELSE:
EJECUTA:
BORRA:
GUARDA:
HOY A,CMUWIC JZ SALIDA LJHP RECONOCE HOV COWT,H)lH M V b,R4
MV CMUNIC,#OlH LJHP RECONOCE ROV C M T , 102H M V A,COHUNIC DEC A JNZ SALIDA HOV A,R4 HOV COHAND, A CJNE A,#OO,RECONOCE #V Rb, #OFFH HOV R7,#OFH LJHP RECONOCE
DEC A JZ EJECUTA DEC NTARJL HOV CDNT, MOH LJHP SALIDA HOV II,COHAND DEC A 52 BORRA RW R,COHAUD JZ GUARDA HOV COWUNIC,#OOH HOV COWT , BOOH LJHP SALIDA HOV A,R4 HOV (R1,A IWC RI DEC NTIYIJL HOV CONT , #OOH MW A,NTARJL JZ LIMPIA LJHP RECDNDCE MOV A,R4 M V DPL,R6 1Iw DPH,R7 IN DPTR HOVl CM'TR,A ; W R M COD160 TARJETA VALIDA W R6,WL M U V R7,DPH M C NTARJL MOV C M T ,#OM HOV A,NTMJL JZ LIMPIA
CJNE A,#DIREC,SI\LIDA
nov A,COHuNIC
PABE 2
PROYECTO H-PRESIDIUH UAM-Z CLAVE 1.lOH
MCHIVO W116EN==> PROYECT0.PAS
1229 02122F l22C 757100 122F 745F 1231 F599 1233 3099FD 1236 E299 1238 O21193
1238 757300 123E 901000 1241 7920 1243 E582 1245 9E 1246 4007 1248 E583 124A 9F 1248 4002 124D 802D
124F E0 1250 F575 1252 n 1253 B5751E
1256 517D 125B E573 m a ~40117 125~ e50193 1260 E577 1262 14 1263 7032 1265 757605 1268 7400 126A FO 1268 A3 126C 1576 l26E €576 1270 ?OF6 1272 moa
1274 7405 1276 A3 1277 14 1278 70FC
127C 22 127~ eoc5
LJHP RECONOCE LIWIA: nW CONUW1Cl#00H RECOME: HOV I\,#DIREC
TRANS: JNB T1,TRANS HOY SBUF,A
CLR TI SIILIPA: Law RESEP
VALIM: HOV BAND4,#00H HW DPTR,#BASE
SIGUEl: HOV R1,tZOH HOV A,DPL SUBB A,Rb JC CWlPARA HOV A,DPH SUB6 A,R7 JC COMPARA SJHP FIN
COIIPMRL: HWI A,IDPTR HOY DIRCOMl , A
CJNE A,DIRCOHl ,SIGTARJ
ACALL RESTO HOV A, BAND4 CJNE A,MlH,SIGTARRJ HW P1.3,l HDV A,CDHRND DEC A JNZ FIN2 HOY CONT,#W
HOV A,em
ELIHIMA: HW b,#OOH M V X eDPTR,A IYC DPTR DEC CONT HOV 4,CONT JWZ ELIHINA SJHP FIN
SIGTIIRJ: HDV R,#05H w: INC DPTR
KC A JNI SUHA SJHP SIGUE1
FIN: RET
e
;BANDERA DE EXIT0 lP4RTE INICIAL DE TABLA ;DIRECCIDN INICIAL RAH INTERNA
;SE LLEGO A FIN DE TABLA
;BYTE DE RAM EXTERNA ;BYTE RAM INTERM ;COWIIRA PRIHER BYTE
;COPARA RESTD DE BYTES i ;VERIFICA EL EXIT0 i PRENDE LED
15 BYTES POR TARJETA ;IMC DPTR EN 5
PAGE 3
PROYECTO H-PRESIDIUM MH-1 CLAVE 1. Ion
ARCHIVO OR16EN==) PROYECT0.PAS
127D C082 127F LO83 1281 757605 1284 1576 1286 E576 lZ8B 60OA 12BR A3
12EC 8775 128E EO 128F 857505 1292 BOFO 1294 757301 1297 DO83 1299 DO82
129P 22 O000
1288 o9
RESTO: PUSH PUSH I#)V
SIGUE: DEC nov JZ INC I NC nov novx CJNE SJtlP
EXITO: HOV FIN2 POP
POP
RET END
082H 083H COW1 ,#05H CON1
EXITO DPTR R1 DIRCOH1,QRI A,QDPTR A,DIRCOH1,FIN2 SIGUE WM,#OlH 083H OBZH
A , Cowl
PAGE 4
;PARTE BAJA DPTR ;PARTE ALTA DPTR ICONTMDR BYTES REVISADOS
PROYECTO H-PRESIDIUH UAH-1 CLAVE l. 10H
ARCHIVO ORIGEN==) PROYECTO.PAS ---- TABLA SINBOL ---- M N D MND4 BASE BORR BORRR CHKD I R COMND COHAWDD COWMA CONUN IC
0072 0073 1000 0070 1206 11C5 0077 1102 124F 007 1
CMlT DIRCOnl DIREC DPH DPL EA EJECUTA EL IH IM ELSE EXIT0
0076 o075 00s 0083 0082 OOAF 11F4 1268 11E7 1294
FIN 127C FIN2 1297 GUARDA 1215 INICIO l l 6C LINPIA 122c WTARJL 0074 WHDATOS 1188 P1 0090 PSY OODO RECONOCE 122f
RESEP 1193 RESTO 1270 R 1 0098 SALIDA 1238 SBUF 0099 SCON 0098 SERIE 116C SIGTARJ 1274 S I G E 1284 SIGUE1 1241
PABE 5
SP 008 I SUMA 1276 TH 1 OOED T I 0099 TNOD 0089 T R l O N E TRANS 1233 VAL I DA 1238
APENDI CE C
33
AVOCET SYSTEMS 8051 CRDSS-ASSEMBLER - VERSION 1 . lM
SOURCE FILE NAME: PRUl .PAS
0010 1500
1502 751000 1505 759000 1508 7D00 1501 7E01 15OC 7820 150E 7C00 1510 75F000 1513 7401 1515 4E 1516 Fb 1517 7400 1519 I D 151A O8 151B Fb 151C O8 151D 05F0 151F E5F0 1521 B404EF 1524 901000 1527 7906 1529 7BOb 152b 71180 152D EO 152E 5A 152F 03 1530 F5F0 1532 19 1533 E9 1534 E40022 1537 E5FO 1539 4E 153A Fb 153B E5FO 153D 40 153E OR 153F Fb 1540 oa
B A m A EPU OOlOH ;
INICIO EW 1500H
PROYECTO
I RUTINA DE GRABACION DE TARJETAS
;tft*~ttt~tttttttttttttttttCCf)ttfftttttttttttt*tftttttttttttttttftttttttttttt
OR6 INICIO AJMP SEPARA
SEPW: HOV BllNDERA,#OOH NOV P1,#00H HOV R5,#00H MOV RL,#OIH HOV R0,#20H WV R4,#00H WV E, #OOH
REP : MOV A,#OIH ; EL DATO (BYTE) ES SEPMADO EN ORL A,Rb ; PARA SER GUARDIUOS EN MEWRIA
B I T INTERNA
mv W0,A ; DE TAL MANERA RUE POR CAM B I T DEL HDV A,#OOH ; BYTE SE BUARDAN DOS BYTES, AL PRIHERD ORL A,R5 ; SE LE HACE LA OPERACION OR WN UN O1 INC Ro ; Y AL SEGUNDO CON UN 00, AS1 POR CADA
INC RO INC B HOV A , B CJNE A , #04H,REP HOV DPTR, #lM)OH
NEXT1 : HOV Rl , #06H NOV R3, #OM HOV R2, #ROH
MV e R 0 , A ; C I C L O DE RELOJ SE GRABA UW BIT
CON1 : HDVX A , U P T R
ROTA : RR A ML A,fQ
HOV B , A #C R 1 HDV A,Rl CJNE A,#OOH,CAMA
ETPi : IIW A,B ORL A,Rb llDv U0,A M Y A,B ORL A,R5 lNC RO MOV CRO,A IWC RO
AVOCET SVSTEHS 8051 CROSS-ASSEMBLER - VERSION 1.1M
SOURCE FILE NAHEI pRUl.PAS PAR€ 2
1541 E510 1543 14 1544 6025 1546 1B 1547 E8 1548 F9 1549 M12 1548 74FF 154D 98 154E 6012 1550 EA 1551 03 1552 FA 1553 MOOD7 1556 021568 1559 E5FO 1558 BOD2 155D EO 155E 5402 1560 BOD5 1562 EO 1563 5401 1565 23 1566 751001 1569 BOCC 156B A3 156C 751000 156F OC 1570 EC 1571 8402B3 1574 7820 1576 7900 1578 A293 157A 5OFC 157C E6 157D F590 157F B188 1581 09 1582 E9 1583 B420Fb l5Eb A190
1588 7A00 158A 01 158B E9 15BC B431FB 158F 22
I lDV A,BANDERA
JZ NEXT KC R3
KC
nov n,u3 mv R ~ , A JZ GUARDA MV A , WFFH SUBE A,R3 JZ GUARDA1
RR A HOV RZ,A CJNE A, #OMI,CONT JW MEXT
mv A,RZ
CARGA : H O V A , B
WARDA: M V X A , eDPTR JHP ROTA
M L A,#02H JHP ETPl
WARDAl: f f l V X A , CDPTR AWL A,WlH RL A nW BANDERA, t O l H JHP ETPl
MEXT : INC DPTR HOV MIIDERA, #OOH IWC R4 MV A,R4 CdNE A , #OZH,NEXTl f f l V RO, N O H HOV R1, lOOH
JNC ESPERA ; A PASAR PARA HhNDAR POR EL PUERTO ESPERA: HOV C,P1.3 ; ESPERA A WE Ln TARJETA EHPIECE
REPEAT: HOV A,MO ; LOS DATOS GUARDADOS EN HEHDRIA RM
ACALL CUEUTA ; ENPIEZA A 6RABAR A lKHz INC R1 HOV A,Rl CJNE A , #ZOH,REPEAT AJHP FIN
mv P1,A ; INTERNA, UNA VEZ PASMDO ESTO SE
;ttttttttttttt~tttttttttttt*ttttttttfftt~ttttttttttttttttttHtf~tttftttttt
; RUTINA DE ESPERA ;fttfftttttt~ttttttttttttt~ttttttttttttttttttttt~ttttttft*tt~ttttt~ttttttff
CUENTA : MOV R2,#00H INCRE : INC R2
M V A,R1 CJNE Al#31H,1NCRE RET
AVDCET SYSTERS 8051 CROSS-ASSENBLER - VERSION 1.1OH
SOURCE FILE WARE! PRUl.PAS
1590 22 F I N I R E T O000 END
P U E 3
AVOCET SYSTEMS 8051 CROSS-ASSEHBLEF! - VERSION 1.lOM
SOURCE FILE NAHE: PRUl.PI\S ---- SYMBOL TABLE --- B ow0 CUENTA 158B GUARDA l55D NEXT 156B REPEAT 157C BANDERA O0 1 O ESPERI 1578 WhRDA1 1562 NEXT1 1527 ROTA lSZF CARGA 1559 ET81 1537 INCRE 1 5 8 I P1 0090 BEPARA 1502 CON1 152D FIN 1590 INICIO 1500 REP 1513
APENDI CE D
34
AVOCET SYSTENS 8051 CROSS-ASSENBLER - VERSION 1.lON
SOURCE FILE MANE: PRU.PAS
0020 2000
2000 2000 0102
2002 7513008 2005 759000 2008 1 lOC 200A 0108
200C 7800 200E 7400 2010 7C02 2012 7920 2014 7D00 2016 A290 2018 5OFC 20111 OD 201B A290 201D 40FC 201F ED 2020 B404F3 2023 7800
2027 A290 2029 50FC 202B E590 202D X 202E 4B 202F 23 2030 O0 2031 1143 2033 FE 2034 # 2035 EA 2036 B406EE 2039 E8
2025 m o o
i PROYECTO DIR EPU 0020H INICIO EPU 2000H
OR6 INICIO AJNP PRO6
;ttttttttttttttttttttttttttttttttttttttttttttttttt+ttt+tttttttttttttttttttt
; RUTINA PRINCIPAL
PRO6 : NOV PSW,#OBH ;SELECCIONA EL BANCO DOS BIT 3 Y 4
CICLO : ACALL LEE
jttttfttt+ttttttttttttttttttttHttttttttttttttttttttttttttttttttttttttttttt
HDV P1, #OOH
AJNP CICLO
; RUTIN4 DE LECTURA DEL PUERTO PMALELO
LEE: HOV R3,#00H nov A,#OoH NW R4,#02H NOV R1,#20H HW R5,IOOH
JNC SIGUE INC R5
JC NEXT1 ; 6RABADA EN LAS TARJETAS, EWISTE UNA MV A,R5 ; RETRASO DE CINCO CICLOS DE RELOJ, CON
SIGUE: NOV C,Pl.O
NEXll: HOV C,Pl.O ; PARA LA RECUPERACION DE La IWFOR~ACION
CJNE A,CO~H,SIGIJE ; EL FIN w ESPERW EL DATO VALIDO. UNA GOARDA: NOV RO,#OOH 1 VEZ PASADO ESTE TIEWO, POR CADA CICLO
M I L E : NOV C,P1.0 ; BYTE, DEL CUAL SE SEPARA EL BIT DE DATO HDV R2, #OOH ; DE SENK DE SINCRONIZACIIM SE LEE UN
JNC WHILE ; QUE SE DESEA, ESTO SE REPITE HASTA RUE
AWL A,R4 ; NENORIA INTERNA, Y S€ CONTINUA CON EL ORL A,RO ; SIGUIENTE DATO, Y AS1 HASTA TERHINM WII RL A ; LA LECTURA, TODO ESTO SE REALIZl EN BASE
MALL CUENTA ; LA TARJETA. NDV RO,A IMC R2 nov A , R 2 CJNE A , #ObH, WHILE NOV A,RO
NOV A,P1 ; CONPLETA UN BYTE, auE ES ALNACENADO EN
N I P ; A LA SENAL DE SIICRI#OIZACION GRABAD4 M
Pk6E 1
AVOCET SYSTEHS 8051 CROSS-ASSEMBLER - VERSIDN 1.lOH
SOURCE FILE MHE: PRU.PAS
203A F7 203B 09 203C OB 203D EB 203E MOZEZ 2041 Ol4B
2043 7D00 2045 OD 2046 ED 2041 B431FB 204R 22
204F 22 0000
ROV #Rl,A INC Rl INC R3 MOV A,R3 CJNE A,#02,6UARDb dJHP FIN
;tffutf+ttttttttttft+tttttttt+ttt+ttttf+t++ttt+tttt~tttttffttHtttfHt+ttt
CUENTA: HDV RS,#OOH IWCRE1: INC R5
HW A,R5 CJNE A,#31H,INCREl RET
FIN RET END
PAGE 2
AVOCET SYSTEMS 8051 CROSS-ASSEMBLER - VERSIN I , l O n
SOURCE FILE W E : PRU.PAS ---- SMBOL TABLE ”-
CICLO 2008 FIN 2041 INICIO 1000 P1 O090 SIGUE 2016 CUENTA 2043 W R D A 2023 LEE 200c PRD6 2002 WHILE 2027 DIR O020 IwcREl 2045 NEXT1 2018 PSY OODQ
PAGE 3
WEND1 CE E
35
hnclude (rtdi0.h) hnclude 'ar\def-comu.h'
/tttttttttttttttttttttt+ttttttttttt+ttttttttt*ttfttttttt+tt+tttttftttttttttttttf/
f + procedimiento que separa los datos leidos del purrtD */
void separabitso I int cont=O;
h i l e Icont(nu@-datos) I bitdatolcontl = bufferIcont1 & 1; bitsincro[contl = buffer[contl t 2; bitfrec[contl buffer[contl & 4; conttt;
1 1
void recepcion(unsigned char byte) {
unsigned char entrrda=O: int cont=O;
/t rientras el bit 7Qin 1 1 1 de la dirwcion a leer es uno se guarda el dato tl
gettire(lt1); tpl.hora = (int t)tl.ti-hour: tpl.min = lint *)tl,ti-min; tpl.seg = (int t)tl.ti-sec; tp1.cent = (int t)tl.ti-hund; while (((((entrada = inp(Ox3bd)) h 128) == 128) 1 It (cont¿raxdatDs)) ( byte = O; byte = byte :(entrada I 32 ? I : O 1; ft bit 5 se fija el bit I */ byte = byte :(entrada t 16 ? 2 : O 1; /t bit 4 2 */ byte = byte I (entrada & 64 ? 4 : O 1; it bit 6 3 tf byte = byte i (entrada h 128 ? O : 8 1; It bit 7 es negado 4 t/ byte = byte :(entrada h 6 ?32 : O ); / t bit 3 6 t/ bufferlcontl = byte; conttt; printf ('El byte leido es:%OZx\n',byte); printf ('El buffer contiene:X02x\n',bufferlcont-11);
> gettirelM2); nu&-datos = cont; separabitso;
void transmision(un5igned I int cont=O; unsigned int byteí;
char byte)
scanf ('XOZx',lbyte); wtpIdirecciDn,byte); printf ('ZOZx\n', byte); conttt;
void chmqetextrtyle(int font, int direction, int charsire) {
int ErrorCode;
graphresult01 It limpia rodigo de error a/ settextrtyle(font, direction, charsize); ErrorCPde = graphrerult0; It chrta el resultado t/ i f 1 ErrorCode != grUk ) ( /t si ocurre algun error ,I
closegrapht); printf(' Graphics Syrter Error: Zs\n', grapherrwrrg( ErrwCode ) 1; exit{ 1 1;
1 1 /ttttttttttttttttttttt~tttttttttttttttttttttttttttt+ttttttttt+tfftttftttt+ttttt/ void DrawBorder (void) {
struct viewporttype vp; setcolorMaxColores - 1); setlinestyle(SOLID-LIWE,O,WORn_WIDTH); getviewsettings(&vp); rectangle(O,O,vp.right-vp.left,vp.bottom-vp.top);
1 /ttttttttttttttftttttt+ttttttttttttttttttttttttttttftttttttttt~tttttttt+ttt~tt/
void Hain\)indow( char theadcr )
(
int height;
cleardevice0; It limpia la pantalla t/
setcolor( naKCdMe5 - 1 1; It f i j a e l color a blanco tl setvierport( O , O , nux, HaxV, 1 1; height = textheight( 'It' 1; changetextstyle( DEFAULT-FDHT, HURIZ-DIR, 1 ); settextjustify( CENTER-TEXT, TDP-TEXT 1; outtextxy( HaxU2, 2, header 1; setviewport( O , heightt4, HoxX, HaxY-(heighttO, 1 1; Dr awBor der ( 1 ; setviewport( 1 , height+5, HaxX-1, HaxY-(height+5), 1 11
1 /tittttttttttttt~ttt~+ttttttttttftf+ttttttttftttttfttttttfftt~t+)t~Httfftt+t~tftttttt/
Inicializa!) {
int xasp,yasp;
Hanejador-graf = D m C T ; ini tgraph(Imanejadw-graf ,&hdo-graf ("1; Cod-Errw = graphresult O ; i f [Cod-Error != gr&)
(
printf (' Errar en el sistema de grrficrs : Zs\n',grapherrormsg(Cod-Error)); exit (1);
getprlette(tpa1eta); Haxblores = getmucolor Ot1; HaxX = getraxxo; HaxV = getmaxyo; getaspectratio(&xasp,&yasp); Re]-aspecto = (double) rasp / (double) yaw;
1
1
void graficatint cx,int cy,int w,int h,int bit,unsigned char datoll)
int i; DOveto~cx,cy); for ( j = dlto_ini~i(=cant_datOS;ltt~ (
if (i *= O ) i f Idatoti1 == bit1
I linerel (O,-h); linerel h , O ) :
1 elre linerel(r,O);
i f (datolil == bit) el se
if (datoIi-13 == bit)
el se {
linerell u,O 1;
linerel (O,-h); linerel b , O ) ;
1 else
i f Idatoti1 == O ) if (datoti-il == bit)
linwel(0,h); linerel ( w , O ) ;
I
1 else linerel Irlo);
1 1
pone-ejes0 { struct viewporttype vp; int cx,h,sheight;
flainYi ndw( ' SEWALES OBTENIDlS POR EL PUERTO PIIRALElO ' ; getviewsettings( tvp 1; sheight = vp.bottoa - vp.top; h = 3 t textheight [ 'H' 1; EX = vp.leftt.2; line( cx, htS,cx, sheight-h 1; line( CY, sheight-h, vp.right-10, rheight-h 1; outtextxy(cxtl,ht7, 'v' 1; wttextxy( vp.right-40, &eight-20,ruestreo 1; wttextxy( cx+4,sheiqht-20,'0' 1; h = textheight( 'H' );
outtextxy( HrxX/Z,sheiqht-20,' ESC para salir ' I ; outtextxy( naxX/2,~eiqht-lht2),' Continuar Pqh ( (-- 1 PqUp( --> ) ' I ; wttextxyf 50,1blpantrllr-nurl; outtextxy( vp,bottm-120,5,' pantalla '1; wttextxy( 80,lb,tutaldepantallas);
void Lineasverticales(int x) {
int estilo = 1; int cx, i ; struct vieuporttype vp; char bufferf(01;
getviersettingst Ivp ); cx = 30; settextjustify( LEFT-TEXT, TOP-TEXT 1; settertjustifyl CENTER-TEXT, TOP-TEXT ) I
. - . . .. - ..".. ...".. . ~~ ~-
l i n e ( x , c x , x , vp.bottm-36 );
setlinestyleISMID_Ll~E,O,mlRH~YIDTH); 1
void maingraf icalvoid) (
/ttttttttt+ottttttttt+ttttttttttttttt+tt+ttttttttttt+t~tt+tt~+ttt+t*tt+tt~tttftf/
rtruct v ierpor t type vp; i n t h, w, [X, cy, i, x, b i t , puls080; i n t num-totrl_dc_pantallas, DUB-datos-praf ,sale; i n t t r c l a ,nu r -pan ta l l a r= l~
getviewsett inys( L.vp 1; c x = vp. lef t t2; h = 10; w = 10; dato- ini = O; nur-datos-graf = Ivp.right-rx)/w; /t n8mer0 de datos a graficar por pantalla t/
cant-datos * nul-dator-graf - 1; num-total-de-pantallas * nun-datoslnur-datos-qraf; /t numro dc panta l las to ta les *l i t o a i n u ~ ~ t o t a l ~ d e ~ p a n t a i l o s , t o t a l d e p a n t a l ~ a s , l O ~ ; do
( itoa~nur-pantallas,pantalla-~um,lO); pone-e jes ( 1 ; yetviewsett ings( kvp 1; cx = vp. lef t t2; CY = (vp.bottom - vp.top 1 / 2; b i t = 1; grafica(cx,cy,r,h,bit,bitdato); /* se undan graf icar los datos t /
b i t = 2; getviewsett ings( kvp 1; cy = 4t(vp.bottwvp.top)/6; grafita(cx,cy,w,h,bit,bitrincro); It se randa g r a f i c a r l a senal de r incronizacion t/ getviewsett ingsl kvp 1; CY = 5 t Ivp.bott~-vp.top116; rove to l cx,cy 1; x = EX;.
/t g r a f i t a l a senal de frecuencia t/
f o r li = dato-ini;i(=cmt_datos;i++) {
i f li == O )
{ i f ( b i t f r e c l i l == 4)
l i n e r e l lO,-h);
1 inerel Iw,O); pulsu+t; x += w;
? e l se l i ne re l (w,O);
e l se (
i f l b i t f r e c t i l == 4) if ( b i t f r e d i - 1 1 = 4)
l i n e r e l ( w,O 1; else
f l in#el IO,-h); pulsu++; x += w; 1 i n e r e l h , O ) ;
1 e l se
i f ( b i t f r r c t i l == O ) if I b i t f r e t [ i - 1 1 == 4)
I linerel (O,h);pulsu++l x t= a; .. . . *.
~ ~- . . . . . . -
; else linerel(10,0):
I
( Lineasvwticales(x);
1
sale = FALSE! do
i f (pulso =* 2 )
pulso=O;
1
(
rhilr (((tecla = gettho) != PgDn) I.& (tecla != PgUp) Ir& (tecla != ESC)); i f (tecla PgUp)
i f (nu#-pantallas ( nu#_totsl-de-pontallas)
cant-datos = nul-datos-graf t dato-ini; sale = TRUE; nu#-pantal 1 as t+;
( dato-ini = cant-datos + 1;
1 else sale = FALSE;
else if (tecla == PgDn) i f (nun-pantallas ) 1)
I cant-datos = dato-ini - 1; dato-ini = cant-datos - nu-datos-graf; sale = TRUE; nun-pantallas --; i f hum-pantallas == 1)
dato-ini = O; 1
el se sale = FALSE; else sale = TRUE;
1 rhiie Isale == FALSE);
1 while (tecla != E X ) ;
1
rain0 { unsigned char byte; char res= 'n ' ;
do { byte=32; printf ('Frecuencia de ruestreo '1; scanf ('Zs',lrruestreo); IniciolizaO; recepcion(byte); raingraficao; getchar O; closegraph(); printf('Desea realizar otro muestre0 (s/n) '11 re5 = getchar0; trmsrisim(byte); 1
while l(rrs=='s') :I (res=='S')); 1
APENDI CE F
36
U UQI
I