Upload
others
View
14
Download
0
Embed Size (px)
Citation preview
E S C U E L A ; P O L I T É C N I C A N A C I O N A L
FACULTAD DE INGENIERÍA ELÉCTRICA
DISEÑO Y CONSTRUCCIÓN DE UN TERMINAL
IMPRESOR TÉRMICO"
CONTROLADO POR PROGRAMA ALMACENADO
TESIS PREVIA A LA OBTENCIÓN
DEL TITULO DE INGENIERO EN ELECTRÓNICA
Y TELECOMUNICACIONES
DE LA ESCUELA POLITÉCNICA NACIONAL
JORGE RAÚL POZO NAVARRETE
QUITO AGOSTO DE 1984
Certifico que el presente trabajo
ha sido elaborado en su totalidad
por el señor:
Jorge Raúl Pozo Navarrete
Buitrón
Director de Tesis
DEDICATORIA
Dedico el presente trabajo a mis padres
a mi esposa Isabel y a mis hijos
Í N D I C E
CAPITULO P K I M E R O ; I N T R O D U C C I Ó N
1.1 Genera l idades . 1
1.2 Importancia de los dispositivos impresores 2
1. 3 Tecnologías de Impresores 3
1.3.1 Impresores con tecnología de impacto 4
1.3.2 Impresores de cilindro - 4
1.3.3 Impresores de bola . — 5
1.3.4 Impresores de Margarita 6
1.3.5 Impresores matriciales de agujas ... .Y. . .''. . .'.: 1 "'
1.3.6 Impresores de tambor 9
1.3.7 Impresores de banda -10
1.3.8 . Impresores de impacto 11
1.3.9 Impresores térmicos matriciales 12
1. 3 .10 Impresor electro sensitivo 13
1.3.11 Impresor electrostático 14
1.3.12 Impresor por chorro de tinta 15
1.3.13 Impresor Xerográfico (láser) .16
.,4 Códigos de intercambio de información 20
1.4.1 El código Baudot 20
1.4.2 El código ASCII 21
1.5 Interf aces entre computador e impresor 23
1.5.1 Transmisión es paralelo síncrona 24
1.5.2 Transmisión en serie - 26
1.5.3 Transmisión serie síncrona 26
1.5.4 Transmisión serie asincrona 29
1.6 Especificaciones de un impresor térmico 32
1.6.1 Tipo de impresión 32
1.6.2 Tipo de caracteres . , 32
1.6.3 Caracteres de control 33
1.6.4 Tipo de interf ace 33
1.6.5 Controles externos e indicadores 34
CAPITULO SEGUNDO :
2.1 Descripción del circuito ': 37
2.2 Diseño del circuito de control de motores 38
2.2.1 Diseño del circuito de interface del
sensor óptico de posición 39
2.2.2 Diseño del circuito de control del motor de
posicionamiento •. 43
2.2.3 Diseño del circuito de descarga de la inductancia 54
2.2.4 Diseño del circuito limitador de corriente 57
2.3 Diseño del circuito de control de la-
cabeza de impresión •.62
2.3.1 Diseño de la interface entre la unidad de control
y la cabeza de impresión 64
2.3.2 Diseño del circuito de control de temperatura
de la cabeza de impresión 68
2.4 Diseño del circuito de interf ace ¿ .... ..75
2.4.1 Diseño con circuitos MSI Y LSI 75
2.4.2 Circuito acoplador de niveles 76
2.4.3 Diseño del circuito de control del canal asincrónico ..77
2.5 Diseño del circuito de la unidad central de control 80
2.5.1 Criterios de selección del microprocesador 80
2.5.2 Arquitectura del sistema 82
2.5.3 Bus de direcciones y decodificación 84o
2.5.4 Memoria 88
2.5.5 Circuito de inicialización , 90
2.5.6 circuito interno de transferencia 'de datos 93
2.5.7 Circuito de entrada y salida , 94
CAPITULO TERCERO:
3.1 Diagrama de flujo de funcionamiento 100
3.1.1 Diseño de subrutinas ,interrupciones
y operaciones extendidas -.102
3.1.2 Diseño de la rutina de retardo XOP O .."... 110
3 . 2 Rutina de inicialización ." 115
3.2.1 Rutina de inicialización del TMS9901 y'TMS9902 ........115
3.2.2 Inicialización de memoria 122
3.2.3 Rutina de preposicionamiento y parqueo del carro 124
3. 3 Rutina de lectura de parámetros . .' -.-..... 125
3.3.1 Programación del controlador de comunicaciones
asincrónico TMS9902 130
3.4 Rutina de control general 136
3. 5 Rutina de control de motores 144
3.5.1 Rutina de avance de posición del carro 145
. '3.5.2 Rutina de retroceso del carro 147
3.5.3 Subrutinas de avance y retroceso
de fases. , 152
3.5.4 Rutina de avance de linea 152
3.5.5 Rutina de retorno del carro 155
3.6 Rutina de control de impresión 158
3.6.1 Rutina de salida de caracteres 161
3.6.2 Rutina de control de la cabeza de impresión 164
3.7 Rutina de control de la interf ace de datos 170
3.7.1 Rutina de entrada.de caracteres 174
3 . 8 Rutina de alarma 174
3.8.1 Rutina de error 177
3.9 Programación de la memoria EPROM de caracteres 181
3.9.1 Formato de impresión .' 182
CAPITULO CUARTO:
4.1 Implantación circuital • 190
4.1.1 Unidad central de control implantación circuital ...190
4.1.2 Circuito de control de motores y
cabeza térmica implantación circuital .193
4.1.3 Fuente de poder implantación circuital 194
4.2 Montaj e final 195
4.3 Mediciones realizadas en el sistema 197
4.3.1 Secuencia de recepción 197
4.3.2 Secuencia de avance del carro 198
4.3.3 Secuencia de impresión 199
4.4 Análisis de resultados obtenidos 201
CAPITULO QUINTO:
5.1 Recomendaciones para su funcionamiento '. 205
5.1.1 Recomendaciones sobre el cuidado de la cabeza 205
5 . 2 Conclusiones finales -. . 206
5 . 3 Recomendaciones para su uso .206
Referencias bibliográficas 208
ANEXOS:
I Diagramas del sistema
II Hojas de datos
III Listado general del programa
IV Circuito de grabación de memorias EPROM
V Listado del programa de grabación de memorias EPROM
C A P I T U L O P ' R I M E R O
INTRODUCCIÓN
CAPITULO PRIMERO •
1.1 GENERALIDADES:
Los grandes avances en el conocimiento y aplicación de
los fenómenos eléctricos realizados a fines del siglo pasado y los
primeros años del presente, dieron como resultado/ el desarrollo de
nuevas máquinas electromecánicas.
En 1.937 Howard Aiken, de la universidad de Harvard
propuso la construcción de su "Calculador Automático de Secuencia -
Controlada", basado en las ideas de Babbage, y en la tecnología de
las calculadoras electromecánicas/ que habían sido producidas por -
la IBM.
Esta máquina terminada de construir en 1.944 con el
nombre de MARK I, constituye el comienzo de la era de los ordenado
res, la tecnología que se empleaba resulto sumamente lenta ya que
se usaba interruptores, y.relés fundamentalmente.
La universidad de Pensylvania, hacia el año 1.943
reunió a un grupo de científicos. Este grupo comenzó el desarrollo
de un nuevo ordenador que sustituía el uso de interruptores yyrelés
por válvulas electrónicas al vacío, el res-ultado fue el ordenador -
conocido como ENIAC.
Dos ideas emergieron como resultado del desarrollo
del ENIAC, una fue que la realización de . una aran velocidad de cal.
culo debido a los dispositivos electrónicos tornaba sumamente lentos
a los dispositivos que permitían la introducción o la obtención de
datos.
La segunda idea'fue, que un programa almacenado den
tro de la máquina de la misma manera que son almacenados los datos,
2
haría posible ramificar, a dos diferentes secuencias de instruccip_
nes en base a los resultados obtenidos.
Todos estos avances fueron resumidos .por Von Neurnann, en
una serie de características, que. constituyen la base lógica de -
la estructura de los computadores, controlados por programa almace
nado; y que son los siguientes;
a) Debe tener un medio de entrada, por el cual un gran numero de ope
randos o instrucciones puedan ser introducidas.
b) Debe tener una memoria desde la cual operandos o instrucciones pue
dan ser obtenidos, y hacia la cual resultados puedan ser almacena-
dos en cualquier orden.
c) Debe tener un órgano de cálculo donde se puedan realizar operacio-
nes aritméticas y lógicas sobre cualquier operando tomado de la me
moria.
d) Debe tener un medio de salida por el cual un gran número de resul-
tados puedan ser entregados al usuario, de una forma que sean fa
ciles de interpretar.
e) Debe tener una unidad de Control capaz de interpretar instruccio—
nes obtenidas de la memoria y escoger entre caminos alternativos/
en el curso de una acción.
1.2 Importancia de los dispositivos impresores:
•La estructura básica que resulta del criterio de Von -
Neumann, ha sido aplicada en todos los ordenadores que se han cons_
truído desde entonces, de ahí su gran importancia práctica,
El criterio enunciado en el literal d) anterior se refie
•re a los medios de -salida o entrega de resultados, que aunque en
los modernos ordenadores no están formando parte de la unidad cen-
tral de proceso (CPU), no por ese hecho tienen menor importancia,
3
que la unidad aritmética y lógica o que la memoria.
Un análisis detenido de los medios que tiene un ordenador
actualmente en uso, para la salida de resultados al usuario nos -
muestran que estos deben presentarse/ en forma de un número, una -
letra, un gráfico, o a menudo como un texto complejo.
Actualmente dos son los soportes básicos que pueden pro-
ducir este tipo de información; uno es la pantalla de visualización
usualmente un tubo de rayos catódicos, el cual presenta una infor
mación temporal y otro., los impresores, que producen un texto dé -
números y letras permanentes sobre una hoja de papel.
1.3 Tecnología de Impresores:
La continua expansión del procesamiento electrónico de
datos y la difusión del uso de los ordenadores en muchos aspectos
de la vida del hombre, han producido profundos cambios en la te crio
. logia de los impresores. Una o dos décadas atrás*la mayoría de
los impresores eran relativamente caros, formaban caracteres con
dispositivos electromecánicos, y con limitados rangos de velocidad
Los rápidos avances en el desarrollo de los minicomputa-
dores, crearon nuevas aplicaciones y a la vez que posibilitaron el
diseño de impresores más baratos y con mayores rangos de velocidad
La industria ante este desafío ha desarrollado casi una
docena de diferentes tecnologías que sirven para obtener la infor
mación escrita en el papel.
Los diferentes tipos de impresores se dividen fundamen—
talmente en tres tipos o categorías; de'impacto., de no impacto, ma
. triz, de puntos o caracteres completos, y seriales o por líneas.
Sin embargo estos tipos o categorías no son mutuamente
4
excluyentes, así un impresor puede ser matricial y serial, o ma^
tricial y de no impacto.
A continuación se da un breve resumen de los principales siste—
mas de impresión.
1.3.1 Impresores con tecnología de Impacto:
En general los impresores de impacto se dividen en dos
tipos; de impacto al frente/ donde un mecanismo con el carácter
en relieve golpea sobre un medio entintado/ y deja una huella so
bre el papel.
De impacto por detrás en el cual un martillo golpea el
papel y la cinta entintada contra el tipo, para formar el carác-
ter a ser impreso.
Los impresores de impacto al frente/ pueden ser de va
rios tipos/ de cilindror de bola/ de margarita o de agujas.
1.3.2 Impresoras de Cilindro:
Con este tipo de impresor, -un juego completo de carac
teres es grabado en una serie de anillos sobre la superficie de
unncilindro/ que actúa como mecanismo de impresión.
•El cilindro puede rotar sobre su eje, y además des -
plazarse hacia arriba o hacia abajo/ para posicionar el carácter
grabado en su superficie a la posición adecuada para su "impre--
sión, entonces el cilindro actúa como un martillo que golpea so-
bre una cinta entintada dejando su huella sobre el papel.
Ver. Fig. 1.1
Básicamente esta es la tecnología que se uso duran-
te mucho tiempo para los teletipos.
tn o v ¡ m I e n 1 oh o r i z o n t a l
r o t a c i ó n d e lc i l i n d r o
c i n t a
m o v i m i e n t o de ma ri i l l omo vimi c nt o v e r t i c a l
IMPRESORA DE CILINDRO FIG. 1.1
1.3.3 Impresores de Bola:
Esta es una versión mejorada del'impresor de cilindro,
en el cual se usa una esfera como mecanismo de impresión.
La esfera gira en sus dos ejes vertical y horizontal -
para mover el carácter seleccionado a la posición correcta; la -
esfera misma golpea una cinta entintada de MYLAR sobre el papel
Ver. Fig. 1.2.
Una..excelente calidad-de impresión se obtiene con este
tipo de impresor, por lo que son muy usados para aplicaciones ta
les como: reportes, documentos financieros, cheques, cartas y o—
tros casos donde la claridad y la legibilidad son criticas, una
ventaja adicional es que fácilmente se pueden cambiar el juego -
completo de caracteres.
Por todas estas razones este tipo de impresor es con-
siderado como un estandart de calidad de impresión. Su princi—
pal desventaja reside en el hecho de que la velocidad de impre-
sión es relativamente"baja, 15 c/sg. y además es ruidosa.
roi a c i ó n de Ide s f e ra
m ovi mi ent oh o r i z o n t a l
IMPRESOR DE BOLA FIG. 1.2.
1.3.4 Impresora de Margarita:
La finalidad de este impresor es la de obtener una im-
presión rápida pero conservando la calidad de una impresora de -
bola. ' Esto se consigue minimizando la transición entre dos ca—
racteres, y entre cada posición.
La solución adoptada consiste en reagrupar el conjun-
to de los tipos sobre un solo soporte físico y manejarlo de mane
ra que presente el carácter deseado frente a la posición deseada
del papel, con el mínimo de movimientos posibles.
Ver, Fig. 1.3.
Al principio de los años setenta la compañía DIABLO p_u
so a punto un impresor en el que los tipos estaban grabados -so-
bre los extremos de un disco plano flexible en forma de una mar
garita.
Este disco con su menor masa permitía incrementar la -
velocidad de impresión al rango de 30 a 50 c/sg. conservando -
ma rg a rifo
martillo
cinta
mov i miento
horizontal
movimiento circular
IMPRESORA DE MARGARITA FIG. 1.3.
la exelente calidad de impresión de los dispositivos de bol a, pare
sentaba además la ventaja de tener juegos intercambiables de ca-
racteres.
Es importante notar que esta impresoras solo han podi-
do ser realizadas utilizando sistemas electrónicos de control su
mámente complejos y que apesar de muchos esfuerzos con diferente
clases de tipos, los resultados han sido decepcionantes, ninguna
a alcanzado velocidades mayores que 60 c/seg. manteniendo la mis
ma calidad de impresión.
La idea clave para superar esta limitación parece ser
la de aumentar el número de martillos y soportes de tipos.
1,3.5 Impresores Matriciales de agujas:
La gran innovación de la impresión matricial no esta -
destinada fundamentalmente a aumentar la velocidad de impresión
sino a su flexibilidad.
La sustitución del grabado sobre madera de una página
completa, por el procedimiento de ensamblado con ayuda de tipos
móviles, revoluciono la imprenta. De la misma manera, la im—
presión matricial, que consiste en componer un carácter median-
te una matriz de puntos, ha cambiado radicalmente la impresión
por ordenador,
Dado que a partir de una matriz de puntos se pueda ob_
tener cualquier configuración, siempre que el tamaño de los pun_
tos sean suficientemente pequeños, los impresores no están linii
tados a un conjunto de caracteres fundidos, sino que presentan
la posibilidad de formar caracteres de cualquier estilo o tama-
ño de una manera discresional. 'Además, posibilitan la elabora-
ción de gráficos o dibujos que presentan varias gamas de grises
Note ; . que esta nueva tecnología no se soporta en ti-
pos físicos fundidos sobre algún medio sino en la ordenación -
de una matriz, es un salto cualitativo muy importante ya que -
esta ordenación está a cargo del programa, esto es sumamente
conveniente y fácilmente adaptable a las nuevas tecnologías de
control mediante microprocesador. En definitiva el tipo fundi-
do se ha transformado a información grabada en una memoria de
semiconductor.
En la mayoría de los impresores matriciales el carác-
ter está formado por el impacto de 7 agujas muy delgadas, del
orden de 0.3 mm de diámetro, y accionadas por un solenoide, ge-
neran las impresiones con un espaciado entre ellas de 0.4 mm.
El carácter completo se forma con sucesivas columnas
al.desplazarse la cabeza de impresión horizontal.
•Ver. Fig. 1.4.
Con esta tecnología de agujas se obtienen velocidades
c / n ta
caradorimpreso
C o.S u m n oa g u j a s
m / tJ n f o
orí zo n t Q I do Ja .c a b e z a
papel
IMPRESOR DE AGUJAS FIG. 1.4
de impresión de 30 a 300 caracteres por segundo, de buena cali,
dad de impresión, y con niveles de ruido bastante bajos en compa
ración con las tecnologías anteriores.
1.3.6 Impresores de Tambor:
Los impresores de este tipo consisten de un tambor o ci
lindro horizontal, del ancho de la hoja a. imprimirse, con carac-
teres fundidos en relieve sobre su periferia, este tambor gira -
rápidamente frente a un banco de martillos, tantos cuantos carac
teres por línea se trate de imprimir, en la mayoría de impreso—
res se acostumbra 132 caracteres por línea como estandart.
El impacto del martillo ocur-re cuando el carácter deseado pasa -
por la posición a imprimirse.
Ver. Fig. 1.5.
A pesar'de que la calidad de impresión no es tan bue-
10
na como en los impresores matriciales de agujas porque a veces -
se observa cierto corrimiento de los caracteres en el sentido -
vertical, este tipo de impresor se adapta fácilmente para traba
ta
b a n c o de
m a rtillos
i m pacto
m b o r decorad e res
rotación del
tambor
c / n í a
pope
IMPRESOR DE TAMBOR FIG. 1.5
jos en los cuales se necesitan grandes volúmenes de impresión,
ya que se obtienen 300 a 2000 líneas/minuto lo que equivale a -
600 a 4000 c/seg.
1.3.7 Impresores' de Banda:
Esencialmente esta tecnología es similar a la anterior.
excepto que los caracteres son grabados sobre una banda sin fin -
de acero, y los caracteres son sincronizados con marcas en la
misma banda de impresión. Para imprimir un banco de martillos -
impacta cuando pasa el carácter deseado por" la posición adecuada
Ver. Fig. 1.6.
La mayoría de los ordenadores grandes, trabajan con
11
banco de
m o r f / / / o s
¡ m p oc /o
p o/e a
m a r c o sde
sincronís mocarácter
g r a b a d o
p o p e i
IMPRESOR DE BANDA FIG. 1.6.
este tipo de impresores, ya que están adaptados para grandes vo-
lúmenes de impresión.
1.3.8 Impresores sin Impacto:
Una gran innovación en materia de impresores, surge -
con la impresión "sin impacto", en la cual el tipo no graba meca
inicamente su huella .sobre el papel. Los motivos que han impulsa
do a los investigadores al desarrollo de estos nuevos dispositi-
vos sin impacto son típicos de las complejas relaciones que se -
establecen entre las técnicas avanzadas y las exigencias del mer
cado.
Desde los comienzos dé la era de los ordenadores se -
descubrió- rápidamente, que constituían una fuente sustancial -
" del problema técnicos debido a su gran complejidad mecánica,los
sistemas de salida, en especial la impresión. Por ejemplo los
12
impresores de banda, tienen, 132 martillos, a los cuales hay que
comunicarles una energía de 6.10 ergios en cada golpe, un motor
y un sistema de poleas para arrastre de la banda, una banda de -
acero con marcas grabadas, y un sistema de detección de estas
marcas para sincronizar debidamente la operación, además de im -
portantes sistemas de alimentación eléctrica lo cual les hace -
vulnerables y costosos.
La idea fundamental que ha inducido al desarrollo de
tecnologías sin impacto, es la que estos problemas de costo y man
tenimiento podrían ser resueltos, haciendo un amplio uso de los
componentes electrónicos cuyo precio disminuía y su calidad y - -•
prestaciones aumentan constantemente, además de que se puede ob-
tener ventajas adicionales no menos importantes, ya que la elimi
nación de martillos que golpean supone una importante reducción
del ruido, los impresores de impacto generan unos 70 dB de ruido
sin impacto se puede descender hasta unos 50 dB.
1.3,9 Impresor térmico matricial:
Dentro de los nuevos impresores sin impacto, que hace
un amplio uso de los nuevos dispositivos semiconductores, está
el impresor térmico.
Un papel especial que cambia de color con la aplica
ción de calor., por parte de una cabeza que contiene una matriz
de puntos calentados selectivamente producen el carácter cuando
se desplaza horizontalmente sobre el papel.
Una de sus mayores ventajas es el que no se usan com-
plejos sistemas mecánicos, 'excepto dos pequeños motores que mué
ven la cabeza impresora horizontalmente y otro que realiza el _a
vanee del papel. Ver..Fig. 1.7
. 13
c a b e z a deimpresión
matriz deo / e m e n f o s
calefactores
m o v ¡ m i e n t ode la cabeza
p a p e l térmico
IMPRESOR TÉRMICO FIG. 1.7
Con esta tecnología se obtienen velocidades de impresión del o_r
den de 30 caracteres/ segundo, y una buena calidad de impresión,
sin embarga tiene dos limitaciones básicas; la primera es que no
puede ser incrementada la velocidad de impresión, por la inercia
térmica de los elementos calefactores y el papel, y la segunda
que está limitada al uso de papel especial.
1,3.10 Impresor electrosensitivo:
El papel electrosensitivo está revertido de una fina -
capa metálica, la cual se quema al aplicarse un voltaje por par
te de una cabeza impresora, exponiendo un fondo negro .bajo la ca
pa metálica de revestimiento.
A pesar de su bajo costo, y el que se consiguen veloci
dades de impresión de 160 a 2000 c/seg., tiene dos grandes des—
ventajas; la pobre calidad de impresión y el desagradable aspec-
to metálico del papel electrosensitivo.
14
1.3.11 Impresor electrostático:
_¿ En este tipo de impresor un papel revestido de un die
léctrico pasa sobre un arreglo de pequeñas agujas en forma de
peinilla, un voltaje selectivamente se aplica a las agujas,y los
caracteres son formados en el papel corno puntos de cargas deposi
tadas en el papel. Este se pasa entonces a través de un deposi-
to de finas partículas de tinta, suspendidas en un líquido, las
partículas de tinta son atraídas por las cargas eléctricas depo-
P"
sitadas sobre el papel, posteriormente la tinta se fija permanen
teraente por medio de calor sobre el papel. Ver fig. 1.8
Este tipo de impresor puede obtener velocidades de im-
presión muy altas de 600 a 3.600 c/seg., otra ventaja importante
es la capacidad para generar gráficos fácilmente, lo cual le ha-
ce muy importante en aplicaciones científicas.
Su principal desventaja reside en el hecho de usar pa
peí especial, y el uso de tinta suspendida en un líquido.
p a p e /
a g u j a s
i m p r e s o r a sX "V ^ \ I
rodillof i j a d o r
d e p ó s i t o delinio
IMPRESOR ELECTROSTÁTICO FIG. 1.8
15
1.3.12 Impresor por chorro de tinta
En una impresora a chorro de tinta se emite un flujo de
gotitas/ a partir de un inyector o de una matriz de inyectores.
Según la manera con que se genera el flujo de gotitas, se distin-
guen; los de chorros de tinta llamados "gota a petición", o los
de "flujo continuo". En el primer caso, solo se emite una gota -
cuando se imprime un punto, mientras que en el segundo caso, las
gotas de tinta se emiten continuamente, y su trayectoria se des -
vía magnética o electrostáticamente 'cuando se necesita una gota.
Las gotitas que no se emplean se separan mediante un ca
nal colector, el cual se envía a un deposito para usarse nuevamen
te. También pueden disponerse chorros de tinta de 'diferentes co-
lores y obtenerse una impresión polícroma; Ver fig. 1,9.
Algunos de los impresores a chorro de tinta son muy rá-
pidos y sin duda, su velocidad es comparable a las rotativas de
prensa. Las razones de estas buenas prestaciones se deben, por
una parte, a la ausencia del proceso de transferencia y fusión de
las partículas de tinta, como es el caso de los impresores elec-
trostáticos o a las impresoras xerográficos, y por otra parte a
la posibilidad de disponer de tantos inyectores como puntos hay -
en la matriz de impresión de una línea completa, pudiendo impri—
mir dicha matriz línea por línea-
Los impresores de tinta que hay actualmente en el mer-.
cado tienen velocidades comprendidas entre 90 c/seg.', y varios -
centenares por segundo, sin embargo sacrificando la calidad de im
presión se pueden obtener impresores ultra rápidos como los produ
cidos por la compañía MEAD CORP.'que imprime 45.000 líneas por mi
ñuto.
e l e c t r o d o dede SV'IQ clon
c /<* cf ro d ode -carga
inyector
canalr e c o l e c t o r
d e p ó s i t o de tinta
IMPRESOR DE CHORRO DE TINTA FIG. 1.9
Sin duda los .impresores a chorro no podrían existir sin la micro
electrónica. Hay que saber que a pesar de los filtros y bombas
una impresora a chorro de tinta es una verdadera "impresora ele_£
tronica".
Porque si bien es evidente que la formación de los ca-
racteres necesita un control electrónico de la circulación del -
fluido, el conjunto de los mecanismos de generación de los cho—
rros de tinta es tan complejo que es ilusorio pensar en poder. -
obtener una impresión de buena calidad sin la ayuda electroni-
1.3,13 Impresor Xerográfico:
Esta tecnología sin impacto es la más.conocida y la
más extendida, ya que se utiliza en las fotócopiadoras de ofici-
na, y se llama electrofotógrafía o xerografía.
17
El 'procedimiento electrofotográfico ha sido puesto a -
punto para las fotocopiadoras a principios de los años cincuenta
por la sociedad Xerox, pero solo alrededor de 1975 han sido apli^
cadas a las impresoras rápidas.
Cuando se ilumina una superficie foto conductora, una
carga eléctrica depositada en su superficie/ se dirige al subs—
trato semiconductor y después a tierra. Así cuando se proyecta
una imagen sobre un foto conductor, las regiones iluminadas se -
descargan mientras que las zonas obscuras conservan su carga, es_
ta superficie con una imagen latente electrostática se espolvo—
rea tinta en forma de pequeñas partículas las cuales se adhie—
ren a la superficie fotoconductora para reproducir la imagen -
electrostática, posteriormente esta transfiere al papel las par-
tículas de tinta y se fijan fundiéndolas en el papel.
Ver. Fig. 1.10
En el impresor, el documento original se reemplaza —
con una fuente de luz modulada que normalmente es un láser HeNe,
de una potencia de 25 mw, el cuál explora línea por línea la su-
perficie fotoconductora para producir la imagen electrostática.
Este tipo de impresor de alta velocidad produce tex
tos a una velocidad de 8000 a 24000 c/seg., con una matriz de -
puntos de alta resolución 24 x 40 puntos.
Una desventaja todavía de estos dispositivos es su -
alto costo de. 140.000 US$ a 310.000 US$., lo que los hace muy
difíciles de emplear en nuestro medio ya que una inversión tan
alta solamente es justificable cuando se necesita imprimir más
de un millón de hojas al mes, lo cual implica el tratar una -
cantidad fabulosa de información.
18
d e pde
láserHe Ne
•modulador
fija d o r
I i m p / o d o rde tinta
11 i n d r o
oconductor
espejoi o I i g o n a /
IMPRESOR DE LÁSER (XEROGRAFICO)
FIG. 1-10 •
A continuación se da un cuadro comparativo de velocidad
de impresión Vs costo, para las diversas tecnologías, las cuales
son importantes criterios de selección, los precios están en
US$ . 1.979.
19
¡ O c/s iOOc/s 1000 í/m 10000 i/m lOOQOOl/m
1 Cilindro
2 Bola
3 Margarita
4 Térmica
5 Impacto de achujas
6 Electrosensitiva
7 Banda
8 Electrostática
9 Xerografica
10 Chorro de tinta.
CUADRO N* 1,
20
1.4. CÓDIGOS DE INTERCAMBIO DE INFORMACIÓN.
Mucho antes del aparecimiento de los ordenadores el hom-
bre intercambiaba información,usando niveles discretos, que repre-
sentaban letras, símbolos y números. El origen de estos códigos -
está en el código telegráfico de MORSE, que tuvo una difusión muy
amplia.
1.4.1 El Código BñUDQT: .
Con el desarrollo de los teleimpresores (teletipos) na—
ció el código de transmisión telegráfica Baudot que en .nuestro •*••-
país se usa actualmente en la red TELEX. Es un código de cinco -
bits, y por lo tanto puede representar solamente 32 símbolos, la
transmisión de las 26 'letras del alfabeto mas los 10 números y sim
bolos especiales, exigen la utilización de dos caracteres de con—
trol "Letras y figuras" que indican si la transmisión de los carao
teres posteriores son letras, o números y símbolos.
Este código transfiere información a una velocidad de
50 o 75 baudios, en forma serial, una gráfica en el tiempo, de es-
ta señal se indica en la figura 1.11 para una velocidad de 50
bits/seg.
^
T ~
11
11
L J..
riiii
- JL
iiiiI
-L
" " T1
. i11
. -L
iiiii
._ J
- ' »iiiit
BU de Bit.I Bit Bit 3 Bit 4 Bit 5 Bit de
arranque paradQ
ZOms 30 mí
FIG- 1.11
CÓDIGO DE TRANSMISIÓN 5. BITS BAUDOT
21
1.4.2 El Código ASCII: •
La necesidad de estandarización de los códigos de
transmisión ha cobrado fuerza debido a que cada vez más y más -
máquinas intercambian información a través de redes de transmi-
sión públicas.
La American Standarts Association, ha propuesto un
código de siete bits para comunicación de datos, este contiene
128 caracteres de los cuales 32 son reservados para funciones -
de control, dejando 96 caracteres que son suceptibles de ser im
presos.
Un octavo bit puede ser usado opcionalmente para de—
tección de errores. Aunque en transmisiones a corta distancia
donde la atenuación de la señal transmitida, y el ruido son de_s_
preciables, como es el caso de una conexión directa de un orde
nador a un impresor, el bit de paridad no se usa.
En la tabla 1.2 se observa el grupo de caracteres que
constituyen el código ASCII.
Como se observa el carácter 5c se propone cambiarlo
por la letra Ñ mayúscula y el carácter 7c por la ñ minúscula.
A pesar de que existen otros códigos de intercambio
de información, ninguno ha tenido una amplia difusión como el
código ASCII. . - .
Un ejemplo es el código EBCDIC usado solamente en los
ordenadores IBM y sus periféricos.
En la tabla 1.2 también se muestran los caracteres de
control cjue no son suceptibles de ser impresos, pero son útiles
en el control del intercambio de la información, y de éstos los
22
0
1
2
3
4
5
6
7
8
9
A
B
C
D
E
F
0
NUL
SOH
STX
ETX
EOT
ENQ
ACK
BELL
BS
HT
LT
VT
FF
CR
SO
SI.
1
DLE
DC1
DC2
DC3
DC4
NAK
SYN .
ETB
CAN
EM
SUB
ESC
FS
GS
RS
US
2 3 4
0 . @
\ A
2 B
§ 3 C
$ 4' D
% 5 E
& 6 F
7 G
( 8 H
) 9 I
* : J
+ ; K
> ^ L
M
> N
/ ? O
5
P
Q
R
S
T
U
V
V?
X
Y
Z
[s '
]f •
-
6
-
a
b
c
d
e
f
g
h
i
J
k
1
m
n
o
7
P
g
. r
s
t
u
V
w
X
y
z
cñ
>^
CARACTERES ASCII TABLA 1.2
que se usan en el control de un impresor son los siguientes:
BELL que produce un tono audible o alarma.
BS que produce el retroceso de la posición a imprimirse un es
pació hacia atrás.
CR Retorno del carro a la posición extrema izquierda.
LF Avance de línea.
TRANSMISIÓN
DE
DATOS
Asincrona
SERIE
Síncrona
PARALELO < Síncrona
TIPOS DE TRANSMISIÓN TAB. 1,3
1.5.1 Transmisión en Paralelo'síncrona:
La transmisión en paralelo consta de los siguientes
elementos:
a) Los n hilos de información en paralelo a través de los cua-
les se envían los datos.
h) Una señal de sincronización S, cuyo flanco activo indica al
receptor que la información ha sido enviada.
En la figura 1.12 se representa el diagrama de.tiempos
de este tipo de transmisión, en el cual el flanco activo de la
señal S es el flanco de subidar este debe aparecer un tiempo tn
después de que las líneas de datos estén presentes y estables,
y un tiempo t2 antes de que los datos nuevamente cambien.
Normalmente el receptor, con esta información ha de
realizar algún trabajo, y no está listo ha recibir nueva infor-
mación inmediatamente, para lo cuál se envía por parte del re—
ceptor una señal de demanda de datos D cuando este está listo
para procesar nueva información. El tiempo que el receptor es
tá ocupado es t 2 -
26
P R O C E S A D O R
Dalos
I M P R E S O R
FIG. 1.13
1.5.2 Transmisión en Serie:
La transmisión de la información por un único hilo,
implica que los sucesivos bits estén separados en el tiempo,uno
a continuación de otro.
Para extraer la información, el receptor necesita, la
duración de los sucesivos bits, y el instante en que se inicia
la transmisión, además del número de bits por carácter, esta in
formación constituye el control de la transmisión, según la fo_r
ma de enviar esta información al .receptor, tenemos dos tipos de
transmisión, asincrona o síncrona.
1.5.3 Transmisión Serie Síncrona:
La" transmisión síncrona se representa en la figura
1.14, la interconexión entre los dos sistemas, se realiza me —
diante dos hilos,' fundamentalmente.
Un hilo de* información,a~través del cual se envía -
.los datos, y la indicación del inicio de la transmisión.
Un hilo de control a través del cual se indican los
27
instantes de transmisión de los bits de datos, y constituyen los
impulsos de sincronización.
En la figura 1.14 se representan estas dos señales,
se supone que los instantes de conmutación de los sucesivos bits
de información coinciden con los flancos de subida de los impul
sos de sincronismo. En los flancos de bajada la información per
manece estable a la entrada del receptor.
TRANSMISIÓN SERIAL SINCRÓNICA
FIG. 1.14
S i n c r o n i s m o
1 0 0 / 0Datos
Pero además de las señales de control de duración de
los bits, se ha de indicar al receptor el instante en que se inl
cia la transmisión, para no utilizar un nuevo hilo, esta informa
ción se suele enviar por el mismo hilo de datos, en forma de una
serie de caracteres de control ya especificados en el código
ASCII.
La parte inicial'esta constituida por tres caracteres
de sincronización (SYN), luego un carácter de comienzo de encabe
zamiento (SOH), uno o varios caracteres de encabezamiento, poste
d) Baja sensibilidad a la dis
suministra junto con los
e) Se puede obtener transmisiones a altas velocidades debido
a la baja distorisión.
Sin embargo existe £
a) La mayoría de aplicaciones
donde los datos son
ruó lectores de cintas
Los datos se generan de
hace impropios para i
una
29
torción debido a que el tiempo se
datos.
Igunas desventajas;
obtenidos
perforadas
en tiempo real o en aplicaciones
de alguna fuente mecánica; co
, teclados, etc.
forma asincrona, lo que los -
a un impresor.interc onectar
b) La perdida de un bit de le señal de sincronismo invalida.to
do el bloque de mensaje, naciendo imposible, inclusive la
corrección del error, por medio de- un código de corrección
por que este también se recibiría erróneamente.
c) El equipo necesario para
más caro que 'el necesario
1.5.4 Transmisión Serie Asincrona:
este tipo de transmisión es mucho
para una transmisión asincrona.
entreLa interconexión
mediante un único hilo, a
las señales de control y los datos.
El comienzo de la
bajada a cero lógico, de la
de tiempo igual a la duración
bit de arranque, o comienzo de
A partir de este bit
formación (normalmente n=8), de
dos sistemas se puede realizar
través de cual se envía en serie
transmisión., se indica mediante la -
señal de datos durante un intervalo
de un bit de datos; este es el —
transmisión de un carácter.
el receptor recibe n bits de in-
igual duración que el bit de
30
arranque, seguido de uno o dos bits de fin de transmisión de ca
rácter , estos últimos son los bits de parada. Ver fig. 1.16.
— — — 1 — • —1I
" — 111
- L .
— i — —i
- - L -
ii
-1
r —iI
J. -
T T
! ¡_ I I
BitdcBitl B//2 0/f3 B/Í4 B/f-5 Bit 6 Bit 7 BU 8 Bit dea r r a n q u e parada
DIAGRAMA DE TIEMPO TRANSMISIÓN ASINCRÓNICA
FIG. 1.16
El receptor es un sistema secuencial síncrpno cuyo ge
nerador de sincronismo o relo'j interno, posee "una frecuencia
superior a la de recepción de los bits de datos.
Están normalizadas las frecuencias a 16 o 64 veces la
frecuencia de recepción, de datos. Esto permite realizar la sin
cronización con elevada precisión. Ver. Fig.' 1.17, donde se re-
presenta la forma en que el receptor realiza la sincronización,
suponiendo que el período de los impulsos del reloj interno es
16 veces inferior a la duración de un bit de- datos.
A partir de la llegada de un cero lógico en la línea
de datos, la unidad de control de recepción cuenta ocho pulsos
de reloj y capta.el bit de.arranque, a partir de este momento
cada 16 impulsos del reloj capta un nuevo bit de datos.
31
La duración de los bits recibidos depende de la fre-
cuencia del generador situado en el transmisor, y por ello puede
diferir ligeramente. Debido a esto, el número de bits enviados
desde el comienzo está limitado a un máximo de ocho bits, a con_
tinuación se transmiten uno o dos bits de fin de transmisión
(uno lógico), que permiten al receptor volver a sincronizarse.
i
s / í c c c
-
1
r
i
cí n t7 u e
r—
1
£3 i
i ,
/
-riI1L
FIG. 1.17
Las velocidades que pueden usarse con este tipo de -
transmisión están entre 50 y 19200 bits/seg., lo cual resulta -
adecuado para intercomunicar impresores de baja y mediana velo-
cidad.
. Otra ventaja es que se han desarrollado, circuitos
LSI que realizan este tipo de interconexión, para todas las fa-
milias de circuitos integrados.
Este tipo de comunicación serial asincrona se ha di-
fundido mucho debido sobre todo al CCITT (recomendación V.24),
y al Electronics Industries Asociation (-RS-232) .
C A P I T . U L O S E G U N D O
DISEÑO DEL CIRCUITO DEL IMPRESOR
32
Los cuales especifican la denominación de las señales
de control y datos, entre un equipo de comunicación de datos (D
CE) y el equipo terminal de datos (DTE). También se especifi—
can niveles de voltaje e impedancias en las líneas, no se defi-
ne la velocidad de transmisión ni el código para los cuales es-
ta interface es transparente.
1.6 ESPECIFICACIONES DEL IMPRESOR TÉRMICO
El control del impresor será por programa almacenado
en una memoria EPROM, el formato de los caracteres residirá en
la misma memoria.
La memoria de almacenamiento temporal de los caracte-
res, compartirá la misma memoria RAM, del sistema de control,
por razones de economía y flexibilidad.
1.6.1 Tipo de Impresión:
Como se ha propuesto en él tema, el. impresor será del
tipo térmico, el carácter impreso por una cabeza de estado solí
do, será una matriz de puntos, de cinco columnas de siete ele-
mentos cada una, esta cabeza estará controlada por microprocesa
•dor, la velocidad de impresión será cercana a 30 carácteres/sgf
- y capaz de imprimir 80 caracteres por línea.
1.6.2 Tipo de caracteres:
El impresor será capaz de imprimir, caracteres alfabe_
ticos, numéricos y caracteres especiales, según el código ASCII
con la modificación-propuesta, para imprimir la letra "£$" del al
fabeto español, también imprimirá letras minúsculas, dentro de
las limitaciones previstas para, una matriz de 5 x 7 puntos.
1.6.3 Caracteres de control:
Dentro de Ion caracteres de control especificados por
el código ASCII, solamente interesan los que controlan el meca-
nismo de impresión estos son;
a) Retorno del carro (CR) desde cualquier posición de impre-—
sióri, el carro debe retornar a la posición inicial al reci-
bir este carácter.
b) Avance de línea (LF), al recibir este carácter el mecanismo
de movimiento vertical, debe incrementar a la siguiente li-
1.6.3 Caracteres de control:
Dentro de los caracteres de control especificados por
el código ASCII, solamente interesan los que controlan el meca-
nismo de impresión estos son:
a) Retorno del carro (CR) desde cualquier posición de impre-
sión 7 el carro debe retornar a la posición inicial al reci-
bir este carácter.
b) Avance de línea (LF), al recibir este carácter el mecanismo
de movimiento vertical, debe incrementar a la siguiente li-
nea de impresión.
c) Retroceso (BS),'al recibir este comando la cabeza de impre-
sión debe retorceder una posición.
d) Alarma (BELL) este carácter produce en el impresor la emi-
sión de un tono audible.
Es conveniente también que el impresor detecte automa.
ticamente el fin de una linea (posición 80) y'realize una opera
ción de retorno del carro y avance automático de linea.
1.6.4 Tipo de Interface:
La recepción de datos será en forma serial asincrona,
pudiendo seleccionar dos velocidades de recepción 110 y 300 -
bits/segundo, el formato será el siguiente:
a) Para 110 baudios, un bit de arranque, 7 bits de datos, uno
de paridad y dos bits de parada.
b) -Para 300 baudios, un bit de arranque, 7 bits de datos, uno
de paridad y un bit de parada.
• No deberá analizar la paridad recibida ya que a las -
34
cortas distancias que se opera un impresor, no existe riesgo, de
perdida de información, y por lo tanto es inútil analizar la pa
ridad, a pesar de que si lo incluímos en el formato de recep--
ción para mantener el impresor dentro de lo estandart.
Los niveles de voltaje e impedancia deberán cumplir -
con las especificaciones de la interface RS-232.
1.6.5 Controles externos e indicadores:
El impresor deberá tener los siguientes controles ac-
cesibles al operador.
a) Un botón de control para poner al terminal en línea o fuera
de línea, con su respectivo indicador luminoso.'" .- . ..
b) Un botón para avance de papel, el cual debe funcionar sola-
mente en el modo fuera de línea.
c) En el caso de obstrucción mecánica, de la cabeza impresora,
el terminal debe ser capaz de una indicación sonora al ope-
rador.
d) Un selector de velocidad de recepción.
RESUMEN ESPECIFICACIONES DEL IMPRESOR
Tipo: Serial, sin impacto, impresión matricial ter
mica,
Formato del Carácter: Matriz 5 x 7 puntos
Velocidades de impre
sion: Cercana a 30 c/seg.
Caracteres por línea: 80
35
Juego de Caracteres: ASCII, incluida la "Ñ", con letras minúscu-
las.
Interface: RS-232 Serial Asincrona.
Velocidad de Recepción: 110 b/s o 300 b/s.
Formato de Recepción:
Alimentación:
Controles externos:
110 b/s 7 bits datos/ 1 paridad, 1 bit
arranque, 2 bits de parada.
300 b/s 7 bits datos, 1 paridad, 1 bit
arranque, 1 bit parada.
110 v Ac, 60 Hz.
En linea/fuera de línea.
Avance de papel.
Indicadores: En línea/ fuera de línea
Alarma Audible.
37
CAPITULO .II
DISEÑO DEL CIRCUITO
2.1 Descripción del Circuito:
El circuito del impresor se lo puede dividir en cuatro bloques in_
terrelacionados entre sí, como se indica en la figura 2.1, los
mismos que son:
a) Un circuito de interface, encargado de realizar,1a interco—
nexión entre el procesador y las señales de datos y control
que recibe del exterior.
b) Un circuito de control, que realiza el mando de todas las
operaciones del sistema, mediante un microprocesador, contro-
lado por programa almacenado.
c) Un circuito de control de motores que recibe señales del cir_
cuito de control, y. realiza las tareas de posicionamiento de
la cabeza, y avance del papel.
d) Un circuito de control de la cabeza de impresión, que recibe
señales de la unidad de control, y enciende en la cabeza, los
diferentes elementos de la matriz de puntos, que realizan la
impresión, además de contener el sistema de control de tempe
ratura de la cabeza térmica.
DIAGRAMA GENERAL DEL IMPRESOR TÉRMICO
C O N T R O L D E
LA CABEZA
DE
í M P R E $ í 0 N
— '_ _L
1;
a
FIG. 2.1
38
2.2 Descripción del Mecanismo de impresión:
Además de la cabeza o elemento térmico de impresión, este mecanis
mo consta de las siguientes partes:
El motor de avance de posición de la cabeza, es un motor a pasos
(stepper motor),, de tres fases con un giro de 15° por paso, diseña
do para una corriente de 1.5 amp., y una resistencia de 5.0 OHMS
por fase. Ver. tabla .2.1.
CARACTERÍSTICAS DEL MOTOR DE POSICIONAMIENTO
TIPO
N° de Fases
Corriente
Ángulo de giro
Resistencia
MOTOR A PASOS DE RELUCTANCIA VARIABLE
3 Fases
1.5 Amps.
•15°/ Paso
5.O OHMS.
TABLA 2.1
Para mayor precisión en el posicionamiento, existe un -
sensor óptico que detecta el movimiento de un disco ranurado que
se mueve solidario al eje del motor. Ver fig. 2.2.
S
0 = 15
SENSOR ÓPTICO DE POSICIÓN
FIG. 2.2
-*- SEN S
GND
v.
39
Un.solenoide libera la presión que la cabeza ejerce sobre el
papel, en operaciones como el retorno rápido del carro, o cuando se
produce un avance del papel, a una nueva línea.
El motor de movimiento del papel, es un motor a pasos, de -
imán permanente, para obtener un torque en la posición de reposo aun
sin alimentación de corriente.
Tiene dos fases y dos devanados en el mismo polo, con alam
bre delgado, presentando una resistencia más alta y por lo tanto una
constante de tiempo más pequeña lo que -posibilita un funcionamiento,
rápido sin circuitos de control especiales.
Cabe destacar que una ventaja del motor bifilar a pasos es -
que a pesar de ser solamente de dos fases, puede ser operado solo con
una fuente de poder.
2.2.1 Diseño del circuito de Interfase del sensor óptico de posición:
Este circuito tiene por objeto adaptar las señales que produ
ce el sensor óptico a niveles lógicos que puedan ser leídos por
el circuito de control.
Con el diseño se necesita las curvas características del foto
transistor, pero puesto que no se dispone de las mismas, una
sencilla medición con el circuito de la figura 2.3 da los datos
necesarios.
Dí Qi
- -f-
RE <¡ V E
FIG - 2.3
' 40
Se polarizan el diodo emisor Di y el fototransistor Ql como
se indica en la figura 2.3, luego se mide el valor del voltaje de e
misor para diferentes resistencias de emisor; los resultados se pre-
sentan en la tabla 2.2, y han sido trasladados a un gráfico de coor-
denadas Ic y Vce, que nos da la característica del foto transistor, -
para un nivel de iluminación constante.
RE
100
200
300
500
1 K
OHM
OHM
OHM
OHM
OHM
VE
IV
2V
2.8V
• 3.7V
4.3V
IE
10
10
9.
7.
-4.
mA
m&
3mA
4mA
3mA
VcE
4.
3.
2.
1.
0.
0
0
2
3
7
V
V
V
V
V
TABLA 2.2
Con la corriente suministrada por Ql se alimenta la base de
transistor Q2 que trabaja como commutador.
/Orna -
í v 2 v 3 v 4 v 5 v Vce
FIG. 2.4
41
Para esto escogemos una recta de carga de 1K, Ver. Fig. 2.5
y encontramos el corte con la curva característica del transistor, es
te es el punto de operación y nos da el valor de la corriente de emi
sor.
El corte de la recta de carga con el eje vertical ocurre
cuando VcE = O luego
I = Vcc - VBESñT
I = (5 - 0.65) V =
1 K
I = 4,35 mA
El otro punto de corte, con el eje horizontal ocurre cuan-
do - E - O, lógicamente VCE = VCC.
En la figura 2.4 se observa que el punto de operación cua_n
do el transistor Ql recibe luz, inyecta una corriente de E = 4mA y -
tiene una caida de tensión VCE = 0.6 V.
+ 5'v
S ENS
V
PIG. 2.5
42
RL = 20 mA - 1,6 mA
' (5 - 0.2) V
RL = 3.8 K ' '
RL = 3.9 K. Valor estándar.
La compuerta disponible vl es una 74LS38, de colector abier
to7 es necesario entonces una resistencia de carga **C para su correcta
operación, el valor mínimo de &C si la compuerta va a alimentar a otra
compuerta TTL es;
, = VCC - V01 max
IOL -
C = (5 - 0.4) V
(16-1.6) mA
^ - 0,319 K OHM Valor mínimo
El valor 3 máximo está-dado por la condición de salida
en nivel alto.
*C max = VCC - VOH min
max = 5V - 2,4 V
0.25 mA + 0.04 mA
*C max = 8.9K OHM. . -
Se escoge un valor de C entre los valores mínimo y máximo.
RC = 1 K OHM. •
El circuito obtenido se muestra en la figura 2.6
43
XI K
SENS
INTERFACE DEL SENSOR ÓPTICO
FIG. 2.6
2.2.2 Diseno del circuito de control del motor de precisionamiento:
Conocemos que el torque del motor'a pasos es propor-
cional a la corriente que circula por el mismo, sin embargo la
inductancia propia del motor, hace que precisamente al instan-
te de arranque, que es el momento que necesitamos mayor torque
la corriente sea sumamente' pequeña, limitando grandemente la ve
locidad de funcionamiento.
Otro aspecto es que el motor, es del tipo de reluctari
cía variable, es decir que en ausencia de corriente, el motor
no"mantiene su posición, y cualquier perturbación alteraría la
posición de. la cabeza, por lo tanto en reposo, es necesario -
una pequeña corriente para mantener estable la cabeza en su
posición.
Una solución para el problema de la velocidad es a
44
limentar el motor con un voltaje suficientemente alto, (más -
cinco veces el voltaje normal) para que la corriente suba mu
cho más rápido.
Sin embargo se debe proveer un mecanismo para limi—
tar la corriente en el motor, a su valor nominal 1.5 Amp, esto
se puede conseguir con el circuito de la figura 2.1.
FA SE A
F A S E S
FASEC
CO NT
•f- 3O y
sQ 1
*/U ¿
Vr ef
\ o t
FIG. 2.7
Los transistores Ql, Q2 y Q3 respectivamente, en—
cienden las respectivas fases del motor a pasos, controladas por las
compuertas Ul, U2, y U3, las que reciben las señales desde el proces_a
dor/ siempre y cuando la señal CONT, producida por un comparador U4,
esté en uno lógico, lo cual ocurre solamente cuando el producto
R es menor que el valor del voltaje de referencia REF.
VREF -
45
La resistencia RB1, se usa como resistencia escape para la -
carga almacenada en la base del transistor Q2r obteniéndose un aumento
de la velocidad de conmutación de este transistor, si hacemos g_ue la -
corriente que. circula por la base de Q2 sea igual a la corriente por
la resistencia de escape tenemos que
RB1 = VEB2
2 mA
RB1 = 0,65 V
2 mA
RB1 = 325 OHM
RB1 = 330 OHM Valor estándar.
Para el estado en que Q2 esta sturado, y para garantizax~
que no se sature profundamente se considera un "fe =10.
La corriente de colector en Q2 será entonces:
XC = *£e IB
JC = 10.2 mA
C = 20 mÁ.
Esta corriente está constituida por una .que circula por la
resistencia de carga RL, y la corriente -IL de la compuerta vl.
= VCC - VCESAT
VCC - VCESAT
46
Como la resistencia R tiene un valor constante, la corriente
en el motor no puede sobrepasar el valor de MOT, ya que la señal CONT
desabilita las compuertas Oí, U2, U3, limitándose de esta manera la co
rriente máxima que puede circular por cada fase del motor.
Si el valor de VREF se cambia a un valor menor, también se -
cambiará el valor de la corriente en el motor, de esta manera se puede
controlar la corriente para obtener un torque de mantenimiento en el
motor con una corriente pequeña.
Los transistores Ql, Q2 y Q3 deben ser capaces de manejar -
una corriente de 1.5 Amp. , y soportar un voltaje CEO>/* 30V, además
una compuerta típica puede absorver en el estado cero lógico una co—•
rriente oL = 16 mA., de tal manera que el valor de "fe del transis—•
tor debe tener un valor de;
hfe = JC
= 1.5 A
0,016 A
hfe = 93
Un transistor de este régimen de corriente con un valor de
fe tan alto solo es posible usando un transistor tipo darlingtong,
se ha escogido el transistor T1P 126 cuyas principales características
se muestran en la tabla 2.3.
En la figura 2.8 se observa al circuito de control de cada
fase del motor, una RB entre base y emisor del transistor Q, provee
de un camino para escape de la carga almacenada en la base, cuando el
transistor se corta, acelerando de esta manera la respuesta del cir—
47
cuito, si consideramos que hfe = 500 para garantizar que 'el transistor
no se sature profundamente, tenemos que la corriente de base, necesa-
ria será:
B ~ I/ 5 Amp
500
IB = 3 mA
Si por le, resistencia de escape de base RB hacernos circular
una corriente igual tenemos que:
RB = VEBSAT
3 mA
RT»' =- 1,6 V
3 mA
- 533 OHM
= 470 OHM valor estándar.
A -h 3 O v
* Q
4.7/CX, R / c - /t 5 Amp
FIG, 2.8
La-compuerta U debe ser de colector abierto para que el vol-
taje de salida en el estado uno lógico sea de 30V, se escoge una com-
puerta NAND 74LS38.
La resistencia de carga R se calcula de la siguiente manera:
R = VCC - VEBSM? - VOL
R = (30 - l.,6 - 0,2)V
(3 + 3) mA
R = 4.7 R OHM. Este es un valor estándar
Un punto importante es que la corriente en la inductancia
del devanado del motor, tiende a seguir circulando a pesar de que el
transistor pase al estado de corte, produciéndose un transistente de
tensión, de algunos cientos de voltios, que destruirían las junturas
del transistor inmediatamente.
Razón por la cual se debe proveer un camino de descarga a la
corriente que circula por la inductancia, la forma más simple es co—
néctar un diodo corno se observa en la figura 2.9.
FIG. 2.9
49
Un análisis del tiempo de descarga-de la inductancia mues-
tra que este es muy largo.
. ,, * _ R ti(t) = io e -r=—j-j
donde R es la suma total de la resistencia del devanado del motor más
la resistencia R MOT.
R = RS + %OT
R = (6+1) OHM
L = 15 10~3 H
L —2.5 10~3 segundos.
R
La constante de tiempo es de 2,5 ms, para todo proposito '-
practico, la corriente desaparece en un tiempo mayor a tres constan—
tes de tiempo esto es 7/5 ms, lo cual es un tiempo muy grande, si con
sideramos que en 1/30 de segundo, se debe imprimir un carácter, y po
sicionar la cabeza para imprimir el siguiente, más un tiempo de esta-
bilización para que la cabeza detenga toda oscilación, y los caracte-
res no resulten borrosos. Disponiéndose para posicionar la cabeza de
aproximadamente 10 ms.
La reducción de la constante de tiempo puede hacerse aumen-
tando la resistencia, pero esto no es una solución, porque también au
menta la tensión en el transistor conmutador, pudiendo superar el vol
taje "CE de ruptura, con la consiguiente destrucción del transistor.
Un análisis más detallado nos muestra que, el añadir un dio
do zener parece ser la mejor solución.
El circuito real puede ser representado por el modelo de la
figura 2.10.
50
Olo
Vz u (O * ~) L
FIG. 10
La inductancia L'del motor esta cargada con una corriente--
inicial -^o, la cual le representamos como una fuente de corriente pa
so ^ouft). Esta inductancia se descarga a través de la resistencia
R, que representa la suma de las resistencias presentes en el circuito
El diodo Zener vz, lo representamos por una fuente de ten-
sión paso vzu(t), porque solamente empieza a actuar en el instante en
que empieza a descargarse la inductancia L.
"Por facilidad usamos el método de análisis que nos propor—
ciona la transformada de Laplace^-y el teorema de superposición.
Tenemos que la corriente total l(s) es la suma de las dos
corrientes en las que hemos devidido el circuito.
I2(s) (2.1)
Resolviendo la primera malla tenemos que:
Il(s) = vz 1 - (2.2)
II(s) = vz
(LS + R)
1(S-t- R/L)
51
En la segunda malla haciendo ecuaciones de nodo:
LS R
E(S) =•• lo R (2.3)
(S+R/L)
I2(S) = E(5) (2.4)
R
Por lo tanto reemplazando (2.3) en (2.4) tenemos que:
I2(S) « ÍQ 1 (2.5)
(S+R/L)
De las ecuaciones . (2. 2) y (2.5) podemos obtener el valor, de
KS).
I(S) = -vz 1 + Jo 1 (2.6)
S (S+R/L) (S+ RL )
Descomponiendo la ecuación (2.6) en fracciones parciales
obtenemos que:
1(S) = Ip - Vz __! _ + VZ 1 (2.7)
(S+R/L) R S R (S+R/L)
•: Encontrando la transformada inversa de Lapace para la ecua-
ción (2.1), para retornar al dominio del tiempo y si L/R = z
-Jt -jti(t) - L [I(S) ] = loG 2 - _Y£ + z (Z z
R R
-t -ti(t) = Io Q. 2 - VH (1-J2 ) (2.8)
R •
Para entender mejor el significado de la ecuación (2,8)
observamos el gráfico 2.11, se puede ver que la corriente de descar-
ga a través de un diodo zener se hace efectivamente cero, a un tiem-
52
po ~t0 f mucho menor que el caso de descarga, a través de solo un dio-
do.
/(O
lo
Vz/R-
FIG. 2,11
El tiempo o al cual la corriente es cero podemos calcular
de la ecuación (2.8).
-1 . . -toO = I0 £ z _ Vz + V2 j¿ z .
R
vz) = J¿
R
to = Z ln(2.9)
Si o es la corriente al inicio de la descarga, L el va-
lor .de la inductancia del motor, R 3.a resistencia total, y vz el
voltaje nominal del diodo Zener a través del cual se realiza la de_s
carga.
o =-1/5 Amp.
R = 6 OHM
53
' L = 15 1CT3 H
vz = 22 V
^o = 2,5 10" 3 In (1 + 0,409) S
to = 0,85 ms
Se observa entonces la evidente ventaja de realizar la des-
carga a través del diodo Zener, ya que el tiempo se reduce a menos.
de 1 ms.
La potencia disipada en el diodo Zener está dada por el pro
ducto del voltaje. Zener vz y la corriente media en el diodo Me.
fl°Me = 1 . / . i(t) dt (2.10)
to o .
to -tÍdc = " YZ + 1 (Xo + vz) f O, z ' dt
. R o R / o
B ~ Z (JoR + va) ( "
El valor del exponencial, ya fue calculado anteriormente p_a
ra obtener la ecuación '(2,9) por- lo tanto:
idc = - z - 2
R "t0 R I0R+ VE
Me - ~vz - Z xo (2.11)
R * to
El valor de t0 también ha sido encontrado anteriormente ver
ecuación (2.9) , y reemplazando en (2.11) . .
(2.12)IoR)
54
de tal manera que la potencia que se disipa en el diodo Zener será:
P = vz Me
p = "Vz: + IQ VZ ' (2.13)
R In (1 + IoR )
Si z = 22 V; R= 6 OHM y lo = 1 , 5 Amp .
22
6 - O, 343
P = 15,5 wts.
Evidentemente la potencia disipada en el diodo Zener, es bas
tante grande, a .pesar de que dura un tiempo corto, si es repetitiva, -
puede distruir por calentamiento un diodo Zener normal. De ahí que se
recurre a un arreglo, hecho con un transistor de potencia y un diodo
Zener de baja potencia, este circuito es bien conocido y por eso no se
di scute aquí .
El uso de este circuito. por otra parte da además la posibili
dad, de controlar la constante de tiempo, solamente cambiando el esta-
do del transistor de saturado, a la zona activa, en la que actúa co-
mo un diodo Zener. Esto es sumamente conveniente ya que cuando se ne-
cesita mantener la corriente en un nivel constante, se lo puede hacer
con una constante de descarga más lenta, y cuando se conmutan las fa
ses, se disminuye la constante de tiempo, acelerando la velocidad de
respuesta del motor.
2.2.3 Diseño del circuito de descarga de la inductancia:
El arreglo transistor diodo Zener, así como el circui
to de conmutación se muestran en la figura 2.12.
55
Si el voltaje en el cátodo del diodo D2 es mayor que -0,6
Vts, este estará en corte, actuando Ql en la región activa, como un
diodo Zener de un voltaje igual a:
vz = vzi + VEB + vD1
vz = (22 + 1,2 H- 0,6) vts
vz = 23,8 vts
El estado del diodo D2 es controlado por el transistor Q2
y éste por la compuerta lógica VI, a través de la señal LENTO.
Cuando la señal LENTO es verdadera no circula corriente
por .la base del transistor Q2 y por lo tanto se corta, el cátodo.-
del diodo D2 está a-un potencial negativo y por lo tanto conduce,de
terminando la saturación del transistor Ql, De esta manera la se—
nal lógica LENTO, controla la constante de tiempo de descarga del -
circuito. Se escoge Ql como un transistor darlintog por la misma ra
zón -expuesta anteriormente en la sección 2.2.2.
LENTO
O v
FIG. 2.1.2
56
Para que este transistor se sature-se necesita una corrien
te de base % igual a: .
c es la corriente de descarga 1.5 ñmp, y considerando un valor de -
hfe - 500, para garantizar que el transistor no se sature profunda —
mente
IB = 1,5 Amp.
500
% - 3mA.
La corriente de base del transistor Ql circulará a través del diodo
D2 y la resistencia R, cuyo valor es &'
R = vss - VD2 - VBB SñT
R = (12 - 0,65 - 1,6) V
3 mA
R = 3.25 K '
R = 3,3 K Valor estándar.
Para el estado en que el transistor Q2 se satura el valor de la co
rriente de base será.
IB2 = Vcc - VCE SAO? + v ss
R
= Vcc - VCESAT + VSS
. hfe R
XB2 = 0,43 mA.
57
La resistencia Rl cumple el papel de resistencia de escape de base,
para descarga de la carga almacenada,si por esta resistencia circula
una corriente igual a ^-B2, tenemos que:
Rl = VEB SAT
Rl = 0,65 V
Rl = 1.51 K
Rl = 1.5 K Valor estándar. ' •
El valor de la resistencia de carga 2 de la compuesta lógica no in_
ersora vl se calcula a partir de la siguiente ecuación:
K2 = Vcc - VEBSAR - VOL
I + IB2"
R2 = (5 - 0,65 - 0,2) V
(0,43 + 0,43) mA
R2" = 4.82 K
R2 = 4.7 K Valor estándar
2.2.4 Diseño del Circuito limitador-deCorríente:
En la sección 2.2.2 se describe la necesidad de ali
mentar al motor de posicionamiento, • con una tensión alta, del
orden de + 30V, para obtener una subida de la corriente del
motor más rápida, y por lo tanto un posicionamiento del motor
a una velocidad mayor.
58
Si.no se limita la corriente en el motor éste le dañaría ya
que circularían 6 AMPS, cuando su corriente nominal es solo de '1.5 AMP
Además en los períodos de tiempo en que el motor no cambia -
de posición es necesario un torque de mantenimiento, para evitar cual-
quier perturbación mecánica y obtener una impresión nítida, Ver figura
2.7.
En el circuito el comparador conmuta su salida, cuando el -
voltaje de caida en la resistencia RMOT, es igual o mayor que el vol
taje de referencia REF.
Este voltaje de referencia puede ser controlado por una se—
nal lógica procedente del microprocesador. Ver. Fig. 2.13.
V r e f
FIG. 2.13
Cuando la señal PASO es verdadera el voltaje de referencia
será igual al voltaje proporcionado por tres caídas en los diodos Di,
D2, y D3 en polarización directa,- a través del divisor de tensión pro
porcionada por las resistencias R2 y R3.
53
VREF = 3VD. R3
' R2 + R3
Si se escoje los siguientes valores; para 2 = 100 OHM, para
la resistencia R3 = 200 OHM, y una corriente del orden de 15 mA para -
los diodos, de tal manera que la caida de voltaje sea de 0,75 V en ca
da uno tenemos que:
V-REF = (3. 0,75 .200) V
100 4- 200
VREF = 1.5 V. ' - ' •' - -
Cuando la señal PASO es falsa, esto es cuando solamente se
necesita una corriente para mantener un pequeño torque, el voltaje de
referencia será solamente.
REF =' (D + VOL) R3
R2 + R3
VREF = (0,75 -i- 0,2) 200
300
VREP = 0,63 V
La resistencia Rl es una resistencia de carga, para la com
puerta no inversora 7407, y sirve también para polarizar la cadena -
de diodos, con una corriente-de 15 ma.
Rl = Vcc - VD _ VOL
60
Rn = 5 - 0,75 - 0,2 V
15 ma
Rl = 270 OHM
EL circuito comparador está implementado con un comparador
integrado LM311, realimentación negativa no se usa con un comparador.
Entonces la estabilidad introducida por la realimentacion no está pre
senté, la realimentacion positiva incrementa la ganancia del compara—
dor aumentando también la inestabilidad y .la inclinación a oscilar.
Si la oscilación ocurre., tendrá lugar solamente mientras el comparador
esta en la zona de alta ganancia, y no cuando su salida esta fija en '-
uno de los dos estados límites, uno o cero lógicos.
De tal manera que el añadir realimentacion positiva a un com
parador, aumenta su ganancia, permitiendo que rápidamente suba o baje
a cualquiera de los dos estados, evitando de esta manera oscilaciones
indeseables, especialmente cuando la entrada varía lentamente, como es
el caso presente, de carga de una inductancia, Ver, Fig. 2.14.
CIRCUITO. LIMITADOR DE ' CORRIENTE
FIG. 2.14
- 61
S.i la resistencia de realimentación RR es grande comparada
con- la resistencia de carga RL se tiene que:
*L = vcc _
-LOL - 3 ¿IL
5V - 0,4 V
16 mA - 3. 1,6 rnA
RL = 0,41 K OHM
RL - 470 OHM Valor estándar
Las resistencias de entrada R tienen un valor típico reco_
mendado por el fabricante y es de 2.2K.
Un análisis del circuito para el estado en que la salida
está en un cero lógico produce en la entrada positiva un voltaje
VINL dado por la siguiente relación.
.RR
KR + R
Para el estado en que la salida del comparador está a uno
lógico el voltaje a la entrada positiva es:
VINH = (Vcc - VREF) R
RR + RL + R
Si como se condicionó anteriormente, la. resistencia de car
ga es mucho menor que la- resistencia de realimentación se tiene que:
VINH = (Vcc - VREF) R
' % + R
VINH = VccR + RR VREF
% + R
. .62
de las dos ecuaciones anteriores se puede escribir que
AV = VINH - VINL
AV = R vcc
RR + R
Si se escoje un AV de 25 mv, el valor de la resistencia de realimen-
tación será:
RR = R ( vcc - 1)
AV
Si vcc = 5V
AV = 25 mV
R = 2.2 K OHM
^ = 2.2 103 ( 5 - 1)
25 103
RR - 437.8 K OHM
RR = 470 K OHM Valor estándar
2.3 Diseño del circuito de control de "la cabeza de impresión:
La cabeza de impresión consiste en una matriz de elementos cale_
factores, (5x7) y un transistor montados en una sola pastilla
de semiconductor, esta pastilla está soportada por una lámina -
de cerámica aislante.
Conectada a la pastilla del semiconductor, está un cable flexi—
ble, por donde van las señales eléctricas a la cabeza impresora,
Ver figura 2.16.
Y7
Y 5
Y 4
X2
X3
X5
V ce
• i
FIG. 2.16
Cada uno de los elementos calefactores es una resistencia de
90 OHMS, la cual se calienta por medio de una corriente/ controlada
por un SCR.
El SCR, está constituido por un par de transistores en esta
configuración, el terminal.puerta de el SCR es alimentado por dos re—
sistencias, solamente dos tensiones positivas coinciden en el elemento
direccionado, se encenderá permitiendo que circule corriente por el
elemento calefactor, una interrupción de la corriente principal apaga
rá al SCR. Ver. Figura .2.17
64
X/
',2• v',2
-V
430
SO O H M
5 5 Ü H M S
FIG- 2,17
2-3.1 Diseno de'la Interfsce'entre'la'unidad de Control y'la cabeza
de impresión:
Cada elemento en la cabeza impresora es direccionado
con la coincidencia de dos señales x;, i. Si cualquiera de
ellas es cero, no debe direccionarse dicho elemento/ la única
manera de conseguir esto, es haciendo que la señal de dirección
( x o y) sea de +5V para el estado uno lógico, y sea -5V para
el estado cero lógico.
Si las dos señales son cero lógico esto es -5V el e-
lemento no debe direccionarse ya que la tensión en el punto G
es -5V. Ver figura 2.18
65
- 5 V
FIG. 2.18
Si una sola de las señales es (+5) verdadera y la otra falsa
(-5V) , el elemento en cuestión tampoco debe direccionarse. Ver figura
2.19.
•v*-
+ 5 v
IV
V
•FIG. 2.19
66
Una compuerta capaz de hacer la interface entre señales TTL
y niveles lógicos de H-5V y -5V, es la 75490, está consiste en seis
compuertas AND, con una entrada común. La entrada común puede ser
usada como señal de habitación, la cual es generada por el circuito
de control, la hoja de datos del circuito integrado 75490 se puede ob
servar en el anexo II.
La comunicación entre el circuito' de control (microprocesador)
y la interfase de la cabeza impresora, se realiza mediante el canal de
comunicaciones serial de microprocesador, este canal de comunicacio-
nes llamado CRU (Comunication Register Unit) por el fabricante, básica
mente consiste de tres señales;
CRU OüT Una señal serial que transmite los datos que salen del micro
procesador al periférico,
CRU CLK Una señal de reloj para sincronizar la transmisión.
A12-A2 Líneas de dirección, capaces de direccionar 2K bits individual
mente.
Para mayor información ver hoja de especificaciones del micro
procesador TMS9980. Anexo II.
Un registro tipo D direccionable 74LS259, retiene los datos
cuando el correspondiente bit es direccionado mediante las señales
A12-A9. Ver figura 2.20.
La señal de reloj para el primer registro que contiene los
primeros ocho bits esta definida por la siguiente ecuación:
CLK1 = A9. CRUCLK. DIRCOO
BO
RR
AD
O
CO
O
Y 7
.
f /
g 2
,2
0
68
para el segundo registro direccionable la señal de reloj está definida
por la siguiente ecuación:
CLK2 = A9. CRUCLK. CRÜCOO
Donde CRÜCOO es la señal resultante de decodificar la dirección COX,
además los registros reciben una señal de borrado, que se utiliza para
encerar los registros al encendido del equipo.
2.3.2 Diseño del circuito de control de temperatura de la cabeza de im
presión:
El obj eto de este circuito es proveer una tensión de
alimentación regulada por la temperatura de la cabeza de impre-
sión; una muestra de la tensión de la juntura base-emisor modula'
el ancho de pulso de la tensión que se aplica a los elementos
calefactores.
Esta tarea es realizada por un circuito integrado es-
pecial 2543 diseñado específicamente para este proposito. Ver -
figura 2.21.
La señal DVOLTS, de la juntura base-emisor del transija
tor situado en la cabeza, es producida por una corriente de a—
proximadamente .75mA, que circula por una resistencia limitadora
para producir una caída de tensión de aproximadamente .95vts, en
la entrada del amplificador, un voltaje de corrimiento se añade
a esta señal para obtener control de la temperatura de la cabeza
y p.or lo tanto del contraste de la impresión.
Como la cabeza produce cambios bruscos de temperatura
cuando imprime, un circuito de retención y muestreo se usa en-
O/A
GR
AM
A
FU
NC
ION
AL
D
£L
C
IRC
UIT
O
I N
TE
GA
D O
2
54
3
DV
OL
TS
R
<i e
calibra
ció
n
J.
/ M
FC
ON
DIT
NS
AD
O /
?
DE
H
UE
ST
RF
.O
SE
NS
Ofl
D
E
TE
MP
ER
AT
UR
A
ven
fig
ura
2
69
tre el comparador y el amplificador.
El voltaje modulado en•ancho de pulso P VOLTS, con que se -
alimenta a la cabeza, debe ser integrado para llevar al comparador a
su entrada negativa, cada vez que esta señal de realimentación sea -
mayor que el voltaje a la salida del circuito de muestreo y retención
se apagará el transistor Ql y por lo tanto la'señal P VOLTS.
Una señal de reloj es necesaria para iniciar nuevamente el
ciclo de comparación y prender nuevamente el flip flop.
La señal IMPRIMA inicia el muestreo y además habilita a la
.salida S02, que enciende la salida S02 y también al transistor Q2, el
cual provee de una tensión continua de +7vts durante todo el tiempo
que dura la impresión. Esto es necesario para que los SCR de los e-
lementos calefactores, no se apaguen cada vez que el pulso modulado
desciende a cero. ver figura 2.22.
Los valores dados por el fabricante en su hoja de aplica—
ción serán usados para obtener el diseño final. Ver anexo II. La s_e
nal de reloj necesaria de 20 KH se. deriva de una de las fases del
reloj del microprocesador, como la frecuencia de este es -de 2 MHZ, -
dos divisiones sucesivas para 10, dan la frecuencia deseada de 20
KHZ, esto se implementa con un.,.,, circuitos integrado 74LS390.
La señal que se conecta al terminal PRINT del circuito in-
tegrado regulador, .es la que inicia la impresión del carácter, debe
durar solamente 10 ms, esto está controlado por el microprocesador,
bit 8 de la interfase de la cabeza. Ver. figura 2..20.
Para el peor caso en que el microprocesador falle, un cir-
cuito mono estable limitará, el tiempo de habilitación de la señal
IMPRIMA, protegiendo de esta manera la cabeza de impresión, y evitan
70
do que esta se queme.
Este circuito de protección, está implementando con un mon£
estable 74121, Ver figura 2.23, el ancho del pulso está dado por la
A P V Q L T S
7 v
1I O ms
FIG- 2.22
relación suministrada por el fabricante.
tw = C R In 2
Si se escogen los siguientes valores R = 3.3 K y C= 4.7 MF
de acuerdo a los monogramas.
tw = 4.7 MF 3.3 K OHM .0,7
tw = 10,7 ms
Cada uno de los elementos calefactores tienen una resisten
.cia de 90 OHMS de tal manera que la corriente en cada uno de ellos -
es.de 30 v/90 OHM = 333 ma, si por cada carácter se encienden diez
elementos de la. matriz en promedio, el transistor Ql tiene que con-
mutar una corriente de aproximadamente 3ñmp, y si el terminal SOI -
71
del circuito integrado regulador 2543, solamente puede absorber una co
. Bit 8
V
R 3,3 K
FT + C 4.7 M F
R/C C0
Al 7412. I Q
A2
ÍMPRÍMA•
7408
FIG. 2.23
rriente de 10 mñ. Se necesita un transistor de una ganancia:
C = f e XB
hfe — 3 Amp
10 mA.
hfe - 300
Esta ganancia en un transistor de potencia solo puede en—
contrarse con un transistor Darlington, se usa el TIP126, cuyas ca—
rácteristicas se anotaron anteriormente.
Para obtener la señal PVOLT a partir de las señales SOI/ -
S02, y el voltaje de alimentación VDD (+30-Vts) , se usa el circuito
de la figura 2.24.
El valor de la resistencia R2 se calcula a partir de la si_
s'güTé'hte -expresión; si la corriente Io2 es 10 mA.. tenemos que:
72
A + 3 0 4 12 v
S O /
502
PVQLTS
,/\/\A-R 4
PVOLT S
FIG. 2 .24
R2 = VDD - VEB5AT - VOL
IOL.
R2 = 30v - 1,65 0,2v
10 mñ
R2 = 2,83 K OHM
R2 = 2.7 K OHM -Valor estándar.
Las resistencias Rl y R3 que se usan como resistencias de -
escape de base tienen valores similares a los ya calculados anterior-
mente para los casos similares.
La señal S02 permanece en cero lógico, durante todo el tiem
po,.gue dura la impresión, satura al transistor Q2 y provee un voltaje
continuo que impide que los SCR de la cabeza se apagen durante el tiern
po que Ql esta apagado como se observa en la figura 2.22, este volta
je será de: '
PVOLT CC = 12 V - Vz - VCESAT - VD1
PVOLT CC = 12 - 3,3 - 1.0 - 0.7 v
PVOLT CC = 7v.
El valor de la resistencia de base R'4 del transistor Q2 se
calcula de la siguiente manera:
R4 = 12v vz - VEBSAT - V01
RT4 = (12 - 3,3 - 1,6 - Of2) v
10 mA
K'4 = 683 OHM
R4 = 680 OHM Valor estándar
Adicionalmente un voltaje de ajuste (offset) se suma a la
tensión de realimentación de temperatura para control del contraste -
de la impresión, el fabricante recomienda un valor de 2,1 Vts, el
cual debe ser ajustable por medio de un potenciómetro.
-f í 2 v
AJUSTE' DE VOLTAJE OFFSET
FIG. 225
V O F F S E T
74
V = l,51v
V2 = 2.,2.7v.
Puesto que estamos en la sección de control de impresión, se in_
clúye en este circuito, la señalización audible accionada por la señal
ALARMA, controlada a su vez por el microprocesador.
Ver. Figura 2.26.
Consta de una compuerta inversora 7416 de colector abierto, y
un pequeño parlante de 100 OHMS de impedancia, como carga.
La señal ALARMA, producida por el circuito de entrada-salida
(TMS9901), es un tren de pulsos que producen en el parlante un sonido, -
de la frecuencia de la señal ALARMA., la cuál se usa como una indicación
sonora, del carácter BEL o una señal de error.
75
A L A R M A
A +5v
P A R L A N T E
100 OHMS
CIRCUITO DE ALARMA
FIG. 2.26
2.4 DISECO DEL CIRCUITO DE INTERFACE
El circuito de interface de datos, tiene por objeto, -
acoplar los niveles lógicos de las señales de datos y control
(± 12v), a niveles lógicos compatibles con las compuertas TTL.
•Un circuito integrado LSI/ (TMS9902) Controlador de qo
inunicaciones asincrónico, realiza la generación de señales de
tiempo necesarias para la desserialización facilitando el con—
trol (microprocesador).
2.4.1 Diseño con circuitos MSI y LSI.
Las siguientes secciones describen el diseño del cir
cuito de interface de datos, y el circuito de control, en las
cuales se hace un amplio uso de los circuitos integrados de me-
diana y gran escala de integración MSI y LSI.
El uso de estos circuitos permite aumentar grandemen
te la complejidad de un sistema a diseñarse, y si en el presen-'
76
te trabajo no se hiciera, uso de los circuitos MSI y LSI, pro-
bablemente este no sería realizable con compuertas básicas, de
bido a su complejidad.
La gran flexibilidad que permite en el diseño, el
uso de circuitos MSI y LSI, se debe principalmente a que estos
son programables en su gran mayoría.
Se obtiene además una gran simplificación en el tra-
bajo de diseño, al usar partes estándar, que realizan funció—
nes de subsistemas completos, como es el caso de la interfase
de datos. El diseño se reduce a la búsqueda de partes en el
catálogo del fabricante, que puedan adaptarse a la tarea a
realizarse.
Una gran parte del proceso creativo,, se reduce en el
diseño puramente electrónico, (Hardware) incrementándose nota-
blemente en el diseño del programa almacenado (Software), lo -
cual se observará fácilmente en el próximo capítulo. A pesar
de todo, sin un gran conocimiento de las compuertas lógicas in-
dividuales, y del manejo booleano, es imposible llegar a la -
realización de un sistema concreto.
2.4.2 Circuito acoplador de niveles:
Los niveles de entrada y salida especificados por el
estándar industrial RS-232 son los que se muestran en la figu
ra 2.27.
Una compuerta que. cumple con estas características
para recepción de niveles EIA a 'niveles TTL compatibles es la
75189, cuyas hojas de datos se muestran en el anexo II.
Para el caso inverso con el que se necesita trasla
77
dar niveles TTL a niveles EIA se usa la compuerta 75188.
25 v
3 v
O v
- 3 v
S - ? íí2 5 v .
i i v
5 v
O v
NIVELES DE ENTRADA NIVELES DE SALIDA
FIG. 2.27
2.4.3 Diseno del circuito de control del Canal asincrónico:
Esta sección está inplementada con un circuito MSI
(TMS9902) Controlador de Comunicaciones Asincrónico CCA, de -
la familia de periféricos TMS990 de Texas Instruments.
Los criterios por los cuales se selecciono esta fa_
milla lógica están dados en la sección 2.5.
•Este circuito puede realizar la serialización o -
deserialización de los datos, en una longitud de 5 a 8 bits -
por palabra, detecta el estado del bit de paridad, detecta .-
también la presencia del bit de parada y además genera inte-
rrupciones hacia el microprocesador.
Este circuito contiene los elementos necesarios, p_a_
ra generar las señales de tiempo adecuadas, para la transmi—
sión o recepción, como puede verse en la hoja de especifica—
78
ciones que se da en el anexo II.
La señal de datos recibidos, se conecta a través del
translador de nivel, que a la vez es una compuerta. La señal -
de datos recibidos, se conecta a través del translador de nivel
que a la vez, es una compuerta inversora, a la entrada de da—
tos RIN del controlador de comunicaciones . Ver Fig. 2.28
o ra8I T8
acvo
75í fl 9
DJ*
75f • 9
so
RIN— Sí
32
' 33
T M S 9 9 0 2 *4
CHUOUT
C f t U J N
CKUCLK
D S R - i w r -• 3 -
CE -•
Y
Afl
A / O
A M
,. A 12
cfíuour
_ C R U Í N
C O M Í N T -
8 O O -
INTERFÍCE DE DATOS FIG. 2.28
La señal que informa que el equipo transmisor esta -
operativo (DSR DATA SET READY), se conecta a la entrada DSR -
invertido por el correspondiente translador de nivel.
La señal que informa que el terminal esta listo (DTR
DATA TERMINAL READY), es producida por el programa de control
general, y se obtiene como bit 9 de la dirección de CRtT = 20,
como esta señal es verdadera y debe llevarse a través del co—
rrespondiente trans'lador de nivel, sufre una inversión previa-
mente. Las señales DTR, .RCVD, y DSR, se llevan al exterior a -
79
través de un conector EIA de 25 contactos. La numeración de las seña
les se ha realizado, conservando el estándar RS-232.
" Aunque la interfase RS-232_específica un mayor número de lí
neas de-control, esto e.s para el caso más general en el que se reali
za un enlace entre un procesador y un terminal de transmisión y re-
cepción, tal como un modem.
En el caso que nos ocupa, que es el enlace entre un equipo
trasmisor y un receptor de datos (procesador-impresor) solamente se
necesita las líneas anteriormente descritas.
El controlador .de comunicaciones (ACC) , puede direccionar. -
hasta 32 bits de CRU, a través de las cinco líneas de dirección SO-S4
las cuales se obtienen de las cinco líneas de direccionamiento menos
significativas A8-A12.
La última línea de dirección &13CRUOUT, en el caso de trans
ferencia de datos por CRU no es usada como una línea de dirección, -
sino como una línea por la cual salen los bits de datos en una forma
serial, para una mayor información de lo anterior referirse al anexo
II, hoja de especificaciones del microprocesador TMS9980 Sección 2.4.
La línea de entrada de datos desde el ACC hacia el micropro
cesador se llama CRUIN, y realiza una transferencia en forma serial,
nótese que se necesitan dos señales de sincronización; una señal para
la sincronización de los datos transmitidos por el microprocesador -
CRUCLK, y otra de sincronización general derivada de la fase 3 del
reloj del microprocesador 03 .
La señal de interrupción producida por el ACC, para indicar
al microprocesador que éste necesita servicio es la señal INTCOM, la
que se conecta posteriormente en el circuito de control, a la inte—
80
rrupción 2 del microprocesador.
La entrada de habilitación del ACC, DIR800, esta pro
ducida por la decodificación de la dirección de CRU = 800.
Una explicación completa del circuito de decodifica-
ción de direcciones para los diferentes periféricos de CRU, se
encuentra en la sección 2.5.3.
2.5. DISECO DEL CIRCUITO DE LA UNIDAD CENTRAL DE CONTROL.
La unidad central de control, es la encargada de rea
lizar todo el procesamiento de la información, que se recibe
por la interfase de datosT interpreta-estos, y envía las seña-
les de control correspondientes, para posicionar la cabeza, y
generar las señales convenientes para el formato del carácter
a imprimirse, igualmente envía las señales de control cuando -
se detectan errores.
Esta unidad está implementada con un microprocesador
y controlada por un programa almacenado en una memoria EPROM.
Un diagrama general de bloques, y su relación con
los otros circuitos, se puede ver en la figura 2.29.
2.5.1 Criterios de selección del microprocesador:
Los criterios tomados en cuenta para seleccionar a
la familia del microprocesador TMS9900 de Texas Instruments -
son los siguientes:
a) Disponibilidad de los circuitos integrados; por
la facilidad de adquirir, la familia, completa,
- Microprocesador TMS9980 CPU
- Controlador de Comunicaciones Asincrónico TMS9902 ACC
- Sistema de interfase programable TMS9901
81
- Biestables Direccionables TIM9906 ( 74LS259)
Circuitos necesax"ios de acuerdo a la concepción del proyec-
to.
b) Modulo de evaluación que posee las siguientes ayudas de
programación:
- Assembler simbólico paso .a paso
- Monitor
- Dissasembler, este programa se desarrollo para ayuda en la d_o
aumentación de los programas.
- Programa de grabación de memorias EPROM, este programa también
fue desarrollado para la grabación del programa de control."-
c) Sencilles en el diseño de interconexión entre el micro-
procesador y los circuitos periféricos, ya que esto se realiza
fácilmente a través de pocas líneas y constituyen la Unidad de
Registro de Comunicaciones CRU.
d) Otro aspecto importante es el que se dispone de la*in-
formación completa sobre la familia 990 de Texas Instruments ,
hojas de datos, manuales de programación, y notas de aplicación,
e) Se dispone además de un módulo de evaluación para esta -
familia con las siguientes facilidades.
Microprocesador TMS99SO
Memoria 2K RAM
4K Monitor y Assembler
2K EPROM
Teclado Alfanurnerico ASCII
Entrada-Salida • RS-232
Cassete
82
2.5.2 Arquitectura del Sistema
La figura 2.29 corresponde al diagrama de bloques de la
'unidad de control, donde se muestra al microprocesador, la me
moria RAM y EPROM y además la conexión con los circuitos per_i_
feríeos.
El bus de direcciones es compartido por _todos los elemen
tos del sistema, no así el bus de datos que solamente -une al-
microprocesador y a la memoria (RAM y EPROM)
La transferencia de datos a los circuitos periféricos se
realiza a través del bus de CRP, este es compartido por todos
los circuitos integrados periféricos.
Dos artículos importantes sobre las ventaj'as de usar el
CRU..para entrada y salida de datos en aplicaciones de tiem-
po real.
Lynu E, Costlow, "Optimizing microprocesador I/O Techniques",
Computer Desing, April 1981, PP151-160"..
Henry Davis, "Getting the most out of the 9900 for real
time Control" Electronics, March 79, PP 140-
143.
Un oscilador controlado por cristal, de. una frecuencia
. de 8 MH genera la frecuencia para trabajo del microprocesa
dor, divisores internos producen una señal de 2 MH , que sir
TR
AH
SLA
DO
RD
E
NI
VE
L
7M
S9
90
2
A C
C
X1-
A ff -
CR
U/N
3»C
RU
OU
T
C K
U C
L/C
T8
00
CO
MÍ N
T - <c
TM
S9
90
I
PS
t
I
AS -
A 1
2
C ñ
U O
U T
CR
y C
LK
A
x1-
Xr
74
LS
25
9
TA
B
LE
DM
EC
C/0
-
N A
9L
E T
A8-
A I 2
00
T
CR
l/C
LfC
C
00
D/
WE
CC
IO
t*
ES
A O
-
A I
3
I C
/ -
/ C
3
C/7
U O
UT
.
Cfí
Uff
V
CH
UC
LK
_
03
"-
CK
lti
TM
S9 9
80
CP
U
7\
O »V
T R
O L
v
21
1
RA
M
DA
TO
S
DO
- 0
7
UN
ID
AD
C
EN
TR
AL
DE
C
ON
TR
OL
fig
2,2
9
TM
S2
5/S
2 K'
A 8
E P
R O
M
84
ve para la sincronización de todos los periféricos y el micro-
procesador 03.
2.5.3 Bus de direcciones y decodificacion:
El bus de direcciones esta compuesto de catorce li-
neas AO-A13, las cuales son producidas por el microprocesador
y se usan para hacer referencia a localidades de memoria O a -
bits del CRÜ.
La referencia a localidades de memoria, se distingue
de operaciones de CKUf observando el estado de la señal MEM,
ver hoja de datos del microprocesador en el anexo II, sección
2.10.1. " "'
Esta señal, es un cero lógico, cuando las señales -
presentes en el bus de direcciones, se refieren a una dirección
de memoria.
'Durante un ciclo de CRU, AO y Al son cero lógicos, y
las líneas A2-A12 contienen la dirección efectiva de CRU a la
que•está aludiendo. La línea A13, es compartida como salida -
de datos, es por esto que muchas veces se observará que esta
señal se representa como A13CRUOUT.
El circuito de decodificacion se comparte, entre la -'
decodificación de direcciones de CRU, y la memoria RAM y EPROM
En una secuencia de inicialización (LOAD), el micro-
procesador obtiene el valor del apuntador de registros de tra-
bajo (WP) y el contador de programa (PC) de las dos últimas di
recciones de memoria, es por esta razón que la memoria EPROM,
ocupa localidades más altas. Ver figura 2".30.
Por otra parte los vectores de interrupción y los
85
vectores de las operaciones extendidos (XOP) ocupan las local_i
dades mas bajas, es por ésto que la memoria RAM ocupa las lo-
calidades más bajas. Ver figura 2.30.
5800
3000
2000
/ 00 O
0000
3 F FF2 K
03F F/ K
PARTICIÓN DE MEMORIA FIG. 2.30
Si se considera que para contener el programa general
de funcionamiento del sistema, y además, espacio para almacenar
el formato de los 96 caracteres ASCII, suceptibles de ser impre
sos, se necesitan alrededor de 2K bytes de memoria, escojemos
una memoria EPROM 2716, la cual es fácilmente reprogramable d_u
rante el periodo de prueba.
Las necesidades de memoria RAM son mucho mas modestas
en este punto del diseño del sistema, solamente podemos estimar
que con 1K bytes es suficiente, un cálculo preciso de las verd_a
deras necesidades de memoria RAM,'no se justifica ya que, el
costo de un circuito integrado que contenga 256 o 512 bytes de
86
memoria, es igual, y ocupa la misma superificie en una tarjeta
de circuito.
Por otra parte la asignación de las direcciones de -
CRü de la interface de datos (TMS9902), para el circuito de -
control de motores (TMS9901) y para el circuito de control de
la cabeza de impresión (74LS259) , se toman las mismas direccio
nes que en el modulo de evaluación, para facilitar la prueba
y el diseño del sistema.
Las direcciones de CRU se muestran en la tabla 2.4 -
para los diferentes subsistemas.
DIRECCIÓN DE.CRU DESCRIPCIÓN
TMS9901 CONTROL DE MOTORES
TMS9902 IWTERFñCE DE DATOS
74LS259 CONTROL DE IMPRE—
SION.
TABLñ 2.4
Para la decodificiación de las direcciones de memo-
ria se usa el circuito de la figura 2,31, implementado con un
decodificador dual de dos a cuatro líneas 74LS139.
La señal de habilitación de la memoria EPROM; EPROMCE
se produce siempre que se decodifique una dirección 38XX y ade
mas se esté en un ciclo de memoria MEN, y el microprocesador
requiera de entrada de datos al bus DBIN.
La memoria RAM se habilita; RAMCE, cuando se decodifjl
ca una dirección en el rango de 0000 hasta 03XX, además se este
en un ciclo de memoria MEM, y el microprocesador requiera entra
87
da de datos al bus DBIN, o requiera escritura en la memoria
WE.
3XXX
Al
AO
y 3
Y 2
Yí
Y O
-O
P-
>•
& X X X
S X X X
O X X X
M EM
7 4 L S í 3 3
A 3
A 2
rs
V 2
Y OG
0-C- K X X
B - B X X
-Opgif-'-
7< L S O e
-°i 7 4 L S 2 7
EPROMCE-
7 4 L S O 4
'Tc>
RAKCE-
74LS 04
r 4 L s o Q
FIG, 2.31.
C X X
Para la decodificación de las direcciones de CRU se
usa el circuito de'la figura 2.32, y se aprovecha el circuito
decodificador 74LS139 usado para la decodificación de memoria
ex x -
0 X X -
C R U C O O '
7 4 L 5 3 2
CRUQ OO -
74 L S32
C R U o o o -
74 L S 3 2
A T
' 4 L S 0 4
-^DECODIFICACION DE DIRECCIONES DE CRU
FIG. 2.32.
38
2.5.4 Memoria:
Para el sistema se-usa un circuito integrado 2114, la
cual es una memoria de acceso aleatorio, estática, organizada -
como 1024 localidades de 4 bits; todas las entradas y salidas -
son de tres estados, facilitándose la conexión al bus de datos
y control, estas características, además de que su tiempo de -
ciclo, es igual al tiempo de acceso, determinan que se escoj a
es circuito.
Es.te circuito es fácilmente manejable ya que son dos
las señales para su control:
Una línea de selección del circuito S, esta señal ha
bilita las entradas y las salidas de la memoria cuando es un -
cero lógico, esta señal es manejada por KAMCE, obtenida del de-
codificador. Ver figura 2.33.
El modo de lectura o escritura es seleccionado a tra-
vés del terminal de habi3-itación de escritura W, un uno lógico
selecciona el modo de lectura, un cero lógico selecciona el mo
do de escritura, este terminal es manejado directamente por la
señal WE,'obtenida del microprocesador.
Para evitar escrituras erróneas las señales S, y W
deben estar en uno lógico, mientras cambian las líneas de di—
recciones.
La memoria EPROM, es un circuito integrado TMS2516 -
(Intel 2716), ésta es una memoria que puede ser borrada conx
luz ultravioleta'y eléctricamente reprogramada, .opera con una
sola fuente de poder de +5V, y sus salidas pueden alimentar -
una carga TTL.
SISTEMA DE MEMORIA 89
P O -
W G -
R A í-í C £ -
•
E P R 0 M C E -
0 7
\ 6
\ 5
\ 4
\ *\*\ ?
X
\,
\ 0
\7
\ S
\ ff
\ A
\3
\2
\l
\ 0
"• C
— V
1
/; 9
í / 0 -J A 3
(/ 0 3 A 7
i /O 2 A S
I / 0 / A5
A-?
,» A 3\'¡— M J
A ?
A O
2 / / 4
A íí
í/ 0 4 A G
// 0 3 A7
// 0 2 A S
/ / 0 f AS
• A 4
tV - A 5
A Z
A O
2 / í 4
Q 0 A/O
O í A9
0 2 A 0
0 3 A 7
0 4 A C
05 AS
0 « A4
0 7 A 3
A 2
CS - ^ '
A -5
A 5
A e
A C ,
A S
A J O
A i /
.A (2
A 13 x
A 4 - - y
A5 y
A G x
A7 y
A e ,
A 9 . /
A i O x
A // /
A 1 2 y
AIS ,
A3 /
A 4 /
A 5
A S /
A 8 ,
A 9 ^
AIO /
A J Í /
A 1 2 /
AIS /
T M S 2 5 Í G
F / G 2 . 3 3
retiene en el registro, sincronizado con la fase del reloj 03
ver figura 2.34.
Un circuito RC produce una señal de tensión que sube
lentamente, produciendo un retardo suficiente como para que los
. 94
tes circuitos periféricos, como la interface de datos/ el circuí
to de control de motores y el circuito de control de la._cabeza da
S / S T E M A D E MEMO R I-A 89
D O - p 7
W E -
R A M C E -
•
E P R 0 M C E •
\
\ S
X D 5
\ 4
\3
\ 2
\,
\ 0
\ S
\ ff
\4
\3
\ 2
\'\O
— c
— c
1 — c
n
A 9
1 / 0 4 A S
// 0 3 A7
/ / O 2 A 6
1 / 0 1 A S
A-J
,« A 3Vi —
A 2
S - ^ '
AO
2 / / 4
A 9
1/04 AS
1 / 0 3 A 7
// 0 2 A 6
/ / O í A S
A 4
W - A5
A 2
c - A i
A O
Z / í 4
0 0 AiO
a / A9
0 2 A O
0 3 A 7
0 4 A 6
05 A5
0 6 A 4
0 7 A3
A 2
es - ^ '
A «
A 5
A &
A C ,
AS
A 10 ^
A f í
A /2
A I 3 ,
A 4 •
A 5
A G
Af i
A9 .
Al 0
A / 1
A ) 2 ,
A / 3
A3 „
A 4
A 5
A 6
A 7
A 8
A 9
A (0
. Alt ,
A / 2 ,
A (3 ,
T M S 2 5 / 6
FIG 2 . 3 3
90
Esta memoria está organizada como 2048 direcciones de
8 bits, un cero lógico en los terminales CS, y PD/PGM • es neces_a
rio para habilitación de la lectura de datos, lo cuál se reali-
za con la señal EPROMCE, obtenida en el decodificador anterior-
mente indicado.
2.5.5 Circuito de inicializacion:
La inicializacion del microprocesador, luego de que -
los voltajes de la fuente, han subido, a sus valores estables -
se realiza mediante el vector de interrupción LOAD.
Cuando esta señal de interrupción está activa, el a—
puntador de registros de trabajo (WP), y el contador de progra-
ma (PC) se cargan con los valores que están grabados en las dos
ultimas direcciones de la área de memoria, 3FFC y 3FFE respectó.
vamente.
La señal de carga debería permanecer activa al menos
el período de una instrucción, debido a esto, la señal IAQ del
mismo microprocesador debe ser usada para determinar la duración
de una instrucción, ver hoja de especificaciones TMS9980 anexo
II sección 2.7.1.
Un registro de cuatro bits seleccionado mediante la
señal CARGA (74LS298)/ enruta el vector de interrupción proce-
dente del (TMS9901) PSI, o el vector de carga-cuyo valor, se
retiene en el registro, sincronizado con la fase del reloj 03
ver figura 2.34. ' .
Un circuito RC produce una señal de tensión gue sube
lentamente, produciendo un retardo.suficiente como para que los
91
voltajes de la fuente llegen a sus valores de trabajo; ver figu-
ra 2.34.
Si el voltaje sobre el capacitor está dado por la si—
guíente relación:
<i.^"B(-t}'= (Vcc - VBE) ¿~~RC
R
A t 5
V
CIRCUITO DE INICIALJZACION
FIG, 3.24
La .tensión en el colector del transistor Ql esta dada
por la siguiente ecuación:
V(t) - vcc - icCtjKL
Si el transistor está en la región activa, la corrien
"te de colector es:
92
i /^\_c(t) =3 fe
Y por tanto la tensión en el colector del transistor.
-tV(t) - Vcc - hfe 2 (vcc - vBe) e c
R
Si la compuerta lógica cambia de nivel cuando el volta
je es V(t) = VTH -— 1,6 v, se tiene que:
-t 'e -RC B R (VCG
RT (Vcc - VBE) fe
te RC = RL hfe (Vcc - VBE)
R (vcc -
t = RC Ln ( RL hfe (VCc -
R (VCc - VTH )
Si se escojen los siguientes valores para R, %., y
C; se obtiene un retardo de:
R = 33- K OHM
RL = 4.7 K OHM
C + 15 MF
t = 1,09 Seg.
Este tiempo es suficiente para que las fuentes de po
der al inicio se estabilicen completamente, y comiense la se —
cuencia que carga' el vector de inicialización. Ver. Fig. 3.25.
93
El flanco de subida de la señal de borrado inicia la -
secuencia de carga, se utilizan dos biestab3.es tipo D (74LS74) -
para sincronizar la señal de carga de tal manera que tenga una -o
duración igual, a una instrucción esto se obtiene por medio de
la señal IAQ, que viene del microprocesador.
La señal de carga selecciona en el registro (74LS298)
el valor del vector de interrupción de carga que se envía al mi_
croprocesador.
V T H —
BORRADO-
Q I
I A Q
C A R G A -
FIG. 325
DIAGRAMA DE TIEMPO DE INICIALIZACION
2.5.6 Circuito interno de transferencia de datos (CRU).
Como se puede observar en el diagrama general de blo-
ques, (fig- 2.29) de la unidad central de control, los diferen-
. 94
tes circuitos periféricos, como la interface de datos, el circuí
to de control de motores y el circuito de control de la cabeza de
impresión, no están conectados al bus de datos.
Toda transferencia de información entre el microprocesa
dor y los circuitos periféricos, se realiza a través de la Unidad
de Registro de Comunicaciones (CRU), el cual es un canal de trans_
ferencia serial de datos, ya sea de entrada o salida, sincroniza-
dos por una señal de reloj (CRUCLK).
Se usan por lo tanto solamente tres líneas que son:
CRUIN línea por la cual se adquieren los datos.
CRUOUT, línea por la cual sale la información del microprocésa-
dor, sincronizada con una señal de reloj que produce el mismo mi-
croprocesador y que es CRUCLK; como puede verse en las hojas de -
datos del TMS9980, que se anexan al presente trabajol
2.5,7. Circuito de entrada y salida.
El circuito de control de motores, así como los contro-
les BNLINEA, AVANCE DE LINEA, etc,, están conectados al micropro
cesador a través de un pórtico programable, que a la vez realiza
las funciones de temporizador y decodificador de interrupciones,
éste es el circuito integrado TMS9901 PSI, cuya hoja de especifi-
caciones se muestra en el anexo II.
El pórtico programable (Peripheral System Interface) se
conecta al microprocesador a través de la unidad de registro de -
comunicaciones (CRU), y las líneas de control de interrupción.
El TMS9901 ocupa 32 bits de la unidad de registro de co
municaciones (CRU) como entrada o salida, por lo tanto las cinco
•líneas menos significativas del bus de direcciones están conecta-
95
das a las líneas de direcciones SO-S4 de este circuito.
Los bits mas significativos del bus de direcciones de-
codifican la dirección de CRÜ en este caso CRUOOO , lo cuál se -
conecta a la entrada de habilitación del circuito integrado (TMS
9901) CE.
Las entradas de interrupción del TMS9901 son sincroni-
zadas con la señal de reloj 03 y comparadas con la máscara de in
terrupción, se realiza la priorizacion en caso de entradas simul
táneas, y por último se genera el código de interrupción que se
transmite al microprocesador a través de las señales ICl, IC2,
IC3. . - . . - - .
En el diagrama de bloques del TMS9901 se puede obser-
var que este circuito integrado, tiene hasta 16 puertos de entra
da o salida prograrnables, en la tabla 2.5 se detallan los bits
de salida o entrada y su función, los cuales han sido escogidos
únicamente en ese orden por conveniencia.
La única línea de interrpción, COMINT desde la Ínter
fase de datos se-conecta a la entrada INT4, la cual genera el
vector de interrupción 2 que se enruta al procesador, ver anexo
II hoja de especificaciones. TMS9901.
Las señales FASEA,FASEB, FASEC, PASO, LENTO, sirven p_a
ra controlar el motor de posicionamiento de la cabeza como se -
vio en la sección 2.2,2.
Las señales AVLMA, AVLMB, controlan el motor de avance
de linea.
El bit 5 EN LINEA, señaliza al operador que el impresor
está en' línea listo para recibir datos.
97
A 4- 5 V
A 6
A 3
A 1 0
A 11
A 1 2
V
S 0
S 1
S2
S 3
S 4
r M s
Cfí U 0 U
CRU 1 W
CR U CL
1 C 0
1 C 1
1 C 2
RS T / ~
0 —
\ c
IHT4
990 1
P 15
r P l 4
P 1 3
i/ P I ?K ~ ' **
PIÓ
P03
P (l
P 7
P 6
P 5
P 4
P 3
P Z
P í
P Os
1
<-J•<•<:
C 0 M / // T -
f j>- •<.>• -*£.
^
,
A
>- I >-
S e M S
^ EN'L5W
.... -..1
^-- 300/ f íO
ERROR V
o T n
, A L A R M A
A V E . M B _^
AV LMA
E N L I N E A
LENTO
P A SO _
FA S £ C _
F A 5 £ B
FASZfi.
j* *-
^v\e A A Ajy — r^ y Y '
>n tdí -A A A,/v psj V Wx^ A
"" Xo \O DE ENTRADA X" SALIDA
FIG. 2.36
Simplemente se indica en la figura 2.37
98
T M S 9 9 & O
C K I N
03-
2 M z
CIRCUITO OSCILADOR
FIG. 2.37
C ' A P I T U L O T E R C E R O
DISEÑO DEL PROGRAMA ALMACENADO
CAPITULO TERCERO
DISEÑO DEL PROGRAlvlA ALMACENADO
3. 1 Diagrama de flujo de Funcionamiento:
El funcionamiento total del impresor está controlado
por un programa almacenado en una memoria EPROM.
La figura 3.1 muestra la relación/ que guardan las dife_
rentes subrutinas que realizan el control en tiempo real con los -
diferentes mecanismos del impresor.
La entrada del programa se realiza por medio de la se—
cuencia de encendido de potencia al circuito/ la cual inicializa -
los estados de los componentes, luego se debe llevar el mecanismo
de impresión a la primera posición/ seguidamente se leen los pará-
metros de velocidad de recepción/ para programar la interface de -
comunicaciones, y si el impresor está en línea/ pasa a analizar la
existencia de un carácter en memoria/ el cual/ puede ser un carác
ter de control o un carácter suceptitale de ser impreso, luego se
avanza a una nueva posición.
Un retardo de estabilización que permite que el mecanis-
mo de impresión detenga totalmente sus movimientos, es necesario
antes de la impresión de un nuevo carácter.
Nótese que en el funcionamiento.de! impresor no se ha to
mado en cuenta, la forma en que un carácter recibido por la inte_r
fase de comunicaciones se lleva a su memoria/ esta operación, se -
realiza por medio de una rutina de servicio de interrupción/ ya
que -es de alta prioridad el recibir un carácter y llevarlo a memo-
ria, tan pronto como la interface de comunicaciones tiene el carác
ter completo; la única excepción es cuando el microprocesador
M O
. 102
está esperando terminar una operación de retardo, la cuál no pue
de ser alargada en el tiempo.
3.1.1 Diseño de Subrutinas, interrupciones y operaciones extendidas:
El programa almacenado está compuesto, de varios pro-
gramas menores/ cada uno de los cuales realiza una función esp_e_
cífica, dentro del programa total. Cada segmento es un "modulo"
o una pieza funcional del programa entero que se llama rutina, o
si es de una extención menor se llamará subrutina.
Estructurando un programa en varios módulos funcionales
se obtiene algunas ventajas:
Primero, eficiencia en uso de la memoria. Una función puede ser
definida una sola vez y usarse muchas veces en el programa general
esto es mucho más eficiente en cuanto a uso de memoria que el te-
ner que escribir la rutina cada vez que se la necesite.
Una segunda ventaja usada ampliamente en el desarrollo
del presente trabajo es la facilidad de depuración de los módulos
que realizan una función determinada, los que pueden ser probados
individualmente antes de insertarlos en el programa total.
Otra ventaja es la característica de la familia de mi-
croprocesadores 9900 de Texas Instruments, la que posibilita la -
opción de que cada subrutina tenga su propio grupo de registros -
de trabajo.
El transferir el control de un programa a otro teniendo
cada uno su propio grupo de registros de trabajo se denomina un —'
cambio de contexto, y esto es posible porque esta familia de mi—
croprocesadores, tienen una.arquitectura de memoria a memoria, es
por esto que este tipo de arquitectura permite un cambio de con-
103
texto rápido.
¿ Qué es el contexto de un programa?
Si se considera la figura 3.2, en la cuál se muestra el micro-
procesador y un programa, donde están las cuatro partes principa-
les del contexto de un programa.
Una secuencia de instrucciones dada ocupa un espacio en
memoria, éste es el primer elemento del contexto de un programa,
que normalmente permanece fijo, y esta localizado en RAM, ROM, o
EPROM, como en el presente caso, ya que no está sujeto a cambio.
El área de memoria asignada para los registros de trataa_
jo es también parte del contexto del programa, esta es .una-de. las
primeras tareas, que se deben definir en un diseño de un progra-..
ma.- Esto se hace con una instrucción LWPI, que carga inmediatamen.
te el valor del apuntador de los registros de trabajo (WP).
M 1 C R O P R O C E S A D O R
PR O G R A M A
REGISTROS
D E T R A S A J O
CONTEXTO DE UN PROGRAMA
FIG. 3.2
104
El contador de programa (PC) es un registro interno -
del rnicroprocesador que lleva cuenta de la dirección de la si—
guíente instrucción a ejecutarse, es el tercer elemento del con
texto de un programa.
Cuando un programa es ejecutado, los bits individuales
en el registro de estado (ST) son encendidos o apagados como re-
flejo del estado resultante de la ejecución de una instrucción,
este es el cuarto elemento del contexto de un programa.
Un cambio de contexto puede ser iniciado, ya sea por un
estímulo externo (Hardware), o por programa (Software). La memo-
ria del sistema debe tener la dirección del nuevo programa (PC)
al cuál va a cambiar1 y la dirección de los registros de trabajo
(WP). Es'necesario entonces un vector de dos palabras, para rea
lizar un cambio de contexto, y se necesita también el guardar el
contexto anterior en los tres últimos registros de la nueva área
de registros de trabajo.
Un evento fuera del rnicroprocesador que requiere inme
diata atención, es un cambio de contexto iniciado por Hardware,
y constituye una interrupción. Un caso de este tipo es el que -
ocurre cuando por la línea de recepción entra al puerto de comu-
nicaciones un carácter, este tiene que inmediatamente guardarse
en memoria, en el sitio adecuado, antes de que otro carácter com
pleto llegue, de lo contrario se podrían perder caracteres. Una
discución más amplia de esto se hará en la sección .3.7.1.
La familia de microprocesadores 9900, emplean interrup
ciones priorizadas, y vectorizadas. El procesador es capaz de -
recibir un número de interrupciones y a cada interrupción se le -
asigna un código específico, el cual sirve para identificar la -
105
interrupción así como también para asignarle una px'ioridad relata
va en relación con las otras interrupciones. Específicamente el
TMS9980 implementa seis niveles de interrupciones. Ver fig. 3.3..
ICO -I C í
í C2 T M S 9 9 80
ICO IC1 IC2 • FUNCIÓN
.0 "O O RESET
O . 0 . 1 RESET . . . .
O 1 0 INT. D E CARGA
0 1 1 NIVEL 1 INTERRUPCIÓN
1 0 0 NIVEL 2 INTERRUPCIÓN
I 0 1 NIVEL 3 INTERRUPCIÓN
I I O NIVEL 4 INTERRUPCIÓN
NIVELES DE INTERRUPCIÓN FIG. 3.3
El nivel de RESET es el de mayor prioridad. La lógica
del TMS9980 usa las tres líneas del vector ICO, ICl, IC2, para re
conocer cuando hay un pedido de interrupción. Si el código pre-
sente en estas tres líneas de entrada representa, un nivel de in
terrupción menor o igual, al valor de los últimos cuatro bits
del registro de estados (ST) , el pedido de interrupción es a cejo
tado y un cambio de contexto se realiza luego de completar la -
ejecución de la instrucción en curso, y antes de traer de memoria
106
la siguiente instrucción.
Los cuatro bits menos significativos del registro de -
estados (ST) se usan para prevenir interrupciones de prioridad -
insuficientes estos bits son afectados automáticamente cuando
ocurre una interrupción, y también pueden ser cambiados bajo co_n_
trol del programa, con la instrucción LIMI (Load interrup mask
inmediate).
El nivel representado por el código de tres bits en las
líneas de interrupción ICO- IC2, son usadas por el microprocesador
para determinar la localización de un vector de dos palabras, pa-
ra el cambio de contexto. En la figura 3.4 se observa un mapa
de las localidades en memoria asociadas a cada nivel de interrup_
ción.
0000
0004
0008
OOOC
0010
OFFC
WP
PC
WP
PC
WP
PC
WP
PC
WP
PC
(0)
(0)
(1)(1)
(2)
(2)
(3)
(3)
(4)
(4)
I1111t
WP
PC
(CARGA)
(CARGA)
Vector RESET
Vector Nivel 1
Vector Nivel 2
Vector Nivel 3
Vector Nivel 4
Vector de Carga
MAPA DE INTERRUPCIONES FIG. 3.4
107
La primera palabra (16 bits) contiene la dirección de
los registros de trabajo (WP) y la segunda la dirección en me-
moria, de la primera.instrucción del programa (PC),
Es también posible iniciar un cambio de contexto por -
programa, las dos instrucciones que permiten esto son:
XOP (Extended Operation) y BLWP (Branch load workespace pointer).
La primera es una instrucción de operación extendida,
la cual puede pensarse que es igual a una interrupción por pro-
grama, ya que funciona igualmente.
Esta instrucción XOP, tiene dos operandos asociados,
. el segundo operando es un numero en el rango de O a 15, éste es
el numero de la operación, identifica la localización de un vec-
tor de dos palabras en memoria, que contiene la dirección de los
registros de trabajo (WP), y la dirección de la primera instru£
ción del programa que constituye la operación extendida (PO).
Este número se puede pensar que es como el nivel de una interrup
ción usado para identificarla.
La localización de cada vector, en memoria de una opera
ción extendida (XOP) se puede ver en la figura 3.5.
Cuando una operación extendida se ejecuta el procesador
usa el código asociado con la operación para identificar la loca
lidad del vector, para el cambio de contexto y realizar el pro-
grama de la operación extendida.
Existen algunas diferencias funcionales entre un cambio
de contexto por interrupción, y un cambio de contexto por una o-
peración extendida (XOP); primero no existe un nivel de prioridad
108
0040
0044
0048
007C
WP
PC
WP
PC
WP
PC
XOPO
XOPO
XOPl
XOP1
XOP2
XOP2
!
11[I
WP
PC
XOP15
XOP15
Vector XOPO
Vector XOPl
Vector XOP2
Vector XOP15
. MAPA DE VECTORES DE OPERACIONES EXTENDIDAS
FIG. 3.5 .
asociada con cada operación extendidar y su ejecución no afecta a
los cuatro bits de la máscara de interrupciones del registro de -
estados (ST). El procesador no hace distinciones de prioridad en
tre una operación extendida y otra.
Además, la instrucción de operación extendida hace que
un valor definido en el primer operando, sea colocado en el re—
gistro (Rll) once del nuevo grupo de registros de trabajo, esto -
permite pasar parámetros, al programa que ejecuta la operación ex
tendida, desde el programa que llama a la operación extendida.
Esta instrucción se usará ampliamente a lo largo del -
presente trabajo para ejecutar la rutina de retardo con una sola
instrucción, y el valor del retardo, que para cada caso varía,
109
se transfiere como el contenido del primer operando, una amplia
discución de esto se realiza en la secci5n 3.1.2.
El retorno al programa principal se realiza de identi
ca manera que el retorno de una interrupción.
La otra instrucción que puede realisar un cambio de -
contexto por programa, es la instrucción BLWP, esta ejecuta el
salto a un nuevo contexto de la misma manera que la instrucción
anterior, con la diferencia que esta tiene como operando una di-
rección en memoria donde está definido el vector de cambio de -
contexto.
El retorno de un contexto es simple , ya que se lo re_a_
liza a través de la instrucción RTWP (Return with work space poin_
ter) , la cual restaura el apuntador de registros de trabajo (WP)
desde el registro R13 , el controlador de programa (PC) desde el -
registro R15 con lo cual queda restituido completamente el conte_x
to del programa anterior al cambio, como se puede ver en la fig_u
ra 3 . 6 .
1r M S 3 9 Q 0
WP k
P C f^.
s r f^~
P R O G R A M AA
P R O G R A M AB
D ET R A B A J O
R / 3
R / 4
R /5
RETORNO DE UN CAMBIO DE CONTEXTO
FIG. 3.6
' ' 110
3.1.2 Diseño de la rutina de retardo XOP 0:
Para realizar el retardo con una mayor eficiencia de
memoria, es decir con el mínimo de instrucciones, se implemen.
ta a través de una operación extendida (XOP) y se ha escogido
el código de operación cero (XOP O), de tal manera que el a-~
puntador de registros de trabajo y el contador de programa
tendrán que cargarse con las direcciones 0040 g y 0042 5 s_e
gún se puede observar en la figura 3.5.
Como el objeto del retardo es proveer de una dura-
ción fija, determinada sólo por el valor del retardo deseado
•y no puede ser interrumpida por ninguna circunstancia, es por
esto que se enmascara toda interrupción hasta que haya trans-
currido el tiempo de retardo deseado, luego del cual se habi-
lita la máscara de interrupciones; ve'r figura 3.7, donde se
ilustra la rutina de servicio de retardo, con su correspondien_
te listado de programa.
La programación del TMS9901 como controlador de tiem
po (TIMER) se realiza de la siguiente manera:
El bit de control (BitO) del TMS9901 se pone en cero
lógico, esto coloca al puerto en modo de interrupción, permi-
tiendo programar la máscara de interrupciones interna del cir
cuito, a continuación se habilita el bit de•interrupción del
reloj (Bit 3) poniéndolo a uno-lógico, además también la inte-
rrupción del puerto de comunicaciones (INTCOM) que puede en—
trar por el bit4 se enmascara, a continuación se carga vía
CRU el valor del retardo en los 14 bits del contador de reloj
al transferirse el último bit de control (BITO) empieza la
<r
-»-
» ~ *
S M °
>~ -
ro 0 -
<-
ÍT,
~í H
5 H Pl 70
K31 o o
^
tn o
0 o ~z
H ü
m
ni53
»=D
>c
w~°
r-
o
——
-l
PI w
c H
D O
o m
X o •o o
o O
riISflSSEMBLER • - • • 112B HDD TEOL RDD FFfl
•GF.EO 0300 «• SÜBRÜTINR DE SERVICIO DEL RETRRDD *07EO 0300 * OPERRCIDN EXTENDIDR O XOR O *07EOOFEO07EO07E O 0300 *• • 'OFEO 0300 LIP1I >0000 . DESRBILI TE INTERRUPCIONESOFE£ 000007E4 1EOO SBZ >00 MUDO DE INTERRUPCIÓN07E6 1D03 SBD >03 . HRBILITE INT. DEL RELOJ07E8 1E04 SBZ >04 DESRBILITE INT. COM07ER 33CB LDCR Rll?15 CRRGE EL VRLGR DEL RETñRDOOFEC 1FOF TB ;> OF HR TRRNSCURRIIiQ EL TIEMPO '07EE liSFE JNE > OFEC NO07FO 1EOO SBZ >00 SI HRBILITE INT. £OFF£ 1E03 SBZ >03 BORRE INT. DEL RELOJ07F4 ID04 SEO >0407F6 0300 LIMI >OOOS HREILITE INTERRUPCIONESOFF8 000£ ' .07FR 0330 RTUIP • -RETORNO -
113
cuenta descendente, produciéndose una interrupción cuando este -
registro llega al valor cero, una explicación detallada de este
proceso y de las diferentes formas de funcionamiento del TMS9901
se muestran en el anexo U hoja de especificaciones del TMS9901
PSI.
La frecuencia a la cual el registro reloj es decreme_n
tado es igual a:
f.
64
Si en nuestro sistema el valor de f/ o- frecuencia del reloj es
de 2 10 H2 tenemos gue:
f DEC = 2. 106 Hz
64
= 31'25
El mínimo tiempo gue se puede obtener de retardo sería entonces:
t = 1
fDEC
t - 1
31.25 103
-f- = "39 nQI— — O ¿. lli-J
Si se desea obtener un retardo de 1.0 ms por ejemplo, el valor que
debe cargarse en el registro de reloj es el siguiente:
R =
114
R =- 1 10~3
32 10~6
R = 31,25
R16 = 1F16
Si se desea una mayor precisión se debe tomar en cuenta el tiempo
empleado en servir a la rutina de retardo, que experiinentalmente se
encuentra igual a 96 10 S, se tiene por lo tanto que restar es-
te valor del registro de reloj.
R = ( RET - 96 10 ) S
32 10~6
R = 904 10 6
32 10~6
R = 28
R16 = 1C16
El bit de control (BITO) también tiene que ser cargado con un uno
lógico para habilitar el reloj, y que empiece la cuenta descenden-
tey de tal manera que para un retardo de Ims el valor a cargarse -
en él registro del TMS9901 es 39,^ como puede verse en la fiqu16 I)—
ra "3.8.
,. .115
C K M
0
CK 13
0
CK 12
0
C K ' I I
0
C K 10
0
CK 9
0
C K -
o
CK V
0
CK 6
O
CK 5
í
C K 1
í
. —
C K 3 C K 2 C K I CONT
/ 0 0 í
o o
REGISTRO DE RELOJ
FIG. 3.8
El programa completo se da en la figura 3.7; además, se
acompaña el correspondiente listado.
3.2. Rutina de Inicialización:
Luego de que el circuito es encendido, inmediatamente -
es necesario poner en cero el puerto de entrada y salida (TMS9901)
y el puerto de comunicaciones (TMS9902), así como cargar los dife
rentes parámetros en la memoria RAM, que serán necesarios para la
operación del programa.
Una vez que el circuito (Hardware) y el programa (Soft-
v/are) están inicializados se procede a colocar el cax~ro en la po-
sición inicial, así como también todos los registros y memorias
necesarias para la operación del impresor. •
3.2.1 Rutina de inicialización del TMS9901 y el TMS9902:
Esta rutina básicamente pone en cero los pórticos de -
entrada - salida y el pórtico de comunicaciones, como se puede -
ver en la figura 3.9.
fTNTf l AD A
D I R E C C I Ó N
D E C f 5 U
D £ CONTFI OL
M O P O Ü E
C O N T R O L
f ? S T 2 - O
P 0 - P/0
E N T R A D A S
O f R E C C f OH
D E C R Ü
fí 13 = 800
a i T 3 r = 0
M U E V A L O S
V A L O R E S
E P R O M - R A M
S A L / D A
116
R U T / N A DE / N / C / A L / Z A C / O N
DEL T M S 9 9 0 / Y T M S 9 3 0 2
F / G . 3 .
o CM t-i
aa
a
Lii
Ul
« zz UJ
£••'!'
0"".! 'r di
* ^ •5-
•b *¥>•
•$•
•$• 0- « í •T*
4 -ij- •4- •c» -fr
•~-
O 0
'-• «
U
JO
J C
U
OJ
'_'
I ¡
U-¡ l-J
'—
•
oz
en •—
•cu
ÜJ
_1
'—
•
a .
*
o
^
o $-
H-1
* -i-U
l 4-
M a
fl-
uí >
ir -
-\-zc
•*
t-H
U
-»
;_
-$.
r* a
. •*
££
_=
:*$
• t V•£
•&
• -4
r
•r- o
•-•
UJ
UJ
UJ
¡"U f
u f
u•_
• •_
• •_
•
'—
'— '
'— '
CU C
U CU
*Ü
JT-
H
'Ti
ZZ
a-.
a1X
1 O
£
LL
UJ
Jüj
Ul
2Z
LUa
ijj
HH
lV
*
o az
«r
o
_j ÜL
HH
'_'
O
UJ
HH
'—
•
ZZ
'— '
1 — 1
.--,.
•$•
1~H
•£
LL
^
ZH-'
9-
—1
•£ •*•*
-*•
-i- ^
0 0
C
' 0 0
LU U
J U
J U
J U
JfU
C
U O
J O
J C
U'_
' '_
' '_
' '_
' '_
'
'— '
'— '
'—'
'—'
'— '
OJ
fu C
U C
U '"
U
a ü£ a L'i
ÜJ
1-4 Ct
UJ
1-4
>— í
.•\.
CU Y-H ¿i.'
1—1
_J
o
r 'i
Ul o
•-•
CU
•_'
'_'
cu i
-ry
cu
a-» 'X'
í ÜiT~i
UJ
11 _
g a
P'
C'i
zz ir
a N
uj ir
1—4
f— (
O
i— i ZI
OQ
í— i
. o
U
,•—
' '*_
'í'--
. ..•"•
%
a N
t'j'j
¿iij
O'j
C-''i
'-.
-r- LL
•— -
•— '
•— •
0 M
U
J•_'
T-i
1—
1
'•£' c
o ¡r
CU
O
J C
U
U)
LU M iZ¿ o UJ
1— í
!— J
OJ r.
fu T-H Lt"
!— l _J o •— •
OJ
'— '
o flj
\~ hH í-Q a a Q
]' *f
V
H
_J
•=• r
-T-H
iVj
ü,
TJ-
UJ
_J Q
' ir
LU 0
i>!
CL
_J
UJ
UJ
ZZ irÜ
J O
í
a: L
Z3LD
iZ
¿
0pj
LL O C
O
T-I
.-•'
%1-
H
v.
- C
UT
/-
",j~
-r
— 1
iZtÜ
Ct:
Ci'J
(V
Ct!
O.J
P
»-H
O
-J
_J
o -
tf- rf
aCU
O
O
'— '
O
rj-
OJ
CU
•— <
•_'
C' i
'— '
LU o
cu
^r
' — '
-i— l
«r
H iH
OJ
OJ
'XI
CU
XI
7'' /i ¿r _i UJ o 5 t~H O ir T--.J
HH OZ
i — ;
O i — i
ZZ Í-H •fr A1 <j > •Í' •f
-t•=
. LL
LL
'„'
T-H
%—
1
CO
UJ
LU'—
' '-í
T-Í
'•£'
CO C
Oi—
I t-H
-i—
l
CU O
J CU
LL T-H ••\j
íi_
cq a
O'j
ZZ
U.
'-•v-¡
'_
.'
UJ
Cf
T-H
T-H
co ir
T-H
-T
— I
CU
OJ
•&
fy
•&
i'jj a: a
:a
i-t
_) d
i.ir a r. y U
J ""
i— >
rU
J _
U!
UJ
LL w g ÜJ
«r o
z:
ijj «
r a
Ctí
ZZ
fj£ir
_í
a.a
>r L
U*
> >
->>• t
4"*
-4-
<-
4-
-fr
-t--4-
-^
-T-
i-
-$•
-í-
o
-r-
>r-
OJ
OJ
CUIJ
J
ÜJ U
Ji_
i l_
i L_i
O O
Ot— i
-r— i -
rH
CU O
J CU
Í-'V co ÜJ
v-l
'M -ir UJ -o-
IJJ
T-H
.
ü !— !
C1"
:
.•\t
"r- a ZI
<> o
-r-O
J C
UCU
UJ
i_i
i_j
O O
T—
( fH
CU f
u
CL a Ul
c& o UJ co ,.AS
iíi
"2- a ?~
rj-
rj- o
rj-
t"_'i
CO C
U '
— '
M
T-H u
j LU
i.'.'
•—'
i_i
i.O
UJ
•-'
CU
Tf
T-H c
u oj
cu
OJ
CU C
U C
U
LL p Ul
o ü_ cu c- UJ co /\*
~j-- a zr
o
•-«•^
cu
'— •
1,0
'— '
l_l
'•£>
OJ
CU i
'UO
J CU
OJ a HS O ó. c¿ Ct
.U
J I— HH CL CO CO o u
.CO
'
.••\l
":- á JZ
'•jj
CU
'— •
Oj
•-• r
r cu
•-•
ÜJ
'— '
CO
UJ
i.O
'— '
i_i
"'.i
ir o
LU
•-•i. U
' U
t. U
i. '
.'CU
OJ
OJ
CU
OJ
•7- a o CL Ct-;
UJ
H o LL
•H<
U CO .•'\*
I=-
CZ1
2Z
co '—
• ir
ir-.
cu
•-'
o'-'
ÚJ
LU '-'
•_' i
_i i
-.i *
_•
CU -
& '
.£1
CO
'.'J
C'.i
CO i.
OCU
fu
OJ
CU
0*5
UJ
ÜJ
Ct! o UJ
OJ
M M co /\*
CL
~>a
azz
sz
'-'
'-'•-
' CU
'— •
i.OT-
H
I_J
az o
CO
'.OCU
O
J-_
• •_
'
ÚJ
CL'
LL IjJ i— i
LÜ í a o •r Q M CO s\*
~;_ a zz
TT
ÜJ
'— '
n a
*« cu
H-Í
T-I
1.0
1.0
'— •
'—i
UJ
>~'
OJ
CU '
"U O
J
LÜ
_'
LL
LÜ t-t
LÜ 1— ¡~ iV'i a o fu
. ir ••¿
ilZ
}
M CO ~ó
~-, a
•¿_
Tj-
'—
' '—
< :¿
l C
U
t-í r
oj
t-¡ ij
_1
J
V-i
UJ
1
1
T"1
CO
'—
' LJ i'i
'— '
•^
'.£1
CO
CE
O^
T
"T
~
T
'^T
CU C
u O
J CU
'"U
ÚJ
LL LU M UJ
H- í H-
iV'i a LJ
T-H co cr*
üj
CO .'•-.
l?ó
"~.
b zz '-' Ú
JC
U
MU
J M
'_' i1
;
ÜJ 0
"T
Ü"~i
•* •r T-H o OJ y
-fj
'»*-
"i pi
pi ro ro
ru PJ
PJ r
o PJ pj.ro
ro
ro ro ru ro
ro ro ro PJ
PJ ru ro ro
PJ r
u ru ro ro ro
PJ ro
ru ru ru ro
ro ro PJ ro
ro ro
ru r
oj x<
ID
~D X' X1 X'
'•£' '•£
,' VD
'•£•
'-o '•
£' '•£'
'•£'
co c
o co Oj oj
co c
o oj
"-J
~\ ~\
~\ ~-J "M ~j
~-o
u"*- 'i
*- o"«
o"'-
o"'- rr
-, ij-.
ij-. en
<_n en e
n en e
nj X'
co ij'
1 4 ro
<~' rn n
X' co
CT-. 4
PJ o m o
ID 5j
ij*- -
£ ro
>~- m o
x> co
o**- 4*
- ro o r
n o
i co
cr-. ¿
fo o
m o
x< Ój
o**- -
A'-1
i-"
' o
P
'' ''•'
) o
o
'u-
o
''•''
'~~i
e-
u "i
O o
'10
O •
—•
C-J
O o
C
O O
•—•
'.O
O o
O."
O o
Cu O
-~
' C
O O
*—•
'.O
O
*~< C
O O
o
Cu O
o
OJ O
o
CO
O
o
'10 O
,—, r
n 41
ó £
i 4x
t-t
p'i p
'i M
M i-
¡~t
rn p
'1 tí
oí' >
-*• tí
co >-
*• tí
co i-
tí
co ro
tí
co ro
tí
co *-
* ti
co
i-j- t
í oj
*-*•
tí cc
i ro
tí
co >
~t t1
co
>-"• t
í co
"-1 ti
DJ
,—..—
. pj
úi m
p-i
Q .£
, p3
td
fó t
í o
fó e
n o
fu o
o
ro n
o
fo n
Q
ro
*M n
fó
PJ
o ro
rn
t? P
J tí
tí ro
o
tí P
J -A
tí PJ
m t
í ro
tí
tí ro
X' t
í P
J,—
, ,-.
.—. .
—, o
ó
•'£
' o
o m
•"•
'—• ó
'~-
co
co
•"•
o
rn o
ID
o
o
oj x
< o
co
>j'-
r—.
4.
ro o
'ir«
ro
-r-
co 4^
- o
f o
•"•
o
o
m o
PJ
o
-~> c
o xi
o ^
>. j
o
a
r n
r-
"U
"zl
~0
-xl
ra
_a.
aa
n •-
co rñO
JM tó m
Oj tí o
Ijj
tí o m
O1" tí o m
co tí t~i o
'.•j tí íü
Ijj
tíl.lj
MLO tí tí P
J
CO MLO ñ
LO tí tí mtí o
co M
7O 7
Oc m
_i _
¡•-•
X'
:z T
OX
' M a
i— i m t
í m•n T
I --.J
m •
TI f
na (•-
•i H
X'
<"
X'
~~7
f"! m r-t m r i— i IZ m X"
o X'
70 ij¡ rn- TI m —i
X'
7O tí a M m
ro PJ o TI m H
. X
i.70 tí a i—
im ro o l~
i'
tí 0 H a IZ a tí m X' r X'
TI
13 X1
n 3 i—< m
PJ en OJ ti m
o o m H X' 6 M m
m H 5 •
i-i rn
rn H a i-i m ru
--.J rn
PJ ro
M rn m a —i
7^ á
en
m IT,
TI m — ¡
x¡ í-t a t? fn
tí i— *
70 " M m r tí
ti f— « 70 • M m o ?n
TI ni H X< M a í~l m
i — r H i—»
X'
tí f-H T;
TI TI m rn a iVl
m m
4> enm r~ tí
m PJ t? rn r ~n ^j
tí rñ C3 m t? m 70 f/¡ v—< a
m o o a m r a 70 x¡ —i
a
aa
122
Luego de que se ha cargado el valor de la dirección de
CRU del TMS9901, en el correspondiente registro, se pone el por--
tico en modo de reloj (BIT 0) por medio del bit de control, en -
este modo de operación al escribir un valor cero en el bit 15,
se ejecuta un borrado general del pórtico por programa (Software
reset), todas las líneas de entrada/salida se colocan en modo
de entrada, haciéndose necesario inmediatamente, programar las -
líneas de salida que correspondan, ésto se consigue cargando el
valor cero en los pnce primeros bits del TMS9901, los cuales de
hoy en adelante serán líneas de salida, ver diagrama de flujo de
la figura 3.9,
Los restantes bits permanecen como líneas de entrada.
La puesta a cero del -puerto de comunicaciones es muy simple, es
cribiendo un uno o cero en el bit 31, se obtiene el borrado de
todos los registros internos.
3.2.2 Inicializacion de Memoria:
A pesar de que el programa está almacenado en memoria
EPROM, los registros de trabajo para las diferentes rutinas tie_
nen que ser inicializados; en primera instancia se podría pensar•
• que se puede escoger una zona de memoria residente en EPROM que
contengan los datos o parámetros necesarios para la operación -
pero un examen más detenido muestra que los registros de trabajo
necesariamente tienen que residir en memoria RAM, ya que el con-
texto de un programa anterior tiene que grabarse en los tres úl-
timos registros de trabajo, siendo imposible si utilizamos memo-
ria de solo lectura.
. La carga de los diferentes valores o parámetros en los
123
0 0 0
0 2 0
0 4 0
0 6 0
0 8 0
0 A 0
0 C 0
0 E 0
í 0 0
/ 2 0
i 4 0
1 6 0
/ 8 0
/ A 0
/ C 0 .
/ E 0
200
2 2 0
2 4 0
2 6 0
2 8 0
2 A 0
2 CO
2 £0
V E C T O R E S D E I N T E R R U P C I O N E S
V E C T O R E S DE O P E R A C I O N E S E X T E N D / D A S
L E C T U R A D E P A R Á M E T R O S
.
I N / C / A L / Z A C / O N D E P U E R T O S
R E T O R N O D E L C A R R O
I M P R E S I Ó N D E C A R A C T E R E S
A V A N C E , R E G R E S O D E U N E S P A C I OA V A N C E D E L / N E A , A L A R M A
S A L / D A D E C A R A C T E R E S
P R E P O S Í C / O N A M / E N T O D E L C A R R O , E R R O R
C O N T R O L G E N E R A L
I N T 2 E N T R A D A D E C A R A C T E R E S
R E T A R D O X O P 0
M A P A D E M E M O R I A R A M
FI G . 3,10
1.24
registros de trabajo se realiza mediante la instrucción MOV, la
cual mueve los valores deseados desde una localidad en memoria
EPROM a la zona de memoria RAM según el mapa de la figura 3.10
3.2.3 Rutina de Preposicionamiento y Parqueo de carro:
Esta rutina tiene por objeto el cargar los valores co
rrespondientes en el registro cero (RO) , que es el registro us_a
do para llevar cuenta del orden sucesivo en que deben encender-
se las fases motor/ ya sea para avance hacia la derecha o retro
ceso a la izquierda. En la figura 3.11 se representan los bits
del registro cero y su correspondencia con las fases del motor.
Inicialmente se carga con el valor 100, es decir se enciende la
fase A, se produce luego el avance del carro un espacio a la d_e_
recha para sincronizar el cambio de fases de alimentación con
la posición del motor, ya que este no es de imán, permanente
y no existe un torque residual, que en ausencia de alimentación
enfrente correctamente los polos del motor.
Luego se mueve el carro hacia la izquierda, tantas p_o
siciones como sean necesarias, ya que el carro puede estar ini-
cialrnente en cualquier posición al azar.
La detección del extremo izquierdo se realiza con el
siguiente algoritmo; una vez que se ha iniciado el movimiento -
del carro hacia la izquierda luego de haber encendido las fases
de alimentación y haber transcurrido un tiempo de 1,2 ms, se -
inicializa el TMS9901 como un contador de tiempo de 4.5 ms, si
la señal del sensor óptico se enciende en un tiempo menor a 4,5
ms, no se ha detenido el carro en la posición extrema izquierda
y se sigue, la rutina normal de retroceso de un espacio, ade—
más se inicia un nuevo ciclo. En caso contrario, si se ha lie-
125
gado a la posición extrema izquierda, por lo cual se avanza ha-
cia la derecha un espacio, se reporta el estado de las fases
(registro cero) , y se pone a cero el registro de posición, como
se puede observar en el diagrama de flujo de la figura 3.12 y
3.13.
1 O 1 2 3 - 1 5 5 7 8 9 1 0 I Í
X X X X X 0 0 1 X - X X X
r ¿ '
.-- r A
(2
V/\ E
í EC (T
1 3 í
X >
A
8r
4 15
í X
FIG. 3.11
La realimentación introducida por la señal del sensor
óptico, no solamente sirve para determinar un obstáculo al movi
miento del mecanismo, sino también para determinar el momento -
en que se debe frenar el movimiento para un posicionamiento más
exacto.
Los anteriores y otros aspectos.propios del control -
del movimiento, aceleración y frenado del motor se detallan en
la sección 3.5.1.
3-.3 Rutina de lectura' de parámetros:
A pesar de que los parámetros necesarios para el fun-
cionamiento del impresor, han sido leídos desde el programa al-
macenado en la memoria EPROM.
EWT R A P A
C A fl G E
R E S DE FASES
PE T R A B A J O
A V A W C E O E
U / / S P A C Í O
D E L
M O T O R
R E T A R D O
Í.2 M S
126
CA K B E
EL
T E M P O R Í Z A D O R
P R E P O S / C / G N A M I E N T O
Y P A R Q U E O D E L C A R R O
F / G , 3 . Í H
127
F R E W A D O
D E L
C Aíífí O
R E T A R D O
2 . 2 M S
R E T R O C E S O
D EL
C A R R O
R E T A R D O
D E
4.S MS
R E T A R D O
DE
\ E S T A 8 / L I Z A C I O M /
P R E P O S / C / O N A M I E N T O
Y P A R Q U E O D E L C A R R O
R E T A R DO
D E
4 . 0 M 6*
A V A N C E
D E UN
E S P A C I O
E L R E G / S T R O
D E F A S E S
P O S
11
i cion
0 "
R E T O R N O
Fl G, 3. / 3
'DISFlSSEMBLERB RDD 3EOL RDD 4B6
03 E 0OSEOOSEOOSEO03 E 0OSEOOSEO03E£OSE 403E6OSES03ER03 ECOSEE03 FO03 F£03 F4OSF603FS03FR03FC03FE040004 0004 0 004 0£04040406040304 OR04 OC040 E041 004 1£04140416041304 IR04 1C041 E04 £004££04£404£604£804£R03 £C04 £E04 £E04SE042 004 ÍES0434043 604c304 3 R04SC043 E
0£00os oo0£000£000£000£000£000 1 0 00£OC00£002030113OS 040045Oc'0500390£07OOF50£0£01C91 0 0 01 0 0 01E041 E 041E04IDOSSOCO£C14ID 0406ROSFR£ÍFÍF16FE1E041E03SOCO.£015ID 04ID 03SC1406RO3F94SOCOSCI?1E03£C1£SCÍS06RO06RO06RO3FRS1É04ID 03SOCO£C14ID 0406RO3F94
o RUTINR DE PREPOSICIÓN Y1 PRRQUEO *+* !.,JP =* 4. 4- + 4. 4>>
+
*
LI
LI
LI
LI
LI
LI
LI
NOPNOP
«. ++ 0-4-4-*
SBZSBDLDCRXDPSBDBL
TBJNESBZSBZLDCRXOPSEDSBDXOPBL
LDCRXDPSBZXOPXOP
444-4-4.4-
«V
BL
SBZSEOLDCRXtiPSBDBL '
DEL CñR> £ 0 04- 4- 4- 4- 4- 4- 4- •*• -4- 4-
R 0 ? > 0 1 0 0
Ríe. o 0020
R3?>0113
R4.- > 0045
R5? > 0039
R?.*> OOF5
R£r > 01C9'
HVRNCE DE
,V04> 03R 0 ? 3*-R4.i 0>04:?>3FR£
> 1 F> 040 E> 04> 03R 0 .1 3+ P5:» 0> 04 '> 03 . -*R4? 0S*>3F34
. RO.-3 .•*R7? 0> 03*R£.-. 0 -•R£.i 0
RETROCESO t
S'>3Ffl£
> 04. > OSR 0 ," S+ R4.1 0>04..í'>3F93
RO **
4- <> - «- -4- -fr «- <? «• -«r •*• * •* •*• -4=- A - •* -0- 4-
REb. DE FRSES.
DIP DE CRU DE E^S
RETRRDO DE 4.5 MS
RETRRDO DE 1 „ £ MS
RETRRDD DE 1. 0 MS
RETRRDD DE 4. 0 MS-RETRRDD DE 7.5 MS
UN ESPRCID <« «-<H!>4-4-
LENTO = 0PRSD = 1ENCIENDR LRS FRSESRETRRDO DE l.£ MSLENTO = 1REGRESO DE FñSES
SENSOR ÓPTICO EN UNDESPERELENTO = 0PRSO = 1FRENE EL MOTORRETRRDD DE 1 . 0 MSLENTO = 1PRSO = 1RETRRDO DE l.£ MSRVRNCE DE FRSES
ENCIENDR EL MOTORRETRRDQ DE 4. 0 MSPñSD =0 -RETRRDO DE 7.5. MSPETRRDD DE- 7.5 MSDEL CñRRD «•4-4-*-4-4-
REGRESD DE FRSES
LENTO =0PRSO =1ENCIENBR LRS FRSESRETRRDO DE l.£ MSLENTO -1RVRNCE DE FñSES
*
128 -
en OJ
H
.-J a Ctl i— ZI
n o ÜJ
M — i
£V O ÜJ
U-J •
OÍ
»-i
i "e
l '*'-
•a
r _J
in a
a LU
* z
i»-
i C
t: TÍ
- ._
io ü
1
ÜJ
ZI
Hi
ÜJ
Ci Ü
JLe
í. L~
J !
Chi
' a a
uj i-
ci a
j — zi ilii
'—i
ZI
:-H <
X í
—H
H
1—
LL
LU L
U a
UJ í-
CL
l— J
t~ i
C
¿
_j
LU n
a »-H
I_D
iX'
i-j
-£EI
Q:
ZI
a ce
'X ü
j i-
C"
1X1
T-_
Irt •
rf- a >— f Cti
Líl
_!
O C-O ZI iin
-i C
ti
aÜ
J
• C
t: 'X
iCU
S
I1- g
o
.j ÜJ
ÜJ
o
i i
n c:
aII
ZI
Qa
üj L
U"
K a
M ix
ÜJ
'X ZI
LU_l
CL ü
J C¿
>X<
"~ i
XCU
LL
•r-t
LU
ÜJ
V-H
ci a
ü a
u
jII
Ci
Oa
ai a
}- a
ce
tv7-
¡y\ —
| —
LU 'X
Ü
J U
!_
J LL.
Cti O
Í
üi
iX"
a ¿2
a o
"~ *
*••
_J UJ
UJ
Cl
>x
oci
aZ
I M
U
Lü C
tit-t
'X a
O ! —
i*-*
!'ZI
Ü
J C
E'U
J ix
CL
1X1
ZI
UJ
ain
'X' u
j. U
J C
|K
O a x
iLU
a:
csi
Ci
!—
OU
Ja
ó:
ÜJ
C'
MCt
i a
'X >
•
h-
UJ O
ÍLU
~t
t-HC
tl Z
I i —
t
a H
a •
-'
ÜJ
UJ
«X M g
ZI
! — 1
• UJ
Ct
Ci—
í 'X
O f-
ZI Ü
JU
J C
tl'
ÜJ
!— ~7~
'X -I LU M 'X a i— i
o QT CL LX
'Ü
J
LJJ
1X1
iX U_ LU UJ o ZI
CC He-
'X
a g LU
^H
IX
II C
lII
ZI
a
LUi-
n t
-nZI
1X1
OÜ
J iX
ZI
-J C
u U
J
tVi
1X1
LUT-
~ ly
'j
*~
¡XCU
LL
^
ÜJ M
ÜJ ci
TH
a 1X1
a
u u
M
Oo¿
a a
CC f
- ü£
í- ZI i~
ÜJ
U]
UJ
Cti
_J C
t:
'X'
ú-J
zi
2:
E:U
J .
WÜ
í '-•
ñj U
Ja
a
. .
f/iO
h- r*
T
-í
IX
f-H
a
u.t-
ZI
LU
U
JC
L •—
- M
T-H
t-
j LU
n •—
• _J
'—
- c¡
u üJ a
u
a¿Ü
U
J II
C;
I! C
l Ü
Ja
CL
a
LU a
; a
o;
o'X«
UJ
H a
zi i
x h-
a >
x zi
zi C
L z:
1X1 u
j h- zi
W h
- 'X
LU
>Xi
ÜJ
TX C
ti Ü
J Ü
J iX
Ü
J >
1X1
ÜJ
-J
CL
Ü-L
tl'
JC
LÚ
ilX
Qí
r/j
u.a H
K
UJ
g •
-' Q
_J
10
LU U
J
ü!
w
ü£
M a
~
uj
ZI
C|
II H
UJ
CL'
C¿n
ix a
aO
1—
'Xl
LL
ZI
ÍJJ
'X L
ULU
ü:'
ü_
Cti
a 1—1 LJ
>— (
>Xi
a CL
cu
i*U
• '—
* C
O
••- U
. ^t
~ LL
*#
• C
U•f H
•—
• c-
CO
T-
t o
o
c-
c<
T-(
Ctl
A.
-A
llhl
A
A.
A
.A .
A
Cti
N g
a
G?
tu CL
*-(
CQ
CC
iMÚ
ÚÜ
JC
qZ
IcII
t-^
_j
'Xi c
-v _j
i— ~j h-
~TI ~j _j
cuCO ^
'• LL
ro
»-. ü".i •"#• O"'
"í"
COO O C¿
'—' O
Qí A
r\ u a. g g a.
CQ u
_i CU CQ P4 D
-J
i'--Íi _J X ¡Xi
í--'*i X W
cu
•-•
O LU .A
co »•-
•-. cu
-••r. f-- CO CU
Tí"
ÜJ
ir O CL
r\ CL Q.
Ci Q
cq Q
ZI M
_J :¡-:I
C-0 X ~' -J
LU M ÜJ O ¡X
O CL
ü_
u_
•$•p a a a
•*-
_J X ZI ZI
-T- •*-
>*•
cua-.
o ce
LL
CO
'.
U.CO
TJ-
CO
-J-. TÍ" tí* CO
OÍw g
tj a, g
_J
fQ pq
_j g
CM _
J
CU
O
o 17-
, o
i7->
CO
*•
'. LL
CO
'.
1*0
U, "
tí" "
tf" C
O -•- U
.i 'd" CO
í" C
O "• f
'*- C
O r.
-rH
<~-
O •"
' O
Q
; O
O
C
ti .A
'—
• |V
O
•"
•A
. A
A
. A
C
ti -i-
A .A
* i *
C
fci
-*
.A Q
i
Cti
Qi
LU f-
-.j r--
j a
CL
a a
CL
a C
L r--
j >cQ
zicM
üM
Cig
^MfM
a^j
Q
a¿
un
h-
.1 "X
i f/.
i _J
X
C--0
i>'i
X
Cl
_J X
'X
i Z
I
'—<
O
C-
ó
O
-TH
O
o
ü-
rn
C-
ñj
c-
d> ¿
J -*H
'—
• >b
*H
iX
'X
O
r-
t ¿f
- i-t
Q
•—• nj
O
-r-t
'—•
O
CC
CC
C
C
'7'-
O
•"'
O
T-(
'_•
OH
(X
T-
I LL
•—•
•—•
O t-i
•_•
o
*H
>XI
iT,
O
T-Í
•—•
•—'
O
LU i"_
"i O
lí'Ü
J •—
• U
J C
i co
UL
C1"'
U.
'-£1
o
üJ e
- LU
UJ
•—•
O
Cj
C¡
Q
'•£'
LL
'—'
O
ÜJ O
'-•
nj
o
o
o
'—'
'-'
'£'
'£'
•£'
LL
LU
M
'—'
O
M
'-£<
ü.
LL -
jj L
U U
J •—
• p
M
i—
i C
J ••£
' LL
'—•
p
UJ
iIO -^
H
" m
1 'I1
•_'
'"• T
-t -r-
i i;0
-i-i
T-Í
T-t
-^-i
T-t
-Zl'
o -r-
1 ---i
CO
ÜJ
T-T
T-H
CU
'—•
i~0 il'li
CU
^H
CU
*^<
'—
' '—
' C
O C
U T
-H '
-~<
'—'
•'—'
'—'
C'"'
T~t
v-i
CO
CU
>-t
'—'
CO
T-t
-rH T
-H
T-H
CO
CU
T-t
*H C
U '—
• C
O i"
0
CU
T-t
O
'—•
*—'
'—-
•—•
O n
j-.£
i C
O 'X
O
Ü
J '-'
ÜJ
'•!'
CO
iX
O
UJ
O ñj
*$•
-.£t
Cu '
X O
LU
'—'
CU
-TT
'-£'
CO
"X
O
UJ
•— •
'— •
'— '
CU
*&
'•£>
O'j
CC
O
ÜJ
•— '
Cij ^
l-£
i-d
- -tf
- -tf
- -3
- -3
- IH
lf(
ÜO
U
l Ü"
!t ü~
i LO
ül
'.£i
'.£i
-sfi
\ vü
'Jl:
'-£'
'•£'
f%-
f%-
N.
f--
f--
f*-
l*~-
f%-
CO
Olí
CO
Olí
OJ
CO
CO
CO
CO
CO
'7'.
0~'-
O"'.
CAO
Ü
J •—
• i'U
tf-
••£
« C
O C
E O
Ü
J •—
- C
U
'.£i
'' O
-i Q
'- iX
'X
'X
¡X
'X
'X
'X
"X
CC
i uj
CQ
-X-
130
La velocidad de recepción, así como él húmero de bits recibidos
por carácter son características que pueden ser escogidos por
el operador por medio de un interruptor, de tal manera que pue-
den seleccionarse una velocidad de 300 baudios con un formato -
de 10 bits, o una velocidad de 110 baudios con un formato de 11
bits por carácter.
Luego de cargar la dirección de CRU de entrada y salí
da (R12 = 020 ), se procede a probar el estado del interrup—
tor que produce la señal 300/110, que corresponde al bit 12, si
esta señal está en uno lógico se cargan los parámetros para re
cepción a 300 baudios, en caso contrario se selecciona 110 bau-
dios como se puede observar en el diagrama de flujo de la figu
ra 3.14; con la cual se pasa a programar con estos parámetros -
el TMS9902.
3.3.1 Programación del controlador de comunicaciones asincrónico TMS
9902:
El circuito integrado TMS9902 ñCC, es un periférico -
de la familia de microprocesadores 9900 de Texas Instruments y
provee de una interfase entre un microprocesador y un canal de
comunicaciones serial asincrónico, este controlador de comunica
ciones realiza las funciones de serialización y desserializa—-
ción, facilitando el control de un canal asincrónico por parte
de el microprocesador, ver hoja de datos TMS9902 en el anexo II.
La programación de este circuito integrado/ se reali
za escribiendo los valores adecuados, en los cinco registros -
internos que son:
131
E N T R A D A
DI fí D Eí C / ÍÜ
DE
E/S
3 0 0 ÍSA U D / O S I f O B A U D | O S
D IR DE CR U
O (T
C O M U N I C A C I Ó N
- C* R G E
P A R Á M E T R O S
9 9 0 2
S A LID A
L E C T U R A D E P A R Á M E T R O S
Y P R O G R A M A C I Ó N DEL
T M S 9 9 O 2
Fí G. 3. / 4
CM m H
CL"
Lü _J CM U
l i.U
Lü
CU '"
U
Ci ül
ül
>r u
i i~i
c.-j <
r <r
t— i
ül
ÜQ
_
J
* -6 -*• •*• •* •e- 4- UJ '.U LÜ CÜf
CU
a a
UJ O
ir ^
5 a
'••""
i LL U
Ía
H- o
Q."
ZI
Z~K
a t
-IU
) O
iV
jzc
irCC
_J
LL'
LÜ C
/iX üi
UJ
LL
ZI
zi a
uj
a
*-i>—
j t—
i O
o ir
x <
r o
Ct"
HI
t-í
~i ¡r
zih~
cti
IDLÜ ó
a_
J Q
- O
CL
UJ
-0 * *
'— '
'-'
'— '
Cu r
u
nJ
Lü U
J Lü
CM j
£i c
¿¡cu
cu
cu
^ -> * * *• -*-
o *
ir *
ru *
0"'«
•£-íí
^ •*• *•*•
*
1—'
'_'
CU O
J
LÜ
LÜCM
üi
OJ C
U
'_!
LJ
CU
C
U
Lü L
Ü£Q
£M
.CU
ru
a Ltí LU ir üi
Lü U]
Cti
K o .LU <*• •f CJ
O
CU C
U
Lü L
ü14
Ü|
£X[
cu c
u
1X1
LÜ Lü Ul
Qi
O UJ
Lti
^— f
H OJ •*\U
_J UJ
uJ Lü üQ ÚJ
'— '
'— '
i_i
OJ
M ir UJ
H-f r "¡ a LÜ
C--J
> a
Lü
Q
CQ
Lhi
tXt
Oa
ro
h- •
-'f
'l
rH
_J
uj
. a
_J
Lti
ui
>r i
—r.-
i r±
i ZI
ir a
_J C
L O
Lü UJ !'/l U
J
a n
ZI úi
cu f
— ir
I-H
LÜ C
íi
^ 2
: «r
1X1
Cti
_l
a ir
irÜ
_
CL
LL ir
'— •
OJ
O
OJ
'•
••••..
.A.,
LÜ.'
UJ
11
ZI
^-t
\-
—j
_!
ui
'J.i
'— '
LL '
X' C
U
CU •
* M
ii_
i O
u.1
CU C
U CU
CQ ül
í— i
r 'i
a UJ
UJ
Ul
_J a i- S o 00 OJ
t- 1
_J
'— •
i.U
iJJ
X '
XI
T
ÜJ 1.L
Oi_
i i_
j O
CU C
U r
u
-r-
a
zi
_j
x a
LÜ
c^
n a
ÍE
-H-)
I:E_J
i—i
ü!
O
x C
Lüi
•—
• -$•
o i—
LU
ir
y~TH
4-
¡r
zi
Q
o LÜ
a
-Jo
-~¡
•<> o
a *-H
f/,
t'_j
a•r-i
Q
'¿v
.zi
ir
ri
a a;
i—
ci
ir
*
_i
LÜ
ui
íi
inu]
zi
•-*_i
cj
H
1-1
n
a
Tfu
. o
fja
^
o
a
o
o
ir o
o
Q_
r¿
o
o iji
cu
<r
a ~
?£
~<(—
a
'r
•=• ii
¿ j
ui
,- -
, {v
LU
c¿Z
I_
J
LU
O.
É-
ML
ÜU
"!
^U
IL
LLU
U
J
OJ
ül
O"- ir
>
*zz
o
Lü
U
~>
•—'
f/í
~J
• r i
—
' t~
a-.
ri
21 >
r LU
K
,- -
í zi
c¿
ziU
J Lü
i7'<
C¿
. i—
• á.
M
ZI
u- "i
O
r-»
^^
¿"
ji
ra
¿¡
a
LÜ
LU
ir
_J
>-
UJ
LU _
J CL
' ir
ü¡
ÜJ
u*ü¿
a
uj
y-
_i
LÜ*~
(cq
iv
_
J LÜ
Lü
«X
t -=
- -i-
- a
ir
h-
Lü
C
¿ LD
t-
t Lü
, ^H
Q
i üi
_J
ZI
uj
üi
Qi C
ti
LD
ui
f— O
>-i
Oir
a
HH
n
«r
LÜ
r_j
LU
«
-CL
O
ZI
uí
CQ o
C
ti ZI
,-r Q
ia
a!
—(
'_
' í~
< '_
'
C-
O
O
'— '
O
•— '
'-'
VH
r co
ir
. o
>r
in
zi
Q
s:
•=.oii
-íj-
'_•
ir
AS
-i ¡r
nj
Uí
A.
A,
OÍ
"••
CO
T
^ C
ti
O
'-CU
«••
f.
iJIi
CU
LL
".
M
«-. o
l£i
CU
o
CU
'—
''—
' '-'
CU
C
]
irH
-rH '_
|
'—'
OJ
'—
' O
-r
H C
' ' ^
'—
'
LL
CLC
ti C
ti i-,
CL
4-
N ü
í'-.j
o
r\
•$•
n
"E;
r%-J
rf
•_•
•_'
CU
O
ÜJ
O
Q
•— •
LL
'—
' uj
CU
O
i.ü '
.U
'.U '
— •
i.U i_
i '—
' '—
'
'— '
ru ir
C
U lfj
iJJ u
J '.U
Cu
UJ
i. U L
U i.
U L
ü u¡
1-4 t
-j i
-j •
_• u
j '—
• LU
Lü '
— •
i.ü "
^f" '
•!*'
O.i
i.O ijj
I_L
'—
i LÜ
'— •
CU v
'-L
i '.L
I '-¿
i ijj
CU i
_> L
Ü '—
'O
MM
UjM
Uu
jUJ
M-u
jujU
JU
WU
Lü
LU
UJ
Lü
UJ
Lü
LL
OJ
CU 0
,1 O
J O
J i'U
CU
CU
OJ
Oj
ru
CU C
U C
U C
U CU
CU
i~U
OJ
CU C
U C
U
S o t 1— t
Lü h- t—i
n PQ ir r A, g "í — *-í
i.U LL OJ
133
Registro de Control/ este selecciona la longitud del carácter,
la operación del reloj interno, paridad y numero de bits de pa
rada. La figura 3.15 y 3.16, muestra la programación de esta
palabra de control y los valores necesarios para 300 y 110 bau_
dios.
El registro de intervalo, es usado para seleccionar
la velocidad a la cual los bits de información son recibidos.
Básicamente consta de dos contadores, o divisores y del reloj
interno, una división por 8 se obtiene si el bit RDV8 = 1, O
por uno en caso contrario, el segundo contador es programado
por los diez bits RDR9-RDRO, como se muestra en la figura.
3.15 y 3.16.
Registro de velocidad de transmisión, tiene las mis
mas características del registro anterior, excepto que es em-
pleado en el caso de transmisión o salida de datos, como en el
presente trabajo, el impresor solamente recibe información no
se programa este registro,
Registro de carácter a ser transmitido, este regís—
tro se usa para almacenar el siguiente carácter a ser transmi-
tido, por la razón anterior este registro no se usa.
Como se observa en la figura 3.15 y 3.16, las pala-
bras de control y velocidad de recepción para el caso de 300 y
110 baudios, difieren no solo en la velocidad sino también en
el formato, para una mayor información de las posibilidades de
programación, ver hoja de datos del TMS9902 ACC en el anexo
II.
PROGRAMACIÓN DEL TMS9902 , 300 BAUDIOS
CONTROL
134
7 e 5 3 2 ¡ O
SBSl SBS¿ PENO P O D O C L K 4 - R C L f R CLO
B I T O E PAR I D A D G
P A R A D A 4 / S
L O N G I T U D
/ 0 0 0 / 0 í 0
I a IT DE KO P A R f D A D /4
P A R A D A
8
7 3 I TS
A
0 / 4 - F iní
sí CLK4 = I
O O
REGISTRO DE VELOCIDAD DE RECEPCIÓN
(O 9
RDV8 RDR3 RD«a RDR7 RDR6 RDRS RDR4 RDR3 RDR2 R D R í RDRO
/- v. jY. 8 \ ' E L O C / D A D D E
R E C E P C I Ó N
Si recepción es a 300 baudios
n = 2.106
2'.4. 8. 300
= 104,110
O
n = 104,1 06816
/ 0 0 o / / 0 / 0 o o
4 ' ' 6 8
FIG. 3.15
PROGRAMACIÓN DEL TMS9902 110 BAUDIOS
CONTROL
135
0 1 0 0 1 0 1 0
Z B I T S DE M O P A R I D A D / 4
P A R A D A
4
7 B í TS
O
REGISTRO DE VELOCIDAD DE RECEPCIÓN
/ 0 / 0 0 0 / . / / 0 0
L J L ^
o c
Si recepción es a 110 baudios
,6n = 2.10 = 2840,0
10
2.4.8. 110
= 28410 11C16
FIG. 3.16
. ' 136
Para completar esta rutina se carga en el procesador,
con la instrucción LJMI (Load inmediate mask interrup) la masca
ra de interrupciones que habilita la entrada del nivel de inte_
rrupción 2 que corresponde a la enviada por el controlador de
comunicaciones, es necesario también habilitar en el controlador
de interrupciones (TMS9901) la máscara correspondiente.
3.4 Rutina de Control General:
En la sección 3.1 se da una visión general del funció
namiento del sistema, aquí se describirá en detalle el programa
de control. Luego de la inicialización de los puertos de entra
da y salida así, corno del controlador de comunicaciones, se -
cargan los parámetros en la memoria RAM, está entonces el pro—
grama listo, para preposicionar el mecanismo del carro, seguida
mente se programa la interfase de comunicaciones a la velocidad
y con el formato escogido. A continuación se entra en la ruti-
na de control general, ver figuras de la 3.17 - 3.19, que des-
criben el diagrama de flujo del programa principal, que contro-
la toda la operación del impresor, el cual es solamente inte—
rrumpido, cuando se ha recibido un carácter completo por parte
de la interfase de comunicaciones.
Se inicia la rutina probando el estado de la señal -
ENL1NEA, la cual es producida por un interruptor, que cambia el
estado del impresor, de habilitado para recibir información, a
su estado complementario; en el que solamente puede recibir por
parte del operador un comando de avance de línea.
' Por el contrario si el impresor está en línea, se pro
duce a interrogar si existe un carácter almacenado en la zona -
137
A
RES.
? w L INEAS!C'r 'UALí CE
P O S I C I Ó N
*;
3
H O JA /
P R O G R A M A D E S C O N T R O L . G E N E R A L
F / G . 3. / 7
138
RE r AítOQ
D E
K S T A B i L / Z A C / O W /
H O J A N 2 2
P R O G R A M A D E C O N T R O L GE W E R A L
F/G . 3.
139
L A FIGURA R E P R E S E N T A . U N
C O N E C T O R E N T R E U M A P A G I N A
Y O T R A E J E M P L O »
E S T A S E Ñ A L V A A L A P A G / N A 2
C O N E C T O R E H O J A N - 3
P R O G R A M A D E C O N T R O L . G E N E R A L
r f o . 3 . / 9
1.1
í.í
Mi
¡T- '"
•- en
ro o
m.-. ,
r.
, — i
n'i
m• —
• i '.' i
' i
ro •
-' ^
O
'. .' O
r -X
't—
< hrt r-.j
TJ V
^
>-*•
TO o
•-• • v i— i
•— •
ro o tí T
Jt—
*, —
\J i/j
* tí 1!
mo
.0 TJ d h-l ni o a -í
1 IZ 1— ;
o X'
!. .1
>— í
•a x^
IYI
f.i
r,i
en e
n en
O X
' 01
'
•r- o
UJ 1 U
1 ' i
3 a
en
r -x.i
*— *
tí.N
TJ
v>-
* — ,
ru u
i•-* V o oí» o l~
t te X
'>~
t T
I
TJ 3
0 CTl
te m
mm
n r
~TJ C
I *—
*IZ
i— 1
Mm
•-» o
O X
'a
te
:z. a
en T
JIZ >—
t o .X1 o V
-H .
a x\
iYt
MI
r.'i
MI
>_n e
n en
en
CO 0
1'
O"'-
4i-
I_L ^
>.*
M.
m m
i— .
,—i
i • i i
• i
* — .'
• — •
en e
n 3
3
* í 4- 4"
12
X\- a
a
•
TJ
TJ
-0-
-£ •$•
•& •£ -$• 4- 4- ' £ <• •í1- •$• ^ ~? TJ T) rñ r.-'i a TJ
TI
i m TJ
30
tí m r V_i
IZ rn Ti
4- •o- •t
ro
Mi
r.'i
iY.
r,i
Men
en
4.'-. 4
^ 4.
4.
ro o
rn
o ID
co
i-*
i_*
M-
í-t
t-j-
p 1
3 3
3 3
8
i—, i
—i t—
i i~
( o
ro
IZ IZ
IZ
IZ
''
"tf"
a a
a a
is a
TJ.
T
J
TJ T
J
TJ
TJ
•
v
4-•—
, TI
c-j r
oo
'•*
4*
t— i
i~ TI
iz m H
IZ
_x'
r~ T
Irñ
tí
-:: a
ate
o m
>~4
• o
mr
Ma -i
X' te k— i r h
H
f'-.J X1 o ¡-
H a IZ
f.i i'.i
i/i
Mi
4*
4.
4^ A
a-' 4
^ ro
oCO 0
t-^ o
rn r
o £ &
4i.
.— .
*-*
• ~T
\n (
r m
:£1 ¡ri
Tj
•51'
V\
.— .
lYi
i'i'i
tí O
m a
--4^
-
X1 T
i--
: rñ
T"
— !
121
Dr~
i TI
m iz a
i X\í
mm r
TJ
O
X1 X
1Q
TJ
J— '
TJ
C3 Ü —
:*
X'
-;~ JÜ IZ.
r~i
rñ
fó r
,'lCO
CO
m o
o
>-••
CO '
—•
-£*•
o
r~i
321
^ a T
J
TJ
4* •j v* -u'
o 4^ TÍ m lV1 "1 X' m IZ r x> i" r -i I-
H 3í
X'
Ti a '/.' h-< f~i i— i a x\t
1 il
1
«"l
1 tt
l'«
t
CO O
J O
J CO
LO
fp C
Q iT
-. 4*
fo
CO O
*-
•• '"'
'Z'
T, r
o rn
"•••j
I~M
o o
'?'•
m e
n
tí
'L-
' Op"
"Ji
(-*el
— 1
TJ
•y
sv'
TJ
v'
-ri'
enO
'i O
J *"
te o
"•••"
T|
4v
i—i
O
o --1 m
^ iz
m
3.
Q
'X1
Ti .TJ m
c
*— *
'X1
X\
X'
-'"
'~'
X~i
Xi
r T
J*-^
X
1h-
í i~
ia
-i m TJ
-;~
3J,
r t— < t— i a •o
f.'l i',"! l't'l
l'il
co r
o ro
ru
--. m
o ID
M- .-, .-. o
v— >- i —
i ri'i
!"•*•
nj r
o co
rna--
i-*
en
x-
c_
ot
>-*H
TI
o
enOJ
'•*
--.] m
o i— i ro t-*-
'X'
m}—
t iV
) cu IZ o X'
TJ
• X
'1
1
— j m TJ t— i
m i i
D '
32.
—i
Ti a r™ •o
f,i
r.'i
r.'i
f,'\
co ro
oí
í.i í,i
iYi
PJ
PJ
PJ
ro pj
M-
í-1-
(-»•
t-*
*-*
M.
co c
í' A
ro
'—' m
o
ID c
o ch
-P-
O C
O o
^
o o
»-*
• •—
• o
-r-
a-. T
I ro
3
3 en
oj
ro e
n có
rn
o C
O '~
- '-JÜ
*— •
• 4>
CO
tí
'~-
OJ
0"''
32
*Tiiv
i r
i~i
r i~
ia
nf^
-TI
^ r
»-»
-=~
:^n
H
~íTJ
Ii í
'v
'v'
TI
''•-•'"
TJ
v
v.-,
o
OJ
•-•
CO
O
OJ'
.£i
C-J
'•"
CO
'•"
1-*
C
3
P.l
V
~:¡
m
TI
A
ó a-.
•-•
X'
CO
'"
^-
^en
•
enTI
4¿.
,—i
en
.(¿
Sí Xií—
i t-n
3z
rnO
H
c a
x
CTI
"n
>-<m
'ri
-n m
w
m x
H
c^
.
TJ t-
i m
32.
r,.*J
O ~i
CU
o X'
m
z¿X
' 'X
'T
J *-
* O
Xi
X'
\~\
TJH
X
) ÍD
m
i. j
oT
J hn
H
• a
m TJ m IZ IHÜ rn IH. a TJ
CO
i'Oi
— *•
t— *-
PJ 0
O Q
i — i l
— L
m o
'~< '
7'1
13. a -;~
"
^J
*V*
O.
t-»- rn •
i"T*i
•* TJ
OJ
X'
1 1
H i TI r i— i O
'm TI
'
rñ 'Ji
- !~1 m tí >— i
TI rñ o o t~t a.
IZ
•Vi i'.i
r.i
,— i
.— . o
m o
X'
O
M-
w-
i~*
1 — 1
iTi
ro •
-• ru
•—' e
n CT'
"
13
'/.<
>!_Q
íri
3Z<
a m
>31
V
Vv
,— •
.— .
.—
rn í
.~i
•-*
eni.
.' CO
'j'" ••" TJ
Ji»
•
X'
'X'
X\
i-< a
-i c rn
TI
32.
r o
V-M
>—
1
o m
m iz i—
iT.'
X'
m en m
• r
te »-<
m x
^ f-iTI
i-t
á o
'/? X
il-H
tí
O Q
t-t
T)
a IZ-
f-'i
O''
.—•
o01
" >?
•'
t-* •
-'TI
i—.
1 1 '
—.—
« pt
rn .-
-
— i ^ V'
1— 1 m m 1X'
-H X» m r t— i IH. TI
TJ m iVl
a TJ m x\ !— (
IZ m X'
•--.'
"'0 C
O C
O O
J O
J,—
, ,— .
.— ,
,— ,
.— ,
4^ P
J '-'
0 0
0 •"• 0 0
•-•
3
ró r
ñ r
ñ rñ
O
'Z? O
O
C
J
-e-
«-
r
rn
?^
~T
J )— i
TJ
Vi-
,—
.P
J P
JP
Ji—
i'U
1'"• T1
-1cz
|iO X
'M
T
J'•H
Q
TJ
rn•
rní-t
rm
:=_
O
TJ
.TJ i™
o atí
IZm
V
m
PJ\1
-1
M
.— i
O '"'
'— '
'—•
1
03có
r,
i T
.I ro
,—,
.— ,
.—.
.—.
3Q 3
Q•r
- •-•
o o tí tí
,-.
.-,
,-, ,-.
rñ r
ñ r
ñ r
n o
•:=
••~-
o o
-ni'
m o
*-
-9-
4-
•*•
-^
4-^
T
j ^-
•ít-
=HI
TJ
4-^
T
J O
•>
4
'T!
•$•
0-
II TJ
4-
4-
X' *
4- "
•>•' I
H: -$
••*•
P.1
X'
<fr4"
PJ
4*14- o o
*•
4- m
4-
4-
4-•í*
O
A
4-
Ü 4
-4-
IZ
41-
4-
~i
0-*
TJ >
*• a
-f•&
r~ ^
-^ 4
4- en
^4
m
4-• 4
- rz
4-
-í- m
o•
TI A
-0-
jD
•>•ít-
p
^4-
*ví-
<*0
^A
. A
A
A
1
rn í— 1
í-0
S 'X> .
1T1 r m ' ~
LJ
141
03640366Oc.'t.y036R036003 6 E0370037203740376037603760378"037R0370037E037E03 7 E03300382038403860338038 R038 C038 E0390039 £039403960:393039 R0390039E03RO03R203R403R603 R 303RR03 RC03RE03BO03B203 B 403B603B303BR03BC03 BE03000302-03040306030603060303
1FOB"130Ec'Ulc!1FOD13CB04£03DEC£061 0070 3 0 00 3 0 00 3 0 0'0002ID 091 0030£850285028500201604ionc1 0 0 0i 0 0 01 0 0 00285OOOR160304203DEO1 OD30285OOOD16 0304203DEO1 OD202350008160602840 0 0 013RR04203DE81 0090235000716R404203DFO10R11 0 0 01 0 0 00420042004203 DEC
TB >OD RVFlHCE DE LINER MRHURLJEQ >0304XGP *R£?i:i ELIMINRCIDH DEL REBOTETB . >OD 'JEQ >0304BLWP 5>>3DEC RVfiNCE DE LINER
XDP *R6.- O RETHRHD DE £00. T1S.JMP >0304 R UN HUEVO CICLO
IMPRESOR LISTG
LIMI >nno£ HRBILITE INT. E
SED >09 DTR = íJMP >0304 R UN NUEVO CICLO
•* DEOGIUFICRCIDN DE ORRRCTERES
01 R5s>00£0 ES UN RVRHCE DE ESPRCIQ ?
JHE >038C HGJMP >033E • SIHDPNDP . 'NGP01 R5.«>GOOfi ES UN RVRHOE'DE LIHER ?
JNE >0393 HDBLWP Si>3DEC SI
JMP >034801 R5?>OOOD ES UN RETORNO DEL CfiRRQ ?
JHE ;-'03R4 . NOBLWP -5 > 3 DE O SI
JMP >0348 '01 ' R5.->0008 ES UN RETROCESO DEL CRRRO ;
JHE01
03B6 HGR4.OOOOO ESTR EN LR POSICIÓN "O"
JEQ > 0304BLWP £i>3DE8
JMP >034801 R5? >0007
JHE >0304BLWP *'>3DFO
SI LUEGO NO EJECUTEND ESTR EN LR PDSICMDN "0"i
ES UN CRRROTER DE RLRRMR
HGSI
JMP >0304HDP 'HDP
RVRHOE DE LIHER V RETORNO DEL CRRRD
RUTINR DE RVRHOE DE LIHERBLWP
142
03CR !J4£0.Ü3CC 3DE OÜ3CE 1OBC
BLWP S'^cíDE
JMP >0348
RUTINR DE'RETGRMG BEL CñRR.D
ñ UM HUEVO CICLO
143
de memoria de caracteres, esto se realiza mediante la comparación
de el registro de posición del ultimo carácter en memoriar con la
primera posición de memoria de caracteres.
Si existe un carácter en memoria (por lo menos uno pue
den haber varios en la cola de espera), se transfiere el control
a una subrutina encargada de sacar el carácter a ser impreso, y
realiza el corrimiento de posición de los restantes, simulando -
una memoria en la que el primer carácter que sale es el primero -
que entro (memoria FIFQ), ésta es la subrutina de salida de carác
teres que se analiza en la sección 3.6.1. Si el carácter es me
ñor que el valor 20 hexadecimal, se ramifica a una secuencia .que
analiza, de cual de los caracteres de control se trata, para rea
lizar la correspondiente subrutina de ejecución, en la tabla 3.1
se muestra los caracteres de control que ejecuta el impresor.
VALOR HEXADECIMAL
07
CÓDIGO
BEL
08
OA
OD
BS
LF
CR
OPERACIÓN
SUENA LA ALARMA
RETROCESO DE ESPACIO
AVANCE DE LINEA
RETORNO DEL CARRO
TABLA 3.1
Las operaciones anteriores excepto la alarma, que impli
can movimientos mecánicos retorna al inicio después de un tiempo
de estabilización de 7.5 ms, tiempo en el cual cualquier vibra—
'ción mecánica se supone que desaparece evitando que el próximo -
144
carácter a imprimirse se vea borroso o desalineado.
Si el carácter a imprimirse está en el valor compren
dido entre 20 y 7E hexadecimales, se trata de un carácter su
ceptible de ser impreso, transfiriéndose el control a la rutina
de impresión.
Luego se averigua el valor del registro de posición
del carro, si esta en la última posición permitida (cada línea
tiene 80 posiciones) automáticamente se avanza a la siguiente -
línea, seguida de un retorno•del carro a la posición extrema -
izquierda. Si el carro no está- en la ultima posición se trans-
fiere el control a la rutina de avance de espacio, por medio -
de la cual el carro se mueve una posición a la derecha, ver dia
grama de flujo figura 3.19.
Sé notará que este programa no tiene una salida,sigue
funcionando mientras este energizado el sistema, y solo puede
ser interrumpido cuando se recibe un carácter y este está listo
para entrar a la memoria de caracteres, sin embargo esta inte—
rrupción no puede ser procesada si una operación de retardo -
(XOF,0) está'en curso.
3.5 Rutina de control de motores:
Existen dos motores que realizan el posicionamiento -
de la cabeza de impresión, uno que mueve el carro horizontal—
mente y el otro, que únicamente realiza el avance de la hoja de
papel, para imprimir otra línea.
El conjunto de rutinas que realizan, estas operaciones
son las que en general se nombran como rutinas de control de mo
145
tores;- la principal secuencia de control es la que permite ava_n_
zar el carro una posición, es por eso que se analiza en detalle
todas las otras secuencias no son sino derivadas de esta.
3.5.1 Rutina de avance de posición del carro:
La mayor velocidad a la cual el impresor recibe carac_
teres es de 30 c/s, esto significa que tiene que ser capaz de -
imprimir 30 caracteres/segundo aproximadamente.
Las operaciones que más.tiempo consumen son el avance
de posición{ impresión, y retardo de estabilización, todo lo
cual debe llevarse a cabo en un tiempo menor a 1/30 de segundo
= 33 ms.
Si el tiempo de impresión es de 10 ms, el cual estiá -
limitado por el tipo de impresión r es decir por el tiempo nece-
sario para calentar el papel, se dispone de un tiempo igual pa-
ra el avance de posición, y 7.5 ms para el tiempo de estabiliza
ción, restan 5.5 ms para todas las otras operaciones.
Al inicio de esta rutina se enmascaran las interrup-
ciones porque los tiempos empleados en cada operación de esta -
rutina no pueden ser alterados.
Una subrutina que se verá en detalle en la sección
3.5.3, cambia la secuencia de los bits en el registro de fases
para permitir un movimiento del motor hacia la derecha, esta es
la subrutina de avance de fases.
La señal LENTO que controla la acción del circuito de
descarga de corriente del motor'~a pasos, en el estado cero ló-
gico, permite una descarga rápida permitiendo un cambio también
L E
N T
O
PA
SO
S E
NS
FA
SE
A
FA
SE
B
FA
S
E
C
MO
T
I M
OT B
^r-f
(
l.Z
ms
}_
_
3 / I
^™
^-~
^™
—
|
2
3I
t
/. O
ms
_
| 1.
2 m
3
, 4
-O
ms
1 =
•
p^^S
^S
^N
^
.
\ ^^_^^__^-_^-_^^^
O
4 5
6
7
8
9
/ 0
m!
í '
I 1
r¡
1
1
D/A
Gfí
AM
A
DE
TIE
MP
OS
FlG
.
3.2
O
147
rápido de las fases del motor.
La señal PASO es la encargada de conmutar la corriente máxi
ma que puede circular en el motor; cuando se necesita un movimiento se
activa la máxima corriente, y cuando el motor está en reposo solamente
se hace circular una corriente para producir un torque de mantenimien
to en la figura 3.20, se representa un diagrama de tiempos de las seña
les que intervienen en el movimiento del motor.
La señal SENS producida por el sensor óptico se usa para de-
tectar una condición de error que podría'producirse, si existe alguna
razón mecánica que impide el movimiento del carro el microprocesador -
prueba si esta señal sube en un tiempo menor a 5.5 ms, si esto no
sucede entonces se salta a una subrutina de error, ver diagrama de flu
jo figura 3.20.
Además la señal del sensor se utiliza como una señal de
x~ealimentación para aplicar freno, invirtiendp las fases del motor, -
de esta manera se obtiene un posicionamiento rápido libre de oscila-
ciones que demorarían la impresión o producirían caracteres borrosos
o fuera de posición.
3.5.2 Rutina de retroceso del carro:
El carácter ASCII 08, o retroceso del carro, se realiza me
diante una rutina, que es idéntica a la de un espacio., excepto -
que la secuencia de cambio de fases es para movimiento hacia -
la' izquierda, además el contador de posición es decremen-
/ 2 ' £ ' 01
/ o N V P O H
o y tí v o i 3a
3 0 N V A V 30 1 / N l i n t í
2'I
JL 3
v o v y j. tt 3
Sft
149
I N I C I A L Í C Et- L
T E M P O R / 2 A D O R
F í S. 3 .22
U T / W A DE A V A N C E
D E L C A R R O
H O J A M 2 2
u ISJ u
» m -* o 9 2 O vV
x V
; :
H
*"»
H m
,
o i
o
o o
i o
5»
o m
v
K
5
S5
* >•
5 w
•» te M O II O
»*
« H
o'
^
: "
m .
o
s.<
"*
™
2o
r-
rt
»
»
>••n
<
>>
D
V
m
rt
*ni
r>
*
n
o m o
c H
O C. 2: 10 ui
o rnH tn O
151BlSríáB ñDDL ñDD064 00640064 0064006400640064006 4 £064406460643064R06 4 C06 4 E0650065£06540656065306 5ñ065C065E0660066 £066406660668066R06 6 C066E067006 7£06740676067806 7Ft067C06 7 E0630068£063406860633068ñ06 SC068E069006 9 £069406960693069Ñ069C069E06ñO06ñ£
¿lEMBLER6406ñ£
Cl 1 0 0Ü-c 00Oc 0001 00oí oo0-2 0 001 00Ci 0 C> 01EFO1EF406ñO3F941E04ID 0330CO£C 1 4ID 0406FIO3Fñ£Ú£OCi J Ci 0 Ci1EOO1 E 04ID 0333C11F1F13061FOF1 6FC1 E 0 01 E 0304 £03EOC1EOO1E03ID 040£OC00£01E041E0330CO£C15ID 04ID 03£C1406ñO3F9430CO£C16 '1E0305830300000£1EFO1DF40380
-¡jf -fr**-*.* RUT I4- l,jp =
<{»-<*>••«•<>••*"$-«>•***•
&
LII1I
SBZSBZBL
SBZSBOLDCRXOPSBOBL
LI
SBZSBZSBOLDCRTBJEQTBJNESBZSBZBLl.iP
SBZS'BZSBOLI
SBZSBZLDCRXDPSEDSEDXDP
- BL
LDCRXOPSBZINCLlf'11
SBZSEDRTUIP
^-^^^^-fr^^Nñ DE ñV>1CO•&•$- 4- *&•&•$••&•$•
> 0 C' Cl 0
>FO>F4»'>.3F94
.> 04> 03R 0 í 3*R4s 0> 04í'>3FR£
.
^ «.* $. + •*••*<$"*«»**• 4-* ******
ñNCE DEL CñRRO **
DESñBILITE INTERRUPCIONES
P10DO DE INTERRUPCIÓNDESñBILITE INTCOn -ñVñNCE DE FñSES
'LENTO =opaso =1-ENCIENDñ LñS FñSESRETRRDD DE l.£ MSLENTO =1REGRESO DE FñSES
Rl£?>0000 DIR. DE CRU DE CONTROL
> 0 Ci> 04> 03Rl? 1-5> ÍF> 0676> OF •'•' 0666> 00> 03í>3EOC
.> i J 0> 03> 04Rl£< >00
> 04> 03R Ci > 3*R5? 0> 04> 03-•>R4r 0•?>3F94
R i J ? 3*R6> 0> 03R3;- ooo£
> F Cl;>F4
MODO DE INTERRUPCIÓN
HñBILITE INT. DEL RELOJCRRGE EL RETRRDDESTñ EL SENSOR DPTICD EN UNGSITRñNSCURRIÜ EL TIEMPD "'NOMODO. DE INTERRUPCIÓNBORRE Lñ INT. DEL RELOJñ Lñ RUTINñ DE ERROR
MODO DE INTERRUPCIÓNBORRE Lñ INT. DEL RELOJHñBILITE INTCGM
£0 DIR. DE CRU DE E,-"S
LENTO =0PñSD -=0FRENñDQRETñRDO DE 1 . 0 P1SLENTO =1 'PñSD =0RETRRDD DE l.£ NSRVñNCE DE FñSES
CñNBIO DE FñSESRETñRDO DE 4. 0 MSPñSD = 0RES. DE POSICIÓN MRS UNCHñBILITE INTCOf'1
MODÜ DE INTERRUPCIÓNHRBILITE IHTCOP1
' REÍ ORNO
152
tado en una unidad.
3.5.3 Subrutina de avance y retroceso de fases:
En la sección 3.2.3 figura 3.11 se observa el regis-
tro de fases y los bits correspondientes a cada fase del motor
si se cambian las fases en el sentido A,B,C, se produce un mo-
vimiento del carro hacia la derecha, y si el cambio de fases -
se realiza según la secuencia A.C.B. el motor se mueve hacia -
la izquierda.
Estas subrutinas se encargan entonces del corrimien-
to de un bit ya sea de derecha a izquierda o viceversa, cuidan
do que si el corrimiento es hacia la derecha y la faee encendi_
da es la A, la siguiente que se enciende es la C, en caso con
trario si la fase encendida .es la C y el corrimiento es hacia
la izquierda la siguiente que se enciende es la fas'e A, ver -
diagrama de flujo de la figura 3.24.-
El retorno al programa principal se realiza con la -
instrucción B * Rll, (salte indirectamente a la dirección con-
tenida en el -registro 11) debido a que se llego a esta subru-
tina con la instrucción BL (branch and link), salte y guarde -
el contador de programa en el registro Rll, ver juego de ins—
trucciones del microprocesador TMS9980 en el anexo II.
3.5.4 Rutina de avance de línea:
El avance de la hoja de papel para imprimir una línea
(line feed) de caracteres, se implementa por medio de esta ruti
na, básicamente consiste en encender las dos fases del motor
(LFMA y LFMB) con la secuencia adecuada, como se ilustra en la •
Z '£ * 9 Í
3 0
3a
CSI
• 154í' JrilSRSSEHBLER •B ñDD 794•L -RDD 7RÜ -0.7.94 ORÍ O 4-4-4-4^4-4-4 4-4-4-4-4-4-4-4-4-4-4 4-4-*-4 4-4-4 4-4-4-* 4 4-4-4-4-«••*•
0794 ORÍ O *• SUBRUTINR DE RVRNCE DE FRSES *
0794 ORÍ O 4-0794 ORÍ O $•0794 ORÍ O SLR' R O s l DESPLRSRrlIEHTG R LR IZQÜIERDflo 7 9 e o s o c i R o ? > o s o o c D M p R R E c o n > s o o0795 0800
079R 1S02 JME >07RO NO ES IGURL079C OS O O LI R O s ? 01 O O CRRGE -EL VRLOR DE MOO079E 010007RO 045B B +R11 RETORNO RL PRG.PRIHCIPflL'
DISRSSE1-1BLERB RDD 7RSL RDD 7RE07R£ 091007R£ 0910 * SLIBR'UTINñ DE RETROCESO DE FRSES *O 7 RE! 091 O * 4-* 4 4-^*4-^* 4-^^ •^•<>-*'*--*-4-4-4--<>•<>•-*••*••*•<»• *-<>v 4-^-4-4-^4-
'07R5 0910 «•07RS 091 O 4-07RE 0910 SRL R0?l DESPLñSRhlEHTG R LR HERECHRO 7 R 4 O £' E: 0 CI R O ? > O O 3 O C D fl P R R E C D N > 3 O07R6 003007RS 1602 JNE >07RE HO ES IGUñLO 7 R R O £ O O LI R O ? > O 4 O O C R R G E EL V R L G R DE > 4 O O07RC 040007RE 045B B *R1Í RETORNO RL PRG.PRICIPRL
155
figura 3.25.
7 ms
L P M A
LFM B
SECUENCIA DE FACES DE AVANCE DE LINEA
FIG. 3.25
Como cada paso del motor avansa 7.5 grados, para obte
ner el espaciado correcto entre líneas se necesitan cuatro pa-
sos es decir un avance de 30 grados por línea.
Para generar el tren de pulsos se usa un retardo de
7.0 ms, cada pulso es decir que un avance de línea toma 28 ms,
todo lo cual se ilustra en el diagrama de flujo de la figura
3.26.
3.5.5 Rutina de retorno del carro;
Esta rutina tiene por objeto mover el carro de la p_o
sición en la que se encuentre a la posición extrema izquierda,
si el contador dé posición es cero no se realiza ninguna ope-
ración. Si no está en la posición cero, el microprocesador
averigua si está en la posición uno,,- si no es el caso entonces
se procede a liberar la presión del solenoide y levantar la ca
¡beza, esto se consigue encendiendo simultáneamente ambas fases
E N T H A D A
t. F M A = [
R E T A R D O
7 . O MS
(. F M A =r O
L F M B = í
R E T A R D O
7.0 M S
L F M B =. O
L F MA = í
fí E T A R D O
f . O M S
L FM A = O
L F M 8 = I
R E T A R D O
7. O MS
L F M S = 0
R E T O R N O
•F / G . 3 . 2 fí
R L / T / N A A V A N C E
D E L í N E A
157
DISflSSEMBLERE RDD SEDL .RDD 6FCOSEO 0£ 02 «•06EO 0502 *06EO 0202 *06 E 0 02 02 *06 E 0 0202 *OSEO 02Ü2 06EO 020206 E E06E406 E 60&E806EROSEC-OfeEE06 FO06F206F406F606F806FR06FC
01 ElID 062C121E06IB 072C121E07IB 06 '2C12ÍE06íliri?£C1£1E070330
RUTINñ DE RVRpiCE DE LINER <i_FP oulp = >1CO +
LI R£?>01-B1 VFILÜR DEL RETRRBD
SBOXOPSBZSEDXGPSBZSBOXGPSBZSBDXGPSBZRTWP
• > 06<S-R2." 0> 06>Ü7^•RE? 0>G7> 06*R£? 0> 06>Ü7*R2." 0>07
EHCIEMDRRETRRDDRPRbE LREHCIEHBRRETRRDORPRbE LREHCIENDRRETRRDD.RPRbE LREHCIEHDñRETRRDÜRPRbE LR
LR
FRLR
FRLR
FRLR
FR
FRSE
SE RFRSE
SE BFRSE
SE RFRSE
SE B
R
B.
R
E
5 P1S
158
del motor de avance del papel LFMA y LFMB,
Luego la señal paso y la señal LENTO se ponen a uno
lógico y cero lógico respectivamente, para permitir el movimien
to de la cabeza y para que el tiempo de descarga de la corrien-
te del motor sea corta y permita un rápido movimiento del carro.
Se encienden las fases del motor de tal manera que per
mitán un movimiento hacia la izquierda, para cada paso se decre-
menta el contador de posición. El sensor óptico indica el momen
to de iniciar una cuenta de tiempo de 3 ms., antes de cambiar -
las faces para un nuevo paso hacia atrás, hasta llegar a la po-
sición uno (R3=l).
Una. vez que se ha alcanzado esta posición, se'apaga el
solenoide, (LFMA y LFMB = 0) aumentando la presión de la cabeza
y por lo tanto frenando el movimiento del carro, seguidamente se
actualiza el registro de fases y posición.
Para llevar el carro de una forma precisa a la posición
cero, se regresa un espacio con la subrutina de regreso de un
espacio, ver diagrama de flujo en la figura 3.27.
3.6 Rutina de Control de impresión:
Una vez que el carro se ha posicionado correctamente, y
ha transcurrido el tiempo suficiente para que cesen todas las vi_
braciones mecánicas, se transfiere el control a las rutinas que
realizan la impresión de los caracteres. Esta consta de dos pa_r
tes una que extrae el carácter ASCII de la memoria de caracteres
(memoria F1FO) y otra rutina que calcula la dirección del formato
del carácter, y activa el circuito de control de la cabeza de im
presión.
159
L F W ¿ = O
L F M O « O
¿cruAuceP 0 3 I C Í O N
A C r U A l
LÍT R
DE FA
. / C E
S E S
R E G R E S O
D E UN
E S P A C I O
R E T O R N O
RUTINA DE
R E T O R N O D E L
C A R R O
O E
DEL
C Afi R O
•i 0 W \1 jS
v o
= /
= /3 = 0
•so \S /
' E S O
i 0
- .
SI
R E r A I Í Í 3 0
F / G . 3 . 2 7
cnoydS3 wn 3S3a33a
3u nyisi93a 1 3 ss
isDd y~i s
yz3ayo y~i 3i WDiorsDd y~i ayosna y
st'JO "c 3 a D na y i 3 8383dS3
D3I3D"] üKJfi M3 DOIldD 80SH3S"SDM3M-MDioisad 3a y
"isa sssyd 3a
3a waissad y~i 3sod y MR anas 3S
MDioisod yn M33ra oy DM o woi
:S3Syj 3U Dy
waiaisad yn y
3£¿0 <
OOOO <f c£8
08 b"OOTO <£
. 33as<¿ dina
i J O T O <í ¿ oy /-.ai' i
90TO<i?fsy AON
90 <30 ¿IX
dDX
03U
-bo < zas£0 < oas9 ix' Das¿o< Das
03¿O < ¡33P
10
AQW
ADL-i
--yo::- Dddyo nsa a 3a -ywiina
oseo ossas y
O O í O 9o o so90 T O 3cu 83 O¿031 33¿0903T G3¿0TJOt y£¿ü
3d9T 93¿0dOdT i?3¿0£090 23¿O000£ 03¿03UJ:i 3T¿0oy90 o i ¿o
• t-03T tíT¿0£OUT 3T¿090UT 9T¿0¿OCTT M¿000£T 3 í¿0-T O O O O T ¿ O£8cO 30¿O'¿TST 00¿Ooooo yo¿o£330 SO¿OOOTO 90¿O0200 -t?0¿090TO 30¿O030030 D OO¿O030 J OO¿O
J O O ¿ O030
O 3 Oos¿ nny noo¿ ñutí a
091
161
3.6.1 Rutina de Salida de caracteres:
Esta rutina empieza, enmascarando toda interrupción,
de' tal manera que mientras dura,no se admite la entrada de un
carácter, ya que si esto_ sucede, podría un carácter entrar a
un sitio equivocado en la cola de impresión.
La zona de memoria RAM que se usa comoregistro o me
moría temporal de caracteres ocupa desde la dirección 150 hexa-
decimal hasta 17E hexadecimal,es decir 24 palabras de memoria
de dos caracteres de capacidad por palabra, • . _. confor-
me vayan llegando datos, los caracteres se van almacenando en
direcciones sucesivas, esto lo realiza la rutina de servicio
de la interrupción 2.
La salida dé un carácter consiste en mover el dato
desde la dirección 150 hexadecimal, al registro R5,' el carác-
ter deseado está en. el byte mas significativo de la palabra -
150, es por esto que se necesita invertir los bytes del regis
tro cinco, con la instrucción SWPB, que intercambia el orden
de los bytes en una misma palabra.
El carácter obtenido es el que se desea imprimir, -
pero es necesario correr una posición en la cola de caracte-
res; para esto se usa el algoritmo que se ilustra en el dia -
grama de flujo de la figura 8.28.
Se almacena en el registro Kl la primera dirección
de la zona de memoria de caracteres, el registro H2 es un con
tador de la-direcci6n del carácter que se esta desplazando, -
en el registro K4 se almacena el valor del registro R2 menos
una unidad, es decir la dirección de memoria a donde se va a
en UJ ce UJ t- o «t a UJ Q Q -J <l üí
GD 04 fO O íZ
D1SRSSEMELERB RDD 610L RDD 63d061 0 Oí 00 •**061 0 Oí 00 *0610 Oí 00 <>0610 Oí 00 *•*•061 0 Oí 00 06 1 0 Oí 00 +061 0 Oí 0006 1£ 00000614 C1510616 06C50613 0£4506 IR OOFF06 1C -COSÍ061 E C10£0650 060406££ D51£06 £4 30 C£06 £6 110406 £'3 060306£R 030006£C 000£06£E 03300630 053£063£ 1-OF5
+ <*,>$• 4 4,4-9>4¡r<flÍ>-Jfr-$--$-O'b
RUTIMR DE SRLIlüP = >1EO4. . . . . 4. ^ . ^ .
LIMI > 0 0 0 0
MDV +RÍ ?R5SWPB R5RMDI R5>>OOFF
MDV R1?R£MDV R£SR4DEC R4t-lOVE *R£j*R4C R£? R3JLT >0630DEC R3LIMI ;=-000£
RTWP1MC R£JMP >061E
*
* «- * * fr •$ * <y -* 4- «K «- «- * <fr <!r 4> -4» 4- •*•
DR DE UM CRRRCTER *0
^ >4-<' 0 *-0- A *0 -*
o
DESRB I L I TE I M T ERRUPC 1 GMES
SRQUE EL CRRRCTER RL REb\IMTERCRMBIE LOS EYTESDESECHE EL SEGUNDO BYTE -
RES. £=RE5. 1RE6. 4=REG. £DECREMEMTE EL RES. 4
5
HESPLRSE UMR POSICIÓN EM f'1Eí'1CRIRHR sino EL ULTIMO CRRRCTERI MI CIÉ UN MUEVO DESPLRSRMI
HRBILITE INTERRUPCIÓN £
RETORNOINCREMENTE EL RES, £
-•
ENTO
R DESPuñSRR UN MUEVO CRRRCTER
164
correr el carácter en cuestión, el registro R3 contiene a su -
vez la dirección del último carácter que ha entrado a la cola.
Con la instrucción MOVB*R2, *R4 se desplaza una posi^
ción solamente un byte/ esta es una de las ventajas del micro-
procesador de la familia 9900, que puede aceptar direccionamien
to de palabras o de bytes.
El proceso de desplazar los cara'cteres una posición
en memoria termina cuando la última dirección desplazada es la
del- último carácter en la cola (R2- = K3) , luego se actualiza -
la dirección del último carácter, antes de retornar el control
al programa principal, nuevamente se habilita la máscara de in
terrupciones.
3.6.2 Rutina de Control de la cabeza de impresión:
Una vez obtenido el carácter que se desea imprimir,
se calcula la dirección del formato de la primera columna del
símbolo ASCII, según la siguiente ecuación:
DIRECCIÓN = 3800 +5 (R5 - 20)
Donde: RO = 20 hexadecimal, es el valor ASCII del primer ca
- - :. . carácter suceptible de imprimirse, a pesar de que
es un espacio en blanco, se lo procesa como cual
quier carácter que deje una huella impresa en el
papel.
Rl - 5 hexadecirnal, es el número de columnas de pun-
tos, o palabras de memoria que corresponden al
formato de un carácter ver sección 3.9.
165
R3 = 3800 hexadecimal, es la primera dirección de un
formato, almacenado en memoria EPROM, y corres-
ponde al carácter espacio en blanco.
R5 — Carácter ASCII, es el numero hexadecimal que co
rresponde a "un numero , letra, o símbolo espe ---
cial que se va a imprimir.
Por ejemplo si se trata de imprimir la letra "8" que correspon
de a un código ASCII = 42 tenemos que:
DIRECCIÓN = 3800 + 5(42 - 20).,,.16
3800 + 5 (22), 16
3800 -f AAn ,.16
DIRECCIÓN '- 38AA, 16
Si se consulta la sección 3.9 en que se trata la codi
ficación de caracteres, se puede observar que la primera colum-
na de puntos de la letra "B" está almacenada en la dirección
38AA, ,. . .16
•
La rutina de control de impresión, transfiere entonce
a los registros R7 , R8, R9, RIO, y Rll las columnas de puntos -
correspondientes .
Como es'te es un proceso en tiempo real, que no puede
ser retardado por una interrupción, se desabilita la máscara de
interrupciones .
Se enci'ende la señal IMPRIMA que controla los circui
166
E N T R A D A
C A R G E
E L
C A R A C T E R
V
C A L C U L E
L A D í f l E C C f O H
D E L F O R M A T O
C A / T G E EL
F O R M A T O
Fi f?7
F3 f í9
F 4 Rf O
F 3 nil
DES A B / L / TE
/ N rz
/ M P /? I ftí A = /
í f V Í C IE
rE í íPORíZADOR
í O. MS
1 1.Í P f? M A = 0
RE f O R N O
UTI N A DE IMPRESIÓN
Fí G . 3 . 2 9
DI'SRSSEMBLERB RDD 524L RDD 5BR0524 02 OC **<0524 0200 +.0524 0200 *0524 0200 +*<0524 02 OC *0524 02 OC +0524 02 OC0526 OCOO0523 0404052R 01600520 01ER05£E 61400520 39410522 R1330524 D1F60526 D2360523 D£76052 R D2E60520 D£D6052 E 03000540 00000542 30040544 IDOS0546 02000543 000005 4R 1EOO0540 ID 03054E 1E040550 33020552 02000554 OCOO0556 3107055S 1DOR055R 1 0000550 ID 09055 E 1 0000560 1 E 090562 10000564 1EOR0566 310305 63 1DOB056R 1 0000560 ID 09056 E 10000570 1E090572 1 0000574 1EOB0576 31090573 ID 0005 7fi 3 0000570 IDO 905 7 E 1 0000590 1E09053 2 1 0000534 1EOO0536 310R0583 1DOD
.4*4-4 44*4RUTINR DEWP =MflG
LI R12?
CLR R4MOV £'>ÜI
S R 0 ? RMPV RlsRH R3*RMDVE *R6+MOVB 4-R6+nOVB 4-R6-I-na VE +R&+na VE +&6fLIMI >000
LDCR R45 0SEO > 03LI Rl£5
SEZ > 00SED >03SBZ >04LDCR R£? 1LI RÍE*
LDCR R7?7SEO >.0ñHDPSED > 09HDPSEZ > 09HDPSBZ .> ORLDCR R3? 7SEO >OBHDPSEO > 09HDPSEZ >09NQPSBZ >OELHCR R9? 7SED > 00HDPSEO >09HDPSBZ > 09HDPSBZ >OCLDCR -Rl U?
•
IMPRE-
4-4-4 4-fr*"!
> ll' C 0 1 J
EñsRS
55t'.-R7? RS? R9? R 1 0Rll0
> 0 0 0 0
5> OCOO
r"
167
SI OH DE ORRROTERES
DIR. DE CRU DE_IMPRESIÓN
BORRE EL REG.4ORRRCTER R IMPRIMIRSE
'CRLOULO DE LR DIRECCIÓNDEL FORNRTO
PRIMERR CGLUMNR DE PUNTOSSEGUHDfl. ODLUMNR DE PUNTOSTERCERR CGLUMNR DE PUNTOSOIJRRTR OOLUÍ-INR HE PUNTOSQUIHTfl CDLUrlHñ DE PUNTOS 'DESflBILITE INTERRUPCIONES
BORRE EL REG. DE IMPRESIÓNIMPRIMR = 1DIR. DE CRU DE CONTROL
MODO DE INTERRUPCIÓNHREILITE IHT1. DEL RELOJDESRBILITE INTOOMORRGE RETflRDO HE 10 MSDIR. DE CRU DE IMPRESIÓN
CRRGE LR PRIMERR CDLUPIHñxn i =1
II1PRIMR
XD1 =0CRRGE LR SEGUNDR COLUNNRXD2 =1
IMPRIMR
XD£= OCRRGE LR TERCERR ODLUMNRXD3 =1
IMPRIMR
CRRGE LR CURRTR OQLUMNR
168
058R058C058E0590059£059405960598059R059C05 9 E05ROOSRS'05 R405R605R805RR05RC05RE05 BO05B¿05B405B6OSES05BR
1 0 0 ÜID 091 Ü 0 01E091 0 0 01EOD3 ICE1DOEi 0 0 0ID 091 0 0 01E091 0 0 01EOE0£OC0 0 0 01FOF16FE1EOO1E03ID 04Oc!OC000030040380
NDPSBDHDPSB2NDPSB2LDCRSEDNDPSEDHDPí'B2HDPSE 2Ll
TBJNESE 2SBZSBO -LI
LDORRTWP
/ '.' _•
> 09
> Oí!
R 1 1 5 7> OE
;> 09
> 09
> OEP1S?>
> OF>05RR> 0 ij> 03> 04R rs « >
R4? 0
IMPRIMR
CRRSE LRXD5 =1
INPRIMñ
XD5 =00 0 0 0 DIR.
• HR TRRMSCHD ESPEREMDDD DE IBORRE LñHRBILITE
00 00 DIR. DE
BORRE Lñ. RETORNO
_
QUINTñ CÜLUMNR
DE CRU DE E/'S
URR1DD 10 MS ?
NTERRUPCIDNINT. DEL RELOJINTCDP1CRU DE IP1PRESION
ULTIT-1R CDLUMNR •
169
tos de impresión de la cabeza, y se inicia un temporizador de
10 ms, que es el tiempo en que la cabeza tranfi-ere calor al -
papel térmico.
Se carga a continuación la información del registro
siete en las líneas YD7 - YDl, se enciende la señal XDl que -
corresponde a la columna uno, luego se enciende la señal STROBE
que habilita las compuertas de salida, y así sucesivamente pa
ra cada columna. Los diferentes bits que corresponden a cada
. señal se pueden observar en la tabla 3.2.
Al transcurrir los 10 ms programados se apaga la se-
ñal de habilitación del circuito de control de la cabeza, como
se puede ver en el diagrama de flujo de la figura 3.29.
Se notará que las señales que* cargan la información -
en la cabeza térmica se realizan en un tiempo sumamente pequeño
en comparación a los 10 ms que dura la transferencia de calor -
de la cabeza al papelf un ejemplo de diagrama de tiempo para la
letra "F" se puede observar en la figura 3.30.
CABEZA DE IMPRESIÓN
CRU = OGOO
BIT SEÑAL
0
1
2
3
4
. 5
YD7
YD6
YD5
YD4
YD3
YD2
170
5
6
7
8
9
A
B
C
D
E
F
YD2
YD1
IMPRIMA
STROBE
XD1
XD2
XD3
XD4
XD5
TABLA 3.2, .
Los elementos calefactores se encienden cuando coinciden las
tres señales en un elemento según la ecuación.
( YDI . XDJ . STROBE ) . IMPRIMA = PUNTO
3.7 Rutina de control de la interface de datos:
La interfase de datos se programo de acuerdo a lo ex-
plicado en la sección 3.3.I/ se definió entonces la velocidad -
de recepción, el formato del carácter y se habilitó para produ-
cir una señal de interrupción INTCOM. Se estudiará a continua—
ción la rutina de servicio de la interrupción, o rutina de en-
trada de caracteres.
MP
RiM
A X3
X4
X
5
S T
R O
B E
DI
AG
RA
MA
TIE
MP
O
.DE
Í
MP
RE
S/
ON
FI G
. 3
. 5
O
: :
H -O
172
D Y & K o
R / £ t=:OGOO
RADA
GUAU DE
E W tí E MOR! A
EL CARÁCTER
BOfíR E LA
' AH D E RA D£
¿r E Rft UPCiON
n c r
E N T R A D A DE C A R A C T E R E S A MEMORIA
F t G . 3 . 3 ¡
m r- H
Ct:"
U! i
— i
co ÜJ
(••"i
C-M CE iVj
i— i
"í 1-1
O
-U'
&j d
r--_ r
v
Q C
jQ
Ü
jce
>r
CO _
j
4 ir
4
f-H
4
ü1.
4 ñ
j q
•£
ZI
4-
»-(
CC
4
ÜJ "
* ci
<r
4 a
>x
i4 ^
IU
4
O C
L*
t-
H Ü
J
4
~"~
^ — '
-0-
Oí
O
4 lu
>r
4
00
Ct:
•$- x
-9-
ÜJ
Ü-^
j |
4-
U!
4 >~<
>r
cu>
~~l
fT
4 o;
ct
u4
CO
h-
4- ri
z:
a.•$•
i>
} LU
15
4- 4"
4
4
"4
o O
o o
>— '
!_'
<_1 '1
ü"j
u~j in
loi.'.i v.i
CM
CO
o
<—• o o
fui
£C|
¿0
£C
|r---
r---
f--_
f--_
• — •
' — •
* — •
O
^ 4
- 4.^
4-
-$.-•>
* 4-
-i?- <
(> •*•
-^
<>- 4
- <- -
*• -<
í»-*
-*"
-$--*
. *•»
4- <
>-!?
•<»-
«-<>
-•$• 4
-^*-
ST
CR
R
Os
? C
RR
GE
E
L
CR
RR
CT
ER
E
H
RE
b.
0M
DV
¿
<>
Ü1
E6
.-R
3
DIR
. D
EL
üLT
Iílü
C
RR
HC
TE
R
INC
R
3
INC
RE
ME
NT
E
uR
D
IRE
CC
IÓN
NG
VE
R
O?
*R3
R
LP
1R
CE
NE
E
N
rlE
MO
RIñ
-í».
4- ^
'ÜI1 '"'
O
O
O '..fi
C
'"l
'— *
ü
i_'
i_i
i—'
LU
ÜJ
uu O
\T¡
U~i
ü~i
\Ti
O
r-i
b~i
"r
i'j
'0 i
,'j i
'J i_
i •—
• •—
' i— i
•— •
o
o
d-
CU
•&
'-£
i C
OÜ
4 -
pQ
CCi
Cu
C
M üj
.ÜC¡
C
Or^_
r--_
h-
r---'r
-«_
r---,
r^-
r---
• — •
* — •
'_* L
—' •
— '
• — •
< — •
•_'cu t—
1 u 1— I
ÜJ
1— 1
a: Üij a: LU a , r'-i
-T—
t g cu i—\t
í— 1
«X CO P-- • — 'a i —
io Ü
iCL
'
UJ
H; a CL Ul
Lü vH -•\»
CO C¿:
9 '"0 O CO l_l
d M-! r-- • — '
'X i— í
t—í
LL a o iVj
a a. ce ZJ C
/i
ü: O
CO
O i~>;
ÜJ
O
~")
'.£i
CO
t-i
ÜJ
CO
'— '
V-í
T-í
C'*'
'— •
0.1
»-t
ÜJ
0 C
UU
J l
t '* 'i
r-_ r
-~ r
--_• —
' ' — '
•— •
Y'Í Li
Ul
f. Ü
J
a i— r
>UJ
Q:
iVi
U!
IU Q
O a M s a "" y .•' % a
i
CL 1 —
t~H
'— -
OCO
'— '
CO
O
J•Z
J •— '
-fr
'-£'
o o
f--
F'--
1 — •
< — •
0 cu '— •
'_'
CO r_j
fv • — •
n ÜJ
Ul ri o tu UJ tt:
•— • i
— i Ci
u c¿ ¡_ 1-J '
— •
O"''
CU
A c
t:
C-J
_J
CT-.
U• —
* i-
'LU
OJ
t— <
' •
tX O
O
C_j
f'--
f'--
'— '
'— '
•
0 '"'
CO d'
ÜJ o f--- '— '
2 LV'
a i- lu CL.
Q:
0 ÜJ
CO '— '
o l-l ^- '_•
r
174
3.7.1 Rutina de entrada de caracteres:
La ejecución del programa general de control solamen_
te puede ser interrumpida por la llegada de un carácter a la -
interfase' de datos, y la primera tarea de ésta es servir la in
terrupcióno sea almacenar el carácter en una zona de memoria,
convenientemente escogida llamada memoria de caracteres, ver -
diagrama de flujo figura 3.31.
El carácter se almacena en la última dirección más -
una unidad, es decir al final de la cola una vez salvado el da
to, se borra la bandera de interrupción del TMS9902, esto se
consigue escribiendo un uno o un cero lógico sobre el bit 12
(RIENB), ver la hoja de especificaciones del TMS9902 en el a-
nexo II.
A continuación se compara el valor de la última posi
ción'en la cola de espera, con la última posición permitida en
memoria; es decirr se analiza la condición de memoria llena,
si esto ocurre, entonces la señal que indica que el terminal
está listo para recibir datos, se lleva a cero lógico (DTR=0 )
para indicar que el impresor no puede recibir más datos hasta
que se vacíe la memoria, luego se retorna al programa princi-
pal.
3.8 . RUTINA DE ALARMA:
Uno' de los caracteres definidos en el código ASCII
que no es suceptible de ser impreso, es el que produce una -
señal audible o alarma (BEL) , esta señal es muy "usada sobre to
do en teleproceso, para llamar la atención .del operador sobre
el inicio o fin de una comunicación.
v w y v T y 30 v
tí o a v J. w o o
T 3
3 I N 3 C / 3 Í / 0 3 Q
O C J i / V - l 3 M v i
í = y v/ u y T y
uoa V I M O OT 3
3 9 ti V O
v a y H
9 ¿.I
DA3HM Mn y 3i~iys dwro
-i D:±'30 y 093~nO "13 31M3W33:j3a ¿a osa
so < zaso ssy-«- dox
SDS~1ñd
38 ¿0:
8Í33 3¿<
¿090 y¿,80 3 T 3¿<8103 9¿í80 U T t-¿¿3300 3¿¿¿030 Ü¿,
¿030 O ¿O OI •=' = d fl > ¿03 O O ¿
ywyyiy 3a y^nny ^ ¿030 o¿>O--Í»-í»«-«••«• 4--&•'í-<>- - •<*•*•<>•*•*• A^ ¿O30 O ¿
3S¿- aayo¿¿ aay
:!JI
¿Ona
9 ¿I
177
La señal de'alarma es producida por una rutina que en
ciende y apaga un bit (BITS) con un retardo de. .833 ms, pro-
duciéndose un tono audible de una frecuencia de 600 Hz, el tren
de pulsos dura un tiempo igual a 2E = 46 períodos.
Una vez que el contador llega al valor cero, termina
el tono y se retorna al programa principal, ver diagrama de flu_
jo de la figura 3.32.
3.8.1 Rutina de Error:
Si por alguna causa, existe una obstrucción mecánica
de el movimiento de la cabeza de impresión es necesario notifi-
car tal suceso al operador/ y a continuación suspender la ali—
mentación de corriente al motor que mueve la cabeza, para evi
tar sobre calentamiento de los transistores de alimentación,así
como del motor mismo.
Con la instrucción CLR RO, se borra el registro de -
fases, y a continuación con la instrucción LDCR RO 11, se apa-
gan todos los bits de salida, desactivando la alimentación al
motor.
A continuación se cargan en el registro Rl un retar
do de 0,5 segundos, y el registro R3 con un retardo de .833
se produce entonces un tres de pulsos de una frecuencia 600
H y que dura 1.0 seg., seguido por un silencio de
.5 Seg. y acontinuación, nuevamente se repite el ciclo,
nótese que no existe un retorno de esta rutina, de tal manera
que la única forma de retornar al programa de Control es, la
dé que el operador apague, y encienda el impresor, lógicamente
luego de corregir el problema de la obstrucción mecánica, ver
178
E U T R A D A
D 1 R E C C 1 0 fV
D E
fíí 2 -
1
CR U
= 0 2 0
1
E R R 0 R =• 1
\E EL
R E G Í
D E F
S T R O
A S E S
A P A GE
E i.
M O T O R
C A R G E
PARA M E T R O S
D E D U R A C I Ó N
Y T ONO
C A R G E
E L
C OHTADOR
R U T I N A D E E R R O R
H O J A N S. I
F IG . 3. 3 3 -A
179
RUTINA DE E R R O R
HOJA N 2 2
F / G . 3 , 3 3 - B
DISRSE RDD.L RDDOSEO06 BU06BO06BO06BO06 BU06BO06BO06BO06 E £06B4•-06B606B806BR06BC06 BEÜ6CO06 C£06C4OSC606 C306CR06 CC06 CE06DO06D206B406D6
SEMBLERbBO6D60£OC *••*•<0£OC -*020C +02 OC *OSOC «-020C *••*><02 OC *02 OC *02 OC0020040 03£CO1E090201?R1302030 0 1 10£0£Ü1F4ÍDOS£C131EDS0602130£2C13n;iF9£C111 OF5
{.-•«. •«Jv-tfr <^<*4-<>^«-*
RLITINR DE ERRORD PERDIDR DE Í-1DVDELWP
HHnfr-*-
LI
CLRLDCRS'BZLI
LI
LI
SBGXDPSBZDECJEQXDPJMPXGPJMP
CRRRD- >2004- *• «- * •» ++ •*- - -* 4- •*• «-
Rl£? >00£'0
ROROs 11> 09R1.07R13
R3?> 001 i'
RE? >01F4,> OS*R3.< 0> OSRE>06D4*R3? 0> 06 C 6•*• R 1 s 0> 06 C£
I MIENTO
-$-^><>^-é->-
DIRECC
BÜRRE 1RPRGE 1DTR =CRRGE 1
CRRGE i
CDNTRB!
RLRRNRRETRRDRLRRMRDECREMICüHTRD!RETRRBISRLTE iRETRRDiHUEVO '
180
181
figura 3.33.
Un error similar ocurriría si la fuente de +30 vts, -
que alimenta a los motores y al circuito de impresión faltan,
ya que el motor no movería a la cabeza y el efecto sería igual
a una obstrucción mecánica,
3.9 Programación de la memoria EPROM de caracteres:
En los sistemas de impresión anteriores, y general-
mente en todo sistema de presentación visual de la información
(tubos de rayos catódicos etc) el formato del carácter estaba
almacenado en una memoria ROM o memoria generadora de caracte-
res, la cual era direccionada por un sistema digital secuencial
en el presente sistema controlado por programa la ROM generado-
ra de caracteres y la memoria que contienen el programa de con-
trol son una misma, simplificándose el circuito, y haciendo su-
mamente flexible el cambio de formatos de letras, y símbolos.
En la figura 3.34 se muestra un mapa general de la me
moria, donde se muestra claramente el concepto anteriormente -
expuesto.
MAPA DE . MEMORIA GENERAL '
0000
03FE
3800
39EO
3FFE
RAM2114
FORMATODE
CARÁCTER•
PROGRAMA
ALMACENADO
,1K MEMORIARAM
2K MEMORIA
EPROM
182
3.9.1 Formato de Impresión:
La cabeza de impresión térmica consta de un matriz de
puntos de 5 columnas de 7 filas cada una, con este formato se -
representaran todos los símbolos del código ASCII dados en la
sección 1.4.2, incluyendo la letra R castellana, tan necesaria
sobre todo en procesamiento de palabras, cada columna de puntos
se almacena en un byte dejándose sin utilizar el bit más signi-
ficativo, ver figura 3.35, esto también permite un eficiente -
0 1 2 3 4 5 G 7 O 9 10 U 12 13 14 Í5
P A L A B R A DE MEMORIA
O D E C RU
I
2
4
G
TRANSFERENCIA DE 7 BITS A UN DISPOSITIVO DE CKU
FIG. 3.35
empaquetamiento de los formatos en memoria, y además simplifi
ca el cálculo de la dirección de un formato determinado en me
moría.
IB:
A continuación se da una tabla completa de los carac-
teres que se desean obtener, su código ASCII, su dirección en -
memoria, y el contenido mismo; esto es necesario para progra-
mar la memoria EPROM.
184
FORMATO DIRECCIÓN CONTENIDO FORMATO DIRECCIÓN CONTENIDO
20
-r i•ip
3800 00000000oo •
006F6F0000
081C3E1C08
0808 3E0808
-•U&.•£*
380A
22
0003000300
383C 0058380000
0808080808
3814 46497F<31
3846 0060600000
2313086462
381E 3649562050
3850 3E4141413E
0004020100
00427F4000
3828 001C224100
385A 7249494946
0041221COO
33
2241494936
MEMORIA DE FORMATO DE CARACTERES
185
FORMATO DIRECCIÓN CONTENIDO FORMATO DIRECCIÓN CONTENIDO
3
'Tí
3
_ iS-
G*
*-p4-. .2
.jTfTwf 1 J I
127F
10
S«4«3JSa_ i
SI 1408
00
4 3E
pr*"Wíii
* ¿-Í-'±¡ U^alLfc
27"4545
¡ ¿m*íQ
35
t#
"¿rC
» ^?U
TH "Man r
386E 3C4A
4949 I
30
36
»LL
&p
-^S^ -.:_3 -i- jáJíitüs
UJ- _S7i nQ0503
37
1
3&«
g
í SS61 i_fi
~j"ftH JK¡
3878 3649
4949 Ii/- - i36
38
§u
-»i
MiP J übr §i.^- -^¿¿J S
4949 -[291E s
39
*4
ubi.
11
i3-^-
3882 0036 ~¡3600 -'
00
3A
-ís^í4^ »L• ^y — r J•rf.í í-^rtJ
J_ _±
UU J
5B3B -'
0000 _íS
3B
£
se.
S
3 S_.2
^
3C
«
— a
_rd_ ;,^
2Ü
388C 0008 _?
1422 ~|41
14 -S1414 I¡1-414 ~*
i P-Ts!TT
3F
BS^
hy*T~TTiSSSS
g~ 02rH
"*{g 0159Í! 050?
ül ?RAn ^?4Q
II 7921a*1 1E
40
ir*"3¡E!-t^ -í
- ' JJ¡K-t.^5Sr
/CJ
•"3 JLZ±±
2 127C
41
í _t£4s iJ
?1 38AA 417F
lu 4949Lí
asKlifc. J t>
42
5tíi! *l! í®
|
i
43
^^T ti_L
44
^¿xy,• v a*l"l~T
S" 3E'
- 'j 4141J ¿1199
35 38B4 417F
U 4141
\** 3E
I] 41
?? 7F49
"t 1 4 Q 4 1Ir*
45
^P^Ss3 _ll_Lib ~1 — r ~
46
I§— <a —__ .—¿'i —&m ,
S 38BE 417F
f? 4909
-^ 01
U 3E
-S 4149•* 4938
3D 47
186
FORMATO DIRECCIÓN CONTENIDO FORMATO DIRECCIÓN CONTENIDO
38C8 7F0808037F
38FA 7F091929
00417F4100
6649494933
38D2 3040413F01
3904 03417F'03
. 417F491462
3F4040403F
38DC 417F4140
390E OF30
7F020C027F
3F4038403F
38EG 7F0204087F
3918 6314081463
7F4141417F
0344784403
38FO 417F494906
43
3E4151215E
00)7I
4141
51 5B
187
FORMATO DIRECCIÓN CONTENIDO FORMATO DIRECCIÓN' CONTENIDO
392C 7C0509117C
39SE 7C14140404
417F0000
38Í54
5424
3936 04027F02
3968 7C101010
40504040
00447C4400
3940 0001D2Q4
3972
7814141478
7C10102844
394A 447C545428
397C 7C404040
3844444444
7C0810087C
3954 447C444438
7C0810207C
7C54544444
7C4444447C
65 6F
-o \DMi
co-J LO
4-T
Cf :«n
03 00
LO VO vo
LO U3
\D O
O O
co
coo
-o
o
£>.
O
Ja-
O
J-
M
NJ
CO
CO
NJ
roo
o-O
H
-J
o o o
o
to
too o
oM
J^
O
O
O
^J O
rfs. O
rf
iO
O
Oí
Ln
>£v
J^to
ln
O
W -J
CO
J^
OLn H
Ln O-J O
O CO--
JO
Oo
td>
aHB
z
LO
LO
M
aa
O On ro
O O
o o
o o
oc o o
o o
otO
K
) (\
o o
J^
H
O
*»C
O
}->
O
LO
4^
o
en
i-1
-O
H
-OCO
[O
C
Oro
o
10 >
tfc.
OI-
1 C
Ott»
L
O
O}-
>
CTl
O
OCT
i
CO CO
190
CAPITULO CUARTO
4-1 Implantación Circuital.
La implantación circuital del sistema se realizo divi-
diéndole en tres tarjetas a las que se las denominará:
- Unidad Central de Control
- Unidad de Control de motores y cabeza
- Fuente de Poder.
En la primera tarjeta se hanneunido él microprocesador
(TMS9980), la memoria (2114) (2716) y los circuitos de entrada y -
salida (TMS9901 y TMS9902) así como sus respectivos circuitos inte
grados' de decodificación y control.
En la segunda tarjeta están los elementos que manejan o
controlan, al motor de avance del carro, el motor de avance del
papel, el selenoide de liberación de la presión de la cabeza, así
como el control de temperatura del elemento de impresión.
La última tarjeta reúne los elementos que permiten obte-
ner las tensiones necesarias para la alimentación de energía de las
dos tarjetas anteriores, e incluyen puentes de diodos, condensado-
res de filtro y los circuitos reguladores de tensión.
4.1.1 Unidad Central de Control:
Este circuito,está montado sobre una tarjeta Vector pe_r
forada de 11 x 15 cm, que tiene un peine de conexiones de 44 ter-
minales, como puede verse en el diagrama de disposición física,
Anexo I.
191 -
Todos los circuitos integrados, están colocados en zóca-
los, los cuales permiten un fácil reemplazo de componentes en ca
so de falla, por la parte inferior se realizo el conexionado, -
por medio de alambre estañado # 30 AWG. Para desacoplamiento -
de las fuentes se usa pequeños condensadores de .047 MF, para ca
si todos los circuitos integrados.
En la implantación final se observo el funcionamiento
muy inestable del circuito de inicialización, implementado con -
componentes discretos (transistores, resistencias y condensado—
res), ya que dependía criticamente de la ganancia del transistor
razón por la cual se reemplazo con un circuito digital, como se
observa en la figura 4.1.
R / O K
7 4 / 4
47MF
V
FIG. 4.1
El condensador C se carga a través de la resisten-
cia de entrada del disparador de Schmitt, (7414) hasta llegar
al voltaje de disparo V = 1,68 Vts, si se escoge una resis_
tencia de 10K y'un condensador de 47MF, se tendría que:
E = 6K
R = 10K
VT+ =1,68 Vts
Vcc = 5 VTS.
192
La. resistencia total sería el paralelo de 10K y 6K, es decir:
R = 3,75 K.
El tiempo que el condensador se demora en cargarse hasta V
es:
t = R.c ln
ce T+
t = 72.16 mS
Tiempo suficiente para inicializar los circuitos.
Cuando se desarrolla un sistema como este, una dificultad es
encontrar una forma de probar el sistema, mucho antes de que la si-
guiente tarjeta este terminada su diseño, y peor aún su construcción.
De tal manera que para probar este circuito se procedió a diseñar un -
programa de prueba , que activará los principales subsistemas y fuera -
fácil de seguir su ejecución con un osciloscopio y una punta de prue-
ba lógica.
Se utilizaron dos programas, el primero recibía caracteres
ASCII enviados desde el módulo de evaluación, a través de un puesto -
RS-232, y el circuito de control los devolvía al recibir un retorno -
del carro.
Con esto se lograba probar el correcto funcionamiento de los
circuitos transladores de nivel (-75188, 75189) el controlador de comu-
nicaciones ñCC (TMS9902) , la memoria RAM(2114) , los circuitos decodifi
cadores y por su puesto el procesador y la memoria EPROM.
El segundo programa mucho más simple, enciende y apaga uno -
tras otro los bits del puesto paralelo (TMS9901) , con una duración de
0.5 seg, con lo cual se probaba el correcto funcionamiento de este -
puesto, de la decodificación de los bits de CRU y la correcta progra-
mación de los circuitos de tiempo.
193
4.1.2 Circuito de control de motores y cabeza térmica implantación'
Circuital.-
Este circuito también está montado sobre una tarjeta
vector de las mismas características:
Todos los circuitos integrados están colocados en z_o
calos, los transistores de potencia están montados sobre un mis
mo disipador, ya que a pesar de manejar grandes corrientes
(3 Amp.), funcionan en modo de corte y saturación, disipando -
poca potencia.
Una dificultad inesperada fue el funcionamiento muy
crítico del comparador que realiza la regulación de la corrien
te en el motor de avance del carro.
La frecuencia de interrupción, está dada por los va-
lores de los condensadores y resistencias, a las entradas del
comparador, así como por la inductancia del motor y el valor de
la resistencia de realimentación. La frecuencia se veía modifi
cada por el ruido presente en las fuentes de alimentación, de
una manera muy crítica y aleatoria, razón por lo cual se modifji
co el circuito de tal manera que la frecuencia de conmutación
se fijo en "20 KH , por medio de un biestable tipo D, y la dura-
ción del pulso se modula por medio del comparador como se obser
va en la figura 4.2.
De tal manera que cada transición positiva de la señal
del reloj se habilita el circuito y puede circular corriente por
el motor, una vez que la señal (VIMOT^RFF) del motor sea mayor
que el voltaje de referencia la salida del comparador apaga el
biestable, obteniéndose una modulación del ancho del pulso, que
194
no depende de los valores del circuito.
FIG. 4.2
4.1.3 Fuente de Poder implantación circuital.-
Este circuito está montado en una tarjeta Vector -
perforada, de similares características que las anteriores.
Del transformador que tiene tres devanados secunda-
-.ríos, se conectan a los puentes rectificadores de onda comple
ta, seguidos por condensadores electrolíticos, de capacidades
suficientes para obtener una tensión de risado conveniente,
las cuales se conectan a reguladores de tres terminalesr ins
talados sobre disipadores térmicos. A la salida de cada re-
gulador existen capacitores para desacoplar las fuentes.
La fuente de +30 Vts, es capaz de suministrar 3
Amp, por lo tanto no es suficiente un regulador de tres ter-
minales, un transistor de potencia PNP conectado como se mue_s_
tra en la figura 4.3 suministra la amplificación de corrien
te necesaria además un diodo Zener en el-terminal común sube
el nivel de regulador a +30 Vts.
195
Yv-<YYV - i - V /F 4 7 0 H M < > - -3-r-*-
/ , A m p
2 x 2000Mf
V V
, A m p
6, Z
V
30 v
3r A m p
15 MF
y v
FIG. 4.3
4.2 MONTAJE FINAL:
Para el montaje final se uso' un gabinete de aluminio
de 36 x 32 x 3.2.5 cm. , aproximadamente. La tapa superior des-
montable, en su parte derecha incluye dos botones para cambio
de "en linea", al estado de "fuera de linea", así como el avan
ce manual del papel, se incluye también un indicador luminoso
del estado "en linea".
La tapa desmontable en la parte posterior tiene un
conector para la acometida de tensión &.C. en el mismo cuerpo
se incluye un filtro supresor de interferencias (EMI), que en
esencia no es sino un filtro pasa bajos para impedir que la -
interferencia electromagnética generada en el equipo salga al
exterior a través de la línea de alimentación de A.C.
196
Un interruptor de dos vías y dos posiciones, comple
tan la acometida de A.C., así como un 'fusible 1.5 Amp.
Un conector de 25 terminales hembra constituye la
entrada de datos al sistema/ así como las señales de control
nótese que se ha alambrado también la salida de datos desde -
el impresor, para cualquier aplicación futura. Ver tabla 4.1
En la parte posterior también está montado un peque
ño parlante, para indicar la recepción del carácter alarma
(Bell) así como para la señalización acústica de error.
En el gabinete metálico en la parte frontal está
montado el mecanismo impresor, sobre separadores metálicos.
TERMINAL SEÑAL ORIGEN
SALIDA
ENTRADA
ENTRADA
ENTRADA
SALIDA
TABLA 4.1
En la parte posterior en un pequeño chasis está -
montadas verticalmente las tres tarjetas electrónicasf las
cuales pueden ser.desmontadas fácilmente para su estudio o -
reparación,unos agujeros en la parte inferior del gabinete
permiten la circulación de aire para la correspondiente disi
pación de calor.
1
2
3
6
7
8
20
GND
XMT
RCKJ
DSR
GND
CD
DTR
197
4.3 MEDICIONES REALIZADAS EN EL SISTEMA:
En un sistema digital, en el cual las señales varían
solo entre niveles discretos, no tiene sentido la medición de
la amplitud de las señales, sin embargo la secuencia de cambios
en el tiempo cobra vital importancia.
4.3.1 Secuencia de Recepción.-
En la figura 4.4. se pueden observar las señales PRINT
.RCVD., y INTCOM- esta es la secuencia de eventos cuando se reci
be un carácter suceptible de ser impreso.
En la figura se observa la señal .del carácter A
(ASCII= 41), el bit de arranque (cero lógico) los siete bits de
datos, paridad asi como el bit de parada, (uno lógico), inmedia
tamente la señal de interrupción INTCOM- que indica que el ca-
rácter esta listo, esta bandera de interrupción se borra sumamcn
te rápido y se inicia el ciclo de impresión con la señal IMPRIMA
que dura 10 ms.
FIG. 4.4
198
4.3.2 Secuencia de avance del carro.-
En la figura 4.5 se observa la secuencia de eventos
necesarios para un avance del carro, se muestran las señales
PASO, LENTO, SENS, FASE A, FASE B, y EASE C.
Se inicia la secuencia con la subida de la señal
PASO, y el cambio de fases, la tercera fase permanece inalte
rada, la señal LENTO es un cero lógico por 1.2 ms.
Con la subida de la señal del sensor óptico se ini
cia la secuencia de frenado, para esto se cambian las fases
a su estado anterior., por un tiempo 2.2 ms.
Transcurridos 10 ms desde el inicio de la secuencia
todas las señales terminan en su estado inicial excepto las
fases.
AVANCE DEL CARRO
FIG. 4.5
IOS)
En la figura 4.6 medida con un osciloscopio se mu es
tran las señales PASO, LENTO, y la señal VMOT.
Se observa claramente en la señal VMOT el cambio de
pendiente de esta, de acuerdo a la señal LENTO, estas medicio
nes pueden compararse con las teóricas en la figura 3.20.
FIG. 4.6
Se puede observar también el cambio de nivel de la
señal VMOT de 0,6 vts a 1,4 vts, así como el que esta señal
es troceada.
4.3.3 Secuencia de Impresión.—
En la figura 4.7 se observa la secuencia do soñnlou
para la impresión de la letra "F", como se obtuvo tcoricamcn
te en la figura 3.30. Además se observa a simple visto la -/
formación del carácter en las señales YD1 - YD7. ~
201
4.4 ANÁLISIS DE RESULTADOS OBTENIDOS:
Como se observa en las mediciones anteriores y su corn
paración con las señales deseadas en los dos capitules de dise
ños, los resultados obtenidos son satisfactorios. Aunque el re
sultado ultimo no consiste en una secuencia de señales, sino en
una hoja de papel impresa, la cual se muestra en la siguiente -
página, en la que consta todos los caracteres suceptibles de -
ser impresos, estos.datos fueron enviados por el modulo de eva-
luación, a la máxima velocidad 30 caracteres/seg., y no se ob—
serva perdida de información.
La calidad 'de impresión es también la estándar en
este tipo de impresores.
zoz
r } f 'i i* 'i A i1 'i»' 'i r i f r\ 'r A f 'i i* 'i ¡' 'i r 'i r 'i t *i A A A A A i"i r 'i A i1 'i A i1 'i i"i '"i A ñ A A i"t A i"i A A A An n n n n n o n n n n n n n n n ¡i n n n n ñu n n n n n n n n n n n n n n n n n
JjiijX
O '3 6 '3 Ú ci i3 Ü tu '3 <3 O 6 »3 til ú í3 6 6 a 6 O i3 ¡3 6 >3 "3 "3 ¡3 O '3 '3 ¡3 6 '3 ¡3 13 ¡3 £3 ¡3
MWHKIMWWMWMMM^
>i:: >i ;H>i;H>i>i.íi>i:w^r rTf- rrrrrrr r .CPITM" - rrr r rrrrr r.fTrrrfr.rpr Tri"i i i i i i i i i i i i i i i i í i i r i i i i i i i i T i i n i r i i i r iHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHH9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9999 9 9
3 3 3 3 O O 3 "D 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3
t,' b* ti' £ k* »'
y 9 9 9 9 y 9 9 9 9 9 9 9 y y 9 9 9 9 9 9 9 9 9 9 9 9 9 y 9 9 9 9 9 y y 9 9 9 yC C C C C C C C C" C C C C C C C C C C C C C C C C C C C C C' Q C C C C C' C C' C' C'
Ü O O O O U O O O O O O O O O Ü O O O O Ü O Ü O Ü O O Ü O Ü O O O O O Ü O O O O
i.' c . b w i.1 c t <: h* i.'
iya ywn si yis
y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y
,.!. A .'...'. A...1,,.', J...'. A ,',...! .'. J. ,'..,'. .1. A .'..,'. ,.'. J, J,..'...'. .'. J. .',_.'- J. •'• •'% A.»' J- •'%.-'• .-'• •'• A
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
M M r-1M f-1M M M M M M M M M M H M M M M M M M M f • i M M M M M M r- i M M M r- i M M r-1 M
.•'i .-''I .-1 /I /I ,-"| ,'•'] ,•"! .-'"I .-"I .-''I .-'1 .•'i /i /!/[ /| .''I /I /| /| .''I ,-'l ,"'! rl ,'"l /'i ,''l rl /l /I ,"'í /I .'"l /I rl .'} .'"l rl .''"l
n i~! n ri TI n n n n n n n n n ri ¡ "\ n n n n n n n ri n n n n n n ri n i~i n n n nn n
ásalas•d d cJ -d d d -d d -d -d d d d d -d -d d -d -d -d d -d -d d -d -d d d d d d d -d d d d d d d d
N M r-1N N H N N N N N N N W M N M N r-l N N N M H M N H N N N N N H N N M N í -4 N N
W L-J j M kJ W H H W W H M W W W kl W W W kl W H W H H W W W kl -4 k 1W kl W W W W PJ W W
:H;HM:HH>!>Í;HH:H:HX;H.H.H; :H:H:H>I:H.H:H>I:HH>I:H>I:H>IM:H:H^r r r- r- r- r- r r r r r r- r r .r- r- r r r r r r- r r r- .r r r r- r r r r r- r- r- r- r-.r- ri i i i i i i i i r i i i i i i i i i i i n i i i n i i i i i i i i i i i iHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHH
3333333333333333333333333333333333333333
ce -i a a a ce a a a a a a a a a a a a ce a a a a a a a a a a a a a a a a a a a a aZ'33333.3333ZO333Ij333"O 333D3 333333 3 3 33 3 DD 3
.3 # a a -2 a a -a a a a a a a a a a a a a a a a -H a a a a -a a a a a -=c a a a a a a
c c c c c c c c c c c c i r c c c c i r c n c c c c c c c c c c c c c c c c c c c cy y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y y3.1:3 :n ] 3 j 3 3 ] 3 3 ] 3 ] 3 j 3 ] ii 3 3 3 j ] ] u i ] ] 31 ] ] i n :i ]
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxI' 110 !'11'Í i' 11'"I i' 1 !vl !rl !YI." 1! '1 i'l!'] í'I t') ¡vi !rl í'l í '1 !v! i'"! I1! 1 ''I I '1 !vl f'l I rl l'1] i ''I I 'I I '11 rl i'1'! lv! i 'I !vi ÍYI lrl ivl
ai
C A P I T U L O Q U I N T O
CONCLUSIONES Y RECOMENDACIONES
205
CAPITULO QUINTO.
CONCLUSIONES Y RECOMENDACIONES
5.1 Recomendaciones para su funcionamiento.-
No existe recomendaciones especiales, a más de las -
que normalmente se deben observar cuando se opera un equipo
electrónico.
Sin embargo se puede recordar, que se debe usar en -
lo posible una línea de alimentación regulada, sin cortes de -
energía, pues el impresor inmediatamente que cae la tensión ba
jo cierto valor, inicializa automáticamente todo el sistema, -
produciéndose la consiguiente perdida de datos,
Se recomienda para mejores resultados el uso de papel
térmico de la mejor calidad, el recomendado por el fabricante
de la cabeza térmica en este caso es el TI P/N 972603-001, de
Texas Instruments.
5.1.1 Recomendaciones sobre el cuidado de la cabeza.-
La cabeza de impresión es una parte sumamente deli-
cada y debe evitarse cualquier manipulación innecesaria.
Para su mantenimiento solo se requiere periódicamen-
te limpiarla con alcohol isopropílico de la siguiente manera:
Se humedece una hoja de papel normal con alcohol i so
propílico, y se hace avanzar el papel de tal manera que la ca-
beza recorra la zona humedecida luego se quita cualquier resi-
duo repitiendo el mismo procedimiento con una hoja de papel
seca.
La intensidad o contraste de la impx~esión puede ser
206
regulada por el potenciómetro R19, cuidando que el contraste
no sea excesivo, porque podría quemarse la cabeza.
5.2 Conclusiones Finales.-
A pesar de que dadas las condiciones del país, la
pequeña demanda de terminales de datos, las inexistentes* faci_
lidades para la fabricación de circuitos impresos de múltiples
capas y la dependencia, a la importación de los mecanismos de
transporte (motores)r no se justifica de ninguna manera la pro
ducción nacional de estos equipos.
Si se justifica plenamente el presente trabajo como
un medio de captar la tecnología básica, de los terminales de
datos para su difusión entre los estudiantes e ingenieros nacic_
nalesr sobre todo si se utilizan técnicas basadas en los micro-
procesadores, y si se toma en cuenta que la tecnología de los
impresores térmicos es igual a la de los otros tipos de impre-
sores matriciales, tan ampliamente difundidos a nivel nacional.
Además se puede concluir que: si existiera en el país
' un sistema de desarrollo con convenientes ayudas de Software y
Hardware, el tiempo de desarrollo se reducirá considerablemente
y se aumentarían grandemente las prestaciones del sistema desa-
rollado. Razón por la cual se hace irapresindible que la. Escuela
Politécnica Nacional, adquiera a la brevedad posible un sistema
de desarrollo de microprocesadores.
5.3 . Recomendaciones para un uso.-
Debido a la sencilles de la interface RS-232 usada
207
en el presente trabajo, la interconexión con cualquier otro.-
¿5 equipo, no ofrece ninguna complejidad, solamente se debe tener
en cuenta que el control del buffer se realiza por medio de la
señal DTR que produce el impresor, la cual es un cero lógico,
cuando el terminal esta ocupado y sube a uno lógico cuando el
buffer está suficientemente vacío para recibir caracteres 4 si. -
se ha producido una situación de error, y la alarma suena in-
termitentemente, la acción a seguirse es:
^Apagar el terminal impresor, y averiguar cuidadosamen
te la causa que origino el error, las dos causas mas probables
son la obstrucción mecánica de la cabeza o del motor del.carro
producida por una acción inadvertida del operador, o la termina
cion del rollo de papel ya que la excesiva fricción entre la ca
beza y el rodillo de caucho produce el e-rror. Una falla en la
alimentación de +30 vts., o en los circuitos de alimentación -
del motor también produce un efecto similar.
208
REFERENCIAS BIBLIOGRÁFICAS
ARTÍCULOS:
E. Herrada, M. Medina, M. Valero, Buses Normalizados y Normas de
Comunicación, Mundo Electrónico. Marcornbo, 1980.
M. García Hoffmann, Protocolor de Comunicación y Sincronización,
Mundo Electrónico, Marcombo 1980.
J. Gil Gales Entradas Salidas en Serie, Mundo Electrónico, Mar-
combo, 1980.
J. Navarro, Entradas Salidas en Paralelo, Mundo Electrónico,
Marcombo, 1980
MANUALES:
TM990/189 Microcomputer User's Guide, TEXAS INSTRUMENTS INC., -
Semiconductor Group, 1979
Model 990, Computer TMS9900, Microprocessor, Assembly Lenguage
Programar's Guide, Texas Instruments Inc., 1979.
The Bipolar Microcomputer Components Data Book.'For Desing En-
gineers, Texas Instruments Inc., Semiconductor Components Group
1977.
TMS9901 Programable Systems Interface Data Manual, Texas Instru
ments Inc., 1978
TMS9980A/TMS9981 Microprocessor Data Manual, Texas -Instruments
Inc., Semiconductor Group, 1977
The TTL Data Book for Desing Engineers, Texas Instruments Inc.,
Semiconductor Group, -1976.
209
• LIBROS:'
G. Goode And Associates, Introduction To Microprocessors Hardware
And Software. Learning With The TM990/189 - University Board, Da-
llas Texas, 1979.
F.J. Hill, G. Peterson, Digital Systems Hardware Organization and
Desing, J. Wiley, 1978
Osbone Adam, An Introduction to Microcomputer, Volume I, Basic -
Conceptsr Adam Osbone and Associates. Inc., Berkeley C.A.., 1976.
Peatman, John B, Microcomputer Based Desing, Mac Graw Hill, Inc,
1976.
W.D. Simpson, D.L. Cannon 990 Family Systems Desing and Data -
Boolc, Texas Instruments, Inc., Houston Texas, 1976.
A.C. Stangard, How to program and Interfase the 6800, Howard W.
Sams, Indianapolis USA, 1980
Herbert Tauíb, Donald Shilling, Electrónica Digital Integrada.
Marcombo, Barcelona, 1977.
Millman, J, J H. Tauíb, Pulse Digital and Switching waveforms,
Me. Graw-Hill, New York, 1965.
X o en
A N E X O
Diagramas del Sistema
E S C U E L A P O L I T E C N / C A N A C Í C W A L I m p r e s o r f é r m í c o
F u e n t e d e P o d e r
D i s p o s i c i ó n . f í s i c a
D ib . por J . Pozo
Re v . p o r O. B u i t r ó n
F A C U L T A D DE /NGEíV/Ef f fA ELÉCTRICA V i l ! - 84 1 de !
Fl
l,A
m
FIL
TR
OE
WI
TI
32
\ 4h=
22
00
MF
50 v
-t-C
lrJl=
YYV —
v
/ñ
2 .4
7 -¿
--
.
°*
'fio
OH
M
VA
•*il
G
MJ
23
55
/v,
^i5w
+
C2
— t
22
00
M
F5
0
v
V
^
s«.8
«
^ \^ C
R
" 6
, 2 /
^
V
—
L^
C9
,04
7
4- =J CB 15
HF
40 v
^7 V
U-T
Lr-
f — i
1 !
34
0-
5
r~ C3 ao
oo
MF
15
v
CIO ,04
7
irJ C6
15 MF
1 r í
i--1
50
OH
M.
^ LE
O
V V
ES
CU
EL
A
PO
LIT
ÉC
NIC
A
NA
CIO
NA
LIm
pr
es
or
i e
rmic
o
Fu
en
íe
de
Po
de
rD
íb.
po
r J.
P
oz
o
R c
v.
po
r O
. Bu
i i r
o'n
Fa
cu
lia
d
de
Ing
en
ierf
a E
léc
tric
aV
IH-
84
!
de
i
Escuela Politécnica Nacional impresor térmico
Unidad central de control
Disposición- física
Dib, por J. Pozo
Rev. por °- Buitrón
Facultad de Ingeniería El éctri c a Vil- 84 Hoja I
fc:
CJ2
JÍS
«
F
Id
'
C 1
3t-. =1
¡S
ráF
-
• CJ
C7
,04
7
,04
7,0
47
CÍ5
_
,0-Í
7
V V
V
VV
V
V
tC
3
\ 15
Kf
• R
2
_L
V
RI
J0
21
í
jv
V
.t IZ
v
+ J
2 v
o V
D D
fd
Cf
í
i-
79
05
V
1 7
'
F V
Cl
0
/3r-
.U
--^
15
M F
"7
Escuela
P
olité
cn
ica
N
acio
na
l
Unid
ad
centr
a!
de
contr
ol
Dis
trib
ució
n
de
pote
ncia
Facultad
d
e
ingenie
ría
tlé
ctr
ico
Imp
reso
r té
rmic
o
ib.
por
J. P
ozo
Re
v. p
or
O. B
uitr
ón
VIH
-8 4
I
de
?
MO
tí T
O
,
WT
í
NT
2
d
CR
U/N , "1
M
*-5
f 0
3-
[
vtc
oui
g
se. •'
v' Í2
v"
' 5 y
-5 y t
Cfl
UC
LK ^5
¿
J ^
25
24
13
37
22
K
5 \6
3
1
Xo
Xui 7
41
-4
25
30
2J
X"
ll 2
X
L 9
JJ/u
mhll/n
.nr
fiEA
or
07H
OL
D-
06
JA
O
D3
04
¡N
TO
0
3
;NT
/ .
02
I N
T 2
D
i
DO
CR
UÍN
Cfi
UC
ILíí
A
I3/C
HU
OT
AJ
2
ÓZ
- A
l 1
A 1
0
CK
I.V
A
9
A8
A7
TM
S9 9
80
A
6A
5
A-í
A3
V D
, 0.
A 2
Ai
VC
C
AO
V B
B
Y/E
-
D S
ÍN
JK
EM
-
VS
S
[¡35
,3 32 ? í
30
.,
2 9
.,
28
- :
,fi
-I
,
3
-,
6 7
' ,
S
.,
9
' :
10
í 1
12
,
(3 i-f
15
15
i17 33 ie •íO
•
LS
O 8
0 2
DI
DO
AM
/Cfl
UO
UT
A 1
2
A/t
Ai O
A7
A6
A5
A-f
A5
A2
Escuela
P
olité
cnic
o
Na
cio
na
lU
nid
a d
centr
al
de
Mic
ro p
ro c
esa
d o
r
coni
r o
1
Fa
cu
lta
d
de
Ing
en
ierí
a
Elé
ctr
ica
Impre
sor
térm
ico
\Dib
.po
r J .
Pozo
Rcv.
por
0,
Bu
itró
n
VIH
- 8
42
de
7
AA
(•<
ÍJ
J!
II
£P
R O
WC
E-
\
A3
AÍ
Al
AO
V
TH
S 2
5(6
17
16
(i
M
[i
II 10
VV
- D
7
/_
LS c
ue
la
Polité
cnic
a
N a
cia
no}
Impre
sor
térm
ico
Un
ida
d
ce
nfr
c/
o e
co
ntr
ol
Mem
oria
R
AM
/
EP
H O
M
D\b
. p
o r
J.
Po
co
R e
v.
par
O
. S
uü
rón
Facultad
d
e In
genie
ría
Elé
drica
VIH
-
84
de
7
EP
RO
MC
E-
S A
MC
E-
Cñ
UQ
O
0
-
CR
U
O 0
0-
Escu
ela
P
olité
cn
ica
N
ació
n a
¡
Un
ida
d
ce
ntr
al
de
co
ntr
ol
Cir
cu
ito
d
s
dcco
diíic
acio
n
Fa
cu
lta
d
de I
ng
en
ierí
a
Elé
ctr
ico
Imp
reso
r té
rmic
o
Dib
. p
or
J.
Poro
. por
O.
Bu
itró
n
VIH
- 84
4
de
7
«í-
A8
39
A9 ^15
3
6
^
A/O
-T
3
5<J
A I
I ^1
6
25
^J
AÍZ
^-1
17
1
2
4
"" 1
<3
*
CR
UC
LK ^5
j
3•C
J
1 C
I 4
í-4
IC2
_
(3
IC3
¡2
,19
1
BO
Rfl
AD
O-7
^
-|
03
- JO
CR
U 0
0 0
-.
5
A -'5
v
40
VC
C
SO
IN
T6
INT
5
SI
INT
4
1N
T3
52
I N
T 2
/NT
I
S3
P
5
S 4
PM
PÍ3
CR
UO
UT
Pin
CR
UC
LX
P
9
p a
ICI
P7
!C2
. P
G
!C3
fiS
TI-
p
^P
3
0-
P2
CE
- P
I
PO
VS
S !'
A y
s 7 g
j N
. /í
VT
C D
M-
9
' /\
A17
s^T
¡,rr
,1
8
1
[ 1
<* ^
<*
34
'
20
r^
S£
NS
33
"
r-.
\A
32
rC
-^
A
VL
ÍfJ
EA
f
A
3)
' .
p.
>^3
0 0
/11
0
1
f\9
3[u
^>cñ
5 P
^ E
RR
OR
,ij
j
2S
, D
TR
V
7
^1
2 7
1 IQ
ÍX
2
2^
AL
AR
MA
^
23
17
4 J
ff
?'r
> A
VL
WB
A
19
22
^C
A
VL
W A
T
21
1/7
4 J
6
Ur~
^.L
EN
TO
22
V
r-^
P
AS
0
25
-
WíC
rA
SE
C
37
XÍd
FA
SE
B
33
V
r-^
FA
S
E A
Escu
ela
P
olité
cn
ica
N
acio
na
l Im
pre
so
r té
rmic
o
Jnid
od
ce
ntr
al
da
co
ntr
ol
D¡b
- P
° r
J- P
ozo
C ¡ r
c u
i f
o d
£ e
ntr
ad
a/
so ¡
ido
R
ev.
p
or
O,
Bu
itró
n
Fa
cu
lta
d
de in
genie
ría
Elé
ctr
ica
.VIÜ
-S4
5
de 7
A
A 8
c
14
A 9
',.
17,
A í
0 ^
12
Air
. .
KAÍ
a _
10
CR
UO
U7
/AI3
_,
9
CR
UIN
.J
4C
RU
CL
K
c
15
INT
CO
M-,
r
a.-i-
.,
-le
CR
U8
QO
- 17
DT
R
f5v
IS
vcc
5 0
R
IN
SI
S2
D
SR
-
S3
.
34
C
TS
-
CR
UO
UT
RT
S-
C R
U 1
N
CH
UC
LK
X
OU
T
JN
T-
U|7
0-
TM
S9
9Q
3
CE
-
vss
• . •
v5
3
8X
^,r^IO
D
r\
2J
I
7
" r^
n,-
I3
Jr^
'
L 2
0 j t
A
75
1 8 S
\6
Lit
Sv
5
1
9
UJ6
)O
§
íl{>
^
SJ
I
10 [
rJX
1 —
c 12
uie b"
*r-
» 2 J
l'5L_V 75
1 8
8
PW
_.
7 J
1
K
rx
11
3 ...X
^IZ
2
^ ..._
\ K
r^
6J
!
XL
S0
4
L-7
3I8
8
Escu
ela
P
al i
té c
nic
a
N a
ció
n a
l Im
pre
sor
térm
ico
Unid
o ó
centr
al
de
co
ntr
ol
Q ¡
b.
p o
r J.
P
ozo
¡ nt
e r
f c
s e
de
co
mu
nic
acio
ne
s
R e
v .
p o
r 0.
B
uitró
n
Fa
cu
iod
d
e I
ngenie
ría
Elé
ctr
ica
y¡[
¡ -9
4
6
de 7
A A
S O
BR
AD
O-
'
Escu
elo
P
olité
cn
ico
N
acio
nal
Unid
ad
ce
ntr
al
de
co
ntr
ol
circuito
de
í n
i cla
iiz
a c
lon
Fa
cu
lta
d
de
Ingenie
ría
Elé
ctr
ico
Impre
sor
D i
b ,
pa
r
R s
v.
por
VII
I -
84
térm
ico
J.
Po
i o
O.
B u
Í t
ron
7 de
7
Q e
Escuelo Politécnica Nocional Impresor térmico
Circuito de ínter foses
Disposición- físico
Dib. por J. Pozo
R e v. por O.Buitrón
Facultad de Ingeniería Eléctrica VIH-8 4 I de I
-Í2
<}
<
_
iZ Jr
CÍ6
- ,0
-»7
^H
F
L,
H
cu=J
I3
WF
~
~¡ r-
C|5
=,0
47
=
MF
i
i-J
CM
= ,
04
7
^M
F
CÍ7
JI5
MF
=
CIO
= ,
04
7
=M
F
C9
= ,
04
7M
F
^Í2
y<-T
p_
'<?
V
C7
: ,
í W
F
V
CI7 1
5H
F
V '
VV
1
C4
-
~ 2
,2 M
F
. "
Cl
~ ,
IHF
V
Escuela
P
olité
cnic
a
Nocio
nal
Circuito
d
e
inte
rfa
se
s
Dis
trib
ució
n
de
po
ten
cia
F a
culi o
ó
de
Ing
en
ierí
a
Elé
ctr
ica
impre
sor
térm
ico
Dib
.por
J.P
ozo
Re
v.p
or
0,
Buitr
ón
VIH
- 8
4I
de
6
SE
NS
OR
O
PT
IC
OD
E
posic
ión
Escu
ela
P
o!
i t é
en
te a
N
acio
nal
Impre
sor
térm
ico
Cir
cu
ito
d
e
intc
rfase
Senso
r apli
co
d
e
po
sic
ión
0/6
. p
or
J.
Po
zo
R s
v.
por
O.
Bu i Ir
án
Facultad
d
e
Ingenie
ría
Elé
ctr
ica
VIH
-84
2
de
6
fAS
C A
_
ÍRÍ7
'\4
70
1ÍR
/5 Í-;?o
ÍfiU>
47
0
fr_
LE
NT
O
><¿
A £ Í5
y
z 3
' P
SD
0
IH
"~C
LX CL
R
WO
TO
íí
DE
P
OS
IC1
OH
DE
L
A
CA
8 E
Z A
Escuelo
P
olité
cn
ica
N
ació
n a
i
Circuito
d
e
ínie
rfase
de!
moto
r d
e
posic
ión
Facultad
de
ingenie
ría
Elé
ctr
ico
Imp
reso
r té
rmic
o
Di
b.
po
r J.
P 0
2 o
.9 e
y.
por
O.
Bu
itró
n
VIH
-84
3
d e
6
«V
'A( i 0
7t
, £ 2 25
HF'
sov
<;• R
5>
1 0
OH
.W
Se
,'
50
v
^ D
8
«- +
30V
AV
LM
A
Í6
P
2 MO
TO
R
DE
AV
AW
SE
D£T
LIN
EA
•cu
ela
P
olité
cn
ica
N
acio
nal
imp
res
or
térm
ico
lni
a r
í Q
$ £
de
l m
oto
r ¿
e
a v
a n
$ &
d
e
lin
ea
.
Dlb
. p
o r.
J
Pozo
Re
v.
por
O. B
uitró
n
Facultad
¿
e In
genie
ría E
léctr
ica
VIH
-84
4
do
6
«V •
V
Es c
u e
l a
Polité
cnic
a
Nacio
nal
Inte
rf
a se
de
dato
s
Fa
cu
lta
d
de
Ing
en
ierí
a
Elé
ctr
ica
Impre
sor
térm
ico
Di ü
. p
o r
J.
Po
zoR a
v. p
o r
O
. B
uit
rón
Vil! -8
4
5 d
e 6
V
scu
ela
P
olité
cn
ica
N
acio
na
l
Co
ntr
ol
de
tem
pera
tura
de
¡a
cabeía
de
imp
resió
n
Facultad
d
e
Ingenie
ría
Elé
ctr
ica
Impre
sor
térm
ico
D ib,
po
r J,
Pozo
R e
v.
p o
r
O.
gt/
fjjjc--
VH
I-8
4
6 de 6
A N E X O I I
Hojas de Datos
MI-1
INTERFACECiRCUITS
o Inputs Compatible with TTL and5-V CMOS
«> 30-mA Source Current Capabiüty
o 50-mA Sink Current Capabiüty
c Standard Supply Vol tages. . . ±5 V
» Six Posítive-AND Drivers per Package
• Common Strobe
doscríptíon
Those circuíts are designed to drive many of thepopular thermal príntheads including the EPN5200nnd EPN3G20. The SN75490 features síx ANDdrivurs \vith common strobe. Each driver has a
lolcm-polo output with a nominal voltage ranga of-4.75 V lo 3.5 V.
Tho SN75Í190 ts characterized for operation from 0°Cto 70"C.
schomatíc (each driver)
TYPE SN75490THERÍV1AL PRINTHEAD DRÍVER
BULLET1N NO. DL-S 7712513, MAY 1977
JQH N
DUAL-1N-LINE PACKAGE(TOP VIEW)
VGC- >Y 5Y 6Y GMD
o vcc+
O OUTPUT
TEXAS INSTRUMENTSI N C O R P O R A ] fl D 527
AII-2
TYPE SN754SQ
THERMAL PRlhlTHEAO DRIVER
absoluta máximum ratings over operating freo-air temperature rango (unless otherwise noted)
Supply voltage, VCG-Í-(sec Note 1) c 7 VSupply voltage, Vcc— (see Note 1) —7 VHigh-level outpm current • —40 mALow-levcl output current 00 rnAInpui voltage 5.25 VContinuous total dissipaiion al {or belovv) 25°C free-aír temperature (see Note 2) . , 1WOperating frcc-aii temperature range O C lo 7Q°CStorage temperature range —65 Cto150°CLcad temperature 1/16 inch from case íor 60 seconds: J package 300° CLead temperature 1/16 inch from case for 10 seconds: N package . 200tlC
fJOTES: 1. Voiiege valúes are wíth reipcci to nutwork gtoiintí iermln»|,2. Por operatlon sbove 25°C (roe-air icrnpereturB, rof«r w trio Dltilpnilon Darmlnc Curve» Irt iho Thormol lnform»tlon
whlch beglm on p»go 21, [n tha J píck«o*. SN75-190 chipi aro olim-mounied.
recommended operstíng condítíons
Supply volíage,MIN MOM MAX UNtT
4-75 5 5.25 VSupply voltage, Vcc_ . . . . . . ................. -A.75 -5 -5.25High-level output current, IQH .......... . ......... —30Lov/'level oinput currenl, IQL • « ........ - ....... * • ^0Operating frec-air lemperature, TA . . . ...... .' ....... . O 70
electrical charactcristics over recommended operating free-aír temperatura range, VQQ± - ±5 V(unless othcrwise noted}
V
mA
PARAMETgR
V|H High-level input voltage
VIL Low-level input voltage
VIK Input clamp voltage
VQH High-levd ouiput voltage
VQL Low-lcvcl outpui voltege (sue Note 31
I|H High-levcl input current
I¡L Low-lcvel input current
A inputs
S input
A inputs
S ¡npui
Supply current írom VQC+,ICCH-ÍHJ
uM outputs high
Supply current írom VQQ_,'CC— I")
olí ouiputs hígh
Supply curreni from VrjC-K''CC-nLí
olí ouyiuts low
Supply curren; (rom Vcc— .
" all outputs low
TESTCONDITIONS
VCO " 4-75 v- 'l '-12 mA
V , H - 2 V
VIL -0.7 v
Vcc-f " 4-75 V, IQH " -30 mA
VCCH " 5 V, IQH - —30 mA
Vcc-"-4-75V. lOL'BOmA
VCC- " ~5 vi 'OL ° 50 mA
V| - 5 V
V| -0.4 V
\>rr'^ • -t H "7^ VVCC± IJ>^3 v
VCC± " í5-25 V
Vi « 5 V . '•
V] " 0.4 V
Mif-I TYI11 MAX
2
0.7
-1.5
2.75
3 3.5
-4.15
-4.75 -4A
0.05
0.3
-o.i a-1.1
30 43
-6.5 -10
40 58
-40 -58
UW1T
V
V
V
V
V
mA
mA
mA
mA
1 All typlc.l vnlu*» aro et VCCi - 15 V,TA"258C.
NOTE 3: The elpobmlc convontlon Whore irio moro positivo (lc« nogallvc) llmll l> dulgnalod BJ máximum ti mud In ihli dan ihí«( fot lvolti-oo Icvolt oniy, e.B., lí —4.4 V U . máximum, iho ivplcíl valúa h » mor* n»gmlve volmo*.
ÍÍ28 TEXAS I N S T R U M E N T SINCORPORA! CO
AII-3
TYPE SW7549QTHERMAL PRÍNTBEAD DRÍVER
switching characteristics, = ±5 V, T = 25°C
PARAMETERífLH Propagatíon dclay time, low-tO'Mgh-level ouiput1PHL Propagaron delay time, high-to-low-levol ouiput>TLH Transitíon time, low-to-hiyli-level outpuiM'HL Transitíon timo, high-io-low-tevcl ouiput
TOSTCONDITIONS
CL- 15 pF,RL" 120 n,Sec Figure 1
MIN TYP MAX
50
50
B
B
UNIT
HJ
ns
ni
ni
PARAMETER MEASUREMENT INFORMATION
PULSE GENERATORISee Note A) :r
(Sea Note B)
TEST CIRCUIT
-OUTPUT
INPUT
ov
VOH
VOLTAGE WAVEFORMS
NOTES: A. Th« pultn gannrotor h*i ili« followíng chflfBCtaríníCí: 2out - 50 n, ( - 100 kHt, tw - 1 íii, i, C 10 (n. t( < 1O ni
B. CL Includaí probo and Jíg capocltancd.
FIGURE 1-SW1TCHING TIMES
TEXAS INSTRUMENTS 529
TYPE SN7543Q
THERMAL PRINTHEAD DRÍVER
AII-4
TYPICAL APPLICATION DATA
i—fr
i—(?
SN7549Q
SN75490
YG
Y5
Y3
Y2
EPN3630THERMAL "
PRINTHEAD
-MESA
TEMPERATURE.COMPENSAT1NG
DIODE
PR1NTHEAD MATRIXADDRESS LINES
FIGURE 2-PRINTER SYSTEM BLOCK DIAGHAM USING SN75Í9Q DR1VERS ANDEPN3G20 THERMAL PRINTHEAD
r.
i , . „ tFIGURE 3-DIAGRAM SHOWING THE CONNECT1ON WITH ONE OF THE MESAS OF THE EPN3G20
For B dBleJlod dnicrípilon oi th« EFN3620 tliatmol pr]nt!iend. íf« aale iheet DU-S 7712505 «nd Tuxoi Inilrumenti ARplicallon Ropor
CA-190.
530 TEXAS I N S T R U M E N T SI N C O N I ' O K A I LD
APPENDÍXE
The Engineering Síaff ofTEXAS INSTRUMENTS INCORPORATEDSemiconductor Group
JULY1978
TEXAS I N S T R U M E N T SI N C O R P O R A T E D
AII-6
1. INTRODUCTION
1.1 DESCRIPTION
The TMS 9901 Programmable Systems Interíace (PSI) is a mulíiíuncíional component designed to providelow cost ¡níernjpt and I/O ports and an ¡ntervaJ timer lorTMS 9900-íamily microproeessor sysíems. TheTMS 9901 is fabricated using N-channel silicon-gate MOS technology. The TMS 9901 is TTL-compalible onal! ¡nputs and outputs, including the power suppiy (+5 V) and single-phase clock.
1.2 KEYFEATÜRES .
o Low Cosíe 9900-Family Peripheralo Performs Interrupt and I/O Interface functions:
— Six Dedicaled ¡nterrupt Lines— Seven Dedicated I/O Lines— Níne Programmable Lines as I/O or Interrupt— Up lo 15 Interrupt Lines— Upto22 Inpuí Lines— Up lo 16 Output Lines ' . . ;..
o Easily Cascaded for Expansión - ' . •o íntervalorEvenlTimer . . ' " ''e Singlo 5 V Power Supplyo AII Inpuls and Ouiputs TTL-Compatibleo Standard 40-Pin Plástic or Ceramic Packageo N-Channel Silicon-Gate MOS Technology.
1.3 APPLICATION OVERVIEW
The íollowing example of a typlcal application may help introduce the user ío the TMS 9901 PSI. Figure 1 is ablock diagram of a typical application. Each oí íhe ideas presented below ¡s descnbed in more detall in latersecíions of thís manual.
The TMS 9901 PSI interíaces to the CPU Ihrough the Communications Register Unit (CRU) and the interrupt& control lines as shown in Figure 1. The TMS 9901 occupies 32 bits of CRU in'put and oulput space. The five
leasí significant bits oí address bus are connected to Ihe S lines of the PSI to address one of the 32 CRU bits ofthe TMS 9901. The most_significaní bits of the address bus are decoded on CRU cycles to select the PSI bytaking its chip enable (CE) line active (LOW).
Internipl ¡nputs lo the TMS 9901 PSI are synchronized with t¿, inverted, and then ANDed wíth (he appropriatemask bit. Once every $ clock time, the priorilizer looks al the 15 interrupt input AND gaíes and generales Iheinterrupt control code. The interrupt control code and Ihe interrupt requesl une constítule the iníerruptinleríace to Ihe CPU.
After reset all I/O ports are programmed as inpuls. By writing to any I/O port. that port will be programmed asan output port untii another resé! occurs, either software or hardware. Dala ai the input pins is buffered oh lothe TMS 9901. Data to Ihe output ports is latched and then buffered off-chip by the PSI's MOS-to-TTLbuffers.
The ¡nterval timer on the TMS 9901 is accessed by writing a ONE to select bit zero (control bit), which puts thePSI CRU interface in Ihe clock mode. Once in the clock mode Ihe 14-bit clock contents can be read or written.Writing to the clock register v/ill reinitialize the clock and cause ¡t to stan decrementing.. When the clockcounts to zero, U will cause an iníerrupt and reload to its initial valué. Reading the clock contehts permits theuser lo see the decrementer contents at Ihal point ¡n time jusi before entering the clock mode. The clock read 'regisíer is not updated when the PSI is in the clock mode.
E-1
i OPOflTS \ j/
pnOGf!AV'j<ABLE >X1 N1 INI S AS I f) OR < /
<uTcnniit>r<; ^J ^
FIGURE 1-TYFMCAL TMS 9901 PROGRAMMABLESYSTEM INTERFACE (PSI) APPLICATION
2. ARCHETECTURE
The archilecture oí the TMS 9901 Programmable Systems Interiace {PSI) ¡s designed lo províde Ihe usermáximum f íexibüity when designating system I/O poris and ¡nternjpts. The TMS 9901 can be divided inio loursubsystems: CRU iníerface, ínterrupi interíace, input/outpul iníerface, and interval-timer. Figure 2 is a9
general block diagram oí the TMS 9901 inlemal architecture. Each óf the subsyslems oí the PSI ¡s discussedin detall ¡n subsequent paragraphs.
2.1 CRU Iníerface
The CPU communicates wiíh the TMS 9901 PS! vía the CRU. The TMS 9901 occupies 32 bits in CRU readspace and 32 bits in CRU write space. Table 1 shows tfie mappinf) for CRU bit addresses to TMS 9901functions. " .
. The CRU ¡nterface consists o( (¡ve address select lines (SO-S4), chip enable (CE), and the three CRU unes(GRUIN, CRUOUT, CRUCLK). The selecí ¡Enes (SO-S4) are connecíed to the íive leasl significan! bils_oHheaddress bus; for a TMS 9900 system SO-S4 are connecíed lo A10-A14, respeciiveiy. Chip enable (CE) isgenerated by decoding the most significan! bits oí Ihe address bus on CRU cycles; for a 9900 based systemaddress bits 0-9 would be_decoded. When CE goes active (LOW), the ftve seled lines point to the CRU bitbeíng accessed. When CE is inactiva (HIGH), the PSI's CRU interíace ís disabled.
!NOTE
When CE is ¡nactive (HIGH) the 9901 sets its CRUIN pin to high impedance anddisables CRUCLK frorn coming on chip. This means that CRUIN can be used as anOR tied bus. When CE is high íhe 9901 will still see the select Unes, but no commandaction is taken.
In Ihe case of a write operation, the TMS 9901 sírobes data off the CRUOUT line with CRUCLK. For a readoperation, the data is sent to the CPU on the CRUIN line.
E-2
AIX-8
FIGURE 2-TMS 9901 PSI BLOCK DIAGRAM
Several TMS 9901 devices may be cascaded to expand I/O and ínterrupt handiing capabiüty simpty byconnecüng al! CRU and_address selecí unes in parallel and providing each device wiíh a unique chip enablesignaf: the chip enable (CE) is generated by decoding the hígh-order address bils (AO-A9) on CRU cycles,
For those uníamiüar with the CRU concept, ihe following ¡s a discussion of how to build a CRU interface. TheCRU is a bit addressable (4096 bils}, synchronous, serial interface over which a single instruction can transíerbeíween one and 16 bits serially. Each one of the 4096 bits of the CRU space has a unique address and canba read and wrítten to. During multi-bit CRU transfers, the CRU address is incremented at tho beginning ofeach CRU cycle to rroint to the next consecutivo CRU bit.
E-3 -
AII-9
TABLE 1
CRU SELECT BIT ASSIGNMENTS
CRU Dit
0
1
2
3
4
5
6
7
a9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
25
30
31
S0 S, S, St S,
0 0 0 0
0 0 0 0
0 0 0 1
0 0 0 1
0 0 1 0
0 0 1 0
0 0 1 1
0 0 1 1
0 1 0 0
0 1 0 0
0 1 0 1
0 1 0 1
0 1 1 0
0 '1 1 0
0 1 1 1
0 1 _ 1 1
1 , 0 0 0
1 • 0 0 0
1 0 0 1
1 0 0 1
1 0 1 0
1 0 1 0
1 0 1 1
1 0 1 1
1 1 0 0
1 1 0 0
1 1 0 1
1 1 0 1
1 1 1 0
1 1 1 0
1 1 1 - 11 1 1 1
0
10
10
10
10
10
10
10
10
•10
10
10
10
10
10
10
1
CRU RowJ Dat*
CONTROL BtTÍll
Wl/CLKlI2'
ÍÑT2/CLK2
ÍWT3/CLK3
TÑT4/CLK4
•ÍÑT5/CLK5
ÍÑT6/CLK6
ÍWT7/CLK7
ÍÑT8/CLKB
ÍÑT9/CLK9
ÍÑT10/CLK10
ÍÑT11/CLK11
ÍÑT12/CLK12
ÍÑT13/CLK13
ÍÑT14/CLK14
ÍÑT15/INTREQ171
PO Inquirí
P1 Input
P21npui
P3 Inpui
P4 Input
P5 Input
P6 Inpui
P7 Input
P8 Input
P9 Input
P10 Input
P11 Inpui
P12"lnpui
P13 Input
P14 Inpui
P15 Input
CRU Wrtio Dat*
CONTROL BITÍ11
Maik l/CLKl(3)
Maik 2/CLK2
Mask3/CUK3
Maik4/CLK4
Mask5/CLK5
Maik6/CLK6 '
Mask 7/CLK7
Majk B/CLKB
Maik9/CLK9
Mask 10/CLK10
Mask 11/CLK11
Maik 12/CLK12
Mask 13/CLK13
Mask 14/CLK14
Maík 15/RST2Í4)
POOuipuilGl •
Pl Outpui
P2 Output
P3 Output
P4 Outpui ^
P5 Ouipui
P6 Outpui
P7 Output
P8 Oulpul
P9 Ouiput
PlOOutpui
P11 Outpui
P12 Output f
P13 Output
P14 Outpui
P15 Output
NOTES:- ( i )
(2)(3)( -J )(5)(G)(7)
O " Interrupl Modo 1 « Clock ModeDala piotont on INT Input pin (or clock valué) wlll be road rc0&rdloji o( motk valué,
Whllr In llie Intcrrupt Modo [Control Bli - 0} wrltlng a "1" into msik wlll onable Intorrupt; a "O" wlll dhíbíe.
Wrlling B zoro to bit 15 while ¡n ihe clock mode (Control Bit - 1} cxecuiei a software rewt oí the 1/0 piní.Dalo proiont on iho pin wlll b« read. Output dala can ba road wlihoui ellcctlnu the dala.
Wfltlng tíal» 1O ího port wlll program íhc port 10 tha output modo »nd oulput ttie dota.
INTREO It iho Injertad uatut oí trnTlNTRB~Q p|n.
E-4
AII-10
When a 99XX CPU executes a CRU Instruction, the processor uses the contents oí woriíspace regisler 12 asa base address. (Refer lo Elie 9900 Microprocessor Data Manual for a complete discussion on hov/ CRUaddresses are derived.) The CRU address is brought out on the 15-bit address bus; ihis means that the leastsígnificant bit oí R12 is not brought out of Ihe CPU. During CRU cycles, the memory control lines (MEMEN,WÉT, and DBIN) are ali inactive; MEMEN being inactive (HIGH) indícales Ihe address is not a memory addressand therefore is a CRU address or exlernal inslrucüon code. Also, when MEMEN is inactive (HIGH) and a.valid address ís present. address bits AO-A2 musí al! be zero to conslitute a valid CRU address; if address bitsAO-A2 are other than all zeros, they are ¡ndicating an external inslruction code. In summary. address bitsA3-A14 contain the CRU address to be decoded, address bits AO-A2 must be zero and MEMEN must beinactive (HIGH) to indícate a CRU cycle.
&
í 2.2 Interrupt Interíace
^* A block diagram oí the ¡nterrupt control section Ís shown in Figure 3. The interrupt inputs (six dedicated^INT1-INT6, and nirie programmable) are sampled on the íalling edge oí <£ and latched onto the chip for one <£
; time by the SYNC LATCH, each <& time. The oulput of the sync laten is iriverted (interrupts are LOW active); and ANDed with ¡ís respective mask bit (MASK = 1, INTERRUPT ENABLED). On íhe rising edge oí rf>, the
príoriüzer and encodersenses Ihe masked interrupts and produces a íour-bit encoding of ihe highest priority' ' jinterrupt present (seeTables 2 and 3). The íour-bil priorilized code and INTREQ are latched off-chip wilh a
sync latch on the faliing edge of the nexl <£, which ensures proper synchronizatíon lo Ihe processor.
j Once an ¡nterrupt goes active (LOW), it should stay active untii the appropriate ínterrupí service routine¡ ''explicitly lurns off the Interrupt. If an interrupt Ís allowed-to go inactive before the interrupt service rouline is
enlered, an erroneous interrupt cgdecguld be sent lo the processor. A total of (¡ve clock cycles occur belween! Ihe time trie CPU samples the INTREQ'Une and Ihe time it samples the 1CO-IC3 lines. For exampie., if an
interrupt Ís active and íhe CPU recognizes that an ¡níerrupt is pending, buí before the CPU. can sample íheinterrupt control Unes the iníerrupt goes inactive, the intemjpt control Unes will contain an incorrect code.
The ¡nterrupt mask bits on the TMS 9901 PS! are individually set or r-eset under soflv/are control. Any unusedÍnterrupí line should have its associated mask disabied to avoicj íalse internjpts: To do ihis, the control bit(CRU bit zero), is fírst seí to a zero íor interrupt mode operation. Writing to TMS 9901 CRU bits 1-15 wiltenable or dísabie interrupts 1-15, respectively. Writing a one to an ¡nterrupt mask will enable that ¡nterrupt;
; writing a zero will disable íhat interrupí. Upon application of RST1 (power-up reset), all mask bils are reset(LOW), íhe interrupt code is torced ío all zeros, and INTREQ is held HÍGH. Readihg TMS 9901 CRU bils 1 -15¡ndicates the status of ihe respective interrupt inputs; thus, the designercan employ the unused (disabied)Ínterrupí input lines as data inputs (true data in).
i2 . 3 Input/Outputlnierface ' - m .
i • -A biock diagram of the TMS 9901 l/O ¡nterface is shown in Figure 4. Up to 16 individually contrallad, I/O portsare available (seven dedicated, PO-P6. and níne programmable) and, as dtscussed above, the unused
*» ' dedicated Ínterrupí lines also can be used as input Unes (true data in). Thus the 9901 can be configured tohave more than 16 inputs, RST1 (power-up reset) will programa!! l/O ports lo input mode. Wríling data to a
p • port will automatice I lyjswjích that port to.the output mode. Once programmed as an oulput, a port will remainin output mode uníil RST1 or RST2 (command bit) is executed. An output port can be read and ¡ndicates Ihepresent state of the pin. A pin programmed to the output mode cannot be used as an input pin: Applying an
'• input currení to an oulput pin may cause damage to the TMS 9901. The TMS 9901 outputs are latched and. buítered ofl-chip, and inpuls are buffered onlo the chip. The output bi/rfers aro MOS-lo-TTL burfers and can- drive tvro standard TTL loads.
E-5
V
rn ¿>
PR
IOR
ITIZ
ER
AN
DE
NC
OD
ER
CR
UIN
TE
RF
AC
E
FIG
UR
E 3
- TM
S S
901
PS
I IN
TE
RR
UP
T C
ON
TR
OL
SE
CT
ION
BLO
CK
D
IAG
RA
M
H H 1
TABLE2
INTERRUPT CODE GENERAT1ON
1NTERRUPT/STATE
n$TiiÑr iIÑf 2
ÍNT 3/CLOCK
ÍÑf 4
ÍÑT5
IÑT6
ÍÑT 7¡"NT B
IÑT 9
ÍNT 10
ÍÑT 51
ÍÑT]2
ÍÑT 13
ÍÑT 14ÍÑT 15
NO INTERRUPT
PRIORITY
-
1 (HlGHESTÍ
2
3
4
5
6
7
B
9
10
11
12
13
14
15 {LOW6ST1
" \o
0
0
0
0
0
0
0
0
111111111
leí0
0
0
0
11110
0
0
0
11111
!C20
0
110
o •110
0
110
0
111
'C30
10
10
10
10
10
10
10
11
IIJTREQ
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
' 0
1
TABLE3
TMS 9980A OR THG 9987 INTERRUPT LEVEL DATA
INTERRUPT
CODE
11CQ-IC2)
1 1 0
i 0 1
1 0 0
0 1 1
0 0 10 1 0
0 0 0
1 I 1
FUNCTION
Leuel 4
Level 3
Level 2
Leve! 1
Resct
LoadReseí
No-Op
VECTOR LOCATION
(MEMORY AODRESS
IN HEX)
0 0 1 0
0 0 0 C
0 0 0 8
0 0 0 4
0 0 0 03 F F C
0 0 0 0
DEV1CE ASS1GNMENT
External Device
External Device
External Device
External Device
Rciei StimulutLoad Stimulus
Retel Siimulus
INTERRUPT MASK VALÚES
TO ENABLE
(STUTHRQUGH ST15)
4 Through F
3 Through P
2Throug!i F
1 Througlí F
Don'l Care
Oon't Care
Oon't Care
E-7
AII-13
CRUÍNTERFACE
I/O PORTE(PO-P15M.AX]
FIGURE 4-TMS 9901 I/O INTERFACE SECTION'
EOU1VALENT OF I/O INPUTS EQUIVALENT OF I/O OUTPUTS
J
OUTPUT
1
FIGURE 5 -tNPUT AND OUTPUT EQUIVALENTE
AII-14
*?
2.4 Programmobfe Porta
A total of niño pins (INT7/P15-INT15/P7) on tho TMS 9901 are usor-programmablo as either I/O porfs orinterrupts. "¡líese pins will assumo all characteristics oí íhe typa pin Ihey aro programmed to be (as describedin Sections 2.2 and 2.3). Any pin which is not being used íor ¡nterrupt should have Ihe appropriaíe ínterruptmask disabled (mask = 0) to avoid efroneous interrupts to íhe CPU. To program one of the pins as anÍnterrupt, its interrupt mask simply is enabled and íhe line may be used as ¡f it v/ere one of the dedicstedinterrupt lines. To program a pin as an I/O port, disable the inlermpt mask and use íhat pin as il ¡t v/ere one oftho dedicated I/O ports.
2.3 IntorvnlTimor
Rguro 6 is a block diagram _oí tho TMS 9901 iníerva! Iimer section. The clock consists oí a 14-bit counter thaídecrements at a rate oí /(^}/S4 (al 3 MHz this rosults in a máximum interval of 349 milliseconds with aresolution of 21.3 microseconds). The dock can be used as either an interval timer or an evení íimer. Toaccess the clock, selecl bit zero (control bit) musí be sel to a ons. The clock is enabled to causo interrupts bywriting anonzero valué toüandisthen_disabled from ¡nterrupting by writingzoro toitorbyaRSTl.The clockstarts operating at no more than two </> limes after h is loadod. When the clock docrementer is running, it willdecroment down to zero and ¡ssue a Ieveí-3 iníorrupt. The decrementer, when it bocones zero, will also bereloaded from tho clock regisler and decromenting will start again. (The zero state is counled as any olherdecrementer state.) The decrementer always runs, bul it will not issuo íntorrupts unless enabled; of course,íhe contents of the unenabled clock read regisler are meaningiess. . . . •
FIGURE 6-TMS9901 ÍNTER VAL TIMER SECTION
E-9
AII-15
The clock is accessed by writing a one into tho control bit fTMS 9901 CRU bit zero) ío forcé CRU bits 1-vclock mode. Wriling a nonzero valué into the clock rogisler then enables the dock and seis its limeWhen tile clock is onablod, it inten-upts on leve! 3 and external leve¡-3 ínterrupts are disabled. Tlie mask Ilovel 3 in the PSI must be set to a one so that the processor will seo the clock iníurrupt. When the cías-interrupí is active, the clock mask (mask bit 3) must be writlen into with either a one or zoro to cloar ft*interrupt; writing a zero also disables further ínterrupls.
If a new clock valué is required, a new 14-bit clock starl valué can be programmed by executing a CRU Wni9operaíion lo the clock register. During programmino,, the decremenler is reslaríed with the curren! síalt valuéafíer saetí start valué bit ¡s written. A limer restarl Es easily implemented by writing a single bit to any oí theclock bits. The clock ¡s disabled by RSTl (power up roset) or by writing a zero valué inlo the clock regislerRST2 does not affect íhe clock.
The ciock read register ¡s updated every lime the decremeníer decrernenls when the TMS 9901 ¡s nol in clockmode. There are twomethodsto leave íhe clock mode: first, a zerojs written to the control bit; or second RTMS 9901 select bit greater ihanl 5 is accessed. Note that when CE ¡s ¡nactive{HIGH).the PS! is not disabledfrom seeing the select unes. As íhe CPU ¡s addressing memory, A1 0-A1 4 could very easily have a valué oí 1 5or greaíer — Al 0-A1 4 are connected to íhe select íines; therefore, the TMS 9901 interval limer section can"think" ií is out oí clock mode and updale the cíock read regisler. Very simply, this means that a valué cannolbe locked into íhe clock read regisler by writing a one to CRU selecl bit zero (the control bit). The 9901 musíbe ouí oí clock mode for at leas! one timer period to ensure that the coníents oí the clock read regisler hasbeen updaíed. This means that ío read the most recent contents oí the decremeníer, just beíore reading, theTMS 9901 must nol be ¡n the clock mode. The only sure way to manipúlate clock mode is to use fhe conlrolbit (select bit zero}. When clock mode is reeníered to access íhe clock read register, updating oí íhe_read regisler will cease. This is done so thal the contents oí the cíock read register will not change whilo it isbeing accessqd.
2.6 Power-Up Conaiderations
During hardware reset. RST1 must be active (LOW) íor a mínimum oí two clock cycles to íorce ihe TMS 9901into a known síate. RST1 will disable al! inlernjpts, disable the clock, program all I/O ports to the input modo,and íorce ICO-IC3 to ai! zeros with INTREQ held HIGH. The syslem software must enable the approprialeinterrupts, program the clock, and configure the I/O ports as required. After iniíial power-up the TMS 9901 isaccessed only as needed lo servícelhe clock, enable (disable) interrupts, orread (writej data lo íhe I/O ports.The I/O ports .can be reconfigured by use of tiie RST2 software reset command bit.
E-10
AII-16
2.7 PinDescrlptíona
Table 4 defines the TMS 9901 pin assignments and descnbes the function oí each pin.
TABLE 4
TMS 9901 PIH ASSKÍNMEWTS AfíD RJNCTTONS
SIGNATURE
r*T¡Tes
ICO (MSB)IC1IC2
IC31LSB)
CT-
SO
SI
S2
S3
S4
CRUIN
CRUOUT
CRUCLK
rasTi
vccvss0
íNYiÍRT2
FRT3ÍNT4INT5ÍRT6ÍRT7/ P15ÍRTS/ P14ÍRT9/ P13ITJT10/P12rcrru/piiÍNT12/P10H7T13/P9I7JY14/P8[TCT15/P7
PO
PlP2
P3P4
P5
P6
PlfJ
11
1514
13
12
5
3936
3525
24
4
2
3
1
40
16
10
17
18
98
7
6
3433
32
3130
2928
27
23
38
37
26
22
2120
19
i/O
OUT
OUTOUT
OUTOUT
IN
IN
IN
IN
IW
IN
OUT
IN
IN"IN
IM
IN
IN
IN
IN
IN
IN
1/0I/O
170
I/O1/0
170
1/0
1/0
1/0
1/0
I/O1/0
1/0
I/O
1/0I/O
DESCniPTION
INTGRRUPT Requeit, When active (low)fRTffED. ¡ndlcalei thal an enjbled interrupt nST1 ' thas baen receivcd. rfjTFfEt) will nay active CRUOUT 2 _untíl all enabled ¡nterrupt inpuu are re- CRUCLK 3 _moved. CRUIN < j.
Interrupt Code lines. ICO-IC3 outpui the . -bínaiy code correspondlng to thu highest | ° c ~priority enabled interrupl. I I no enabled _ • - ' -rintorrupts are active ICO-IC3 - M.1. l.D. '. INr* * ~Chip Enable. When active (low) data may ba — "transfprriTf ihmiiqh ih^ HRt) mtr-ríarp in -
thc CPU. CTi has no eflect on the interrupt iNtaEO 11IC3 12 !_
control section. rÍC2 13 L
Addrcíi sclEcl lines. The data bit bcing -acceised by the CRU iníeríacc ii specified j-by thc 5-bit code appearing on SO-S4.
•** -IMTl 17 L
ífíT2 16 ICRU data in (10 CPU). Data ipcciflctí by PC IB i.SO-S4 is trsnsmitled to the CPU by CRUIN. rs 20 "
[j j f° VCC
- 39 M
" 3fi PO
" 37 Pl
~ 3fi SI
. 3S S2
• ""33 TríTEl/PH
\2 TÍÍT5/P13
" 31 ÍÑT10/P12
j 30 INTH/P11^ M ÍÍÍT12n'10
] zs ííTrn/M -
~ 27 ÍHTU/Wj 26 P2 . ' . . . .
", 2S S3~\< tí
_ 23 IIJT1S/P7
j 22 P3
^ 21 PlWhen CE is noi active CRUIN i¡ in a hígh-impedanco ítalo.CRU dala oui {¡rom CPU). When CU is activo, data presenl on thc CRUOUT input will be sampled duringCRUCLK and wriiten Into the command bit ipccilied by SO-S4.
CRU Clock tírom CPU). CRUCLK wccifiei thai valíd data ¡s cresent on the CRUOUT Une.
Powor Up Reset. When sctíve (low) Ral'! re ii all interrupt mcsks to "0", resets ICO — IC3 = (0, 0, 0, 0),1NTERQ •= 1, disableí the clock, and programs all 170 por!: to ¡nputs. RST1 hai a SchmÍttltr¡ger input toeliow implementalion wíth an RC circuít as shown in Figura 7.Supply Voltage. +5 V nominal.Ground Reíerence
Systern clock (03 m TMS 99OO ryüem. CKOUT in TMS 9980 jyilern).
Group 1, interrupt mputi.. When active (Low) thc iignal is ANOed with hs correspondingmaik bit and it enabled lenl to the interrupt control section.ÍNT1 hai highest prionty.
! Group 2, prograrnmable ínierrupt (activo low) or I/O pini (trus loóle), Each pin n ¡ndividually programmable aian interrupt, an input port, or an output port.
• Group 3. I/O portí (truc logic). Each pin ti individudlly programmablí ai an input por: or an output port.
E-11
APPENDIX F
The Engineering Staff ofTEXAS INSTRUMENTS INCORPORATEDSemiconductor Group
JULY1978
TEXAS INSTRUMENTSI N C O R P O R A T e o
AII-18
1. ÍNTRODUCTION
1.1 DESCRIPTION
The TMS 9902 Asynchronous Communications Conlroüér (ACC) is a peripheral device designed íor use withIhe Texas Inslrumenls 9900 family of microprocessors. The TMS 9902 is fabricaied using N-channel, silicohgate, MOS technology. The TMS 9902 is TTL-compatible on ail inputs and outpuls, inctuding the powersupply (-i-5 V) and single-phase clock, The TMS 9902 ACC provides an iníeríace between a microprocessorand a serial, asynchronous, communicalions channel. The ACC periorms the timing and dala seriaüzationand .deserialization lunctions, íacilitating microprocessor control of íhe asynchronous channel. TheTMS 9902 ACC accepts EIA Standard fíS-232-C protocol.
1.2 KEYFEATURES
o LowCosl, Serial, Asynchronous Interíace
« Programmable, Five- to Eight-Bit, I/O Character Lengíh
o Programmabíe 1,1 Vz, and 2 Slop Bits
e Even, Odd, or No Parity
o Fully Programmable Data Rale Generalion
e interval Timar with Resoiution from 64 to 16,320 Microseconds
o TTL-Compaíibiiity, Including Pov/er Supply
* Standard 18-P¡n Plástic or Ceramic Package
o N-Channel, Sificon GateTechnology
1.3 TYPICAL APPLICATION
Figure 1 shows a genera! biock diagram of a sysíem incorporating a TMS 9902 ACC. Following ¡s a tutoría!discussion of íhis appücation. Subsequent sectiorrs oí this Data Manual tíetail most aspects of TMS 9302 use.
The TMS 9902 interfaces with Ihe CPU through íhe Communications regtster unít (CRU). The CRU interfaceconsists of five address select Unes (SO-S4), chíp enable (CE), andjhree CRU lines (CRUiN, CRUOUT,CRUCLK). An additional iñput to Íhe CPU is the ACC ínlerrupt line (INT). The TMS 9902 occupies 32 bits ofCRU space; each of the 32 bits are seíected individually by processor address lines A10-A14 which areconnected to Ihe ACC select lines SO-S4, respectively. Chip enable (CE) is generaled by decoding addresslines AO-A9 for CRU cycles. Under certain conditions the TMS 9902 causes interrupts. The interrupt logicshown ¡n Figure 1 can be a TMS 9901.
The ACC inlerfaces to the asynchronous Communications channel on five lines: request to send (RTS), datasel leady(DSR), c!ear to send (CTS), serial transmit data (XOUT), and serial receive data (RIN). The requestto send (RTS) goes active (LOW) whenever the transmitter is activaíed. Howevef. before data transmissionbegíns, the clear lo send (CTS) input must be active. The data set ready (DSR) input does not affect thereceiver or transmilter. When DSR or CTS changes leve!, an interrupt is generated.
AII-19
SERIALSYNCHnONOU
INTCHFACE
ADOHESS OU5 AO AU
CETMS 990?
ASVNCHRONOUSCOMULWCAT1OMS
CONTROLLER
<üm TIM 9904CUOEX
GENERA1OR
CtUTHALPRQCESSIHGUNIT ICF-UI
FIGURE 1, TYr-ICAL APPLICATION, TMS 9902 ASYNCKRONOUSCOMMUNICATION CONTROLLER ¡ACC)
2. ARCHITECTURE
The TMS 9902 asynchronous communicaííons coníroiier (ACC) is designod to províde a low cosí, sería),asynchronous interíace lo ihe 9900 family cf mícroprocessars, The TMS 9902 ACC ís diagrammed ín Figuro.2. The ACC has íive rnaín subsectfons: CRU interíace, íransmitler secííon, receiver secíion, intorval tirner,and interrupt secíion.
2.1 CRUÍNTERFACE
The Communications register unit (CRU) is ihe means by which ihe CPU communicates \vith ihe TMS 9902ACC. The ACC occupies 32 bits o( CRU read and wrile space. Figure 3 íüustrales Ihe CRU inleríace betweena TMS 9902 and a TMS 9900 CPU; Figure 4 ¡Ilústrales the CRU Interíace for a TMS 99BOA or 9981 CPU. TheCRU íines are lied directiy lo each other as shown in Figures 3 and 4. The (east significan! bits oí the addressbus are connecíed fo Ihe select unes. In a TMS 9900 CPU sysjem A14-A10 are connecíed lo S4-SOrespectively. The most signííicaní address bits are decoded to selecí the TMS 9902 vía íhe chíp enabie (CE)sígnal. When CE ¡s ínacíive (HÍGH), ihe CRU interíace of the 9902 is disabled.
NOTE
When CÍ"¡s inactíve (HIGH) the 9902 seis rts CRUIN pin to high irnpedance anddisables CRUCLK (rom coming on chip. This means íhe CRUIN une can be used asan OR-íied bus. The 9902 is stili able to see íhe select fines even when CE'is high.
For trióse unfamiüar with ihe CRU concept, the following is a discusston of how to buiid a CRU interíace. TheCRU is a bit addressable (4096 bits), synchronous, serial inleríace over which asingle ¡nstruction can transferbetween one and 16 bits seríally. Each one of the 4096 bits of the CRU space has a unique address and canbe read and written lo. During multi-bit CRU transfers, the CRU address ¡s incremented al the béginning ofeach; CRU cycle ío point to the next consecutive CRU bit.
F-2
FIG
UR
E 2
. TtV
.S 9
302
AS
YN
CH
RO
NO
US
CO
MM
UN
ICA
TIO
NS
CO
NTR
OLL
ER
(A
CC
| BLO
CK
DIA
GR
AM
H H t 10 O
AII-21
TMS 9902 ACC TMS 9900 CPU
9CRUCLK
CRUOUT
CRUIN
SO
SI
S2
53
S4
CE
03TTL FROM TIM 9904
>« C DECODE <Q
CRUCLK
CRUOUT
CRUIN
A10
A11
A12
A13
A14
AO-A9
FIGURE 3. TMS B902-TMS 9900 CRU INTERFACE
TMS 9902 ACC TMS9980AOR 9981 CPU
*
CRUCLK
CRUOUT
CRUIN
SO
SI
S2
S3
S4
CE tx doECODEC^
i
¡63
CRUCLK
Á13/CRUOUT
CRUIN
A8
A9
A T O
A11
AT2i
AO-A7
FIGURE 4. TMS 9902 - TMS 9980A OR 9981 CRU LNTERFAC6
F-4
AII-22
When a 99XX CPU execules a CRU Instruction, tho processor uses the contenís oí workspace register 12 asa base address. (Refer to the 9900 Microprocessor Data Manual for a complete discussíon on how CRUaddresses are derived.) The CRU address ¡s brought out on the 15-bít address bus; íhis means that the leastsignificant bit oí R12 is not brought oul of the CPU. During CRU cycles, Ihe mernory control lines (MEMEN,WÉ:, and DBÍN) are all inactive; MEMEN being inactivo (HÍGH) indícales the address is not a memory addressand therelore is a CRU address or extemal instruction code. Alsoh when MEMEN is inactive (HIGH) and avalid address is present, address bits AO-A2 must ali be zoro to constifute av'alid CRU address; ¡f address bitsAO-A2 are other íhan ai! zeros, they are indicating an externa! instruction code. In summary, address bitsA3-A14 contain íhe CRU address to be decoded, address bits AO-A2 must be zero and MEMEN must beinactive (HiGH) to indícate a CRU cycle.
2.1.1 CPU OUTPUT FOR CRU
The TMS 9902 ACC occupies 32 bits of output CRU space, of which 23 bits are used: 31 and 21 -0. These 23bits aro employed hy Ihe CPU to communicate command and control iníormation to the TMS 9902. Table 1shows the mapping between CRU address select {S lines) and ACC funcíions. Each CRU addressable outputbit on the TMS 9902 ¡s described in deíai! íollowing Table 1.
TABLE 1
TMS 9902 ACC OUTPUTSELECT BIT ASSIGNMEKTS
ADDRESS2
SO SI S2 53 S4
1 1 1 1 1
1 0 1 0 1
1 0 1 0 0
1 0 0 1 1
1 0 0 1 0
1 0 0 0 1
1 0 0 0 0
0 1 1 1 1
0 1 1 1 0
0 1 1 0 1
0 1 1 0 0
0 1 0 1 1
AOORESS10
31
30-22
21
20
19
18
17
16
15
14
13
12
11
10-0
ÑAME
RESET
DSCEN8
TIMENB
XBIENB
RIEN8BRKON
RTSON
TSTMO
LDCTRL
LDIR
LRDR
LXOR
DESCRIPTIOH
Rescl devicc.
Not used.
Dala Set Status Change Inierrupl Ensille.
Tímcr Interrupl Enaüle
Transmitler Interrupl Enable
Recciver Inlerrupt Gnablc
BieakOn
Requesl lo Send On
Test Mode
Load Control Regisler
Load Inierval Register
Load Receívcr Data Rale Rcgislet
Load Tiansmít Data Rale Regisicr
Control, Interval, Receive Oaia Rate, Transmíl Dala Rale,and Transmíl Bulier Regriters
Bit 31 (RESET)-
BÍI30-BÍ122 —
Reseí. Writing a one or zero to'bil 31 causes [he device lo reset, consequentlydisabling all iníemjpts, initialízing the trnnsmitter and receiver, setting RTSinactive (HIGH), s«ning ail register load control flags (LDCTRL, LDIR, LRDR,and LXDR) to a togic one level, and resetting the BREAK flag. No otherinpul oroutput operaíions should be períoimed for 11 <jf dock cycles afler issuing theRESET command.
Not used.
F-5
AII-23
1NTERRUPTENABLEDSCENBTIMENDXIENBRIENB
SELECTOIT21201918
INTERHUPTPLAG
DSCHTIMELPXBRERBRL
INTERRUPTENABLED
DSCIHTTIMINTxi NTFHNT
Bit 21 (DSCENB) —
Bil20(TIMENB)-
Bít19(XBÍENB) —
Bit 18 (RIENB)-
Bit 17
Bií16(RTSON)-
BH15(TSTMD).
DaU Sat Chongo Intorrupt Enabie. Writíng a one (o bit 21 causes the INToutput lo be active (LOW) whenever DSCH (Data Set Staíus Changa) is a logicone. Writíng a zero to bil 21 causes DSCH interrupts ío be disabled. Writingeither a one orzero lo bií 21 causes DSCH to raset. (Refer also lo SecÜon 2.5),
Tlmer Interrupí Enabíe. Writing a one to bit 20 causes the TÑT ouíput to beactive whenever TIMELP (Timer Eiapsed) is a íogic one. Writing a zero to bil20 eausesTIMELP ¡nterrupts to be disabled. Writing either a one or zaro Ío bit20 causes TIMELP and TIMERR (Timer Error) to reset. (Reíer also to Sections2.4 and 2.5.)
Trunsmlt Buffer Interrupt Enablft. Writing a one to bit 19 causes the ÍÑToutput lo be active whenever XBRE (Transmit Buííer Regíster Empty) is a logicone. Wriling a zero to bit 19 causes XBRE ¡nlerrupls lo be disabled. The slateoí XBRE is not affected by writing to bií 19. (Refer also ío Sections 2.2 and 2.5.)
Recelver Interrupí Enablo. Writing a one to bit 18 causes the ¡NT output to beactive whenever RBRL (Receiver Bufíer Register Loaded) is a logic one.Writing a zero to bií 18 disables RBRL interrupts. Writing eiíher a one or zero tobil 18 causes RBRL to reset. (Refer also to Sections 2.3 and 2.5.)
Break On. Wriling a one to bit 17 causes the XOUT (Transmiller Serial DataOutput) to go lo a logic zero whenever the transrhiíter is active and theTransmil Bufíer Register (XBR) and the Transmit Shift Register (XSR) areempty. While BRKON is set, loading of characíers into the XBR ¡s inhibited.Wriíing a zero to bit 17 causes BRKON to reset and the íransmitter to resumenormal operaüon.
Request To Send On. Writing a one to bit 16 causes the RTS output to beactive (LOW). Writing a zero to bit 16 causes RTS to go to a logic one after theXSR (Transmit Sh'rfí Regisler) and XBR (Transmit Buffer Register) are e.mpty,and BRKON ¡s reset. Thus, the RTS output does not become inactive (HIGH)uníil afier characler Iransmission is compleled.
Bits 14-11 —
Tosí Mode. Writing a one lo bit 15 causes RTS lo be intemally connected toCTS, XOUT to be internally connected to RIN, DSR lo be internally held LOW,and the Interval Timer to opérate 32 times ils normal rate. Writing a zero to bit15 re-enables normal devfce operation. There seldom is reason lo enler thetest mode under normal círcumstances, bul this functíon ¡s useíul for diag-nostic and inspection purposes.
Reglstor Load Control Flags. Output bits 14-11 control which oí íhe fiveregisters are loaded when writing to bits 10-0. The flags are prioritized asshown in Table 2.
F-6
AII-24
TABLEZ
TMS99O2 ACC REGISTER LOAD SELECT-10N
REGISTER LOAD CONTROL FLAG
STATUS
LDCTRL
1
0
0
0
0
LDIR
X
1
0
0
0
LRDR
X
X
1X
0
LXDR
X
X
X
10
•REGiSTER ENABLED
Control Register
Interva! Reginer
Receive Data Rale Regisler *
Trammli Data Rate Fleginer •
Transmit Buffet Regiilcr
'ti both LRDR and LXDR brts aie sal. both rogclors a/o loadad. assuming LDCTRL aíxf LDIR are disab¡ed;il ooty ooa oí mes« rogislers ts to batoaded, <xity thal registoc bit is se!, and !he otnor ragisl&f brt resol.
B¡t14(LDCTRL)-
BH13(LD1R)-
B¡t12(LRDR)-
BU 11 (LXDR)-
Load Control Register. Writing aone tobit 14 causes LDCTRLto beset to alogic one. When LDCTRL = 1 „ any data written to bits 0-7 is directed to theControl Register. Note that LDCTRL is aiso set to a logic one when a one orzero is written to bit 31 (RESET). Writing a zero lo bil 14 causes LDCTRL loreset to a logic zero, disabling ¡oading oí the Control Register. LDCTRL is alsoautomatically reset to logic zero when a datum is written to bit 7 of the ControlRegister, reset normaily occurs as íhe last bit is wrítten when loading theControl Register with a LDCR instnjction.
Load íntervai Register. Writing aone to bit 13 causes LDIR to set to a iogicone. When LDIR = 1 and LDCTRL ~ O, any data written to bits 0-7 is direcledío the íntervai Register. Mole that LDIR is also sel lo a logic one when a datumis written to bit 31 (RESET); however, Inlerval Register loading is not enableduntil LDCTRL is set to a logic zero. Writing a zero to bit 13 causes LDÍR lo bereset ío logic zero, disabling loading oí the íntervai Register. LDIR Is aisoautomática!!y reset to logic zero when a datum is written to bit 7 of the IntewalRegister; reseí normaily occurs as the lasí bit is written when loading theíntervai Register with a LDCR instruction.
Load Receive Data Rate R&gisíer. Writing a one [o bit 12 causes LRDR ío settoa logic one. When LRDR = 1, LDIR = O, and LDCTRL = O, any data writtento bits 0-10 is directed to Ihe Receive Data Rale Register. Note that LRDR isalso set to a ¡ogic one when a daíum is written .to bit 31 (RESET); SoweverjReceive Data Rate Register loading is not enabied unti! LDCTRL and tDIR areset to a iogic zero. Writing azero bit to 12 causes LRDR to reset to a logic zero,disabling loading of íhe Receive Data Rate Register. LRDR is also automati-cally reset to logic zero when a daium is written to bit 10 of the Receive DataRate Register; reset normaily occurs as íhe last bit is written when loading theReceive Data Rate Register with a LDCR instruction.
Load Transmit Data Rala Register. Writing a one lo bit 11 causes LXDR toset to a Iogic one. When LXDR = 1, LDIR = O, and LDCTRL = O, any datawritten to bils 0-10 is directed to íhe Transmit Data Rale Register. Note thatloading oí both the Receive and Transmit Data Rate Registers is enabledwhen LDCTRL = O, LDIR = O, LRDR = 1, and LXDR = 1; thus these íworegisters may be loaded simultaneously when data is received and transmittedat the same rate. LXDR is also set to a logic one when a datum is written tobit3-1 (RESET); however, Transmit Data Rate Register loading is not enableduntil LDCTRL and LDIR are to logic zero. Writing a zero to bit 11 causes LXDR .. to reset to logic zero, consequently disabling loading oí theTransmit Data RateRegister. Since bit 11 is the next bit addressed after loading tha Transmit DalaRate Register. íhe register may be loaded and the LXDR flag reset with .asingle LDCR instruction whcro 12 bils (Bits 0-11) are written and a zero iswritten to Bit 11.
F-7
AII-25
Bits 14-11 (Ali Zeros) — Load Transmlt Buffer Rcgíster. Seo Section 2.1.2.5.
Bils 10-0 (Data) — Dala. Information wriríen lo bits 10-0 is loaded ¡nto Ihe controiüng registers asindicaled by LDCTRL, LDIR, LRDR, and LXDR (see Table 2). The difieren!register bils are described in Section 2.1.2 below.
2.1.2 REGiSTERS
2.1.2.1 Control Reglater
The Control Register is loaded lo select character lengih. device clock operaíion. parity, and the number oístop bits íor the transmitter; control register loading occurs when LDCTRL is active (see Tabie 2). Table 3shows the bit address assignmenls for the Control Regisler.
TABLE 3
CONTROL REGISTER BIT ADDRESS ASSIGNMEWTS
ADDRESS10
7
G
S
4
3
2
1
0
ÑAME
SBSl
SBS2
PENB
PODD
CLK4M
RCL1
RCUO
DESCRIPTION
1\a Slop Bii Solee!j
Paniy Enahlc
Odd Panly Stlecl
0 Inpul Divide Selcci
Noi Uscd
1f -. 'Characier Lengih Sdeci
J
SBSl SBS2 PENB PODD CLK1M NOT USED RCL1 RCLO
Bits 7 and 6(SBS1 andSBS2)- Slop Bit Selection. The number oí stop bits to be appended to each trans-
mítter character is selected by bits 7 and 6 oí íhe Control Regisler as shownbelow. The receiver on!y tests íor a single stop bu, regardless oí the status oíbits 7 and 6.
STOP BITSELCCTION
SBSl
BIT 7
0
0
11
SBS2
BIT 6
0
1
0
1
NUMBER OF TRANSM1TTED
STOP BITS
r>2
1
1
Bits 5 and A(PENB and PODD)- Partty Selection. The type oí parity generaied for transmission and detected
íor reception is selected by bits 5 and 4 oí íhe Control Register as shownbelow. When parity is enabled (PEK'B = 1). the parity bit ¡s transmitted andreceived in addition to the number ot bits selecled íor Ihe characler length. Oddparity Es such Ihat the total number of ones in the character and parily bit,exclusive oí stop bít(s), will be odd. For even panty, the total number of oneswill be even.
AII-26
PARITY SELECTIOW
PENB
BITS
0
0
11
PODO
BIT A
0
1
0
1
PARITY
None
None
Ever»
Odd
Bit3(CLK4M) — (/> Input Divide Select The <¿ ínput lo the TMS 9902 ACC is used to genéraleinlernai dynarnic iogic clocking and lo establish íhe time base for [he InlervalTimer, Transmitter, and Receíver. The"?"input is ínternalty divided by eiíher 3or 4 to genérate the íwo-phase internal clocks required for MOS logic, and loestablish íhe basic intemai operating írequency (f¡R[) and internal clock period(t¡nt). When bit 3 oí the Control Registerissetlo a logic one (CLK4M = 1), isíntemally divided by 4, and when CLK4M « O, 0"is divided by 3. For example,when f<¿ = 3 MHz. as in a standard 3 MHz TMS 9900 syslem, and CLK4M = O,$ is inlernally divided by 3 ío genérate an internal clock period t¡nt of 1 ¿is. Thefigure below shows íhe operation of the ¡nternal clock divider circuiiry, The •internal.clock frequency should be no grealer than 1.1 MHz; íhus, when fj >3.3 MHz, CLK4M should be sel to a logic one.
Externa! Inputn=4if CLK4m=1
n=3 ¡E CUC4m=0lo ¡nternal logic
[¡nt =
INTERNAL CLOCK DIVIDER CIRCUITRV .
lmt
Bits 1 and O(RCLIandRCLO) — Character Lengín Select The number of dala bits in each transmitted and
received diaracter is detenTiined by bits 1 and O of the Control Regisler asshown below:
CHARACTER LEWGTH S6LECTION
RCL1
BIT 1
0
0
1
1
RCLO
BITO
0
1
0
1
CHARACTER
LENGTH
5 Bus
6 Bus
7B¡is
8 Bits
NOTE: (<¿ derxítes írequency oí ¿
F-9
AII-27
2.1.2.2 Interva! Reglsler
The Inlerval Regisler is enabled for loading when LDCTRL = O and LDiR = 1 {see Table 2). The IntervalRegister is usod lo select iho rale at which ¡nterrupts are generated by (he TMS 9902 Interva! Timer. Thofigure below shows the bit assignmenís (or the Nerval Ragisler when enabling for loading.
TMR7 TMR6 TMRS TMR4 TMR3 TMR2 TMR 1 TMRO
MSB LSD
INTEHVAL REGISTER DIT ADDRESS ASSIGNMENTS
The figure beíow ¡Ilústrales the estabiishment oí the interva! íorthe ¡nterva! Timor. For example, if the IntervalRegistor is loaded with a valué of 80-f Q (1281 o) the intervai at which Timar Interrupts are generated is t¡tv! =lint • 64 • M = (1 /xs) (54) (128) = 8.192 ms when tint =1 i*s. t|nt = n/ty where n = 4 if CLK4M = 1,3 if CLK4M= 0.
.
írequency
(// ínl '
finí
:- 64•f m
m= ÍTMR7-TMRO)TIMELP
tint (54) tint
TIME IKTERVAL.SELECT10H
(m)
(64)(mJ[t¡nt)
2.1.2.3 Hoceive Data Rato Regísíor
The Receive Data Rale Register (RDR) is enabled íor loading when LDCTRL - O, LDiR = O, and LRDR = 1(see Table 2). The Receive Dala Rato Rogister ís used to salect the bit rale at which data-is recoived. Thediagram shows the bit address assignmants (or the Receive Data Rale Regisler when enabled for loading.
RDV'8 RDR9 RDR8 RDR7 RDR6 RDR5 RDR4 RDR3 RDR2 RDR1 RDRO
USB
RECEIVE DATA RATE REGISTER BIT ADDRESS ASSIGNMENTS
The diagram beiow illustrates tho manner in which the recetvo data r?te is estabüshed. Basicaily, twoprogrammable counlers are used io determino the intervai for hatf íhe b'rt period of receive data. The firstcounter divides the inlemaí system dock froquency {fjnt) by eithor B (RDV8 = 1) or 1 (RDV8 = 0). Thesecond counter has ten stages and may be programmed to divide iís input sígnal by any valué from 1 (RDR9- RDRO = 0000000001) to 1023 (RDR9 - RDRO = 1111111111). The írequency of the ouíput of Ihesecond couníer (frhbí) ís doubie the receivo-data rate, For example, assume íhe Receive Data RatoRegisíor is loaded with a valué of 11000111000; RDV8 = 1,andRDR9 - RDRO ~ 1000111000 = 238-] Q =568io.Thus, forí¡nt = 1 MHz, (see Control Register, bit 3) the receive dala rale = f rcv-CO xi06-s-tf) ~56BJ-Í- 2 = 110.04 bits persecond.
F-10
AII-28
Uní* m
m * 8 (RDV8 - 1)
or m • 1 [RDV8 ' 0]
finí
n« (RDR9 - MORO)IRHBT
f¡™ _i
Iml (ni
T 2
1HBT
frcx-
'RHBT2
RGCEIVE DATA RATE SELECTION
Quantitatively, the receive-data rate (RCV is described by the following algébrale expression:
ÍRHBT '¡ni fintfrcv = • (2) (m) (n) (2) (BRDV8) (RDR9 - RDRO)
2,1.2.4 TransmK Dala Rate Register
The Transmit Data Rate Register (XDR) is enabied for loading when LDCTRL - O, LDIR = O, and LXDR = 1(see Table 2). The Transmit Data Rate Register ¡s used to selecl the data for the íransmitter.The figure belowshows the bit address assignments íor íhe Transmil Data Rate Register when enabied for loading.
XDVS XDR9 XDR8 XDR7 XDRG XDR5 XDR4 XDR3 XDR2 XDR1 XDRO
The transmit data rate is selected wilh the Trünsm'rt Data Rate Register in the same manner the receive datarate ¡s selected wiíh Ihe Receive Data Rate Register. The algébrale Expression for the Transmit Data Rateíxrnt ¡s
(xmt -' Jinl(2) (XDR9-XDRO)
For example, ¡f the Transmit Data Rate Register is loaded wilh a valúe oí 00110100001; XDV8 = O, and XDR9~XDRO = 1A1-j6 = 417-io, iM¡nt= 1 MHz the transmit data rate = fxmt =[(1 x 106 -~- 1) ~ 417] 2 =1199.0 bits per second,
2.1,2.5 Transmit Buffer Reglstar
Tho Transmit Buffer Register (XBR) is enabied for loading when LDCTRL = O, LDIR = O, LRDR = O, LXDR =O, and BRKON = O (see Tabie 2). The Transmit Buffer Register ¡s used lo store the next character to betransmitted. When the transmitter is active, the contents o[ the Transmit Bufíer Regisler are transferred to IheTransmit Shíft Regisíer (XSR) each time the previous character has been completety transmitted (XSRbecomes emply). The bit address assignmenls for the Transmit Buffer Regisler are shown below:
XBR? XGR6 X8R5 XBR4 XBR3 XBR2 XBR1 XBRO
MSB LSB
TRANSMIT BUFFER REGISTER BIT AODRESS ASSIGNMENTS
F-11
«f
TA
BL
E 4
. C
RU
OU
TP
UT
BIT
A
DD
RE
SS
AS
S1G
NM
EN
TS
30
29
78
27
26
25
2«
23
73
31
2O
19
IB
17
16
NO
TU
SE
DD
SC
EN
B ¡
T1M
EN
B |
X
BIE
NB
R
IEN
B
BR
V.O
N j
R
TSQ
N
15
H
13
13
U
TS
TM
D
.
LDC
TR
L
1
LDIR X
LR
Dñ
X
LXO
R
X
CO
NTR
OL,
IN
TE
RV
AL.
R
EC
EIV
E D
AT
A R
AT
E. T
HA
NS
MIT
DA
TA
RA
TE
. A
ND
TR
AN
SM
IT B
UF
FE
ñ R
EG
ISTE
RS
•
[í
S8
SIÍ
vj
SB
S2
CO
NT
RO
L R
EG
ISTE
R
PGN
B P
OD
O
CL
K*M
-
RC
L1
RC
LO
V A
. J
^ J
YP
ari
ly
\,n -
C
h*f
»cl
f L.
nglh
00
1-1/
3 O
X no
nt
00
5
01
210
tv
rn
le./13'C
LIÍÍM
I 01
6
IX
1 11
ot
íd
10
7
0 0
1 0
X 1
X *
11
S
INT
ER
VA
L R
EG
ISTE
R
\ T
MH
7. j
r'.
lR 6
TM
R5
TMR
< T
MR
3 TM
R3
TM
R1
TMR
O
V -
JT
MR
T.iw
= U
X 6
4 X
TM
H
RE
CE
IVE
DA
TA
RA
TE
RE
GIS
TER
.*R
DV
íi'-
l R
OR
9R
DR
8 H
OR
7 R
OP
OH
DR
5 R
OR
í R
DR
3 R
OR
3 R
OR
l H
DR
O
^ "
• J
RD
R
'
de,
= U
*
8 R
DV
8 *
R
DR
-í-
2
0 0
D 0
X 0
1
1
TR
AN
SM
IT D
AT
A R
AT
E R
EG
'ST
ER
XD
VB
10
XO
R9
XD
R8
XO
R7
XD
06
XO
Rb
XD
RÍ
XD
R3
XD
R3
XD
R1
XD
RO
! 1
I X
DR
1
U,=
1
= U
-
8X
DV
8 •
- X
DR *
2
1T
RA
NS
MIT
BU
FF
EH
RE
GIS
TER
XB
R;
j x
an
eX
BR
5 X
BR
-I
X8R
3 X
BR
3 X
BR
1 X
BR
O
NO
TE
1
LO
AD
ING
OF
TH
E B
IT IN
DIC
AT
ED
BY
J^lC
AU
SE
S T
HE
LO
AD
C
ON
TR
OL
FLA
G F
OR
TH
AT
RE
G1S
TE
R T
O R
ES
ET
A
UT
OM
AT
ICA
LL
Y.
H H I to
7AII-30
All eight bits shouíd be transíerrcd into the register, regardless oí Ihe seloded character lenglh. Theexlraneous hígh order bits will be ignored tor transmission purposes; however, loading oí bit 7 is internallydetected which causes Ihe Transmit Buffer Register Empty (XBRE) status flag to reset.
2.1.3 INPUTTO CPU FOR CRU
The TMS 9902 ACC occupies 32 bits oí input CRU space. The CPU íeads the 32 bits from the ACC lo sensethe status oí Ihe device. Table 5 shows the mapping between CRU bil address and TMS 9902 read data.Each CRU addressable read bu ¡s described íoliowing Table 5.
Status and dala iníormatíon is read from tho ACC using CE, SO-S4, and CRUIN. The followíng figure¡Ilústrales the relationship oí Ihe signáis used to access four bits oí data (rom Ihe ACC.
SO -S4 don't cara
CRUIN -Hi -Z
n + 3 don't caní
-j bit n [ biin + 1 | bit n + 2 | bit n -I- 3 \-H i - Z
ACC DATA ACCESS SIGNAL TIMING
TABLE 5TMS 9902 ACC INPUT SELECT BÍT ASSIGNMEHTS
ADORESS2
SO SI S2 S3 S4
1 1 1 1 - 11 1 1 1 0
1 1 1 0 1 'i i T o o1 1 0 1 1
1 1 0 1 01 1 0 0 1
1 1 0 0 0
1 0 1 1 1
1 0 1 1 0
1 0 1 0 1
1 0 1 0 01 0 0 1 1
I 0 0 1 01 0 0 0 1
1 0 0 0 0
0 1 1 1 1
0 1 1 1 00 1 1 0 1
0 1 1 0 00 1 0 1 1
0 1 0 1 0
0 1 0 0 10 1 0 0 0
AODRESS10
31
30
2928
27
26
25
21
23
2221 '20
19
18
17
16
15
14
1312
1110
9
8
7-0
ÑAME
INT
FLAGDSCHCTS
DSR
RTS
TIMELPTIMERRXSREXBRERBRLDSCINTTIM1NT-
XBINTRB1NTRIN
RSBDRFBDRFERROVERRPERRCVERR-
R B R 7 - R B R O
05SCRIPTION
InterruptRegístcr Load Control Flog SelDala SeíSiatuí ChongaClear to Sond •DataSfí! RcadyRequeit to SendTímer ElapiedTimer ErrorTrantmit Shííl Regisier EmptyTransmit Buíícr Regisicr EmpiyReceíve Buífer Regiitcr LoadcdData SctStaturChangc Interrupt (DSCH. DSCENBJTimnr Interrupt {TIMELP • T1MEN8)No i Uicd (ülwayí - 0)Trontmítiurlnicrrupt (XBRE -XBIENB)Receívarlnterrupí (RBRL-RIENBlRoceive InpuiReccive Stari Bit OctectRecoivc Full Bit OciectRecoivo Framing ErrorRoceívo Overrun ErrorReccivB Paríty EfforRoceivo ErrorNoi Utod (alwiyi - OíRecorve B u Hcr Rebinar (R&caíved Data)
F-13
AII-31
Bit 31 (INT} —
Bit 29 (DSCH) —
Bit 28 (CTS) —
Bit 27 (DSR} —
Bit 26 (RTS) —
B¡t25(TIMELP}~
Bit 24 (TIMERR) —
Bit 23 (XSRE) —
Bit 22 (XBRE) —
Bit 21 (RBRL) —
Bit 20 (DSCINT) —
BÍU9CTIM1NT) —
INT = DSCINT (Data Set Status Change ¡nlerrupt) + TIMINT (Timer Iníerrupt), 4- XBINT (Transmutar Intorrupt) + RBINT (Receiver Nerrupí). The ¡ntorruptoutput (INT) is active (LOW) vvhen this status signal is a iogic one. (Refer alsotoSection2.6.)
FLAG = LDCTRL + LDIR + LRDR + LXDR 4- BRKON. When any oí theregister load control ílags or BRKON is sel, FLAG = 1 (see Section 2.1.1).
Data Set Status Change. DSCH is set when Ihe DSR or CTS input changosstale. To ensure recognílion of the slate change, DSR or CTS musí remainstable in its new staíe íor a minimum of two Interna! clock cycles. DSCH is resetby an output to bit 21 (DSCENB).
Ciear To Send. The CTS signal indícales the inverted statu:device input.
of the CTS
Data Set Ready. The DSR signal indícales the inverted status oí Ihe DSRdevice input.
Request To Send. The RTS signal indícales Ihe inveried status oí the RTSdevice output.
Timer Elapsed. TIMELP is set each time the Interval Timer decrements to 0.TIMELP is reset by an oulpul to bit 20 (TIMENB).
Tlrner Error. TIMERR ¡s set wheneverthe IntervalTimerdecrements lo O andTIMELP (Timer Elapsed) is already seí, indicating íhat the occurrence ofTIMELP was nol recognized and cleared by the CPU beíore subsequent'inlervals elapsed. TiMERR is reset by an oulput to bit 20 (TIMENB,. Timer'Interrupt Enable).
Trsnsmit Shlft Register Empty. When XSRE = 1, no data is currcntfy beingtransmiíted and íhe XOUT output Is al Iogic one unless BRKON (see Section2.1.1)¡s sel. When XSRE = O, transmission oí data is in progress.
Transmlt Buffer Reglster Empty. When XBRE = 1, the transmit bufferregister does not contain ího next characler to be transmitted. XBRE is seteach time the contents of íhe transmrt bufíer register are transíerred to thetransmit shift register, XBRE is reset by an output to bit 7 of the transmit bufíerregister (XBR7), indicating ihat a characler has been loaded.
Rece!ve Buffer R&glster Looded. RBRL is set when a complete characterhas been assembled in the receive shift register, and the character is trans-íerred lo the recoive bufíer register. RBRL is reset by an ouíput lo bit 18(R1ENB. Receiver Interrupí Enable).
Data Seí Status Change Interrupt. DSCINT = DSCH (Data Set StatusChangeJAND DSCENB(Daía Set Status Change Interrupí Enable). DSCINTindícales the presence of an enabled Interrupt caused by the changing oí stateofDSRorCTS.
Timer Inierrupt. TIMINT = TIMELP (Timer Elapsed)ANDTIMENB (TimerIníerrupt Enable). TIMINT indícales the presence oí an enabled ¡nterruptcaused by the interval timer.
F-14
AXI-32
Bit 17 {XBINT) —
Bit16(RBINT) —
Bit 15 (RIN)—
Bit 14 (RSBD)—
Bit13(RFBD) —
Bit 12 (RFER) —
BU 11 (ROVER)-
BitlO(RPER) —
Bit 9. (RCVERR) -
Bil7-BitO(RBR7-RBRO) —
1'ransmÍUcr Inlorrupt. XBINT = XBRE (Transmit Buffer Register Empty)AND XBÍENB (Transmit Buffer Interrupt Enabíe}. XBINT indícales the pres-ence of an enabled interrupl caused by Ihe transmitter.
Recdíver Interrupt. RBiNT = RBRL (Receive Bufíer Regisler Loaded) ANDRIENB (Receivor Iníerrupl Enabie). RBINT indicates the presence of ansnabled interrupl caused by the receiver.
Recelvo Inpuí. RIN indicates tho status of the RIN input to the device.
Receive Start B It Detect. RSBD is set a haif bit time after the 1 -to-0 transiíionof RIN. indicating the start bit of a character. If RIN is not still O atsuch time,RSBD is reset. Otherwise, RSBD remains true unlH the complete characterhas beon received. This bit is normally used only lor lesting purposes.
Recolve Full Bit Detect RF8D is set one bit time after RSBD is set to indícatethe sample point for ihe first data bit of Ihe received character. RSBD ¡s resetwhen the characler has been complelely received. This bit is normally usedonly for íesting purposes.
Receive Framlng Error. RFER is sel when a characíer is received ín whichthe stop bit, which should .be a logic one, is a logic zero. RFER should only beread wnen RBRL (Receive Bufíer Register Loaded) is a one. RFER ¡s resetwhen a character wíth the correcí stop bit is received.
Roceive Overrun Error. ROVER is set when a new character is receivedbefore Ihe RBRL {Receive Bufíer Regisíer Loaded) ílag is resel.indicating thatthe CPU failed to read the previous character and reset RBRL before thepresen! character is compieteiy received. ROVER is reset when a character isreceived and RBRL is O when the character is transferred to Ihe receive bufferregister.
Receive Parity Error. RPER is set when a character is received in which theparity is incorrect. RPER is reset when a character with correct parity isrecervsd.
Receive Error. RCVERR = RFER (Receive Framíng Error) + ROVER(Receiver Overrun Error) + RPER (Receive Parity Error), The RCVERRsigna! ¡ndicates the presence of an orror ¡n Ihe most recently receivedeharacíer.
Recelve Buffer Register. The Receive Buffer Regisler contains the mostrecently received character. For characler lengths of íewer than eight bits, thecharacter is right-jusíified, with unused most significan! bil(s) all zero{es). Thepresence of valid data Ín the Receive Buffer Register is indicaled when RBRL(Receive Buffer Register Loaded) is a logic ona.
F-15
AII-33
2,2 TRANSMITTER OPERATION
Tho operation oí ihe transmitter is ciiagrammod in Figure 5. Tho Iransmitter ¡s InHialiied by iscuing the RESETcommand (output lo bit 31), which causes Ihe intemal signáis XSRE (Transmil Shiit Register Empty) andXBRE (Transmit Bulíer Register Empty) lo sat, and BRKON lo rosel. Device oulpuls RTS and XOUT are sol,placing the transmitter in its idie state. When RTSON (Requost-to-SendOn) ts sel by the CPU, the RTS outputbecomes active (LOW) and the transmittor bocomes active when the CTS input goes LOW.
2.2.1 Data Tnsnsmlsslon
li the Transmit Butier Register conlains a character, transmissiori begins. The contents ot Ihe Transmit BulíerRegister are transíerred to the Transmil Shift Registor, causing XSRE to reset and XBRE to set. The íirsl bittransmitted (start bit) is always a logic zero. SubsequenÜy, the character is shifled out, LSB Hrst. Only thonumber oí bits speciíied by RCL1 and RCLO (character length seiect) oí Vhe Control Register are shitled. IIparity is enabled, the corred parily bit is next transmitted. Finally the stop bit(s) selected by SBS1 and SBSO oíthe Control Register are transmitted. Stop bits are always logic one. XSRE is sel lo indícate that notransmission is in progress, and the transmiUer again tests XBRE lo determine ií the CPU has yet Ioaded Ihene>ct character. The timing íor a transmitted character is shown below.
PARITY STOP
XOUT
NUMBEROF BITS
ISTART( BIT
iI BIT | BlTISl
TRANSI-MTTED CHARACTER \B
USBH1 MSB
5,6,7.OR8 |OOR \. OR2|
•TRA10SMITTED CHARACTER TIMING
2.2.2 BREAK Transmission
The BREAK message is transmitted only ií XBRE = 1, CTS = O» and BRKON = 1. Aíier Iransmission oí thoBREAK message begins, loading oí the Transmit Bulier Register is inhiblted and XOUT is reset. When
- BRKON is reset by the CPU, XOUT is set and normal operation continúes. It is important to note thatcharacíers loaded into theTransmit Buíier Regisler are transmiíted prior to the BREAK message, regardlessoí whether or not the character has been loaded into the Transmit Shift Register before BRKON is set. Anycharacter to be transmitted subsequent lo transmission oí the BREAK message may not be ioaded into theTransmit Buííer Register until aíter BRKON is reset.
2,2.3 Transmission Termlnátiorv
WheneverXSRE = 1 and BRKON =* O the transmitteris idie, wíth XOUT sel lo one. ií RTSON is reset al thlstime. Ihe RTS device outpul wiil go inaclive (HIGH), disabling íurther data transmission until RTSON is againset. RTS wiil nol go inactive, however, unti! any characters loaded Into the Transmit Buíier Register prior toresetting RTSON are transmitled and BRKON = 0.
F-16
ñII-34
*
DISABLO RTS
RESETXOUT
PICURE S. TMS 9902 TRANSM1TTER OPHRATION
F-1?
Tf
ñII-35
2.3 RECEIVER OPERATION
2.3.1 R&colver Inítlollzation
Operation oí the TMS 9902 receiver is diagrammed in Figure 6. The receiver is initiatized vvhenever the CPUíssues tho RESET command. Tho RBRL (Recoivo Bufíor Regislor Loaded) ílag is resel to indicáis that nocharacter is currently in tho Receive Buffar Register, and íhe RSBD (Receive Start Bit Detect) and RFBD(RecQÍve Full Bit Delect) ílags are reset. The recoiver remains in íhe inacíive state until a one to zero transiüonis detectad on the RIN devico input.
2.3.2 Start Bit Detftctlon
The receiver delays a haií bit lime and again samptos RíN to ensure that a valid start bit has been detecterf. IfRIN = O afteríhe haíí-bit delay, RSBD is sel and data reception begins. If RIN = 1, no data reception occurs.
2.3.3 Data Recoptfon -
In addition ío verifying the valid start bit, the halí-bit delay after ihe one-to-zero transilion also esíablishes thesample point íor ail subsequent data bits in a valid received character. Theo reí icatíy, the sample point is in thocenter oí each bit cel!, thus maximizing the limits oí acceptable distortion oí data celis. Afler the first full bitdelay the least significant data bit is received and RFBD is sel. The receiver continúes to delay one-bit¡ntervals and samplo RiN unti! tha seíecíed number oí bits aro received. If parity is enabled, one additional bitis read for parity. After an additional bit deiay, íhe received characísr is transíerred to the Receivo BuflerRegister, RBRL is sel, ROVER (Receive Ovemjn Error) and RPER (Receive Parity Error) are loaded withappropriate valúes, and RIN is tesled for a vaiid stop bit. If RIN = 1, the stop bit is valid. RFER (RecoiveFraming Error), RSBD, and RFBD are reset, and the receiver watts íor the nexl start bit to begin reception ofthe next characíer.
lí RIN = O when the stop bit is sampled, RFER is set to indícate the occurrence of a framing error. RSBD andRFBD are reseí, bul sampüng íor the siart bit of the next character does not begin until RIN = 1. The timing fora received character is depicted below.
ISTARTI| BIT I RECEIVED DATA
PARITYI BIT I STOP I| I BIT 1I I I
RIN
SAMPLE PO1NTS
USB L5B+1 MSB
í I H'H f !
-iNUMBER OF BITS , 1 5,6.7, OR 8 t O O R l , 1
RECEIVED CHARACTER TIMIMG
F-18
AII-36
RESET RBRL
RESET RSBD
RESET RFBO
DELAY 1/2 BIT
SETHSBD
DELAY 1 BIT '
SETRFBO
SAMF'LG BIT
FIGURE o. TMS BBOI RECEIVGR OPERATION
F-19
AII-37
2.4 INTERVALTIMEñ OPERAT1ON
A ílov/chart of the operation of the Interval Timer is shown ¡n Figure 7. Execution of Ihe RÉSET command byIhe CPU causes TIMELP (Timer Elapsed) and TIMERR (Timer Error) to reset and LDIR (Load IntervalRegister) to sel. Reselling LDIR causes the conlenls of the Interval Register lo be loaded into the IntervalTimer, Ihus beginning the selected time interval. The timer is decremented every 64 infernal clock cycles(every two interna! clock cycles when in Tes! Mode) unlil it reaches zero, at which time the Interval Timer isreloaded by the Iníerval Regisler and TIMELP is set. If TIM ELP was already set, TIMERR is set lo indícale thaíTIMELP vvas noi cleared by Ihe CPU before (he next time period elapsed. Each time LDIR is reset, thecontents of the Interval Register are loaded inlo the Interval Timer, thus rostarting the timer (refer also loSection2.l.2.2).
PICURE 7. TMS9902 IIJTERVAL TIMER OPERATION
I.n-s-(TMR7—TURO)
TIMELP
INTEE1VAL TIMER SELECTION
F-20
AII-38
2.5 INTERRUPTS
Tile interrupt ouiput (INT) is aclivo (LOW) when any oí [he following conditions occurs and the correspondingínlerrupt has been enabled on the TMS 9902 by Ihe CPU:
(t) DSR or GTS changos levéis (DSCH = 1);
(2) a character has been received and slored in the Receive Buffer Regisler (RBRL — 1);
(3) the Tiansmií Buffer Register is empty (XSRE - 1); or
(4) Ihe selected time ¡nterval has elapsed (TIMELP = 1).
DSCH
OUTPUT
FIGURE 0. INT OUTPUT GENERATION
Figure 8 iliustraíes the lógica! equivalent of ¡he ACC interrupt section. Table 6 íisls the actíons necessary toolear Ihose conditions of the TMS 9902 that cause interrupts.
TABLE6
TMS &902 INTERRUPTCLEARING
MNEMONIC
DSC1NT
RINT
XINT
TIM1HT
CAUSE
CTS of OSR changa state
Recieve Buffer Fu!l
Transmil Buítcr Regisior Empiy
Timer Elopsod
ACTIONTO RESET
Wme a bit to DSCENB (bu 21)"
Wnie a bu toRIENB(bil 18)'
LoadTransmn Buller
Wrilo a bu lo TIMENB (bu 20)*
"Wntiog " loro lo cíe a/ lh« intorrupí w¡t donr ttw intwrupt «od üwnblo fnnHw «tofiupa.
F-21
2.6 TMS 9&02 TERMINAL ASSIGNMENTS AND FUNCT1ONS
AII-39
SIGHATURE
IÑt
XOUT
RIN
CRUIN
RTS
GTS
ÜSR
CRUOUT
vSS'-
S4(LSB)S3S2S1SO
CRUCIK
^CT
VCG
PIN
1
2
3
4
5
6
7
8
9
1011121314
15
16
17
18
1/0
O
O
1
O
O
1
1
í
1
11I11
1
1
1
I
OESCF1IPTION
Inlsroipt — when activo (LOW). tho INT oulpul TMS 9902Indícalos that al toast one of tho intonupt coodi- IB-PIN l'ACKAGElions has occurrod.
Transmitler Serial Data Oulpul lino — XOUT, "jT^ [Tremains inaclive (H1GHJ whon TMS 9902 is nol Ltransmítling. XOUT |~
Receívor Sorial Dala Inpul Une — flCVmustbe „.., r~hoid in líxj inaclive (HIGH) slate when not recerv- Ll¡r>3 dnta. A Iransilion from HIGH to LOW acti- rmtiw f~vales Iho receiver circuitry. [
Serial dala oulpul pin from TMS 9902 to CRUIN RTS [InputpinoítheCPU. . — .—
CTS |Q
Requost-to-Send oulput írom TMS 9902 to .modem. HTS is onablod by the CPU and remains DSR 0active (LOW) during transmission frofn tho™S9902. CRUOUT ^
Ctear-to-Send inpul ftom modem lo TMS 9902. ^SS m'Míen active {LOW), it onaWes ihe transmitter L—
'U81. 12 17
3 16
4 15
5 14
6 13
7 12
8 11
9 ' 10
í] VCG
3 ci
í] ?"pl CRUCLK
3 S°~1 C-1
o] S1
— i «...
o] S2
ni S3
3 S4
'flectionof TMS 9902.
Data Sel Ready ínput from rrxxÍQm lo TMS 9902. DSR generales a/i intorrupl when it changos slale.
Serial dala input line to TMS 9902 from CRUOUT une of the CPU.
Ground reference vollage.
Address Selecl Lines. The dnlR bil being accessed by Iha CPU inlerlaco is spedfied by ths 5-b'rt codeoppearing on SO-S4,
CRU Clock. When aclivo (HiGH), indícales valtó dala on the CRUOUT line lor the 9902.
TTLCbdí.
Chip Enablo — when CE is inaclive (HIGH), TMS 9902 CRU inlerf acó Is disabled. CRUIN rsmalnsal high-impedance when CE is inactiva (HIGH).
Suppfy volíage (+5 V nominal).
F-22
AII-40
APPENDIXG
The Engineering Staíf oíTEXAS INSTRUMENTS INCORPORATEDSemiconductor Group
NOVEMBER1977
TEXAS INSTRUMENTSI N C O R P O R A T E D
£11-41
1. INTRODUCTION
1.1 DESCRIPTION
The TMS 9980A/TMS 9981 is a software-compatible member of Tt 's 9900 family of microprocessors. Dcsigned tominimize the syslem cosí for smaller systcms. the TMS 9980A/TMS 99B1 is a single-chip 16-bit central processing unit[CPU) which has an 8-bit data bus, on-chíp clock, and is psckagüd ¡n a 40-pin package (see Figure 1). The instructionset of the TMS 9980A/TMS 9981 includes the capabilities offered by fu!l minicompuiers and is exactíy the same as the9900's. The unique memory-to-memory architecturc features múltiple register files, resident ín memory, which allowfaster response to interrupls and increased programming flexibilily. The sepárate bus structure simplities the systemdesígn offort. Texas Instruments provides a compatible set of MOS and TTL memory and logic function circuits to beused whh a TMS 99SOA/TMS 9981 system.
• KEY FEATUBES
16-BÍt Instrucííon Word
Minicomputer Instruction Set Capabílíty Including Muiííply and Divide
» o 1 6,384 Bytes of Memory
* 8-Bit Mernory Data Bus _ .
o Advanced Mcmory-to-Memory Archilecíure
« Sepárate Memory, 1/0, and Inlerrupt-Bus Siructures
° 16 General Regísters
» A Prioritized Intorrupts
o Programmed and DMA 1/0 Capabílíty
o ' On-Chip 4-Phase Clock Generaíor .
• 40-Pin Package {
» N-Channel Sílicon-Gate Technology
1.3 TMS 9980A/TMS 9981 DIFFERENCES
The TMS 9980A and the TMS 9981 although very similar, have several differences which user should be aware.
1. The TMS 9980A requires a VBB supply (pin 21) while the TMS 9981 has en ínternal charge pump togenérate Vgg from Vrjc and
2. The TMS 9981 has an optlonal on-chip crysíal oscillaror in addítion to the externa! clock modc of thoTMS9980A. ".
3.. The pin-outsare not compatible for DO-07, INTO-1NT2, and ?3.
G-1
AII-42
FIGURE 1 -ARCHITECTUHE
G-2.
AII-43
2. ARCHITECTURE
The mcmory for thc TMS 9980A/TMS 9981 ¡s addressable ¡n 8-bit bytes. A word ís defined as 16 bits or 2 conseculivebytes ín memory. The words are restricted to be on even address boundaries, Í,e.( the most-signittcant half (8 bítsjresides at even address and the least-significam half resides at the subsequent odd addcess, A byte can reside at even orodd address. The word and byte formáis are shown below.
ADDRESS
ODD ADDRESS
EVEN ADDRESS
ODD ADDRESS
MSB
OR
SIGN
BIT
0
8
1
9
2
10
3
11
4
12
5
13
6
14
7
15
LSB
WORDFORMAT
MSBOR
SIGMBIT
0
0
1
1
2
2
3
3
4
4
5
5
6
6
LSB
7
7
BYTEFORMAT
2.1 REGISTERS AND MEMORY
Tiie TMS S980A/TMS 9981 employs an advanced memory-to-memory archilecture. Blocks of memory designated aswoikspace replace interna! hardware regislers with program-data registers. The TMS 9980A/TMS 9981 memory map isshown ín Figure 2. The first two words (4 bytes] are used for RESET trap vector. Addresses 0004i 6 through 001315are usad for interrupt vectors. Addresses 0040 through 007 F are used for the extended operation (XOP) instruciiontrap vcclors. The last four bytes at address 3FFC-|6 10 3FFF are used for irap vector for the LOAD function,
The rernaining memory ís available íor programs, data, and workspace regísters. If desired, any of the special áreas mayalso be used as general memory.
Three ¡nternal registers are accessible to the user. The prograrn couníer (PC) contains the address of the instructionfollowing the current instruciion being executed. This address Ís referenced by the proccssor to fetch the nextinrtruction from memory and is then automatically incremented. The status register (ST) contains the preseni state oíthe proccssor and will be further defined ¡n Sectíon 3.4. The workspace pointer ¡WP) contains the address of the firstword in the currendy active set of workspace registers.
G-3
-44
RESET VECTOR
INTERRUPTVECTORS
XOP SOFTWARETRAP VECTORS
, LOAD SIGNAL
VECTOR
0 0 0 0
0 0 0 1
0 0 0 2
0 0 0 3
0 0 0 4
0 0 0 5
0 0 0 6
0 0 0 7
0 0 1 0
0 0 1 1
0 0 1 2
0 0 1 3
0 0 - 1 0
0 0 1 1
0 0 4 2
0 0 4 3
O O 7 C
O O 7 D
O O 7 E
O O 7 F
-*
.
GENERAL ^MEMORY ÁREA
-É
GENERALMEMORY rf
ÁREA
f
\}
w
•^
I
WP
PC
WP
PC
LEVEL OINTERRUPT
LEVEL 1INTERRUPT
WP
PC
LEVEL 4INTERRUPT
WP
PC
XOP O
WP
PC
XOP 15
WP
PC
FIGURE2-MEMORY MAP
G-4
ñII-45
A workspace-register file occupit» 1 [i roniiqtiouV mamory wof fU in iha Tañera! memory área. Each workspace registermay hold data or addresses and (unriion ai oprrand ro<ji\ief \ •ccumulALort. address regístws, or índex registers. During
Instruction execuiion, the procnuoi mitliowM any tmjiUür in U»« vvoiksp-icc by adding tho register number to thecontcnts oí the workspace poimar dmi iniii.itmg i mcnxjfy ro<iu«nt lot llm word. The relatíonship beiv/een theworkspace pointer and its correspondin^ wo(Vi(wcs u \hown bolow
GENERAL MEMOHV
PROGRAMA
necisrtn o
WORKSPACE A
•VORKSPACE
PROGRAM G
WORKSPACG
W (A)
sr (Al
The wofkspacc concept ís partícularly valunblo during opcrations ihal r«iuirc a coníexl switch, which is a chango fromone program environmenl to another (ai ín thü casa oí an ínterrupt or calí to a subroutine). Such an operation, using aconventíonal multi-register arrangemunt, requíres that at Icast part of thü contents oí the register file be slored andrcloadcd. A memory cycle is requirtd to iiore or fctch each word. [iy cxchanging the program counter, status regíster,and workspace pointer, the TMS 9980A/TMS 99B1 nccomplishos ¡i comoletc coritext switch with oniy six store cyclesand six fetch cycles. After the switch ine workspact; poiniur conl.iins iho iiariing oddrcssof a ncw IB-word workspaceÍn memory for use ¡n the new rouime. A coir«ponding timo uvinq occurs \vhen thc original context is restored.
Instructioniin ihe TMS 9980A/TMS 891)1 ihn luvult Ín 3 contaxt tv/tich includt:
1. Branch and Load Wortctp«« PomUf (BLWP)
2. Rcturn from Subroutínfl (IHWPJ
3. Extended Operation (XOPI
Dovlco intcrrupts. PTíSET, «nd COXtí A!IO cauto 2 comoxt i»/iich by (orcing tho processor to trap to a servíce
Kibroutinfl.
G-G
AII-46
2,2 INTERRUPTS
The archileclurc oí the 9900 family allows vectonng oí 1G ¡ntenupts. Thesc interrupu are assigned levéis (rom O lo 15..The ¡nlerrupt at level Q has the highest príority and the interrupt at levcl 15 has thc lowest prioritv. The TMS 9900implements all 16 interrupt levéis. The TMS 9980A/TMS 9981 implcmenis only 5 levéis (levcl O and levéis 1 throughA], Levcl O is rcserved for lííS'ET (unction.
Levéis 1 through A may be usod íor extcrnal devíces. The exiornal levéis may also be shared by several devicc inlerrupts,depending upon systcm requiremonts. The TMS 9980A/TMS 9981 continuously compares the interrupt code {ICOthrough IC2) with the interrupt mask contained in status-regisler bits 12 through 15. When the level of ihe pendínginterrupt is less Ihan or cqual to the cnabUng mask level (higher or equal priority ¡nlerrupt), the processor recognuesthe interrupt and ¡nrtiaies a context switch followíng completion of the currently executing ¡nstruction. The processorfetenes the new context WP and PC from the intcrrupl vector [ocations. Then, the previous context WP, PC, and ST arestored ín workspace regísters 13, 14, and 15, respectivcly, of the new workspace. The TMS 9980A/TMS 9981 the/iforces the interrupt mask lo a valué that is one less than the level of the interrupt boing serviced. This nllows onlyinterrupts oí higher príority to interrupt a service routine. The processor also inhibits interrupís until the íirstinstruction of the service routine has been executed to allow modification of interrupt mask ¡f necded (to mask outcertain ¡merrupts). All interrupt requests should remaín active until recognized by the processor in the device-serviceroutine. The individual service routines must reset the interrupt requests before Ihe routine ¡s complete. The interruptcode (ICO-IC2) may change asynchronously within the comtraints speciíied in Section 2.10.4.
If a higher priorhy interrupt occurs, a second context switch occurs to service ihe higher-priorUy interrupt. When thatroutine ¡s complete, a return instruction (RTWP) restores the íirst service routine parameters to the processor locomplete proccssing of the lower-priority interrupt. All interrupt subroutines should termínate with the returninstruction to restore original program parameters. Thc interrupt-vecior locations, de\-icc ass,ignment. enabling maskvalué and the interrupt code are shown Ín Table 1.
TABLE\T LEVEL DATA
INTERRUPT
CODE
(ICO-1C7.1
1 1 0
1 0 1
1 0 0
0 1 1
0 0 1
0 1 0
0 0 0
1 1 1
FUNCTION
Level 4
Level 3
Leve! 2
Level 1
Reset
Load
Retel
NQ-OD
VECTOR LOCATION(MEMORY ADDRESS
¡N HEXJ0 0 1 0
0 0 0 C
0 0 0 8
0 0 0 1
0 0 0 0
3 F F C
0 0 0 0
DEVICE ASSIGNMENT
Externa) Device
Exiernal Devicc
Externa! Devicc
Exiernal Device
Rescl Stimulus
LoadStimulus
Rete! Slimulus
—
1NTERHUPT MASK VALÚES
TO ENAHLE
(ST12 THROUGH ST151
4 Through F
3 Through F
2 Through F
1 Through F
Don"! Cate
Don't Care
Don't Carc.....
Note that RESÉT and LOAS functions are also encoded on the interrupt code input í.the possible configurations. To reaüze RESET and one interrupt no external componneeded, a three input AND gate is wired as shown. If the system requires more than one intuí;-(TIM9907] ¡srequired.
of
G-6
AII-47
LOAD
VCC
LOAD'
LEV EL <1
C
0
5
•i
3 AO
2
1
SN74143(TIM 9907)
ICO
IC1
ICZ
TMá 9980A/TMS 9981
FIGURE 3 - TMS 9980A/TMS3951 INTERRUPT JNTERFACE
2.3 INPUT/OUTPUT
The TMS 9980A/TMS 9981 utiiizes a versatile direct command-driven I/O interface designated as tile Communications-register unit (CRU). The CRU providas up to 2,048 directly addressable output bits. Both input and" output bits can beaddressed individually or in fields of (rom 1 ta 16 bits. The TMS 9980A/TMS 9981 employs CRUIN, CRUCLK. andA13 Ifor CRUOUT) and 11 bits (A2-A12) of the address bus to interface with the CRU systern. Ths processorinstructions that drive the CRU interface can set, rcset, or test any bit in the CRU array or move bfftween memory andCRU data fields.
2.4 SiNGLE-BIT CRU OPERATÍONS
The TMS 9980A/TMS 9981 performs thrce single-bit CRU funcíions: test bír (TB), set bit to one (£001, and set bit tozero (SBZt. To identify the bit to be operated upon, the TMS 9980A/TMS 9981 devclops a CRU-bK address and placesít on the address bus, A2 to A12.
For the two output operations (SBO and SBZ), the processor also generales a CRUCLK pulse, ¡pdicating an ourputoperatíon lo the CRU devíce and places bit 7 of the instruction word on the A13 line to acco/^plish the specified
G-7
-48
opcralion (bit 7 is a one íor SBO and a zero íor SBZ). A test-bh instruction transferí the addressed CRU bit írom the
CRUIN ¡nput Une lo bit 2 oí the status register (EQUAL).
The TMS 9980A/TMS 9981 develops a CRU-bll address for the single-bit operations írom the CRU-basc addresscontained in workspacc register 12 and the signed displaccmem count containcd ín bits 8 through 15 of Ihe instruction.The displacement allows lwo's complement addressing from base minus 128 bits through base plus 127 bits. The baseaddress from W12 is addod to íhe signed displacement speciíied in the instruction and the result is loaded into the
address bus. Figure 4 illustrates the development oí a single-bit CRU address.
10 11 12 13 14 15
X X X X - X W12
DON'TCARE
v v v xO 9 10 11 12 13 14 15
SIGNEDDISPLACEMENT
BIT8SIGN , .EXTENDED \
0 1 2 3 4 5 6 7 8 9 10 11 12 1 3ADDRESSBUS
CRUOUT
SETTOZEROFOR ALLCRUOPERATIONS
EFFECTIVE CRU fl'IT ADDRESS
FIGURE í-TMS 9980AyTMS 9381 SINGLE-DIT CRU ADDRESS DEVELOPMENT
2.5 MULTIPLE-BIT CRU OPERATIONS
The TMS 998ÜA/TMS 9981 performs two multiple-bit CRU opcratíons: store Communications register (STCR) andload Communications regisier (LDCR). Both operations perform a data transfer from the CRU-to-memory or írommemoryto-CRU as illustrated in Figure 5. Ahhough the figure ülustrates a full 16-biI íransler operation, any number oíbits from 1 through 16 may be involved. The LDCR instruction felches a word from memory and right-shifts it toserially transíor it to CRU output bits. If the LDCR ¡nvolvcs eight or íewer bils, those bils come from the right-justifiedfield within the addressed byte of the memory vvord. If the LDCR involves nine or more bits, those bits come frorn theriqht-iusüfied field within the whole memory word. VVhen transíerred to the CRU interface. each successive bit receivesan address that ís sequentially greatcr than the address íor the previous bit. This addressing mechanism results in anorder reversal of the bits: that is, bit 15 of the memory word (or bit 7} becomes the lowest addressod bit in the CRUand bit O becomes the híghest'addressed bit in the CRU field.
An STCR instruction transfers data from the CRU to memory. If the operation invo! m:transferred data will be stored right-justified in the memory byte witli leading bits set to .from nine to 16 bits, the transfcrred data is stored right-justified ín the memory vvord wíth Ie3ü,
When Ihe input from the CRU device is complete, the first bit from the CRU Ís the least-signiíicant-bii posiiic
memory word or byte,
the
AIX-49
enu INPUTBITS
CRU OUTPUTBITS
N
W+1
N+15
INPUT(STCR)
EFFECTIVEMEMORY ADDRESS 14
OUTPUT (LDCR)
N-HÍ
N- BIT SPECIFIEDBY CRU BASE REGISTER
FIGURE5-TMS93SOA/TMS9981 LDCR/STCR DATA TRANSFERS
Figure 6 ¡Ilústrales how to implement a 16-bií input and a IG-bit output regisler ín the CRU interface. CRU addrcssesare decoded as nccded to ¡rnplement up to 128 such 16-bit interface rcgisters. In system applicalion, howcver, onlv theexact nurnbcr of interface bits needed to interface specifíc perípherai devices are ímplemented. It ¡s not necessary tonave a 16-bit interface register to interface an 8-bit device.
2.G EXTERNAL INSTRUCTIONS
The TMS 9980A/TMS 9981 has five external ¡nsrructtons ihat allow user-defined external functíons to be initiatedunder program control. These instructíons are CKON, CKOF, RSET, IDLE, and LREX. These mnernonics, except forIDLE, relate to (unctions Ímplemented in the 990 minícomputer and do not restrict use of the ¡nstructions to initiatevarious uscr-deíined functions. ÍDLE also causes the TMS 99BOA/TMS 9981 to enter the tdle state and remain unlil anÍníerrupt, HESÉT, or LOAD occurs. When any of íhese five ¡nsiructíons are executed by theTMS 9980A/TMS 9981, auníciue 3-bít code appears on the addrcss bus, bits A13, AO, and Al, aiong wíth a CRUCLK pulse. When theTMS9980A/TMS 9981 is in an idle state, the 3-b¡t code and CRUCLK pulses occur repeaiedly until Ihe idle state ¡stcrminated. The codes are: ' • .
EXTERN'AL INSTRUCT1ONLREXCKOFCKONRS£TIDLG
CRU INSTRUCTIOHS
A13
H
H
H
L
(.
H/L
AO
H
H
C
H
I-!
L
Al
H
L
H
H
U
L
G-9
ZYII-50
A10-A1Z
I NO
IN7
IN8
I N I 5
OUTO
OUT7
OUT8
OUT15
TO MEMORY
FIGURE 6 -TMS 9930 A/9981 16-BIT INPUT/OUTPUT ÍNTER FACE
G-10
AII--51
Note that during externa! inslructions bits (A2-A12) of the address bus may have any oí the pmsiblebinary patterns.Sínce these bits (A2-A12) are used as CRU addresses, CRUCLK lo the CRU musí be gaied with a decode of O on AOand A1 10 avoid erroneous strobe to CRU bits during externa! instruction executlon.
Figure 7 ¡Ilústrales lypícai externa! decode logic to implemertt these instrucüoiís. Note CRUCLK ío the CRU isinhibited during externa! inslructions.
TO MEMORY
L
14-L.
AG-A13 A13 , AO, Al
CRUCLK
CKOF ^ TO USER
DEFINEDEXTERNAL
RESET INSTRUCTIONLOGIC
FIGURE 7 - EXTERNAL INSTRUCTÍON DECODE LOGIC
2.7 NON-MASKABLEINTERRUPTS
2.7.1 LOAD Function
The LOAD stimulus is an unmaskable interrupt that allows cold-start ROM loaders and íTont panels to be ¡mpiementedfor the TMS 9980A/TMS 9981. When the TMS 9980A/TMS 9981 decodes LOAD on ICO-ÍC2 Unes, ¡t initiates aninterrupt sequence immediately following the instruction being executed. Memory locaíion 3FFC ísused to obtaín thevector [WP and PC). The oíd PC, WP. and ST are loaded into the new workspace and the imcrrupi mask is set lo 0000.Then the pragram execution resumes usíng the new PC and WP. Recognition of LOAD by the processor will alsotermínate the idle condition. External stimulus for LOAD musí be held active (on 1CO-1C2) for one instruction periodby using lAQsignal.
2.7.2 RESET
When the TMS 998GA/TMS 9981 recognizes a RESET on ICO-1C2, it resets and inhibits WÉ and CRUCLK. Uponremoval of the RESET code, the TMS 9980A/TMS 9981 iniliaíes a level-zero interrupt sequence that acquires WP andPC from location 0000 and 0002, sets all status register bits to zero and siarts execution. Recognition of RESST by theprocessor w¡H also termínate an ícile state. External stimulus for RESET must be held active for a mínimum oí threeclock cycles.
G-11
MI-5 2
nh'SET SIGNALCAUSES IMMEDtATEENTRY HERH
GET RESET VECTOR(W? AWD PCI
FHOM tOCATIONO, 2
STORE PRHVIOUS PC,WP, ANDSTINNHWWORKSPACE. SETINTERRUPTMASK(ST12-ST151-0
GET LOAD VECTOR(VW AND PCI
FtlOM LOCATION
STORE PREVÍOUS PC,WP, ANDST IN NEWWORKSPACE.SETtNTERRUPTMASK
(ST12-ST15J-Ü
GET INT6RRUPT LEVFLVECTOR IV*V AND PíSTORE PREVIOUSPCWP, AfJDST !NN'WORKSPACE. SET
INTERRUPTMASK ÍST12-ST15I TO LEVEL-1
FIGURE 8-TMS9330A/n.AS W81 CPU FLOWCHART
G-12
AII-53
Z.S TMS 9980A PIN DESCRIPTION
Table 2 defines (he TMS 99SOA pin assignments and describes the function of each pin.
TABLE 2
TMS 9380A PIN ASSIGNMEfJTS ANO FUNCTIONS
SI GN ATURE
AO (MSB|
AlA2
A3
A4"í
PIN
17
1615
14
13
1110
9
I/O
OUT
OUT
OUT
OUT
OUT
OUT
OUT
OUT
OUTOUT
AJi. OUT
All OUT
A12
AJ3/CRUOUT
DO (MSB)01
D2D3
04D5
D6D7 (LSB)
VBBvccVDOvss
CKIN
55
OBIN
OUT4
262728
29
30
31
32
33
2120
36
35
34
22
58
OUT
i/O
I/O1/0
I/OI/O
I/OI/O
I/O
IN
OUT
OUT
DESCRIPTION TMS 9900A PIN ASSIGNMENTS
ADDUESSBUS X
AO thmiiqh A11 i-nmn/í<_n t^o sríArar.x l-inr _
This 3-ítate bin ptovidei the momory- HOLD L
addreis vector lo the external-memoíy sys- HOLDA 2 ]_
tem whcn MEMEN ís active and l/O-bit [AQ 3 [
addfesies and extotnal-imtruciion addrqsscs A-IIÍ/-DI inti-r ¿ f
to the I/O lysiem whcn MEMEN ¡5 inactivo. r
The addreis bus a «u rué: thu high-impedanco A 2 L
siato whon HOLDA ¡sádico. All 6 [
A10 7 [
D*
A8 9 [
CRUQUT A7 10 [Sertñl I/O dala app^ars on A13 when an _ ., ¡"
LDCR, SB2, and SBO inslruction ¡s cxocu- ' r
ted. Thii data should be sampled by ihc I/O A5 1?" p.
ínterlace logic v;hen CRUCLK goos active A* 13 L
(high). One bit oí thc externa! instruction A3 14 L
codc appears on A13 durjng externa! In- .. 15 f
struction exccutíon. t-. Al 16 L
DATA SUS / AO 17 [
DO through D7 com prisa the bidirocitonal D81N 1¡1 C
3-slate data bus. Thís bus transfcrs rrwmory rdata to (wfion \vriting) and [rom (whcn CRUIN L
readingí the exiernal-mcmory r/itcm when ^CC ^ *•
U 340 MEMEN
3 39 READY
J38 WÉ
J37 CRUCLK
3fi VDD
3 35 Vss
3 34 CKIN1J33 D7
3 32 DC
331 D5
J30 04"iJ29 D3•iJ2Q 02
3 27 DI
326 DO
25 INT 0
324 INT1
323 1NT2
322 («i.121 vBB
MEMEN ís active. The data bus a 5 su mes the
higfi-jmpddance state whcn HOLDA íi
active.
POWER SUPPLIES
Supply volioga (-5V N'OM)
Supply vohage (5 V NOMl
Supply voltaje (12 V NOM}
Ground rderencfl
CLOCKS
Clock In. A TTLcompatíblo ínput uved to gorvornta thc mtornal 4-phaie clock. CKIN írequoncy ii 4 timei tito
delirad "yitem froqucncy.
Clock phaso 3 I$3| ¡rwerted; uied at B timing roícrcnco.
BUS CONTROL
Dato bui In. Whon activo (íiigh), OBIN indlcatoi thal tht TMS 99íJOAhat diwbl&d iw ouipul buíísrí to tl\ovJthe momory 10 place memoty-read data on the daia bu* during MEMEN. DBIN'romaini low in aJI othar case»
oxcopt when HOLDA'ii ftctrVB ot whJcti time .It Ic In tho hígh-impoderxro ítalo.
G-13
AII-54
TABLE 2 ICONTHJUED)
SI GN ATURE
MEMEÑ
W6
CRUCLK
CRUIN
INT2INT1INTO
HOLD
HOLDA
READY
IAO
PIN
40
38
37
19
23
24
25
1
2
39
3
I/O
OUT
OUT
OUT
IN
ININ
IN
IN
OUT
IN
OUT
DESCHIPTION
Memory enable. When Bctive (low), MEMEN indícales inai thL- addreti bus containi a mcmory fiddrcis. WhonHOLDA h ftciivt», MEMEN ¡t [n Ihe hígh Irnpsdnncc itate.Wrile onoble. Whon activo (low). WG indícales that rntmory-wriic daia ii available irom tho TMS 9980 to bevarillen rn:o momory. Wlien HOLDA U active, WE ii in the hígh-ímpedance (tete.
CRU cloct:. Whan «ctivo (hlgh), CRUCLK índicaiet ihHt exiemal intetface logic ihould samplc the outputdata on CRUOUT or thould dccode uxiemal iniUuciioní on AO, Ai, A13.
CRU data in. CRUIN, norrnslly drivcn by 3-íiaie or open-collector devices, iccciveí inpul data from externalrntoítoce loyic. When ihs proccssor executei a STCR or TB ¡rmruclion, it lampleí CRUIN (or the level oí theCRU input bit ipeciíied by Ihe address bus IA2 thfough A12).
[nturrupt code. Rcíer to Secilon 2.2 (or detaÜed descríplion.
MEMORY CONTROLHold. Whcn active (low), HOLD indícales lo ihe proccss-or that an extcrnal controller le.g., DMA devicc)desúei lo utilizo the Bddre» and data bumi to transíer dala TO or from mcmory. The TMS 9980A enten thehold state ¡ollowing B hold signal whcn it has compleied its prcient memory cycle.* The processor thenplaces ihe nddresi and data buiei in ihe high-impedance slate ¡along with WE. MEMEN, and DBIN] andrespondí wltn a hold-acknov/Iedge signal {HOLDA). When HOLD ¡s removed, the proccssor returm to normaloperation.
Hold acknowledgft. When nctive [high}, HOLDA indicaies Ihai the proccssor is in ihe hold state and iheeddrcss ond data buses and memory control ouiputs (WE, MEMEN, and DBIN] are in ihe hígh-ímpedancejiate.
Rsüdy. Whcn active {high}, READY indicaíes thai-rnemory will be ready to read or wríta during the nexiclock cyclo. When not-rocd1/ is inriicattd during B memory operslion, the TMS 99BOA cntori a wait ítate andsuspends ¡nternal operalion uniít the memory syitems indicated ready.
T1M1NG AND CONTROLInslruction acquisiiion. IAO it active thighl during any memory cycle whsn the TMS 9980A It acquíring oninslruclíon. 1AQ can be used to detect illegal op codes. It may also be used to iynchronizri LOAD siimulus.
" li >ha cycle followíng ihe ptoiunt memory cyclc U olio E memory cycle It, too, íi completod bcforc TMS 9980 t-ntert hold stste.
G-14
AII-56
3.2.4 SYMBOUC (DIRECT) ADDRESSING @LABEL
The word íollowíng the ¡nstruction contains the address oí ihe operand.
3.2.G tNDEXEDADDRESSING @TABLE{R)
The word following the instruction contains the base address. Workspace register R contains the índex valué. The sumoí thc base address and the índex valué results in the effective address oí ihe operand.
(WPH2R
Regisur R
!rx1*x V»UEfíflclive
3.2.6 IMMEDIATE ADDRESSING
The word following íhe ¡nstruction contains the operand.
(PC)—W Jmlruciion
Of>«r»nd
3.2.7 PROGRAM COUNTER RÜLATIVE ADDRESSÍNG
The 8-bít signed displacement ín the right byre (bits 8 through 15) of the insiruction is multiplíed by 2 and added tothe updated contents oí the program counter. The result is placed in the PC.
Jomp [nsirucUon
Proflrím Couninr
A
í1
T ^
OP CODE
' m
DISP
f word
~&^L • DISP
Vf~\
3.2.8 CRU RELATIVE ADDRESF
The 8-bit signed dispiacemcni m tht ••-yi D> i- ..'• \\\» mstructíon i-
oí the vvorkspace register 12). Thc teiuli i: ;he Cf tU eddress of the selecit-d LRU L»¡i.Iralruction
(PCJ- OP CODE DISP
CRU BÍÍ« Add
Addfíts
G-24
AII-57
3.3 TERMS AND DEF1NITIONS
The following íermsare used in describing Ihe instructions oí the TMS 9980A/TMS 9981,
TERM
B
C
D
DA
IOP
LSB(n)
MSBlnl
U
PC
Rwuít
S
SA
ST
STfi
TDTSw
" WRn
(n|
a-"b
!nl
+
ANO
OR
©
n
DEFIMIT1ON
Byie indicator {l'byle, 0 * word)
Bit count
Dcsiination addrcii reguter
Dcitínation addrcss
Irnmediaie opcfand
Lean signiíicaní (fighi mosil bu oí (ni
Mott jignilicam llelt moni bil oí (ni
Don'i carc
Program counter
Result oí apcraiion perlormed by instrucción
Source oddrws reíítter
SoufCe addrsti
Status tegistcr
Bit n o( íiatuí tegiiier
Destination addresi modiíier
Source addrass modiíier
Worhspace regiiier
VVofkspace regisler n
Conicnis o( n
a ii transfcrred to b
Abioluie vgiue oí nAriihmetic addilion
Ariihmeiic subtraclion
Logical AND
Logical OR
Logical exclusive OR
Logical complemcm oí n
3.4 STATUS REGISTER
The status regisler containi the inlerrupt mask !evel and information pertaining to the instruction operation.
O 1 2 3 4 5 6 7 S 9 10 11 12 13 14 15
STO
L>
ST1
A>
ST2 ST3
C
ST4
O
STS
P
ST6
X
not uj*d ("01 ST12 ST13 STU ST15
Interrupt Mask
BIT
STO
ST1
ÑAME
LOGICAL
GREATER
THAN
ARITHMET1C
GREATERTHAN
INSTRUCTION
C.CB
Cl
ABS
All Olheri
C.CB
Cl
ABS
All Olhcri
CONDITION TO SET BIT TO 1
U MSetSA) - 1 and MSBÍDA) * 0. or il MSBISAI - MSBIDA)
and MSB of [(DAl - (SAl] - 1
ir MSQ(W) « 1 antiMSB oí IOP • 0. or ii MSBtW) > MSB oí
IOP end MSB of (IOP - IWl] - 5
II (SAI •/ 0
H result ' 0
tí MSBtSAl • Oatvd f/SBÍOA) • l.or ii MSB ISA) • MSBlOAt
und MSB oí [(DA) - (SA)! - 1
U MSBtWl • Oand MSB oí IOP • l.onf MSBlW) • MSB al
IOP sndMSBoí (1OP-(W)] -1
II MSBtSA) «0*ixl (SA) ' 0
II MS8 oí reiuli • 0 and retuU ' 0
- Continued
G-25
ñII-58
BIT
ST3
ST3
ST4
ST5
ST6
ST12-ST15
ÑAME
EQUAL
CARRY
OVERFLOW
CARITY
XOP
INTERRUPT
IA AS K
ÍNSTRUCTION
C. CB
Cl
COC
CZC
TB
ABS
All albur;
A, AB, ABS, Al, DEC,
DECT, INC, INCT.
NEG.S.S8SLA.SRA.SRC.SRLA, AB
AI
S.SB
DEC, DECT
INC, INCTSLA
D1V
ABS, NEG
CB. MOV8LDCR.5TCR
AB.SB.SOCB.SHC8XOP
LIMt
RTWP
CONOfTION TO SET BIT TO 1
II ISA] r ¡DA)
H IW) - IOP
lf (SA) and IDA] • 0
]f ISA) and ¡DA) «• 0
II CRUIN • 1
II ISA) • 0
II reiull - 0
IICARRY OUT - 1
II lail luí ihilleci oul " 1II MSBISA1 • MSB(DA) and MSB oí icsutt ' MSBÍDA]
II MS8IWÍ • MSB oí IOP and MSB of resull ' MSBIW111 MSBISA] ' MSBIDA] andMSB oí (csult / MSB1DAIHMSBtSA] 1 and MSB oí fi-iuli 0
11 Í/.S8ISA] - Oand MSB oí icsull 1II MSB cíianges duting sltill
II MSB (SAI = 0 and MSBIDAI l.oi il MSBISA! * MSBIDAI
and MSB of [[DA) -!SA|] "011 ISA] •> 800016
H 1SA1 has odd numbci oí 1*s
II 1 < C< 8 and ÍSAI has odrí numlíci oí l's
II leiuh ha* odií numbct oí l's
11 XOP msuucnon is ex.cculed
II corrcspondmg bu oí ¡OP is 1II coriespondinq bil oí WR15 is 5
3.5 INSTRUCTIONS
3.5.1 Dual Opcrand liisiructions \vith Múltiple Addressing Modes for Sourca and Dustination Operand
O 1 2 3 4 5 6 7 B 9 10 1 1 12 1 3 14 15
General formal: OPCODE D
lf B ~ 1 the operands are bytes and ihe operand addrcsses are hyte addresses. If B = O the operands are words and thc
operand addresses are word addresses,
The addressing modo for each operand is delermined by the T field of íhat operand.
TS OR TD
00
01
10
10
u
SOR D
0, 1 150. 1 15
0
1, 2.... 150. 1 15
ADDRESSING MODE
Woií;ipace rtgisicrWoiKspacc fcgisicr mditcci 'SymbolicIndcxedWoffcipacc regiMef índireci auto-íncfemeni
-1
2.4
3
NO! CS 1. Whcit K «oil.in.icc irgiiiet 11 thc apciAdJ oí i ti y le miiruclion M>H 3 = 11. the Pe U liyic "Uní O IHiouQli 7 > is me outi.inU an.l Un-
fi(jlil nytt (hitt 8 lluough 151 u uncnan9cd.
3. WofKioace rrgutei O inay noi be uietJ (or indc«mg.
'J Thc >voikinae» irq^iei u mci rnien\ed by 1 'ot üytt imiiuClioni I bu 3^ ] | fita u tnc'tmrnitd Uv 2 lo> «oíd msiiucHOni ibil D -01.
a. VJticti TS •= l'o * 10' lwo ^i'i"* «'« ipquircü m sdO.i'On ID ihr ininucnon wOfü Th* Iml svoia it UIP vOuicc opc'und D.it
-ídrffcii and |tic ttcontt woíd n (ho tíciunmon opciand üait «ddrui.
G-Z6
AII-59
MNEMONIC
A
AB
C
CB
-S
SB
SOC
SOCB
S7C
S¿CRPAO V
i o v e
OPCOD6
o i a
1 0 1
1 0 1
1 0 0
1 0 0
0 1 1
0 1 1
1 1 11 1 10 1 0
0 1 0
i i oí i 0
ü
3
0
10
1
0
10
10
10
1
MEAMING
Atld
Atlti byius
Comeare
Compare byu-s
Suturad
Sublrací byies
Sel ones corresponding
Sel ones corresponding bytcs
Set ¿eroes cotreiponding
Sel -zeroes corrcsponding byies
Move
Move byles
RESUUT
COMPAREO
T O O
Yes
Yes
No
Nn
Yes
Yes
Yes
Yes
Yes
Yes
YES
Yes
STATUS
BITS
AFFECTED
0-4
0-5
0-2
0-2.5
0-4
0-5
0-2
0-2,5
0-2
0-2.5
0-2
0-2.5
DESCRIPTION$
(SAMDAI -IDA)
(SAlt lDAl- ' ÍDA)
Compare (SA) id IDAl .ind sel
iipproprtate sutus bu;
Compare (SA] lo (DA) ¿inri sel
npproprtaic staius bus
(DA) - {SAI -(DA)
(DA) - (SAI— (DA)
IDA] OR (SAI — IDA)
(DAl OR (SAI -IDA)
ÍDA) AND (SAI "IDAl
(DA) AND (SAI — IDAl
(SA) - (DA!
ISA) - IDA)
3.5.2 Dual uj*:, i.ttj [jons vvith Múltiple Addressing Modas for íhe Source Operand and
Workspaca Retjisier Addressing for the Desünation
General formal1 OP COD6 D TS S
Tha addressing mode for the source operand is determinad by íhe TS field.
TS00
01
10
10
11
S
0. -1 15
0. 1,... 15
0
1.2 15
0. 1 15
AODRESSING MODE
Workspace regisier
Workspsce reguief indireci
Symbolic
[ndexed
Woilíspacc reqisicr mdireci auio increment
NOTES
,
1
2
NOTES l.Wor
2. The
MNEMONIC
coc
czc
XOR
MPY
D1V
OP CODE
0 1 2 3 4 5
0 0 1 0 0 0
0 0 1 0 0 1
0 0 1 0 1 0
0 .0 1 1 1 0
0 0 T 1 1 1
MEANING
Compare oncs
cotrcsponding
Compaie zeros
cotreíDonding
Exclusive OR
Muí tiply
Divide
RESULT
COMPARED
T O O
No
No
Yes
No
No
STATUS
BITS
AFFECTED
2
2
0-2
4
DESCRIRTION
Tesi ID) 10 determine il l's are ¡n each luí
posilton vvhere l's are in ISA). If so, sel ST2.
Tesi ID) lo determine ií O's ate in each bit
posnion where l's are in ¡SA). lí so, sel ST2.
ID) ©(SAI -(DI
Multiply unsiijned (D) by unsigned ISA) and
place unstgncd 32-bil product in D (most
significanil and Dt-1 (leasi signilicant). II WR15
u D. the next wocd m memory af te r WR1S wttl
be uscd (or ttie leal! sígnihcsni hall of íhe
produci.
11 unnqncd (SA) n Icss than or euual lo unitqnríd
ID), perform no operanon and si>t ST4. Oihpfwise,
divide unugoed ID1 and ÍD* 11 by unsigned
(SA).Ouotirnt - ID), trrmmder - fD ' l ) . II
D • 15, íhe neKl word in memory allcr WR 15
will be uicd íof íhe lemamdcr
G-27
AII-60
3.5,3 Extended Operation (XOP) Initruction
O 1 ?- 3
General (ormst: 0 0 1 0 1 1 D TS s
The TS and S íields provide múltiple mode addtessing capabílity for the source operand. When the XOP is executed,STG is sel and the (ollowing iransfcrs OCCUF: (40} 5 + AD) -+• (WP)
SA- - (ncwWRn)(oldV/PJ ->• (newWR13J(o1dPGJ-" (newWRl4)(oldST)-Mnew\VRl5)
The TMS 9980A/TMS 9981 tests for resel and load but does not test for intcrrupí requests (INTREQ) uponcompletion of the XOP instruction.
3.5.1 Singie Opcrand Instructíoni
O 1 2 3 4 5 G 7 8 ;9 10 11 12 13 11 15
General formal: OP CODE TS S
The TS and S fíelds províde múltiple mode addressing capability íor the source opersnd.
MNEMONIC
B
BL
BLWP
CLR
SETO
IMV
NEG
ABS
SWPB
INC
INCT
DEC
DECT
X '
OP CODE
0 1 2 3 - 1 5 6 7 8 9
0 0 0 0 0 1 0 0 0 1
0 0 0 0 0 1 1 0 1 0
0 0 0 0 0 1 0 0 0 0
0 0 0 0 0 1 0 0 1 1
0 0 0 0 0 1 1 1 0 0
0 0 0 0 0 1 0 1 0 1
0 0 0 0 0 1 0 1 0 0
0 0 0 0 0 1 1 1 0 1
0 0 0 0 0 1 1 O í 1
0 0 0 0 0 1 0 1 1 0
0 0 0 0 0 1 0 1 1 1
0 0 0 0 0 1 1 0 0 0
0 0 0 0 0 1 1 0 0 1
0 0 0 0 0 1 0 0 1 0
MEANING
Branch
Branch and lint
Branch and load
workipace poinief
Cleat opeond
Sel 10 oncs
inven
Negste
Abiolule valúe*
Swap bytci
Incicmeni
Incrcmeni by uvo
Decfemem
Deciemeni by two
Execute
RESULT
COMPARED
TO 0
No
No
No
No
No
Yes
Ves
No
No
YES
Yes
Yes
Yes
No
STATUS
BITS
AFFECTED
—
_
—
—
—
0-2
0-1
0^
_
0-4
0-5
0-d
0-4
—
DESCR'PTION
S A - - ( P C )
(PCÍ — (VVRH|;SA —(PC)
ISA] -HWP);¡SA+2) ^(PC);
loldWPl- (new WR131;
{oltIPC) — [oew WR14J;
(oíd ST1 — (new \VR1S);The TMS 99QOA/TMS 9981 tci»íor reiet nnd load, but docs notteit (or intorrupt! upon com-pletion of ihe BLWP ínsiruction.
0-ISAl
FFFFi6- (SAl
ISA I - (SAI
-ISA ' ISA!
-ISA) ' i
(SAJ.t •• — 'SAI. luis
8 ihru V 15 "
ISA], bus O í
Í S A ) ^ 1 -(S-
(SAI* 2 -(SAI
ISA.)- 1 — (SAI
Í5A1-2-1SAI
Execuie ihe instruciion ai SA.
* ODcfjni! u cornp*'ca lo ÍBIQ (or iliius bu
If idúilionil rrirrnory woidi (oí thr ciecui* miiiuciion eit rcquirecl lo Qelin* ihn opernndi oí itit iniiruclion tocflletl al SA ihese wards
will be «ccetieu Itaní PC *nB [he PC will ÜB und»Ica iccoidinoly. Th* innruclion acquivition non*l I1ADI will noi ÜD uue when ihe TMS 9900
G-28
AXI-60
3.5.5 CRU Multipie-Bit Instruciioni
o i
General formal:
15
OPCOOB c TS s
The C field spccifies the number of bits to be iransferred. |f C-0, 16 bits wíll be iransferred. The CRU base regístrÍWR12, bits 4 ihrouyh 14J defines the startíng CRU bit address. The bits are iransferred serially and Ihe CFIU address is
Inca-mentcd vvith oach bit iransfer, although the contents oí WR12 ís not afíccted. TJJ and S provide múltiple modeaddressing capability for the source operand. If 8 or fewer bits are transferred {C= 1 ihrough 8), the source address Ís abylc address. lí 9 or more bits are transfcrred (C = O, 9 üirough 15}, the source address Is a word address. If Ihe source
is addressed in the workspace rcgister indirect auto incrernent modc, the workspace register is Encremented by 1 if C = 1through 8, and Ís ¡ncremented by 2 otherwise.
MNEMONIC
LDCR
bTCR
OPCODE0 1 2 3 4 5
0 0 1 1 0 0
0 0 1 1 0 1
MEANING
Load communcaiionregiiier
Siore communcairon
registcr
RESULTCOMPARED
TO 0
Yoi
Y«(
STATUSBITS
AFPECT6D
0-2,5'
0-2.Sr
DESCRIPTIOtt
Boginning with LSB of (SAI, iransfer itis
ipecitied number of bits írom (SAÍ 10
\bs CRU.
Beginníng wilh LSB of (SAI, tranifer th«ipecified number of bits Irom the CRU to
ÍSAl. Load unfillüd bil poiitiom with 0.
'ST5 it afleciod on\y If 1 < C < 8.
3.5.6 CRU Single-Bit Instrucííons
O
General format: OP CODE SiGNSD DISPLACEMENT
CR. U relatíve addressing is used to address the s_elected CR U bit.
MNEMONIC
SÍJO
SBZ
" T8
OP CODE
0 1 2 3 4 5 6 7
0 0 0 1 1 1 0 1
0 0 0 1 1 1 1 00 0 0 1 1 1 1 1
MEANING
Set bit lo onc
Sct bit 10 icraTen bit
STATUSBITS
AFPECTED
2
DESCRIPTION
Sel the lelectcd CRU ouipul bii 10 1.
Sct the «Icctcd CRU output bit lo 0.
lí tho iclected CRU input bii - l.wtST?. "
3.5.7 Jump Instructíoni
General format; OP CODE DISPLACEf.'.EKT
Jump instructions cause the PC to be loadcd with the valué selectcd by PC relative addressing if the bits of ST are atspecified valúes. Olherwise, no operation occurs and the next instruction ís exacuted since PC pointi to the nexiinstruction. The displacement field Ís a word count to be addcd to PC. Thus, the ¡ump instruction has a range oí -128lo 127 words írom memory-word addresi following the jump ínstruction. No ST bits are affected by ¡ump inítructioni.
G-29
AII-61
MMEMONÍC
JEO
JGT
JH
JHE
JL
. JLE
JLT
JMP
JNC
JNE
JHO
JOC
JOP
OP CODE
0 1 2 3 4 5 6 7
0 0 0 1 0 0 1 1
0 0 0 1 0 1 0 1
0 0 0 1 1 0 1 1
0 0 0 1 0 1 0 0
0 0 0 1 1 0 i 0
0 0 0 1 0 0 1 0
0 0 0 1 0 0 0 1
0 0 0 1 0 0 0 0
0 0 0 1 0 1 1 1
0 0 0 1 0 1 1 0
0 0 0 1 1 0 0 1
0 0 0 1 1 0 0 0
0 0 0 1 1 1 0 0
MEANINC
Jump equnl
Jump gieater ihan
Jump high
Jump high or cquol
Jump low
Jump low or cqual
Jump le» ihan
Jump unconduional
Jump no carry
Jump not cqual
Jump no ovecllow
Jump on can y
Jump odd paniy
ST CONDITION TO LOAD PC
ST2 • 1
ST1 • 1
STO - 1 and ST2 - 0
STQ - 1 or ST2 - 1
STO - OendST2 - 0
STO » 0 or ST2 • 1
ST1 -OendST2 -0
uncondinonal
ST3 -0
ST2 »0
ST4 • 0
ST3 - 1
STB - 1
3.5.8 Shift ínstructions
OP CODE C WGeneral formal:
lí C= O, bits 12 ihrough 15 of WRO contaln ihe shift count. lí C= O and bits 12 ihrough 15 of WRO= O, the shiftcount is 16.
MNEMONIC
SLA
SRA
SRC
SRL
OP CODE
0 1 2 3 4 5 6 7
0 0 0 0 1 0 1 0
0 0 0 0 1 0 0 0
0 0 0 0 1 0 1 1
0 0 0 0 1 0 0 1
MEAN1NG
Shíít left aritlimelic
Shih right afithrnetíc
Shifi iigh\r
Shih right lógica!
RESULT
COMPARED
T O O
Yci
Ye!
Yes
Yes
STATUS
BITS
AFFECTED
0-4
0-3
0-3
0-3
DESCRIPTION
Shiíi (Wí leít. Fill vacaicd bit
posiiioní wñh 0,
Shif i (Wl right. Fill vacated bit
positioni wiih original MSB of (W).
Shih IWI fight. Shíít previoui LSB
ínto MSB.
Sliiít IWI right. Fill vacDted bil
poíiiions with 0*i.
3.5.9 Immediate Register Injituctions
o i 2 ' 3
GeneraHormat:
10 11 12 13 14 15
OPCODE N 'W
IOP
MN&MONIC
AI
ANDI
Cl
Ll
ORÍ
OP CODE
0 1 2 3 4 5 G 7 D 9 1 0
0 0 0 0 0 0 1 0 0 0 1
0 0 0 0 0 0 1 0 0 1 0
0 0 0 0 0 0 1 0 1 0 0
0 0 0 0 0 0 1 0 0 0 0
0 0 0 0 0 0 1 0 0 1 1
MEANING
Adtí imnv:d¡Ete
AND immediaie
Compare
imniedinie
Load immcdtaic
OR rmmcdiaie
RESULT
COMPARED
TO 0
Yes
Yes
Ye i
Yes
YEÍ '
STATUS
BITS
AFFECTED
0-1
0-2
0-2
0-2
0-2
DESCRIPTION
IWI + IOP-MW1
(WI AfiD IOP — (W)
Cumpate (W) lo IOP and mi
approprjaie siatus biis
iop-rwl(WIORIOP-*- twí
G-30
AII-62
3.0.10 Internal Reijiíter tnslrucüon
0 1 2 3 4
General íormat:
9 10 11 12 13 14 15
OPCODE N
IOP
MNEMONIC
LVVPI
LIMI
OP CODE
0 1 2 3 4 5 G 7 8 9 1 0
0 0 0 0 0 0 1 0 1 1 1
0 0 0 0 0 0 1 1 0 0 0
MEANING
Load workspace pomiet immediate
Load inicrrupt maik
DESCRIPTION
IOP — 1WP), no ST bilí alfecicd
lOP.bi» 12lhru 15— ST12
thruSTIS
'5.11 Intetnal Regístcr Stoie Instructions
0 1 2 3
formal:
>ts are aííccted.
OPCODE
MNEMONIC
STST
STWP
OP CODE
0 1 2 3 4 5 ( 5 7 8 3 10
0 0 0 0 0 0 1 0 1 1 0
0 0 0 0 0 0 1 0 1 0 1
MEANING
Store siaius fetjisier
Store workspace poinlcf
DESCRIPTION
1ST) ~ (WJ
IWP) — (Wt
3.5.12 Roturn Workspace Pointer ÍRTV/P) tnstruction
0 1 2 3 4 5
General formar:
10 11 12 13 14
0 0 0 0 0 0 1 1 1 0 0 N
The- RTWP instruction causes the following transferí to occur:
{WR15)~(ST}(WR14)- (PC)(WR13)~(WP)
3.5.13 External Instructions
O
General formal:
External ínstruetíons cause the ihree addrcss Unes (A 13; AO, Al) to be sel to the below-descríbed levéis and theCRUCLK line to be pulsed, allowing external control functians to be initiated.
OPCOOE N
MNEMONIC
IDLG
RSET
CKOP
CKON
LREX
OPCOOE
0 1 2 3 4 5 6 7 0 9 1 0
0 0 0 0 0 0 1 1 0 1 0
0 0 0 0 0 0 1 1 0 1 1
0 0 0 0 0 0 1 1 1 1 0'
0 0 0 0 0 0 1 1 1 0 1
0 0 0 0 0 0 1 1 1 1 1
MEANING
Idle
Reset
Uicr dednod
User dnfined
Iher dcfincrd
STATUS
BITS
AFFECTEO
12-15
DESCRIPTION
Suipend TMS 99BO/99fl 1msiruction execuuon until
an interrupt. LOAD, or
RESET occun
0— ST12 [hru ST15
ADDRESS
BUS
A13 AO Al
L H L
L H H
H H L
•H L H
H H H
G-31
^*
A N E X O I I I
Listado general del programa *
* NOTA Para una mejor lectura del presente trabajo el listado de
cada programa se da a continuación del desarrollo de cada
uno
A N E X O ' I V
Circuito de grabación de memorias EPROM
R E S E T -
O-
A9 r.A 8
1
i— lf~
_lin
r
¡\6
2A
2a
16
1 YO
1 Y l
I Y Z
01 I Y Jro
V) 1YO
-J I Y I
(Y í
1 Y 3
LECTÜf iA
Í A M A C I O í /
I F 1 C A C I O H
I 8
L
X
H
-n.uL
2 0
L
M
X
H
H
' L
2 1
5 v
5 v
5 Y
25 V
23 Y
2 5 - 3
0
0
Z
zD
e0
E s c u e l a P o l i t é c n i c a N a c i o n a l Impre sor Term ¡ c o
P r o g r o m a d o r d e E P R O M SDib . por J . POZO
R e v . por O . B U ' T R O N
Facul tad d e íngonier i 'a E l é c t r i c a VIM- 84 I de í
A N E X O V
Listado del Progama de grabación de memorias EPROM
I
i n.
i rv
i f
PJ
O*
' 03
-M
--J
-••!
-Mt .
— » m
i. j T
I co
i "f
i i—
.-"<
rñ
PJ
' X
" TI
TI
A P
J1 o
w
'. .'
o A
X f
i "::
"
a o
í o;
aTJ
TJ
TJ T
J
•5.1 V
V
T
J
V
,—.
.— .
oo
rn
ro
-jru
-NJ
-*j
f.£i
rn
cr,
cr-,
o •f >-*•
A tí 1— i
TI m o o í— 4 g IZ í-i m 1—4
IZ •r-í o "— t a
ro P
J PJ
ro
ir,
A P
J o
"ñ o
j ñj
roo
i-1
o O
J
X r
fi
a m
M
TJ
<O
¥3 V
' T
Jv
• i— i
o J— .
f,l
ro e
nro
o-i
ít\
ro
"•* c«
V-i-
>—
.
A
ID
' -
rI—
' X
'iz M
T
ji~
i CU
V— )
— )
a M IZ X
'
tí rn r m i. .1 H CU A? X1
PJ r
u
o m
•—. n
iro
"ñ
'X'
A03
co
-f •$ •0-
~X"
4 a
4 T
J> 4
TJ
n o
ja
•-O
í í-1
-T
J O
JX
'TI m o a IZ
:T
J : 4 4 4 4 4 4 4 4 4 4 4
ro P
JJ7
'< IT
.
O X
t
•—i n
i• —
* i
'.*ro
TI
LO X
'm
o ";.;" a TJ •y V ,— .
PJ co m ••- >— t A
ro r
o PJ
ro r
oX
i C
O O
"1» A
P
J
I"i '(
, — ,
_p,_
[• n ,
— i
-fi
.— . f
-j. f
íi ¡—
¡X
i -&
• A
-£>
• •"'
•=• v
o A
en X
'^ 4 4 4 4 4 > 4 4- 4 4 4 > 4 4 _-._ a í-i a •$- -^ 4. 4 -$• 4 4 4 4 *4 •$- 4 4 4
ro P
Jro
o,—
, f ^
1-1 rn
.— ,
,— ,
X' 0
^ H m V," H
:i
i.T
J r T]
TI m X" tí :
ro r
o PJ
ro r
o ro
ro
ro r
oi'ñ
en
en e
n en
en
en e
n en
rn o
xi
X" c
o a--
A r
o •-•
r n A
• —
' ' —
' > — '
.r-
-i* f
n f~
¡rn
en
f~¡ M
— , T
I --.
j r- .
MA
f n '~
~' i~~
' ~n
J^ P
'1 rn
•"•
TI r
o x»
xi
x< w
o
ro T
J
4 H m x — i ;O T
J r.
T] m TJ
TI d TJ ;
ro r
o PJ
en A
A
o m
n,—
, p^
pi'i
1 — 1
h^
« —
i,—
, ,—
, i.
TJ
o
T)
4 H m ~:í" H
=O T
J r TI TJ TJ en a /"•" =
PJ r
o ro
ro
PJA
A
A
A
-C
LX
i C
O '
7''
iJ«
A
f n i*
n ~*
•""'
'~'ro
ij '•
i i n
•""'
A A
O
C3
oa-
, en
o)
TJ
o
4 H rn ":•:'
H
=O TJ r "n -:" m TI
T) a /v:
PJ P
J ro
ro
PJ P
J PJ
ro
PJ o
m m
o x
< oí'
cT'i
A
A
' — •
'"*•
A
CL A ' —
'A
M
M M
A
t-"
'*~i
í~t
4x A
•—
• •"'
'~-
A
rn .
— •
en T
| X
. TJ
,-,
j± ,-,
n>
4 H m x — i ;i
j¿D 1 T
|
~? n M m i
ro P
J ro
í~u
PJ
P-'
i/i i'
,'i f.'i
íi'i
n** P
'Icr
, 41
. ro
.— , m
o
•—i i —
i P. rr
i r
n ,
— •
' — '
*
' -T
^-
1 '_
' '_
' l '
*
.— ,
--.J
A
A
A
t~X
i TI
A
»-*
T)
X'
4 H m ":•:" -i ;
O TJ r TI r X'
M tí =
PJ r
o ro
ro
PJ ro
PJ
ro r
o ro
ro
ni
rn P
I pi n
'i ro
rn
PI
ro P
' r<»
O X
1 C
O C
T- A
A
A
A
A
A
A
ti A
t-1
PJ tí tí tí tí tí tí tí
.— .
.— .
A
P'I
•"•
'"•
~-
'•"•
•"*•
•"'
-~X
' o
A
6
Xi ID
X'
X> X
' X
' X
'
4
4
4
4
4-
4
44
H
H 4
rn
m 4
TJ
a o;
T¡
*x"
y 4
TJ
ni
i-'i
•H
H 4
a r
n 3
H4
>Jt o.
a m
: =
4 T
J
TI
O
O 4
X
' d
*- '
TJ
TI
TI 4
- is
iz X
i TJ
4 X'
x-
ar~
r~
4
tí m
«TI
TJ
TI
4 O
H T
J T
J4
-i.
TJ X
'—
( td
4
TJ i;/
i n
:£a
4a
ro
oí x
>X
' 4
TJ 0
"'-TJ
tí
4 '-1-
ro
"Ji
1-1
M
4
f IT
. -M
T
Ití
=
4 a
i-
X'
= 4
TJ ti
CT. trl
4 cñ
m
ifi4
m
tí*
H m
tí4
TJ
*
TJ
4 O
>~
< '
— i
4 N
E
IZ a
4O
H
'X
i4
rn4 n
r~
rn
4
* IZ
4 4
C•4
~¿
--fr
TI
4 4 4 +
+
4.
4. +
PJ r
op
i mA
A
tí tí
.— .
.— .
X' O
?
4 4 4 4
ÜTI
4TJ
4
X*
4Í7
? 4
m 4
TJ
4T
J *
a 4
OÍ
4 4 4 4 4 4 •$ 4 4 4 4 4 4 4 4 4. •4 4 4 4 4 4 4 4 4 4 4 4
<
AV-2
OS84OS86OS88OS8ROS8COS8EOS900£9£OS94OS96OS98OS9ROS9COS9EOSROOSftSOSR4OSR6OSR8OSRROSRCOSREOSBOOSBSOSB40£E6OSBSOSBROEBCOSBEoseoosesOSC 4OSC6OSC8OECRoseeOSCEOSDOOSDSOSD4OSD6OSD8OSDR0£DCOSIIEOSDEOSDE02 DEOSEOOSESOSE4OSE6OSE8OSEROSECOSEE
SE411 OFC1 OFBSFROOc'36SE4S1 OFC1 OFBSFROOS3ESF43OS835 0 0 0131FC130OSOCOCOO3SC1OSOCOCSO36059144164206C4 'OSOCOCOO05813SC1OSOCOCSO360591441638053180801SERSFRO .OS46SF4604603 0 0 01 0 0 01 0 0 01 0 0 01 0 0 0osoe <OSOC -<OSOC 4OSOCOCOOoso?OC351DOBC 1 3 03£C1Oc OCOCSO
XÜPJMPJMP'XGP
XDPJMPJMPXOP
XDPCI
JEQMOVLI
LDCRLI
STCRCBJHESUPELI
INCLDCRLI
JHEINCi_:JLEXDP
XDPB
HDPHDPHDPHDP
^ RLIT3NR
LI
LI
SEOMOVLDCRLI
R1.-9>0£80> OS80*"> OS36? 14
F! £ y 9>0£8R> OS8R5> OS3E? 14
R3? 13R3? >5000
>0£DE*RO+? P4RlSs > OCOO
Rl.- 11RÍE? >OC£0
R5?8R4?R5>0336R4 IRÍE? >OCOO
ULTIMR DIRECCIÓN
MDDO P? PROGRRMRCIDH
CDMPRPE CON UNR P
RUTINR DE VERIFICRCIDN
CRPGUE EL BUS DE DIRECCIDNE
LER EL PRIMER BYTE .
HTERCRMBIE LOS BYTES
Rl INCREMENTE LR DIRECCIÓNR 1 .1 1 1RÍE? >OCSO
> 0336RlRO?R£>OSRO*i>0£46? 14
R6s 13a'> 3 0 0 0
•*.+ ++ + •*••«••*•
R LR RUTINR DE ERRDR
ES LR ULTIMR PRLRBRR
VERF OK
RETORNO RL MONITOR
DE GRRBRCIDN *-«f. > 4- +-^ «--«-<(•-*-Rldí > UCUU
R??>OC35
>OB4-PO+í R4Rl? 11RIS.i > OCSO
4. •*• > -< <&. -$* 4. -$ •$>. & -^ -j* 4r -* 4- 4- >- > 4-
CRRGUE EL RETRRDD
•DE- =LlriO
m
LU
z:t-
aCH
" C
J cetu
t;Ü
l iX
z:
QÍ
HH
LD
OÍ
DLL
Q
iL*L
Lü
UJ
UJ _l
L_í
'£1
1X1
Qi
-J'X
—
iO
i'i
tu *•- O
*3-
U.
o: LÜ o L
L a
£~j
Q uj
! ZI
1X1
TT •
_• L
Jo
o
LL
CU
'—
* l-J
l. ' .1 T
- 1 TH
o
cu -3
-LL
LL
LLCU
CU
i"U
•tf
CO l™l
v\o .J & •—•
'tf-
•Xi C
O
•Xi C
OLL
. U
.cu
cu
OJ
O y\.
CU T-( OÍ
1~H
_J
O
'— '
'— •
CUcu
o
or o
LL L
LCU
CU
a LÜ Lü O ce a o u, ¡X Oi ID a Qi
Cu
Lü a a r.--i
t' 'i
LL .-%.
f\ p"j
1X1
l_l
u. Lü LÜ LL CU
O ••\
CU"fr
t-
íQ
l Q
i
PQ Q.
15 I
-H(X
i _J
5 y
'E''•J
j i'U
O
9 c
u Y
co c
o co
n h-H O o Lü Qi
t-í
Q iX _J Lü¡
LD Qi
a: c_¡
iH TH r.
T-l TH
Qi
Qi
Qi
O O
ZI
wt— ! _
J
CO
OLO
CU
'— •
CO
CO C
M
Lü g LD UJ
iX'
_j LÜ uj- üó ^—
O
cu o •-. GQ
cu rH
-^j-
LÜ
Q
i
Qi
Oi —
i i—
j-J
-J
1 !
'— *
Tj-
•=' O
J 0
cu o
cu
'— '
'— ' C
O
CM C
M O
.i
5 1—1
o 9= a: Ql
LD a Qi
Q, y n Q_ o LL j-\. a
n w
zr 1
X1
'-' O
o L
Li
< (_
j
'-'
CU
l M
C'.l
g •X Lü Qi
LÜ cr i— i i— ü¿ Xi
•Xr
iX
cu o•*
.~.
co 0
CU
y\H
C*
Qi
1 H
HCQ
_
J
>x -
^- •"=•
cu
•-ij i
yj c
u o
* -
x. co
.xCO
i.O
L'J
i.O
a LÜ Lü O
S"y
j |
n o
HH
O
Ü Lü
'X L
Ü^
t—
ien
iID
)X
a u
LÜ
LL
LÜ
tu z
:P
Lü
a L
ÜC
'J
Qi
_i a
LX M
(" 'i
U. T
H/-.
. Q
l
r--j
a£Q
ZÜ
¿••j
t— í
l_l T
H
LL C
OLU
LD
OÜ
Oí
'.0
iX IÜ ce ce CL 'í "i iX ÚJ
O A
CUr.
tÜ
"
Cu TH
'—
'
LÜ
LÜ
t—1
-J
O
L_l
'— '
'— '
C'
O C
OO
J O
•—
•
o c
u f
OJ O
J CU
i.1. i
CM
>.0
S LD Qi
CL
CO
LOU
J O
JCU
CM
'=•
'— '
'— '
f-\O
Lü N
Q
._j
w a
.1 i/}
X
LU o
ce
CU L
ü LL
i—i
i—i
OJ
'.n o
n ce
cu c
u cu
CM I
.M C
O
CO '
— '
•rH
O
f. C
Oco
/-..
Qi '
• LL a X
ü"J
o 0:1
'=•
•-'\l~
f rj-
:£i
•-.•
CU L
L •* '-'
•_•
OJ
'— ' C
O
O
Lü '—
' CU
cu c
u co
co
C'J
C'J
iO O
.'
4 4 4 4 4 4 4 4 4 4 4 4 4 4Q
, 4-
n 4
z: 4 -4
- 4 4
3 C
Eo
LL
TH
C
U
co c
oC
O L
M
4 4 4 4 4
CU
4n 4
Qi
4Q
i 4
Lü 4 4>
UJ
4¡P
4 4
'X 4
ZZ
4i—
t 4
¡_
4__
i -4
Qi
4 4 44
-*•
'X c
eu_
LL
cu c
u
'Xi
vüco
co
C'J
C'J
tu a f- i-H 5 ce 9 Qi a Lü Qi
'X
•='
ü~i
O; •
— •C
U
TH '_
'•=•
-.
coco
..-x
1.*
LÜ
'.0
0_
Q,
a
aX
X
M
=l
•-•
>X
CO '-'
iX t!~
i -f
r >.£
íLL
'"U
LL
l.U '
— '
t.Ü
'— '
-.£[
Oj
tX
OCO
CM
CO
CO
CO C
O
C'J
CO
.•\. cu TH Qi
CL
Q,
a a
2Z
Zü
1
'— '
'~'
'— '
'— '
'— '
0
O •
-• C
U '
^f
UJ '-•
CU -í
'.DC
O-
TT
~
&
TCO
'.0
C'J
CM i.
M
44
44
44
4-0-
4
4
44
44
44
44
44
4
4
44
44
44
44
44
a 4
4 M
44
LL
44
u_
44 f-
44
LU 4
4 Q
i 4
4
44
Lü
4*
¿=i
44
-44
-X
44 z
: *
4
r-f
44
1-4
4 ~¡
4
4 Q
i 4
4 ££
1 4
4
Xi
44
¿-''i
44
44
44
-4
4
'—
'~' '"'
Lu L
ü U
JT-I-
-i-H
TH
co c
o co
i.'J C
'J CO
'-• r
ol~
l l"l
y\\j
a
P4
CP
iVj
1/1
'E' Í
J
Qj
QT
-Í
T"t
co c
eIM
l'J
b"j
UJ
TH
T
^
., L
L ro
[••- O
-~
'
Ql '\
Ql
O
Lü
M L
Ü z:
_j i—
~
O o
LL
C'"l LL 'X
iC
O
T-Í
-I—
1
t ''
LÜ O
TÍ- ^
ID
C1'
'0 C
O
g a LÜ LÜ -M TH ¡"K.
4 úü Ü"J "í CU \n i1;
IX LL
a n
ZI
"4. 4
00
O
C'-<
O
'X C
0 0
LL L
T-l
TH
C
U C
*tf
-X'
CO
0LO
10 t
D ü
C'i
CO
Oi
i.
ÜJ
E Ifi
íZ
LU t"
o ro
i» i, i Q
ip
02
C
~I
l"~l
4-*4
-***** *
* > E:
+ a* Ü'
* LL
* LU
* * 'Z
«• _J
•fr * LU
4 M
* * Cu
* c¿
*• Hi
* u.
* O* ÜJ
* -J
* * LU
* M
* * >z* 2ü
* M
* t-
* Zi
* Q:
•4- 4 *
0 0
íZ n"
ii. LL
ru OJ
Cu CO
If i Ü"i
I.M lO
4-*******
* * * * V 4 * * * * * * * * * * * * * * •0-
* * 4 * * 4 «- * * * * •-> ce LL OJ co Ü"l IM
TJ-
vH r. CU 'Jj nj '__< A. C& LL ED X a cu
CE \
LL ru
cu o
CO íZ
IfJ Iñ
'0 1.M
"Zü a t—t o o LU Ü *— íO 'Z _] LU LL 1- ZI ÜJ
O""! r.TH Ctl CL a 3C
rH
•Vf
LU nj o IO I.M
a I-H O o ÜJ L¿
H-!
R >z -J LU ü¿ K- 1X1
LU —i El
07 CO
*~l
ü~j LO
T~I
co co
».'~' '~' TH
.A v\¿
CL LL a.
¿i sz n
~~i ~" X
O ítj TH
LL LL
CO'_• '_•
LsJ
TH TH CU
LU O Cu
ü J ' •£'
'%iJ
iO i\ CM
'~f
•u'Ü •-,'
CU .A
T-H
r.
-. cu
ÜJ T-*
Ltí Oí
ü_ Ll M
X _J
on o
'~*
•—" •—
• '_ •
LL CU U
ÜJ 0 0
•fr vD'CO
•.£t '.D
'•i.i
CO CM
CO
a rH O O UJ Cti
Í-H
.Q 'Z _J LU I — 21 LU y; LU lü o .j- t-H
T-t
LL'
O XI (—i
TH TH
O 07
CU ü";
CO O
tZ O
'•11 '-U
I.M
i.M
a Ct 1— i
!ZÜ ÜJ 1- 21 a oí
Ul 'Z LU _J
c« cu o l~l ••\o
oj TH
Ü~l
ü¿
C¿ Lll'CJ
KH
h-
_j
i--::
O '— ' ID
O OJ '— '
CU CJ
'-£1
'-' -'
r'"'
Lü 0 CU
MJ T"
1-
{"•-
CO i
.M CM
LU h- 'X' LJ _J LÜ i-H ££( SI cr. o Oí LU u- ZI r— 1 10 Qi il CL 15 Í--'J
Ü~iO 'Jl'
'-' h !••-
I.M
LU a E:
i~* a
O ti.
O LL
LU ÜJ
ür.
HH íZ
M
«J
'Z .J LU' _!
LD Oí CE Ü
O
•"'
0
CU
o
ol~l
l~'
A
TH
r.
TH
r.
CU
'•
'7JTH
vH TH TH
C¿
LL C¿ Chl
üi O Ci
!-H
d| Zü 1—
<i
i , ,
i
— I
— I '
t —
I
O O iH -rH O O
'— ' '— « O CO '— l OJ
cu cj cu
in cu o
'-• '-'
-' '-' '-'
'.jii co
ce ü
LU •—
•r--
P--
r--- FV
r--- L
OCM I.M
CM
Í.M I.M ¡.M
ÜJ 1 — a '>•
'—i~
:—
i 1
LD
=ÜJ í-'")
- j¿~ ID
_J U!
Í--0
LU'Z Ln ¡
f~~t
r"
'"'
'— '
•— •
QO CO CU
OJ CU
CO
TH -rH
ff\l .-\.
»-.
---.
r.
CM
»-.
U~ U"' Ü") CO
CO
'— ' CO
lü C£ C¿ Cíi r¿
.A 1Ü
ü. uj
Ü LL LL LL
La
H- 3 a a
H
LU Í-
Hi>'j iX) X X Q
J O
Ü~i
lJ"t
Ii~i CO CO '—•
0"-i
COO O CO
"tf* CO O LU CO
••jli '-O LU LL CU O
CO CU
CO O CU CU O CU TH 0
CU TÍ" '•£' CO CC O LU '~'
CO U.' tO LU LU '.O 1.0 O"*
í.M
C'.i CM !.M CM I.M
i.O
CM
Ü:
-Ja
. ce
1— 1
HH
LÜ
OÜJ
t-H
7"
HH
>z'Z
a
ÍHH-i
K
O
-_i
ü
Ct:'
LU C£
cei—i
_jw
'Zir -J
ÜJ Q-iZ
.
í- 21 LU
O •—•
•— •
•— *
íZiZ '-•
CU
CU
'.£i
ij-i C'
'.£1
.A
OJ
co co
ro
-. o
'—' .A.
TH TH '— '
Olí
Jf\o
OÍ ÜC .A
L¿
I.O
¡ —
1 —
C3
CJ O CL
LU
LU LU H
.HH
j CM
¡—i M
j
_i
CQ
'— ' CU '—' O TH TH TH O
'—' 07 O O íZ
•_. •_. ai
•_• -
H- -
ÜJ
ÜJ '-' '-' '-'
'.JJ
'.JJ
u. ¡ i'O
-ft '—'
'-¿í 'JJ
'— ' CU
CU OJ •—
• TJ-
CUOJ TH •_' CM '-.' '—
• TH '_• '_•
•_• nj i~'
>__'
i.\
'-£1 07 >Z O ÜJ
'—• CU "
íJ" '-ü CO íZ
i7'. t7'!
i7'« '7-.
ij-i t7*.
!7-< CC 'Z tZ 'Z
¿C
CCCM CM
C1.' CM CM CM
CO CM
i.'
j IM
I.M IM
CO