Vous êtes sur la page 1sur 39

Generador de patrones de video

Introduccin
El objetivo de este proyecto ha sido la construccin de un generador de patrones de video
compuesto, cuyas aplicaciones se extienden desde el campo de la enseanza de la seal de
video hasta la reparacin y ajuste de equipos receptores de televisin. No se ha pretendido la
realizacin de un equipo con fines comerciales, ya que no se garantizan las especificaciones
de un generador de video profesional, si bien se logrado un equipo de muy alta calidad.

Especificaciones
Patrones:
Controles:
Salida de video:
Sistema de color:
Sistema de barrido:
Alimentacin:
Consumo mximo:
Aplicaciones:

Barras de color, Raster, Cross-hatch, Puntos.


R, G, B, luminancia, crominancia y burst de color independientes.
video compuesto, 1 Vp-p en carga de 75 ohms.
PAL-N (opcional PAL-B/G/I cambiando el oscilador de croma).
entrelazado (Barras y Raster), no entrelazado (Cross-hatch y Puntos).
12 Vdc (8 x AA pilas alcalinas).
70 mA (Raster blanco).
ajustes de receptores de televisin (pureza, convergencia, linealidad,
etc.), localizacin de fallas en el sector de video de televisores y
videocaseteras, enseanza de la generacin de video compuesto.

Generalidades
El ojo humano es capaz de percibir imgenes mediante receptores ubicados en la retina. Hay
dos tipos de receptores, segn su funcin: los bastones, encargados de percibir imgenes en
blanco y negro, y los conos, a cargo de la percepcin del color. Si nos concentramos en el
estudio de los conos, veremos que hay de tres tipos: los que reaccionan frente a la luz roja,
los que lo hacen frente a luz verde y finalmente los que son sensibles a la luz azul. Solo se
perciben tres colores, sin embargo nosotros vemos todos los colores que nos rodean.
Aqu se hace evidente una regla bsica del color: para conocer la informacin de color de
un objeto basta con tener la proporcin de los tres colores bsicos: Rojo, Verde y
Azul. Por esta razn a dichos colores se los conoce como Colores Primarios, ya que con la
combinacin de los mismos se pueden obtener todos los dems.
Cabe hacer una aclaracin, ya que tal vez alguna vez se nos haya dicho que los primarios son
el rojo, amarillo y azul. Es ms, si observamos los colores utilizados por las impresoras de
tinta, muy comunes en la actualidad, veremos que utilizan tres cartuchos, magenta, amarillo
y cian. No utilizan los primarios, y sin embargo imprimen a todo color. Alguien debe estar
equivocado

La confusin resulta de la existencia de dos grupos de colores primarios: los Primarios


Aditivos y los Primarios Sustractivos. Para entender la diferencia entre ambos veamos un
par de ejemplos.
Supngase que iluminamos una pared blanca con una luz verde. Obviamente se ver verde,
ya que este es el color que refleja la pared y llega a nuestros ojos. Si ahora cambiamos la luz
a rojo, igualmente veremos el color rojo. Pero si iluminamos al mismo tiempo con verde y
rojo, el color que percibiremos ser el amarillo, el cual resulta de la suma o adicin de los
colores verde y rojo. Como se observa, la suma de estos colores resulta en la generacin de
un color secundario, por esto se denominan primarios aditivos.
Ahora supongamos que pintamos un papel blanco con pintura amarilla, y lo iluminamos con
luz blanca (contiene todos los colores). Obviamente se ve amarillo. Por qu?. Porque la
pintura retiene (sustrae) todos los componentes de la luz blanca que la ilumina y devuelve
solo el amarillo, el cual llega a nuestros ojos. Si ahora agregamos pintura cian (celeste
intenso), el color resultante es verde. Quiere decir que la mezcla ha retenido todos los
colores de la luz blanca menos el verde. Cmo se explica esto?. Veamos algunas
ecuaciones.
Si sumamos todos los colores primarios aditivos obtenemos blanco:
LUZ ROJA + LUZ VERDE + LUZ AZUL = LUZ BLANCA
Si los sumamos de a dos:
LUZ ROJA + LUZ VERDE = LUZ AMARILLA
LUZ ROJA + LUZ AZUL = LUZ MAGENTA
LUZ VERDE + LUZ AZUL = LUZ CIAN
De aqu surge una relacin clave en nuestro anlisis: los llamados colores primarios
sustractivos resultan de combinar dos a dos los primarios aditivos.
Entonces, cuando vemos la pintura amarilla en realidad estamos viendo luz roja y luz verde
combinadas. Quiere decir que la pintura amarilla sustrae el azul de la luz blanca y devuelve
los otros dos primarios.
Por otra parte, la pintura cian retiene el rojo y devuelve luz verde y luz azul.
Entonces, ahora es evidente el resultado de nuestro experimento. Si mezclamos pintura
amarilla (retiene el azul) con pintura cian (retiene el rojo), el nico color que puede salir de
esta mezcla es el verde, el cual es justamente el color que vemos.
Qu ocurre si mezclamos los tres colores primarios sustractivos?. Obviamente se ve negro,
ya que todas la luces son retenidas:
CIAN + MAGENTA + AMARILLO = NEGRO
Queda an una pregunta sin resolver. Por qu habitualmente se dice que los colores
primarios son rojo, amarillo y azul?. El motivo es sencillo. Desde nios se nos ensea el
color mediante la pintura, y en este campo ya sabemos que trabajamos con los primarios
sustractivos, amarillo, magenta y cian. A estos ltimos, por ser rojizo y azulado,
respectivamente, se los llama rojo y azul.

Los colores en televisin


La imagen en un televisor a colores se forma mediante la emisin de luz resultante de la
excitacin de la pelcula de fsforo, que recubre internamente la pantalla, al ser alcanzada
por un haz de electrones que barre peridicamente la superficie visible. Si hablamos de
emisin de luz, inmediatamente debemos pensar en procesos aditivos, lo cual nos lleva a
concluir que en televisin los colores primarios son el Rojo, Verde y Azul (RVA o en ingls
RGB). Efectivamente, dentro del tubo de televisin se emiten tres haces de electrones,
destinados cada uno a excitar una franja de fsforo en la pantalla, la cual responder
emitiendo un color caracterstico al fsforo empleado. Naturalmente, como no poda ser de
otro modo, estos colores son Rojo, Verde y Azul.
Todos los dems colores (y digo realmente todos) se pueden obtener combinado estos tres
primarios en distintas proporciones.
Generador de barras bsico
Un generador de barras de color bsico podra hacer lo siguiente:
tener tres salidas, una para cada color primario
cada una de estas salidas se conecta a la correspondiente entrada del televisor
el equipo generar combinaciones de sus salidas, segn la siguiente tabla:

Azul

Rojo

Verde

amarillo

cian

verde

magenta

rojo

azul

negro

blanco

En esta tabla un 1 significa presencia del color, en tanto que un 0 es su ausencia. En


la prctica, estos unos y ceros se representan por niveles de tensin, por ejemplo 5V y
0V respectivamente.
Como se observa, es muy sencillo construir un generador de este tipo, ya que basta un
mnimo de electrnica digital para obtener estas barras. Entonces, por qu complicarse
ms?.
La mayora de los equipos de televisin y video no poseen entradas directas de Rojo, Verde
y Azul, estas quedan reservadas para monitores destinados al campo profesional. Lo habitual
es que los equipos hogareos tengan una entrada de Video Compuesto, denominada
usualmente como VIDEO IN. Por esta razn, nuestro generador debe poder convertir los
componentes Rojo, Verde y Azul en ese Video Compuesto.

Video compuesto
Las seales de Rojo, Verde y Azul (de ahora en ms la llamaremos simplemente RGB)
contienen toda la informacin de la imagen, pero ocuparan un ancho de banda considerable
si se transmitieran, lo cual justamente es el objetivo de una transmisin de televisin. Para
reducir este ancho de banda, adems de mantener la compatibilidad entre transmisiones en
Blanco y Negro y Color, se cre la seal de Video Compuesto.
En esta seal va la informacin de luminosidad (Luminancia) de una imagen, su color
(Crominancia), y adems todos los sincronismos necesarios para generar correctamente la
imagen en la pantalla del televisor.
Cules son estos sincronismos?. Para contestar esta pregunta veamos primero como se
forma una imagen en el televisor.
Un haz de electrones (consideremos uno
solo, sabemos que son tres) recorre la
pantalla de izquierda a derecha y de arriba
a abajo, segn lo muestra el esquema
adjunto. A medida que recorre la pantalla
excita en mayor o menor grado al fsforo
que la recubre, generando una imagen.
Como se ve, si bien la imagen aparece en
una pantalla de dos coordenadas (un
plano), en realidad se genera mediante
lneas sucesivas. Del mismo modo ingresa
al equipo, lnea a lnea. Por lo tanto, es
indudable que se necesita sincronizar el
haz de electrones que barre la pantalla con el barrido generado en el estudio de televisin. Si
no se hiciera esto, las imgenes apareceran cortadas, con barras inclinadas, con colores
incorrectos (basta con ver un canal codificado para tener una idea de lo que quiero decir,
ya que una manera de codificar la seal es quitarle los sincronismos).
Sincronicemos entonces el barrido del haz. Hay que informarle donde empieza una nueva
imagen (sincronismo Vertical o V) y donde comienza cada lnea (sincronismo Horizontal o
H). Evidentemente el sincronismo Horizontal es un componente de mayor frecuencia que
el Vertical, ya que dentro de cada imagen hay muchas lneas de barrido.
Cuntas lneas hay dentro de una imagen?. La respuesta es: depende de la norma de
transmisin que estemos considerando.
Normas de transmisin
Una norma es un conjunto de parmetros adoptados como regla dentro de determinado
grupo o regin a fin de mantener una relacin clara y sin ambigedades entre las partes. En
televisin es exactamente eso. Las normas establecen los parmetros que deben seguir tanto
los equipos transmisores de seal como los receptores, a fin de que se establezca una
comunicacin segura y sin errores entre ambos. Entre los muchos parmetros que se fijan
consideraremos solo los que ataen a nuestro proyecto.

Frecuencia Horizontal (H):


frecuencia a la que se repiten las lneas de imagen.
Sincronismo Horizontal (H Sync): pulso que indica el comienzo de una lnea de imagen.
Frecuencia Vertical (V):
frecuencia a la que se repiten las imgenes (campos).
Sincronismo Vertical (V Sync.): pulso que indica el comienzo de una imagen (campo).
Lneas Horizontales:
cantidad de lneas que forman una imagen completa
(cuadro).
Subportadora de Color (SC):
frecuencia a la que se modula para enviar la
informacin de color.
BURST de Color:
rfaga de la SC que sincroniza la demodulacin del
color.
Front Porch:
intervalo de seal sin informacin de imagen previo al
H. Sync.
Back Porch:
intervalo de seal posterior al H Sync., donde se coloca
el BURST.
Todo esto se resume en el siguiente diagrama:
BURST

Front Porch

H Sync.

Back Porch

Imagen

En la informacin anterior se hizo referencia a dos palabras que an no han sido definidas:
Campo y Cuadro. Para comprender su definicin debemos primero aclarar el concepto de
Barrido Entrelazado.
Como ya se dijo, para reconstruir la imagen en la pantalla del televisor, el haz de electrones
recorre la misma lnea a lnea de arriba a abajo. Bastara una pasada completa del haz de
electrones para tener una imagen formada en pantalla. Sin embargo no es as. Se requiere
que el haz de electrones barra dos veces la pantalla para formar una imagen completa.
Veamos esto con ms detenimiento.
Cuando la cmara de video en el estudio de televisin escanea la imagen que va a
transmitir, lo hace dividiendo la imagen en lneas horizontales. Estas lneas sern
posteriormente transmitidas al receptor de televisin para que este las reproduzca
secuencialmente en la pantalla. Sin embargo, no se transmiten las lneas consecutivamente
(lnea 1, 2, 3, 4, ) sino que primero se transmiten las impares (lnea 1, 3, 5, ) y luego las
pares (lnea 2, 4 ,6, ). Del mismo modo recorre el haz de electrones la pantalla,
reproduciendo primero las lneas impares y luego las pares. Por este motivo se requiere que
el haz recorra 2 veces toda la pantalla para formar una imagen completa. A las dos semiimagenes se les denomina Campos (Impar y Par respectivamente) y a la imagen completa
Cuadro. Esto se esquematiza en la figura adjunta.

Campo
I
II
I
II
I
II
I
II
I
II
I
II
I
II
I

En esta figura se ha denominado I al


Campo Impar y II al Campo Par.
En el diagrama se puede observar que
el campo impar termina en media lnea
horizontal y el par comienza con media
lnea horizontal. Esta caracterstica la
veremos a continuacin cuando
analicemos las dos formas de barrido
que pueden encontrarse: Barrido
Entrelazado y Barrido No Entrelazado.
El ejemplo que acabamos de ver
corresponde a una imagen generada
con Barrido Entrelazado. Su nombre
proviene del entrelazamiento de las lneas de barrido de dos campos sucesivos. Qu
ventaja tiene?. Obtener una mayor frecuencia de repeticin de imgenes sin aumentar el
ancho de banda. Cmo es esto?. Por el canal de transmisin se envan una cierta cantidad
de imgenes por segundo (digamos por ejemplo 25). En el televisor se reproducen estas 25
imgenes por segundo, pero barriendo la pantalla 50 veces por segundo. Para nuestro ojo es
como si se hubieran generado 50 imgenes en un segundo, haciendo imperceptible el
parpadeo de la imagen. Como dato adicional, en el cine ocurre lo mismo. Las pelculas
antiguas corran a 16 cuadros por segundo, y en ellas era muy notorio el parpadeo.
Actualmente se filma a 24 cuadros por segundo, y el obturador se abre dos veces en cada
cuadro durante la proyeccin, con el mismo propsito de disminuir el parpadeo.
Volviendo a la televisin, si este mtodo es tan bueno, no tiene sentido insistir con el
Barrido No Entrelazado. Sin embargo, el entrelazamiento, que ha probado ser insustituible
en imgenes en movimiento, falla en imgenes fijas. Por qu?. Imaginemos una lnea blanca
horizontal quieta sobre un fondo negro en medio de la pantalla. Cuando se barre el campo
impar la lnea aparecer a determinada altura, en tanto que cuando se barra el campo par la
misma aparecer naturalmente una lnea horizontal ms arriba o ms abajo que la anterior.
Al sucederse los campos, la lnea se ver temblar en sentido vertical, en forma poco
perceptible, pero muy molesta si uno debe fijar la vista en la pantalla. Cmo se soluciona?.
Fcil. Se utiliza el Barrido No Entrelazado. Este es mucho ms sencillo. Simplemente, las
lneas de barrido se superponen campo tras campo. Esta tcnica es muy utilizada en
monitores de computacin y en generadores de patrones cuando se utilizan seales como el
Cross-hatch (lneas) y Puntos.
Barrido entrelazado
Campo
I
II
I
II
I
II
I
II
I
II
I
II
I
II
I

Barrido no entrelazado
Campo
I,I'
I,I'
I,I'
I,I'
I,I'
I,I'
I,I'
I,I'

Norma N
Actualmente en el mundo hay muchas normas de transmisin de televisin, denominadas con
letras desde la A a la N. Algunas ya no se utilizan, pero la mayora siguen vigentes.
Veamos ahora los valores que se han establecido para los parmetros que hemos definido en
la norma N, utilizada en solo tres pases del mundo: Argentina, Uruguay y Paraguay.
Frecuencia Horizontal (H):
15626 Hz (duracin de una lnea: 64 seg.)
Sincronismo Horizontal (H Sync): 4.8 seg.
Frecuencia Vertical (V):
50 Hz (duracin de un campo: 20 mseg.)
Sincronismo Vertical (V Sync.): 2.5 lneas horizontales
Lneas Horizontales:
625 por cuadro (312.5 por campo)
Subportadora de Color (SC):
3.582056 MHz
BURST de Color:
9 a 11 ciclos de SC
Front Porch:
1.9 seg.
Back Porch:
5 seg.
Si comparamos estos valores con normas en uso en Europa (B, G, I) veremos que hay una
gran similitud, excepto por el valor de la subportadora de color (en estos sistemas es 4.43
MHz).
Para concluir con el tema de las normas, veamos un esquema que representa una seal real
de video norma N, utilizando los dos mtodos de barrido ya analizados (ver figura en pgina
siguiente).
Concentrmonos solamente en el mtodo entrelazado. Se ve claramente como el pulso de
sincronismo vertical abarca 2 lneas horizontales (la 1, 2, y mitad de la 3 en el Campo I).
Pero adems se ve algo no mencionado hasta ahora: aparecieron unos pulsos de Pre y PosEcualizacin. Qu es esto?. La deteccin del sincronismo vertical en el televisor se realiza
integrando la seal de video que llega, y cuando esta alcanza un determinado valor se
dispara el barrido vertical. La integracin se lleva a cabo mediante un circuito RC, y se
monitorea la carga del capacitor para decidir cuando disparar el vertical. Dependiendo de la
imagen previa al pulso de sincronismo vertical, el capacitor podr estar ms o menos
cargado, haciendo que los barridos verticales no se disparen siempre en un mismo punto,
provocando inestabilidades en la imagen (temblor vertical). Para evitar esto se colocan los
pulsos de pre y pos-ecualizacin, cuya funcin es llevar la carga del capacitor a valores fijos
antes y despus del pulso vertical. El hecho de hacerlo tambin despus evita disparos
errticos del sistema.
Los pulsos de pre y pos-ecualizacin tienen una frecuencia igual al doble de la horizontal y
su duracin es la mitad de la del H Sync. Se aplican durante un tiempo igual a 2 lneas
horizontales.
Finalmente, los pulsos positivos que aparecen dentro del pulso de sincronismo vertical se
denominan Serrated Pulses, y su funcin es mantener enganchado al oscilador horizontal
durante este perodo. Su duracin es igual al H Sync.

308

Campo I'

620

Campo I

309

Campo II

621

Campo I

622

309

621

310

623

625

312

623

310

311

Pulsos de Pre-ecualizacin

622

313

314

315

Sincronismo Vertical

Sincronismo Vertical

312

624

313

314

Sincronismo Vertical

Sincronismo Vertical

316

315

316

Pulsos de Pos-ecualizacin

Pulsos de Pos-ecualizacin

317

Pulsos de Pos-ecualizacin

Pulsos de Pos-ecualizacin

Barrido no entrelazado
Pulsos de Pre-ecualizacin

311

Pulsos de Pre-ecualizacin

624

Pulsos de Pre-ecualizacin

Barrido entrelazado

Mtodos de barrido en TV - sistema PAL-N

317

318

318

319

Sistemas de color
La televisin cromtica lleg varios aos despus de inventado el sistema blanco y negro,
y por lo tanto tuvo que adaptarse al sistema en uso. Fue necesario desarrollar sistemas de
color compatibles con los receptores monocromticos del momento y adems los nuevos
aparatos reproductores de color deban seguir captando las seales de origen blanco y
negro. Fue as que aparecieron y perduraron tres sistemas de color: NTSC, PAL y
SECAM. Trataremos del PAL que es el sistema que nos concierne.
El sistema PAL se basa en enviar la informacin de color modulando la fase de una
portadora con dos seales en cuadratura (a 90). Veamos el proceso paso a paso.
Dijimos que toda la informacin de color de un objeto est en sus componentes Rojo, Verde
y Azul. Esos son los colores que captan nuestros ojos, y si logramos transmitirlos, habremos
transmitido el color real del objeto. Lo que no dijimos es que nuestros ojos tienen distinta
sensibilidad a cada uno de los colores primarios. Son muy sensibles al verde, menos al rojo y
mucho menos al azul. Si lo ponemos en porcentajes relativos de sensibilidad:
VERDE:
ROJO:
AZUL:

59%
30%
11%

O sea que la luminosidad de un objeto (LUMINANCIA o Y), entendida como la suma total
de luz que emite, puede representarse as:
Y = 0.30Rojo + 0.59Verde + 0.11Azul
De ahora en ms denominaremos R al Rojo, G al Verde y B al Azul (tomados del Ingls),
por lo tanto:
Y = 0.30R + 0.59G + 0.11B
Esta informacin de luminosidad (Y) es la que nos da el brillo de cada combinacin de
colores en la pantalla, y es la responsable de la imagen monocromtica. Veamos
grficamente el brillo relativo de los colores primarios y secundarios:
Color:
Blanco
Amarillo
Cian
Verde
Magenta
Rojo
Azul
Negro

R
1
1
0
0
1
1
0
0

G
1
1
1
1
0
0
0
0

B
1
0
1
0
1
0
1
0

Y
1.00
0.89
0.70
0.59
0.41
0.30
0.11
0.00

1.00
0.80
0.60
0.40
0.20
0.00
B lanco

Amarillo

C ian

Verde

Magenta

Rojo

Azul

Negro

La luminancia (Y) es uno de los componentes fundamentales de la seal de video, y como


vemos, tiene informacin sobre la suma total de los componentes RGB de la imagen. De
este modo, bastara con enviar la informacin de dos de los componentes RGB junto con Y,
ya que en el receptor se podra recomponer el componente faltante mediante operaciones
sencillas. Como el componente G (Verde) es predominante en Y, este ser el que no se
enviar por separado, y se reconstruir en el receptor.
Recordemos que toda esta complicacin surge porque el enviar RGB como tales ocupa
mucho ancho de banda, lo cual no est permitido (esto es porque cuando lleg la televisin a
color ya se haban asignado los anchos de banda correspondientes a transmisiones
monocromticas).
Entonces enviaremos Y, R y B. Pero R y B tampoco sern enviados como tales, sino que se
enviar su diferencia respecto a Y: R-Y y B-Y
Veamos como se ven estas seales:

Color:
Blanco
Amarillo
Cian
Verde
Magenta
Rojo
Azul
Negro

R
1
1
0
0
1
1
0
0

G
1
1
1
1
0
0
0
0

B
1
0
1
0
1
0
1
0

R-Y
0.00
0.11
-0.70
-0.59
0.59
0.70
-0.11
0.00

Color:
Blanco
Amarillo
Cian
Verde
Magenta
Rojo
Azul
Negro

R
1
1
0
0
1
1
0
0

G
1
1
1
1
0
0
0
0

B
1
0
1
0
1
0
1
0

B-Y
0.00
-0.89
0.30
-0.59
0.59
-0.30
0.89
0.00

R-Y
1.00
0.50
0.00
B lanco

Amarillo

C ian

Verde

Magenta

Rojo

Azul

Negro

-0.50
-1.00

B-Y
1.00
0.50
0.00
Blanco

-0.50
-1.00

Amarillo

Cian

Verde

Magenta

Rojo

Azul

Negro

R-Y
1.00

Estas seales, denominadas Seales de


Diferencia de Color sern las que
modularn en fase a la subportadora de
color. La seal B-Y modular a SC a 0,
en tanto que R-Y lo har a 90. De este
modo podemos obtener un diagrama de
fase de los distintos colores, como se ve
en la figura adjunta.

Rojo
Magenta

0.50

Amarillo
-1.00

-0.50

0.00
0.00

B-Y
0.50 Azul 1.00

-0.50
Verde
Cian
-1.00

R-Y
1.00

A su vez, y esto es una caracterstica


del sistema PAL, la portadora en
cuadratura (90) rotar 180 de una
lnea a la otra, es decir que si en una
lnea horizontal R-Y modula a SC a
90, en la lnea siguiente lo har a 270,
y as sucesivamente. De aqu obtiene su
nombre el sistema: PAL = Phase
Alternation by Line (Alternancia de
Fase por Linea).

Rojo
Verde

Cian
Magenta

0.50

Amarillo
-1.00
-0.50
Amarillo

Verde

0.00
0.00

0.50 Azul

-0.50
Rojo

Azul
B-Y
1.00

Magenta
Cian

-1.00

Una vez modulada la subportadora de color pasa a llamarse seal de Crominancia o seal
de Color (C). Sumando la seal de Luminancia (Y) ms la de Crominancia (C) obtenemos
finalmente la seal buscada, la SEAL DE VIDEO COMPUESTO.

Construccin de un generador de patrones


Un generador de patrones no solo debe entregar los componentes RGB de la seal, sino que
debe generar video compuesto, con todo lo que esto implica: generar sincronismos, obtener
la seal de luminancia, generar una subportadora de color y modularla, etc.
Lo primero que debe definirse es la cantidad y tipo de patrones que deber generar el
equipo, ya que esto determinar las caractersticas, y por tanto la complejidad, del sistema a
desarrollar.
En nuestro caso el equipo ser capaz de generar cuatro patrones bsicos:

Adems permitir control independiente de los tres colores R, G y B, as como de las seales
de luminancia (Y) y crominancia (C). De este modo se ampla la cantidad de patrones que
pueden ser generados, ya que el Raster se podr hacer con cualquiera de los 8 colores, las
barras podrn ser monocromticas o adoptar diferentes combinaciones de color (ver
ejemplos adjuntos), etc.

Como control adicional se permite la supresin del BURST de color, herramienta til en la
deteccin de fallas relacionadas con los circuitos de proceso de color.
Para seleccionar cual de los cuatro patrones bsicos generar el equipo se utilizan dos llaves
(S4 y S5), cuya combinacin determinar el patrn segn la siguiente tabla:

Llaves:

S4 OFF

S4 ON

S5 OFF

BARRAS

RASTER

S5 ON

CROSS-HATCH

PUNTOS

Los estados OFF (o cero) y ON (o uno) se refieren a que el punto medio de la llave se
conecta a masa (0V) o a VCC (5V) respectivamente.
Una vez definido que va a hacer el equipo veamos como implementarlo.
Generacin de sincronismos y patrones
La generacin de la base de tiempo, los sincronismos y los cuatro patrones bsicos estarn a
cargo de un microcontrolador (PIC16F84-10), por lo que toda esta seccin consistir en
desarrollar el programa (Software) adecuado. Al terminar esta etapa, el microcontrolador
deber hacer lo siguiente:
Generar una base de tiempos estable, de donde obtener todos los tiempos requeridos por
los sincronismos.
Generar en uno de sus terminales, el correspondiente al Bit 0 del PORTB, todos los
sincronismos requeridos por la norma de televisin adoptada (N), sin agregar video a
esta seal (sincronismos puros).
Generar en tres terminales las seales R, G y B, que correspondan con el patrn que deba
mostrarse a la salida. Estos terminales no tendrn sincronismos (video puro). La
designacin de terminales es la siguiente:
PORTB (2) = B (Azul)
PORTB (3) = R (Rojo)
PORTB (4) = G (Verde)
(Entre
parntesis
se
indica
el
Bit
correspondiente del PORTB)
Aceptar en dos de sus terminales, configurados como entradas, las rdenes provenientes
de las llaves S4 y S5, de modo de poder seleccionar el patrn a generar. Estas entradas
corresponden a dos Bits del PORTA, los siguientes:
PORTA (2) = S4
PORTA (3) = S5

Una vez claros los objetivos, veamos como los lleva a cabo el programa.
Bsicamente el mismo se compone de cuatro bloques independientes de generacin de seal,
realizndose en cada uno todo lo necesario para la generacin de una imagen completa. En
la seccin de diagramas se incluye un diagrama de flujo del programa, el cual ayudar a
seguir la explicacin.
Luego de una primera instancia de definicin de variables e inicializacin de las mismas, se
pasa a leer el estado de las llaves S4 y S5. Segn que combinacin se encuentre activada en
ese momento, el programa se dirigir a uno de los cuatro bloques de video mencionados,
donde se generar uno de los patrones bsicos.

En cada uno de estos bloques se comienza por generar los pulsos de pre-ecualizacin, luego
el sincronismo vertical con sus correspondientes Serrated Pulses, seguido de los pulsos de
pos-ecualizacin.
A continuacin se realiza la seleccin de campo par/impar. Esto es muy importante, ya que,
como trabajamos con barrido entrelazado, en uno de los campos la primera lnea horizontal
luego del sincronismo vertical es completa, mientras que en el otro campo debe ser solo
media lnea (recordar que comienza en medio de la pantalla). Si no se hiciera esto la imagen
aparecera temblorosa en el sector superior.
Es de destacar que en dos de los patrones (Cross-hatch y Puntos) se trabaja con barrido no
entrelazado, para evitar el fenmeno de temblor vertical (o flicker) de las lneas fijas. En
estos casos la primer lnea horizontal es siempre entera, y para compensar esto se quita un
pulso de pre-equalizacin (segn ya se mostr en los diagramas de la seal de video,
mtodos de barrido).
Luego de esto se hacen 3 o 4 lneas horizontales sin video (segn el campo), pero
respetando correctamente los tiempos de sincronismo.
Ahora es el momento en que entran en actividad la lneas R, G y B. Luego de generar el
sincronismo horizontal y respetar el tiempo de back porch, en las lneas RGB aparece la
informacin que corresponda a la seal mostrada. Cmo es esto?. Veamos un ejemplo.
Supongamos que se est generando una seal de barras. Son ocho barras, por lo tanto
debemos dividir el tiempo til de video en ocho intervalos iguales.
Antes de seguir, cabe aclarar que el tiempo til de video es aquel tiempo en que
efectivamente la informacin generada se ve en pantalla. Recordemos que en PAL-N cada
lnea horizontal dura un tiempo total de 64 seg., donde se incluyen 4.8 seg. de H Sync,
1.9 seg. de Front Porch y 5 seg. de Back Porch. Por lo tanto solo nos quedan 52.3 seg.
para mostrar video, y ese en nuestro tiempo til.
Volviendo a la generacin de barras, ya tenemos los ocho intervalos. Veamos como
debemos enviar las seales R (Rojo), G (Verde) y B (Azul) en cada uno de ellos:

Azul

Rojo

Verde

amarillo

cian

verde

magenta

rojo

azul

negro

blanco

Como vern, esta ya es una figura conocida. Se utiliz para describir lo que deba hacer un
generador de barras sencillo con salida RGB, y eso es justamente lo que estamos haciendo.

Veamos ahora como se genera el Raster. Este es an ms sencillo: se enva todo el tiempo
un nivel alto en las tres lneas de RGB. Pero, si RGB estn los tres activos, solo
generaremos Raster blanco. Es cierto. La seleccin de color se realiza controlando R, G o B
externamente al microcontrolador.
Para la generacin de lneas y puntos se requieren rutinas algo ms elaboradas, ya que no
solo hay que contar tiempos en sentido horizontal sino tambin lneas horizontales, a fin de
fijar exactamente la separacin vertical de las lneas o puntos. Pero igualmente se trata de
contar, ahora utilizando dos variables.
Con respecto a las lneas RGB, todas se ponen activas en el momento de dibujar lneas o
puntos (o sea, son blancos).
Si se analiza con detenimiento el programa se ver que en cada uno de los bloques de video
la generacin de lneas horizontales y sus correspondientes seales de video se realiza en tres
bloques, bsicamente iguales. La razn de esto es sencilla. En cada pasada dentro de un
bloque de video se barre un campo completo, o sea 312.5 lneas horizontales. Para hacerlo
con precisin se debe llevar la cuenta de las lneas generadas en algn registro. Como solo se
dispone de registros de 8 bits con signo (o sea que el nmero mximo que alcanzan es 127)
se precisa cargar tres veces el registro a fin de llegar al nmero de lneas requerido.
Para finalizar con el bloque de video, luego de completado cada campo se evala el teclado
(S4 y S5). Si no han cambiado, se contina en el mismo bloque; si hay algn cambio, se
vuelve a la rutina inicial de lectura de teclado, y el programa se dirige al bloque de video que
le indique el estado de S4 y S5.
Y eso es todo. Puede quedar una duda cmo calculo tiempos dentro de un programa?.
El uso de un microcontrolador (PIC16F84-10) facilita mucho esta tarea, ya que basta con
contar ciclos de reloj para obtener todos los tiempos correctos. Utilizando un cristal de 10
MHz, y sabiendo que cada ciclo de instruccin son 4 ciclos de reloj, obtenemos el tiempo de
un ciclo de instruccin:
Tosc = 1/fosc
Tins = Tosc x 4
Tins = 1/10 MHz x 4 = 0.4 seg.
Si cada ciclo de instruccin dura 0.4 seg., entonces para obtener el pulso de sincronismo
horizontal basta con contar 12 ciclos:
12 x 0.4 seg. = 4.8 seg.
Del mismo modo obtenemos que la duracin de una lnea horizontal completa es de 160
ciclos de instruccin:
160 x 0.4 seg. = 64 seg.
Bsicamente, esto es lo que hace el programa. Cuenta instrucciones y pone a nivel alto o
bajo, segn corresponda, el Bit 0 del PORTB. Se estableci que durante el pulso de
sincronismo (H o V) este bit estar a nivel bajo (0V) y el resto del tiempo a nivel alto (5V).

Generacin de Video Compuesto


Como ya habamos visto, no basta generar RGB para tener un generador de patrones til,
que pueda ser conectado a un receptor de televisin o a un videograbador. Debemos
combinar esta seal RGB con la seal de sincronismos y con ambas generar Video
Compuesto, seal que s puede inyectarse a los equipos mencionados.
Ya vimos todo el proceso requerido para obtener Video Compuesto a partir de RGB, as
que no lo repetiremos. Menos an, teniendo en cuenta que hay un circuito integrado
diseado por Motorola que cumple con las siguientes especificaciones:

Posee cuatro entradas de seal: Sincronismo, R, G y B


A partir de RGB genera la seal de luminancia (Y)
Posee un circuito oscilador, que con el cristal adecuado genera la Subportadora de Color
Genera las seales B-Y y R-Y, con la alternancia de fase requerida por el sistema PAL
A partir de B-Y y R-Y genera la seal de crominancia (C)
Mezcla Y con C para obtener Video Compuesto

Como ven, un solo integrado hace exactamente lo que necesitamos. Y adems, requiere
exactamente las seales que ya hemos generado con el microcontrolador.
Este integrado es el MC1377, RGB ENCODER, y bastan muy pocos componentes externos
para realizar el circuito completo. De hecho, se ha utilizado la configuracin sugerida en sus
hojas de datos, con algunas modificaciones empricas a fin de mejorar an ms su
rendimiento.
Se ha utilizado un cristal de 3.582056 MHz para que el equipo genere seal en el sistema
PAL-N. Nada impide reemplazar este cristal por uno de 4.43 MHz y hacer un pequeo
ajuste al TRIMMER CV1 para obtener una seal en los sistemas PAL-B/G/I, de uso
actualmente en Europa.
En esta etapa es que se realizan los controles de RGB, Y, C y BURST. Bsicamente se han
colocado llaves que derivan la seal a masa, directamente (RGB) o a travs de un capacitor
(Y, C). En el caso del BURST, para anularlo, la llave (S8) saca del circuito al capacitor C04,
el cual es responsable de generar el tiempo de permanencia del mismo.
Veamos ahora un resumen de las llaves de comando del equipo y sus funciones:
Llave
S1
S2
S3
S4
S5
S6
S7
S8
S9

Funcin
G ON/OFF
R ON/OFF
B ON/OFF
PROGRAMA
PROGRAMA
Y ON/OFF
C ON/OFF
BURST ON/OFF
ALIMENTACION

Una vez obtenida la seal de Video Compuesto se ajusta el nivel y la impedancia de la


misma pasando por un circuito buffer, conformado por Q1, R14 y R15.
Con esto concluye la generacin de seal, y prcticamente la descripcin de nuestro circuito.
Solo queda por mencionar que ambos integrados se alimentan con tensiones diferentes, por
lo que se puede observar una alimentacin principal de 12V (8 pilas alcalinas tipo AA, se ha
pensado en un equipo porttil), destinada al sector de video (U2 y Q1), y una alimentacin
secundaria, 5V, derivada de la primera, destinada al microcontrolador (U1).

Realizacin prctica del generador de video


A continuacin se dan todos los diagramas y dibujos necesarios para realizar la construccin
del equipo. Se ha incluido el diseo del circuito impreso a escala real, por lo que basta
imprimirlo en transparencia y pasarlo a una placa sensibilizada para obtener el impreso real.
Prestar atencin al hecho de que impreso est invertido, a fin de que coincida el diagrama de
ubicacin de componentes. En el impreso final, el texto Generador de video debe quedar
al derecho.
Con respecto al programa, se encuentra en su totalidad en las pginas finales. Basta copiarlo
en un editor de texto, ensamblarlo y cargarlo en el PIC, utilizando la herramientas provistas
por Microchip o mediante el mtodo que habitualmente se utilice.
NOTA IMPORTANTE: En el momento de volcar el programa en el PIC no olvidar poner
la opcin de operacin con cristal (XT). De otro modo, el cristal no oscilar.
Y eso es todo. Si todos los componentes se han ubicado correctamente el equipo funcionar
segn lo esperado desde el comienzo. El nico ajuste que puede realizarse es mover CV1 a
fin de mejorar la reproduccin de color, lo cual es muy sencillo.
Espero que este proyecto sea de utilidad y quedo a la espera de comentarios, sugerencias y
posibles mejoras, as como preguntas e inquietudes al respecto.
Marcelo F. Maggi - Abril, 1998
mmaggi@hotmail.com

Diagrama de bloques

+5V

C01

R04

S5

S4

R05

R03

R02

R01

S3

S2

S1

1
2
3
4
5
6
7
8
9

R06

C03

S7

U1
RA2
RA3
RA4/RTCC
MCLR
VSS
RB0/INT
RB1
RB2
RB3

R07

C02

S6

C07

C06

C05

RA1
RA0
OSC1
OSC2
VDD
RB7
RB6
RB5
RB4

R08

R09

C04

18
17
16
15
14
13
12
11
10

S8

C08

C11

X1

C10

R12

R13

C09

1
2
3
4
5
6
7
8
9
10

R11

R10

N/P

20
19
18
17
16
15
14
13
12
11

C13

+5V

C15

C22

D1

M.M. 7/97
Sheet

C18

R16

V. OUT

C21

S9

R15

Q1

+12V

C16

C17

GENERADOR DE VIDEO

C20

+12V

X2

R14

U3
3

CV1

Fuente +12V

C14

Size Document Number


A
Date:
April 5, 1998

C19

Fuente +5V

C12

X2
X1
REF
GND
VCC
-Y
COUT
VOUT
R-Y
CIN
B-Y

SYNC
R
G
B
-Y

U2

of

+12V

BT1

REV
A
1

Diagrama esquemtico

Lista de componentes

R01
R02
R03
R04
R05
R06
R07
R08
R09
R10
R11
R12
R13
R14
R15
R16
C01
C02
C03
C04
C05
C06
C07
C08
C09
C10
C11
C12

3K9
3K9
3K9
1K
1K
1K
1K
1K
1K
68K
82K
10K
2K2
4K7
2K7
100
0.1
100/16V
100/16V
1500p
10/25V
10/25V
10/25V
.02
.01
15p
15p
0.1

C13
C14
C15
C16
C17
C18
C19
C20
C21
C22
CV1
D1
Q1
U1
U2
U3
X1
X2
S1
S2
S3
S4
S5
S6
S7
S8
S9
BT1

0.1
220p
0.1
18p
150p
.02
100/16V
0.1
0.1
100/16V
TRIMMER 5-45p
1N4007
BF494C
PIC16F84-10
MC1377
LM78L05
10.000MHz
3.582056MHz
LLAVE 2 POSICIONES
LLAVE 2 POSICIONES
LLAVE 2 POSICIONES
LLAVE 2 POSICIONES
LLAVE 2 POSICIONES
LLAVE 2 POSICIONES
LLAVE 2 POSICIONES
LLAVE 2 POSICIONES
LLAVE 2 POSICIONES
8 x AA PILAS ALCALINAS

Nota: para cambiar el sistema de color de PAL-N a PAL-B/G/I reemplazar X2 por un cristal de 4.43MHz

Circuito impreso

5 cm

Disposicin de componentes

Placa armada

Programa

;
;
;
;

***** GENERADOR DE PATRONES PARA VIDEO *****


VERSION 2.01
GEN201.ASM
(C) M. MAGGI - 30/08/1997
list

p=16f84

;DEFINICION DE PUERTOS:
;PORTB(0): SYNC
;PORTB(2): AZUL
;PORTB(3): ROJO
;PORTB(4): VERDE
;NO USAR EL BIT 1 DEL PORTB
;PARA LOS PATRONES DE RASTER Y BARRAS EL VIDEO ES ENTRELAZADO
;LOS PUNTOS Y EL CROSSHATCH SE HACEN CON VIDEO NO ENTRELAZADO PARA EVITAR EL
;"FLICKER"
CBLOCK

0X0C
;VARIABLES
DURHOR,CANTHB1,CANTHB2,BLKLIN,CANTPRE,DUREQU,CANTVER,DURVER,CANTPOS
TIEMPO,FIELD,CARRY
WHITE,YELLOW,CYAN,GREEN,MAGEN,RED,BLUE,BLACK,CANTLIN

ENDC
PORTA
TRISA
PORTB
TRISB
STATUS
RP0
BLANCO
AMARIL
CYANO
VERDE
MAGENT
ROJO
AZUL
NEGRO
;

EQU
EQU
EQU
EQU
EQU
EQU
EQU
EQU
EQU
EQU
EQU
EQU
EQU
EQU

5
85H
6
86H
3
5
B'00011101'
B'00011001'
B'00010101'
B'00010001'
B'00001101'
B'00001001'
B'00000101'
B'00000001'

CLRF
CLRF
BSF
MOVLW
MOVWF
CLRF
BCF

PORTA
PORTB
STATUS,RP0
B'11111111'
TRISA
TRISB^80H
STATUS,RP0

MOVLW
MOVWF
RRF
MOVLW
MOVWF

0
CARRY
CARRY
B'10101010'
FIELD

;TODOS LOS BITS EN 0


;TODOS LOS BITS EN 0
;SELECCIONA BANCO DE REGISTROS 1
;TODOS LOS BITS DEL PUERTO A COMO ENTRADAS
;TODOS LOS BITS DEL PUERTO B COMO SALIDA
;SELECCIONA BANCO DE REGISTROS O

LECTURA BTFSS
GOTO
BTFSC
GOTO
GOTO
LECT1
BTFSC
GOTO

PORTA,3
LECT1
PORTA,2
INICIO3
INICIO2
PORTA,2
INICIO1

;VARIABLE CONTROLAR EL ESTADO DEL CARRY


;CARRY FLAG A "0"
;CONTROL DEL CAMPO
;SE LEE EL TECLADO
;SE USAN LOS BITS 2 Y 3 DEL PUERTO A
;FUNCION:
BIT3
BIT2
;BARRAS
0
0
;RASTER
0
1
;CROSSHATCH
1
0
;PUNTOS
1
1

;***** BARRAS DE COLOR *****


INICIO

RRF
MOVLW

FIELD
D'3'

;CARRY PASA AL BIT 7 DE FIELD, BIT 0 AL CARRY


;LINEAS SIN VIDEO LUEGO DE LA POSECUALIZACION

PREEQU

LOOP1

VERT
LOOP2

TIME

POSEQU

LOOP3

BTFSS
MOVLW
MOVWF
MOVLW
MOVWF
MOVLW
MOVWF
MOVLW
MOVWF
MOVLW
MOVWF
MOVLW
MOVWF

FIELD,0
D'4'
BLKLIN
D'99'
CANTHB1
D'3'
CANTHB2
5
CANTPRE
5
CANTVER
5
CANTPOS

;SI ES EL CAMPO 1 SE HACEN SOLO 3 LINEAS


;4 LINEAS EN EL CAMPO 2

BCF
MOVLW
MOVWF
NOP
NOP
NOP
BSF
DECFSZ
GOTO
NOP
NOP
DECFSZ
GOTO
NOP
BCF
MOVLW
MOVWF
DECFSZ
GOTO
BSF
MOVLW
MOVWF
DECFSZ
GOTO
NOP
DECFSZ
GOTO
NOP
BCF
MOVLW
MOVWF
NOP
NOP
NOP
BSF
DECFSZ
GOTO
NOP
NOP
DECFSZ
GOTO
NOP

PORTB,0
D'23'
DUREQU

;DURACION: 2,6S ABAJO

PORTB,0
DUREQU
LOOP1

;CANTIDAD DE LINEAS HORIZONTALES EN UN BLOQUE


;CANTIDAD DE BLOQUES (3)
;PULSOS DE PREECUALIZACION
;PULSOS DE SINCRONISMO VERTICAL
;PULSOS DE POSECUALIZACION

;SE COMPLETAN LOS 32S ARRIBA

CANTPRE
PREEQU
PORTB,0
D'22'
DURVER
DURVER
LOOP2
PORTB,0
2
TIEMPO
TIEMPO
TIME

;DURACION: 4.8S ARRIBA ("SERRATED PULSES")

CANTVER
VERT
PORTB,0
D'23'
DUREQU

PORTB,0
DUREQU
LOOP3
CANTPOS
POSEQU

;SE EMPIEZAN A BARRER LAS LINEAS HORIZONTALES


;LA PRIMERA LINEA ES COMPLETA EN EL CAMPO 1, EN TANTO QUE ES SOLO MEDIA LINEA
;EN EL CAMPO 2, Y NO COMIENZA CON UN PULSO DE SINCRONISMO
RLF
NOP
NOP

PORTB

;1 O 1/2 LINEA H SEGUN EL CAMPO


;SE PASA EL CARRY AL BIT 0 DEL PUERTO B
;CAMPO 1: 1 LINEA Y PULSO DE SINC (CARRY=0)

NEXT
LOOP

NOP
NOP
NOP
NOP
NOP
MOVLW
BTFSS
ADDLW
MOVWF
BSF
BTFSS
GOTO
BCF
NOP
DECFSZ
GOTO
NOP

;CAMPO 2: 1/2 LINEA SIN PULSO DE SINC (CARRY=1)

D'21'
PORTB,0
D'27'
DURHOR
PORTB,0
FIELD,0
NEXT
PORTB,1

;TIEMPO PARA 1/2 H (80 CICLOS TOTAL)


;SI HAY H SYNC (CAMPO 1) SE AGREGA MAS TIEMPO
;TIEMPO PARA 1 H (160 CICLOS TOTAL)

;SE PIERDE 1 CICLO MAS (SOLO 1/2 H)

DURHOR
LOOP

;SE HACEN 3 O 4 LINEAS EN BLANCO PARA CUMPLIR CON LAS 625 LINEAS DE LA NORMA N
;SI ES EL CAMPO 1 SE HACEN SOLO 3 LINEAS, YA QUE ANTES SE HIZO 1 DE MAS
HORIZ
TIME3

LOOPH3

BCF
MOVLW
MOVWF
DECFSZ
GOTO
NOP
NOP
MOVLW
MOVWF
BSF
DECFSZ
GOTO
NOP
DECFSZ
GOTO
NOP

PORTB,0
2
TIEMPO
TIEMPO
TIME3
D'48'
DURHOR
PORTB,0
DURHOR
LOOPH3

;PIERDO TIEMPO PARA


;HACER LOS 4,8S

;BIT 0 ALTO

BLKLIN
HORIZ

;SE HACEN 3 BLOQUES DE 99 LINEAS HORIZONTALES


;3*(99+1)=300 LINEAS
HORIZ1
TIME1

BCF
PORTB,0
MOVLW
2
MOVWF
TIEMPO
DECFSZ TIEMPO
GOTO TIME1
NOP
NOP
MOVLW
D'31'
MOVWF
DURHOR
BSF
PORTB,0
NOP
NOP
NOP
MOVLW
5
MOVWF
WHITE
MOVWF
YELLOW
MOVWF
CYAN
MOVWF
GREEN
MOVWF
MAGEN
MOVWF
RED
MOVWF
BLUE
MOVWF
BLACK
MOVLW
BLANCO

;PIERDO TIEMPO PARA


;HACER LOS 4,8S

;BIT 0 ALTO

WHITE1

YELLO1

CYAN1

GREEN1

MAGEN1

RED1

BLUE1

BLACK1

HORIZ2
TIME2

WHITE2

MOVWF
DECFSZ
GOTO
MOVLW
MOVWF
DECFSZ
GOTO
MOVLW
MOVWF
DECFSZ
GOTO
MOVLW
MOVWF
DECFSZ
GOTO
MOVLW
MOVWF
DECFSZ
GOTO
MOVLW
MOVWF
DECFSZ
GOTO
MOVLW
MOVWF
DECFSZ
GOTO
MOVLW
MOVWF
DECFSZ
GOTO
NOP
NOP
NOP
NOP
DECFSZ
GOTO
NOP

PORTB
WHITE
WHITE1
AMARIL
PORTB
YELLOW
YELLO1
CYANO
PORTB
CYAN
CYAN1
VERDE
PORTB
GREEN
GREEN1
MAGENT
PORTB
MAGEN
MAGEN1
ROJO
PORTB
RED
RED1
AZUL
PORTB
BLUE
BLUE1
NEGRO
PORTB
BLACK
BLACK1

BCF
MOVLW
MOVWF
DECFSZ
GOTO
MOVLW
MOVWF
MOVLW
MOVWF
BSF
NOP
NOP
NOP
MOVLW
MOVWF
MOVWF
MOVWF
MOVWF
MOVWF
MOVWF
MOVWF
MOVWF
MOVLW
MOVWF
DECFSZ

PORTB,0
2
TIEMPO
TIEMPO
TIME2
D'99'
CANTHB1
D'31'
DURHOR
PORTB,0

CANTHB1
HORIZ1

5
WHITE
YELLOW
CYAN
GREEN
MAGEN
RED
BLUE
BLACK
BLANCO
PORTB
WHITE

;BIT 0 BAJO
;PIERDO TIEMPO PARA
;HACER LOS 4,8S

;BIT 0 ALTO

YELLO2

CYAN2

GREEN2

MAGEN2

RED2

BLUE2

BLACK2

GOTO
MOVLW
MOVWF
DECFSZ
GOTO
MOVLW
MOVWF
DECFSZ
GOTO
MOVLW
MOVWF
DECFSZ
GOTO
MOVLW
MOVWF
DECFSZ
GOTO
MOVLW
MOVWF
DECFSZ
GOTO
MOVLW
MOVWF
DECFSZ
GOTO
MOVLW
MOVWF
DECFSZ
GOTO
NOP
NOP
NOP
NOP
DECFSZ
GOTO
NOP

WHITE2
AMARIL
PORTB
YELLOW
YELLO2
CYANO
PORTB
CYAN
CYAN2
VERDE
PORTB
GREEN
GREEN2
MAGENT
PORTB
MAGEN
MAGEN2
ROJO
PORTB
RED
RED2
AZUL
PORTB
BLUE
BLUE2
NEGRO
PORTB
BLACK
BLACK2

CANTHB2
HORIZ1

;ESTA ULTIMA LINEA/MEDIA LINEA, LA 305, LA USO PARA CARGAR VARIABLES

NEXT1
LOOPH5

BCF
NOP
NOP
MOVLW
BTFSC
MOVLW
MOVWF
NOP
MOVLW
BTFSC
ADDLW
MOVWF
BSF
BTFSS
GOTO
NOP
NOP
DECFSZ
GOTO
RRF
BTFSC
GOTO
BTFSC
GOTO
NOP

PORTB,0
0
FIELD,0
1
CARRY
D'15'
FIELD,0
D'24'
DURHOR
PORTB,0
FIELD,0
NEXT1
DURHOR
LOOPH5
CARRY
PORTA,2
LECTURA
PORTA,3
LECTURA

;BIT 0 PASA A NIVEL BAJO


;PIERDO TIEMPO PARA
;HACER LOS 4,8S
;NO USAR EL BIT 1 DEL PORTB, BIT 0 = SYNC

;BIT 0 PASA A NIVEL ALTO

;CARRY = 1 SI 1 H, CARRY = 0 SI 1/2 H

NOP
NOP
NOP
NOP
GOTO

INICIO

;***** RASTER *****


INICIO1 RRF
MOVLW
BTFSS
MOVLW
MOVWF
MOVLW
MOVWF
MOVLW
MOVWF
MOVLW
MOVWF
MOVLW
MOVWF
MOVLW
MOVWF

FIELD
D'3'
FIELD,0
D'4'
BLKLIN
D'99'
CANTHB1
D'3'
CANTHB2
5
CANTPRE
5
CANTVER
5
CANTPOS

APREEQU BCF
MOVLW
MOVWF
NOP
NOP
NOP
BSF
ALOOP1 DECFSZ
GOTO
NOP
NOP
DECFSZ
GOTO
NOP
AVERT
BCF
MOVLW
MOVWF
ALOOP2 DECFSZ
GOTO
BSF
MOVLW
MOVWF
ATIME
DECFSZ
GOTO
NOP
DECFSZ
GOTO
NOP
APOSEQU BCF
MOVLW
MOVWF
NOP
NOP
NOP
BSF
ALOOP3 DECFSZ
GOTO
NOP
NOP
DECFSZ

PORTB,0
D'23'
DUREQU

PORTB,0
DUREQU
ALOOP1

;DURACION: 2,6S ABAJO

;SE COMPLETAN LOS 32S ARRIBA

CANTPRE
APREEQU
PORTB,0
D'22'
DURVER
DURVER
ALOOP2
PORTB,0
2
TIEMPO
TIEMPO
ATIME
CANTVER
AVERT
PORTB,0
D'23'
DUREQU

PORTB,0
DUREQU
ALOOP3
CANTPOS

;DURACION: 4.8S ARRIBA ("SERRATED PULSES")

ANEXT
ALOOP

GOTO
NOP

APOSEQU

RLF
NOP
NOP
NOP
NOP
NOP
NOP
NOP
MOVLW
BTFSS
ADDLW
MOVWF
BSF
BTFSS
GOTO
BCF
NOP
DECFSZ
GOTO
NOP

PORTB

;1 O 1/2 LINEA H SEGUN EL CAMPO

D'21'
PORTB,0
D'27'
DURHOR
PORTB,0
FIELD,0
ANEXT
PORTB,1

;TIEMPO PARA 1/2 H (80 CICLOS TOTAL)

AHORIZ

;TIEMPO PARA 1 H (160 CICLOS TOTAL)

;SE PIERDE 1 CICLO MAS (SOLO 1/2 H)

DURHOR
ALOOP

BCF
MOVLW
MOVWF
ATIME3 DECFSZ
GOTO
NOP
NOP
MOVLW
MOVWF
BSF
ALOOPH3 DECFSZ
GOTO
NOP
DECFSZ
GOTO
NOP

PORTB,0
2
TIEMPO
TIEMPO
ATIME3

AHORIZ1 BCF
MOVLW
MOVWF
ATIME1 DECFSZ
GOTO
NOP
NOP
MOVLW
MOVWF
BSF
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
MOVLW
MOVWF
ALOOPH4 DECFSZ
GOTO

PORTB,0
2
TIEMPO
TIEMPO
ATIME1

D'48'
DURHOR
PORTB,0
DURHOR
ALOOPH3

;PIERDO TIEMPO PARA


;HACER LOS 4,8S

;BIT 0 ALTO

BLKLIN
AHORIZ

D'44'
DURHOR
PORTB,0

B'00011101'
PORTB
DURHOR
ALOOPH4

;PIERDO TIEMPO PARA


;HACER LOS 4,8S

;BIT 0 ALTO

MOVLW
MOVWF
DECFSZ
GOTO
NOP
BCF
MOVLW
MOVWF
ATIME2 DECFSZ
GOTO
MOVLW
MOVWF
MOVLW
MOVWF
BSF
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
MOVLW
MOVWF
ALOOPH5 DECFSZ
GOTO
MOVLW
MOVWF
DECFSZ
GOTO
NOP

B'00000001'
PORTB
CANTHB1
AHORIZ1
PORTB,0
2
TIEMPO
TIEMPO
ATIME2
D'99'
CANTHB1
D'44'
DURHOR
PORTB,0

;PIERDO TIEMPO PARA


;HACER LOS 4,8S

;BIT 0 ALTO

B'00011101'
PORTB
DURHOR
ALOOPH5
B'00000001'
PORTB
CANTHB2
AHORIZ1

;ESTA ULTIMA LINEA/MEDIA LINEA, LA 305, LA USO PARA CARGAR VARIABLES


BCF
NOP
NOP
MOVLW
BTFSC
MOVLW
MOVWF
NOP
MOVLW
BTFSC
ADDLW
MOVWF
BSF
BTFSS
GOTO
ANEXT1 NOP
NOP
ALOOPH6 DECFSZ
GOTO
RRF
BTFSS
GOTO
BTFSC
GOTO
NOP
NOP
NOP

PORTB,0
0
FIELD,0
1
CARRY
D'15'
FIELD,0
D'24'
DURHOR
PORTB,0
FIELD,0
ANEXT1
DURHOR
ALOOPH6
CARRY
PORTA,2
LECTURA
PORTA,3
LECTURA

;BIT 0 PASA A NIVEL BAJO


;PIERDO TIEMPO PARA
;HACER LOS 4,8S
;NO USAR EL BIT 1 DEL PORTB, BIT 0 = SYNC

;BIT 0 PASA A NIVEL ALTO

;CARRY = 1 SI 1 H, CARRY = 0 SI 1/2 H

NOP
NOP
GOTO

INICIO1

;***** CROSSHATCH *****


INICIO2 RRF
NOP
NOP
MOVLW
MOVWF
MOVLW
MOVWF
MOVLW
MOVWF
MOVLW
MOVWF
MOVLW
MOVWF
MOVLW
MOVWF

FIELD

BPREEQU BCF
MOVLW
MOVWF
NOP
NOP
NOP
BSF
BLOOP1 DECFSZ
GOTO
NOP
NOP
DECFSZ
GOTO
NOP
BVERT
BCF
MOVLW
MOVWF
BLOOP2 DECFSZ
GOTO
BSF
MOVLW
MOVWF
BTIME
DECFSZ
GOTO
NOP
DECFSZ
GOTO
NOP
BPOSEQU BCF
MOVLW
MOVWF
NOP
NOP
NOP
BSF
BLOOP3 DECFSZ
GOTO
NOP
NOP
DECFSZ
GOTO
NOP

PORTB,0
D'23'
DUREQU

D'4'
BLKLIN
D'28'
CANTHB1
D'10'
CANTHB2
4
CANTPRE
5
CANTVER
5
CANTPOS

PORTB,0
DUREQU
BLOOP1

;SOLO 4 PULSOS POR SER VIDEO NO ENTRELAZADO

;DURACION: 2,6S ABAJO

;SE COMPLETAN LOS 32S ARRIBA

CANTPRE
BPREEQU
PORTB,0
D'22'
DURVER
DURVER
BLOOP2
PORTB,0
2
TIEMPO
TIEMPO
BTIME
CANTVER
BVERT
PORTB,0
D'23'
DUREQU

PORTB,0
DUREQU
BLOOP3
CANTPOS
BPOSEQU

;DURACION: 4.8S ARRIBA ("SERRATED PULSES")

BLOOP

NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
MOVLW
NOP
NOP
MOVWF
NOP
NOP
NOP
NOP
BCF
NOP
DECFSZ
GOTO
NOP

BHORIZ

;1/2 LINEA H (NO ENTRELAZADO)

D'21'

;TIEMPO PARA 1/2 H (80 CICLOS TOTAL)

DURHOR

PORTB,1
DURHOR
BLOOP

BCF
MOVLW
MOVWF
BTIME3 DECFSZ
GOTO
NOP
NOP
MOVLW
MOVWF
BSF
BLOOPH3 DECFSZ
GOTO
NOP
DECFSZ
GOTO
NOP

PORTB,0
2
TIEMPO
TIEMPO
BTIME3

BHORIZ1 BCF
MOVLW
MOVWF
BTIME1 DECFSZ
GOTO
NOP
NOP
MOVLW
MOVWF
BSF
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
BLOOPHA MOVLW
ADDWF
SUBWF
NOP
MOVLW

PORTB,0
2
TIEMPO
TIEMPO
BTIME1

D'48'
DURHOR
PORTB,0
DURHOR
BLOOPH3

;PIERDO TIEMPO PARA


;HACER LOS 4,8S

;BIT 0 ALTO

BLKLIN
BHORIZ

9
CANTLIN
PORTB,0

B'00011100'
PORTB
PORTB
2

;PIERDO TIEMPO PARA


;HACER LOS 4,8S

;BIT 0 ALTO

MOVWF
BLOOPH4 DECFSZ
GOTO
DECFSZ
GOTO
NOP
MOVLW
ADDWF
SUBWF
NOP
NOP
NOP
NOP
NOP
NOP
DECFSZ
GOTO
NOP

DURHOR
DURHOR
BLOOPH4
CANTLIN
BLOOPHA

BCF
MOVLW
MOVWF
BTIMEZ DECFSZ
GOTO
NOP
NOP
MOVLW
MOVWF
BSF
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
MOVLW
MOVWF
BLOOPHZ DECFSZ
GOTO
MOVLW
MOVWF
NOP
NOP
NOP

PORTB,0
2
TIEMPO
TIEMPO
BTIMEZ

BCF
MOVLW
MOVWF
DECFSZ
GOTO
MOVLW
MOVWF
MOVLW
MOVWF
BSF
NOP
NOP
NOP
NOP
NOP
NOP

PORTB,0
2
TIEMPO
TIEMPO
BTIME2
D'28'
CANTHB1
D'44'
DURHOR
PORTB,0

BTIME2

B'00011100'
PORTB
PORTB

CANTHB1
BHORIZ1

D'44'
DURHOR
PORTB,0

;PIERDO TIEMPO PARA


;HACER LOS 4,8S

;BIT 0 ALTO

B'00011101'
PORTB
DURHOR
BLOOPHZ
B'00000001'
PORTB

;PIERDO TIEMPO PARA


;HACER LOS 4,8S

;BIT 0 ALTO

NOP
NOP
NOP
MOVLW
MOVWF
BLOOPH5 DECFSZ
GOTO
MOVLW
MOVWF
DECFSZ
GOTO
NOP

B'00011101'
PORTB
DURHOR
BLOOPH5
B'00000001'
PORTB
CANTHB2
BHORIZ1

;ESTA ULTIMA MEDIA LINEA, LA 305, LA USO PARA CARGAR VARIABLES


BCF
NOP
NOP
MOVLW
BTFSC
MOVLW
MOVWF
NOP
MOVLW
NOP
NOP
MOVWF
BSF
NOP
NOP
NOP
NOP
NOP
BLOOPH6 DECFSZ
GOTO
RRF
BTFSC
GOTO
BTFSS
GOTO
NOP
NOP
NOP
NOP
NOP
GOTO

PORTB,0
0
FIELD,0
1
CARRY
D'15'
DURHOR
PORTB,0

DURHOR
BLOOPH6
CARRY
PORTA,2
LECTURA
PORTA,3
LECTURA

INICIO2

;***** PUNTOS *****


INICIO3 RRF
NOP
NOP
MOVLW
MOVWF
MOVLW
MOVWF
MOVLW
MOVWF
MOVLW
MOVWF
MOVLW
MOVWF
MOVLW
MOVWF

;BIT 0 PASA A NIVEL BAJO


;PIERDO TIEMPO PARA
;HACER LOS 4,8S
;NO USAR EL BIT 1 DEL PORTB, BIT 0 = SYNC

FIELD
D'4'
BLKLIN
D'28'
CANTHB1
D'10'
CANTHB2
4
CANTPRE
5
CANTVER
5
CANTPOS

;BIT 0 PASA A NIVEL ALTO

;CARRY = 1 SI 1 H, CARRY = 0 SI 1/2 H

CPREEQU BCF
MOVLW
MOVWF
NOP
NOP
NOP
BSF
CLOOP1 DECFSZ
GOTO
NOP
NOP
DECFSZ
GOTO
NOP
CVERT
BCF
MOVLW
MOVWF
CLOOP2 DECFSZ
GOTO
BSF
MOVLW
MOVWF
CTIME
DECFSZ
GOTO
NOP
DECFSZ
GOTO
NOP
CPOSEQU BCF
MOVLW
MOVWF
NOP
NOP
NOP
BSF
CLOOP3 DECFSZ
GOTO
NOP
NOP
DECFSZ
GOTO
NOP

CLOOP

NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
MOVLW
NOP
NOP
MOVWF
NOP
NOP
NOP
NOP
BCF
NOP
DECFSZ
GOTO

PORTB,0
D'23'
DUREQU

PORTB,0
DUREQU
CLOOP1

;DURACION: 2,6S ABAJO

;SE COMPLETAN LOS 32S ARRIBA

CANTPRE
CPREEQU
PORTB,0
D'22'
DURVER
DURVER
CLOOP2
PORTB,0
2
TIEMPO
TIEMPO
CTIME

;DURACION: 4.8S ARRIBA ("SERRATED PULSES")

CANTVER
CVERT
PORTB,0
D'23'
DUREQU

PORTB,0
DUREQU
CLOOP3
CANTPOS
CPOSEQU
;1/2 LINEA H

D'21'
DURHOR

PORTB,1
DURHOR
CLOOP

;TIEMPO PARA 1/2 H (80 CICLOS TOTAL)

NOP
CHORIZ

BCF
MOVLW
MOVWF
CTIME3 DECFSZ
GOTO
NOP
NOP
MOVLW
MOVWF
BSF
CLOOPH3 DECFSZ
GOTO
NOP
DECFSZ
GOTO
NOP

PORTB,0
2
TIEMPO
TIEMPO
CTIME3

CHORIZ1 BCF
MOVLW
MOVWF
CTIME1 DECFSZ
GOTO
NOP
NOP
MOVLW
MOVWF
BSF
CLOOPHZ DECFSZ
GOTO
NOP
DECFSZ
GOTO
NOP

PORTB,0
2
TIEMPO
TIEMPO
CTIME1

BCF
MOVLW
MOVWF
CTIMEZ DECFSZ
GOTO
NOP
NOP
MOVLW
MOVWF
BSF
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
CLOOPHA MOVLW
ADDWF
SUBWF
NOP
MOVLW
MOVWF
CLOOPH4 DECFSZ
GOTO
DECFSZ

PORTB,0
2
TIEMPO
TIEMPO
CTIMEZ

D'48'
DURHOR
PORTB,0
DURHOR
CLOOPH3

;PIERDO TIEMPO PARA


;HACER LOS 4,8S

;BIT 0 ALTO

BLKLIN
CHORIZ

D'48'
DURHOR
PORTB,0
DURHOR
CLOOPHZ

;PIERDO TIEMPO PARA


;HACER LOS 4,8S

;BIT 0 ALTO

CANTHB1
CHORIZ1

9
CANTLIN
PORTB,0

B'00011100'
PORTB
PORTB
2
DURHOR
DURHOR
CLOOPH4
CANTLIN

;PIERDO TIEMPO PARA


;HACER LOS 4,8S

;BIT 0 ALTO

GOTO
NOP
MOVLW
ADDWF
SUBWF
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
BCF
MOVLW
MOVWF
CTIME2 DECFSZ
GOTO
MOVLW
MOVWF
MOVLW
MOVWF
BSF
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
NOP
CLOOPHB MOVLW
ADDWF
SUBWF
NOP
MOVLW
MOVWF
CLOOPH5 DECFSZ
GOTO
DECFSZ
GOTO
NOP
MOVLW
ADDWF
SUBWF
NOP
NOP
NOP
NOP
NOP
NOP
DECFSZ
GOTO
NOP

CLOOPHA
B'00011100'
PORTB
PORTB

PORTB,0
2
TIEMPO
TIEMPO
CTIME2
D'28'
CANTHB1
9
CANTLIN
PORTB,0

;PIERDO TIEMPO PARA


;HACER LOS 4,8S

;BIT 0 ALTO

B'00011100'
PORTB
PORTB
2
DURHOR
DURHOR
CLOOPH5
CANTLIN
CLOOPHB
B'00011100'
PORTB
PORTB

CANTHB2
CHORIZ1

;ESTA ULTIMA MEDIA LINEA, LA 305, LA USO PARA CARGAR VARIABLES


BCF
NOP
NOP
MOVLW

PORTB,0
0

;BIT 0 PASA A NIVEL BAJO


;PIERDO TIEMPO PARA
;HACER LOS 4,8S
;NO USAR EL BIT 1 DEL PORTB, BIT 0 = SYNC

BTFSC
MOVLW
MOVWF
NOP
MOVLW
NOP
NOP
MOVWF
BSF
NOP
NOP
NOP
NOP
NOP
CLOOPH6 DECFSZ
GOTO
RRF
BTFSS
GOTO
BTFSS
GOTO
NOP
NOP
NOP
NOP
NOP
GOTO
END

FIELD,0
1
CARRY
D'15'
DURHOR
PORTB,0

DURHOR
CLOOPH6
CARRY
PORTA,2
LECTURA
PORTA,3
LECTURA

INICIO3

;BIT 0 PASA A NIVEL ALTO

;CARRY = 1 SI 1 H, CARRY = 0 SI 1/2 H

Vous aimerez peut-être aussi