PROYECTO TERMINAL 146527 - 148.206.53.84148.206.53.84/tesiuami/UAM8737.pdf · circuito que...

21
MIRIAM ROMERO ARELLANO L PROYECTO TERMINAL 146527 /’” /DIGITALIZADOR DE IMAGENES ASESORES: INTERNO : ING. YUDIEL PEREZ ESPEJO. EXTERNO : ING. VICTOR HUGO TELLEZ ARRIETA. INTEGRANTES : NOMBRE MATRICULA ALEJANDRO MONDRAGON ACEVEDO MARIO ALBERTO ARECHIGA VELAZQUEZ 88337 15 88324498 86325937

Transcript of PROYECTO TERMINAL 146527 - 148.206.53.84148.206.53.84/tesiuami/UAM8737.pdf · circuito que...

MIRIAM ROMERO ARELLANO L

P R O Y E C T O T E R M I N A L ’

1 4 6 5 2 7

/’”

/ D I G I T A L I Z A D O R D E I M A G E N E S

ASESORES:

INTERNO : ING. YUDIEL PEREZ ESPEJO.

EXTERNO : ING. VICTOR HUGO TELLEZ ARRIETA.

INTEGRANTES :

NOMBRE MATRICULA

ALEJANDRO MONDRAGON ACEVEDO

MARIO ALBERTO ARECHIGA VELAZQUEZ

88337 15

88324498

86325937

A continuaci6n se tiene el diagrama a bloques del cual consta este proyecto:

DE VIDEO I I 11

I I I/

ENTRADA DE VIDEO RESTAURACION DE Allama@ > VIDEO DC

I\ I I I SEPARADOR

DE SINCRONIS L I I I I I/ I /

I I I

OSCILADOR RELOJ DE CONTROL CONTADOR DE CONTADOR DE ".m <-- DE p- ---_ > PIXELES - > LINEAS

I I

I \ I DIRECCIONES I

GENERADOR DE GENERADOR DE DIRECCIONES

I I

TIPO FLASH I '

I ! I

I I J.

Este proyecto, que consta de dos partes: Digitalizador y Transmisor, no hace distinci6n entre los dos campos de una pantalla.

El Digitalizador/Transmisor debe decidir cuando un nuevo campo esta comenzando, esperando hasta que la primer linea de activacidn comience, luego comienza a convertir la seiial anal6gica de video en bytes (informaci6n digital) que son puestos dentro del buffer. Debido a que la Camara de video no puede ir mas lenta, todo esto debe suceder cuando el video esta listo, mas que cuando el procesador lo estA. Para iniciar, uno podrfa pensar que se puede empezar el proceso con la primer línea de activacibn de video contando los pulsos de sincronía horizontal despu6s de cada pulso de sincronia vertical, pero esto no se realiza tan fkil.

El circuito acepta una señal de video esthdar ya sea de color o blanco y negro, se digitaliza con una resoluci6n de 256 lineas por 256 pixeles con 256 niveles de gris, pudiendose capturar cualquiera de los dos campos de la señal de video.

HARDWARE DEL CIRCUITO DIGITALIZADOR DE IMAGENES.

El Digitalizador/Transmisor tiene dos funciones principales: Primero, digitaliza la seiial anal6gica de video; Segundo, transfiere el dato al display receptor (computadora) a travCs de un puerto serial comercial (Norma RS232).

El circuitc analógico merece una descripclh rrds detaiiada. La mayor parte del

circuito que pertenece al procesamiento de la señal anal6gic-a de video, consta de 5 funciones: terminacidn, fijacibn de nivel, filtrado, separacidn y nivel de comparaci6n.

La señal de video compuesta es conectada a travks de un cable coaxial con una terminacidn de impedancia de 75 W.

Es importante advertir que las señales de video nunca deben contener líneas textuales o textos, ya que frecuentemente las cimaras de video producen señales con un voltaje de offset que depende de lo que se esta reproduciendo.

El digitalizador incluye el circuito de fijacidn de nivel que forza los picos de los pulsos de sincronizaci6n a O volts.

1 4 6 5 2 7 Tanto las señales blancohegro como las de color, trabajan bien con el

Digitalizador, ya que una señal de color contiene maS informaci6n de la necesaria. Esta informaci6n extra de color no puede ser ignorada ya que esta intefilere en la imagen digitalizada de blanco y negro. Se soluciona este problema utilizando un filtro que remueve las fmucncias usadas en la codificaci6n del color.

La señal de video es aplicada a un amplificador diferencial que tiene dos prop6sitos: ganancia dc &al y rechazo de ruido. El amplificador de video debe tener el Suficiente ancho dc banda para la aplicaci6n. Se utilizd el amplificador operacional TLO82 FET doble, que tiene UM banda de 4 M H z , suficiente para la aplicaci6n.

La señal de video compuesta contiene video e informaci6n de sincronizaci6n. Se us6 un LM1881 confígmdo como comparador detector de sincronía; &te fue diseñado para producir señales de sincronizaci6n compuesta, sincronizaci6n vertical, deteccidn de campo padimpar e informaci6n de temporizaci6n cromhtica o de nivel de negro. Cuando la señal de video baja mas all4 de 200 mV, la salida del LM1881 se va a un bajo, debido a que el circuito de "fijaci6n de nivel" forza los picos de sincronizaci6n a tierra. La salida del LM1881 esta en bajo solamente durante los pulsos de sincronizaci6n horizontal y vertical, pero nunca durante la señal de video (datos).

La señal de cuadro es usada para detectar y capturar un campo (par o impar) en el momento en el que ticne una linea completa de video en la línea uno. La informaci6n de temporizaciibn de n i v d de negro es usada por un LM398 (circuito de muestreo y retencicin) para muestrw el video con referencia al nivel de negro, éstt: nivel es iuego sustraido del video amplificado para mover el nivel de referencia para digitalizaciones posteriores.

El proceso de zustrawih nos proporciona una señal de video referenciada a tierra con una amplitud de cerca de 3.3 volts en el nivel de blanco, justo lo necesario para que el convertidor AD digitalice.

Este convertidor A D utilizado para digitalizar la línea del campo, no es un convertidor común, ya que estos son muy lentos para nuestros requerimientos, asf es que se utiliz6 un convertidor AD tipo flash que digitalin en los 200 ns requeridos por la aplicacidn; el tiempo necesario para la conversiiin es de un ciclo de reloj. Al nivel bajo del reloj se inicialrta la conversi6n, y en el nivel alto se transfiere el dato para ser almacenado en las memorias.

Existe un control de software que provee la activacih de WR para que en las memorias se graben los datos durante la conversih, y una vez terminada hta, el software activa la señal ^ R D para que el 8031 lea y manipule los datos de las memorias.

Esto es hecho poniendo un comando (bit O) que deshabilita el convertidor AD y habilita la lectura de memorias. Los contadores son resefeados para una lectura a partir de la d h i h cero y el dato es leido por el microprocesador 8031 para luego salir por el puerto serial de &te hacia la PC.

La conversi611 de video comienza cuando el LM1881 d4 un disparo &t inicio, terminando eXaCtamente 256 pixeles depuks . Existe un cristal de 20MHz que es dividido por cuatro pafa producir finalmente una frecuencia de reloj de 2 m s que activa a los contadores de pixeles y de lfneas, y proporciona la de escritura para law.

La parte de proceso digital es similar a la fase receptora de video. Ambas procesan el video en la misma forma pero en distintas direcciones, asi que no cambian en muchas de sus partes.

La señal de video debe ser muestreada a SMHz, lo cual proporcionar6 2OOns

hay manera de que el procesador pueda leer directamente del convertidor por la velocidad que este maneja, asi que la digitalizacidn no se har6 en tiempo real.

e n ? x csd2 ~vestreo. C'n !:heqwo de 13 -x!ocjbad de ~j;:~;:iciCln del 8031 muestra que no

DespuCs de que cada pixel ha sido digitalizado y almacenado, los contadores incrementan en uno la direccidn. El circuito 74LS257 se asegura de que se est6 escribiendo a memoria durante la digitalizaci6n.

El proceso normal de lectura y escritura de la informacih de video digitalizada puede ser desarrollada en cualquier otro tiempo para transmisidn de imagen u otro plXXXS0.

La digitalizacidn y transmisih de datos es un simple ciclo de captura del campo de video en un dispositivo RAM de 64K, que luego comprime y transmite el dato por el puerto serial (norma RS232) . Con un switch se puede determinar si el circuito digitalizador-transmisor transmitid continuamente, o esperad a que la pantalla se llene antes de comenzar otro campo.

A continuaci6n se muestran los diagramas de flujo para el programa que captura la informacibn, y el programa que obtiene una linea de video.

DIAGRAMA DE FLUJO DEL PROGRMU.

146527 '

COMIENZO

I I

- 1 I I I I I I I I PONER BYTE I -ESPERAR PARA BLANQUEAR I - 1 I I I I I I I I I 1 ESTA VACIO I BUFPER LLENO I 1 +EL BUFFER ? S I 1 I 1 -M

NO I I 1 I I I MANDAR BYTE 1 1 SINC DE LINE4 I 1 I I 1 I I I MANDAR UNA I I JANEA DE VIDEO I I I I 1 I ! I TNCREMENTAR U S ! i DlRECCIONES DE LINEA

I I I I I ULTIMA LINEA I NO ENVIADA ? I I I I I MANDAR BYTE I FIN DE SING I I u

INXCIALIZACION 1

-HABILITAR AM3 -ESP- SINC VERTICAL

-CONTAR SINCS HASTA PRIMER LINEA

-HABILITAR RAM I I -coN"AR SINCS HASTA

¡ I I

I

" "

C O ~ Z O I I I

PONER ULTBYTE = O CONT = Q

I I I I I PROCESO

SI RETURN

I I I I I TOMAR UN BYTE I I2Euamm I I I I I I I BYTE - ULTBYTE I SI I I I MANDAR CONT I I MANDAR BYTE ! INCREMENTAR CONT T I L T B Y T E = BYTE I ! CONT = O

- ? NO I

I I I I

L

I INCREMENTAR I DIRECCIONES I I I I

1 4 6 5 2 7

Se comienza la captura de la informacidn de video cuando se detecta el primer pulso de sincmnfa vertical en el campo. El microprocesador entonces, espera por este retardo vertical antes de habilitar la RAM y al convertidor AD. D e s p u b los contadores llevan el conteo de pulsos de sinmnia e'incrementan las lineas de direcciones de la RAM despues de cada pulso. Cuando el buffer estA lleno, se deshabilita a la RAM y al convertidor para prevenir posibles escrituras en el buffer.

Tomando en cuenta las caractedsticas de la digitalizaci6n, se dise- un programa que inicialice una PC en modo gato y modo de entrada por el puerto serial. Para la digitalhcibn ya se habh mencionado que se trabajar4 a la velocidad de 20 MHz, una vez guardada la imagen en memoria, se podrd trabajar a la velocidad del microprocesador (4MHz) el cual transmite la informaci6n hacia la PC. Lo importante de guardar la imagen en memoria es la c a p a c i d a d que se adquiere para manipular la imagen y crear efectos sobre ella como son : mosaico, solarizaci6n , cambios de intensidad, invertir imagen, etc.

Asi que cuando se ponga a funcionar el circuito, se ver6 una imagen digi- en el monitor que apareced de arriba hacia abajo . Despuds que UM imagen es

y desplegada, se comienza el proceso para otro campo de la seiral de video.

Para obtener una mejor imagen se debe buscar la mejor combinaci6n de brillo y enfque entre la cfimara y la comptadora. ya q!Ie si el nivel de negro es muy alto, las &reas obscuras tendrh muy poco detalle; y si el nivel de blanco es muy bajo, l a s heas brillantes se vefan afectadas. Por otra parte, el nivel de negro no debe ser muy bajo ni el blanco muy alto porque esto reduce el número de niveles de digitalizaci6n durante la conversi6n de la imagen .

El programa que activa a la PC en modo g r 4 f h y ademh recibe la informaci6n por el puerto serie, fue escrito en Pascal, aunque no sería difícil transcribir10 a otro lenguaje (como es el caso de C).

I

PROGRAM digitalizador; USES crt, graph;

VAR GraphDriver,GraphMode : INTEGER; Baud,x : INTEGER;

RxD: BYTE;

{ Se programa el puerto serie para recibir 6 transmitir infomaci6n. Ademk se ] { obtiene la velocidad de transmisidn ( baudrate ). 1 PROCEDURE programaguerto (BaudRate : INTEGER); BEGIN

PORT [$03FB] : = $80; CASE BaudRate OF

150 : BEGIN PORT [$03F9] := $03; PORT [$03FEJ : = $0; m;

300 : BEGIN PORT [%03F9] : = $01; PORT [$03FE] : = $80;

END; 600 : BEGIN

PORT [$03F9] : = $ 1 0 0 ; PORT [$03FE] : = m

END; 1200 : BEGIN

PORT [$03F9] : = $00; PORT [$03FE] : = $60;

END; 2400 : BEGIN

PORT [$03F9] : = $00; PORT [$03FE] : = $30;

END; 4800 : BEGIN

PORT [$03FY] : = $00; PORT [$03FE] : = $1 8;

END; 9600 : BEGIN

PORT [$03F9] : = $00; PORT [$03FE] : = m;

END; ENDCASE; (8 bits, 1 bit de paro, sin paridad}

PORT [$03FB] : = $03; PORT [$03F9] : = $00; PORT [$03FE] : = $00;

END;

{ Lee el puerto serie hasta que haya un dato, y guarda el valor en &D. 1

PROCEDURE lee-serie; BEGIN

REPEAT UNTIL ( PORT [$03FD] AND $1) = $ 1 ; RXD : = PORT [$03FEi];

m;

{ Programa Principal.

BEGIN ClrScr; Writeln ('Escoge el baudrate al que deseas trabajar : '); Writeln (' 1 : 150 2 : 300 3 : 600 '); Writeln (' 4 : 1200 5 : 2400 6 : 4800'); Writeln (' 7 : 9600 I);

Writeln; Readln (Baud); programaquerto (Baud); Grap'~9rive; : := DETECT; InitGraph (GraphDriver,GraphMode, "); F O R y : = O T O 2 5 5 D O

BEGIN FORx:=OTO255DO

lee-serie; putpixel (x,y,RxD); x := x + 1 ;

BEGIN

END; y : = ) ' + 1 ;

END; END.

El programa utilizado para la transmisidn de datos del microprocaador a la PC por el puerto %ne es el siguiente :

1 4 6 5 2 7 BAUD EQU $2B SCCRl EQU $2C SCCR2 EQU $2D SCSR EQU $2E SCDAT EQU $2F CONFIG EQU $3F ORG $BF40

BEGIN EQU

LDS #$WFF *Cargar Stack LDX #$loo0 *Direcci6n base LDAA 630 *Palabra de control 9600 baudios STAA BAUD,X *Cargar el registro BAUD LDAA #$OC STAA SCCR2,X *Habilitar transmisi6n y recepci6n BRSET CONFIG,X $08NOSEC

LDY #!§oooO *Base de la cuenta

AGAJN EQU LDAA SCSR,X *Se carga el status de SCI LDD 0,Y *Carga en D el dato

*Para realizar el efecto del negativo de la imagen se adicionm’a el comando * COMA se complementan los registros A y B

* COMB

STD SCDAT,X *Se transfiere el dato al registro SCDAT INC Y CPY #$FFFF BNE AGAIN

END

Para la transmisi6n de datos hacia la PC se utiliz6 el kit del micropmcesador 68HC1 l. Lms datos de las memorias (imagen de video digitalizada) son direccionados y lefdos por el puerto del micropmesador a la frecuencia dada por &te. Cada dato es leído y transfesido por el puerto serie con ayuda de la norma RS232, hacia la PC. DIBUJO 1

Los efectos especiales que se le hacen a la imagen son : - SOLARIWICI6N. - MOSAICO. - NEGATIVO. - ROTACI~N. L a tecnica usada para causar los efectos de solarizacidn y mosaico ser4

efectuada por hardware para mayor sencillez y rapidez del proceso de transmisi6n de la informaci6n.

El efecto negativo se realiza por softwane en el microprocesador sacando el

El efecto de rotacih se realiza por software en la computadora invirtiendo

Para los efectos de solariZaci6n y mosaico manipulados por hardware se diseñ6

complemento al dato.

renglones con columnas al recibir los datos.

un circuito que cons@ de las siguientes partes : DIBUJO 2

A base de switches se determinad si se dejan pasar los datos tales y como son leídos de la computadora 6 si van a ser modificados a O 6 a 1, seleccionando entre los cuatro bits mds significativos y los cuatro bits menos significativos.

Para la tkcnica del efecto negativo por medio del software del microprocesador, se le saca el complemento a 1 al dato, y asf lo oscuro se volveria claro y lo claro, oscuro.

Para el efecto de rotacih, la ttknica consiste en la forma en la que la computadora despliegue los datos en pantalla, y solamente se necesita cambiar los contadores de tal manera que se inviertan las columnas c o n los renglones (ver programa).

DIGITALIZACI6N 8 BITS

n Selección Datos 6 Valores

I -

vcc 1, I - Selecci6n Valores O 6 1 vcc

.

I

c

p1

I

.!it

C.

u5 I r i LF353H Odd

EST

,', 510 C 3 ,; R6

SET

R4 2K3 -12-4 I

1

L

+I Y

+-I f q m C6 _ _

í M U lB

R10

-= 1Ok I

- LIOEO RIWLOCIC DESCO?lPOSXTION. V I C f O PROYEC ocumrnt Numbrr

2 "rch 2s. íS'J2hhr.t 2 oc

I R16 w 3 J O

. . "' . _ _

I

l

I I T T I

m

I I I I

1 1 "- I I

I

!

!

. . . . . m. - .. ".."

c

M O R Y INTERFWE. V I C I O PROYECT

6

c

u reA -- 4069