Adquisición y Filtrado de Imagen

From Qi-Hardware
Jump to: navigation, search

Ivan Jose Galindo Cod. 261389 Fabio Andres Valbuena Cod. 261439 Andrés Arturo Ariza Cód.: 261370.

Contents

[edit] Calificación

Porcentaje Presentación 20% Informe 30% Funcionamiento 50%
1 Entrega 10% 0.5 0.5 0.5
2 Entrega 30% 0 0 0
3 Entrega 20% 1 1 0

[edit] Especificaciones del Sistema

En este proyecto para electrónica Digital II se busca, utilizando el sensor de imagen TCM8240MD de Toshiba, lograr obtener una fotografía para una posterior visualización en TFT LCD , con la posibilidad de aplicar modificaciones mediante filtros a la imagen. Lo anterior utilizando el PLASMA e implementado en la tarjeta de desarrollo SIE [1]. En el enlace que se expone a continuación se encuentra la presentación tipo diapositivas de este proyecto http://www.4shared.com/file/T9OxuLTp/PROPUESTA_PROYECTO_ELECTRONICA.html .

[edit] Funcionamiento

Mediante una señal dada por el usuario, se configurara el sensor de imagen, mediante las especificaciones dadas por la resolución del LCD y la memoria. Luego de la configuración el usuario indicara que se tome una foto, hasta que este evento no suceda en el LCD no se visualizara nada, al tomar foto los datos enviados por el sensor de imagen son entonces recibidos por el procesador el cual los guardara en memoria, y luego los extraerá y enviara hacia el control de LCD, el cual generara los sincronismos para ver la imagen. Por ultimo el usuario tendrá la opción de filtrar la imagen, al dar esta orden el procesador operara los datos guardados en memoria, el LCD ya no mostrara nada y luego visualizara de nuevo la imagen filtrada.

[edit] Diagrama de Bloques

Diagrama general de bloques:

Dia bloq digii.jpeg

Diagrama bloques perifericos:

Newblockdiagram.jpg

[edit] Modulo Camara

El modulo cámara controla las señales de datos generadas por el sensor de imagen y las envia a los bloques de memoria interna de la fpga. El siguiente archivo pdf incluye el diagrama de flujo, los diagrama de bloques y la maquina de control.

Moduloscamara.pdf

[edit] Modulo Control IIC

El modulo de i2c se encarga de configurar los registros necesarios en el sensor de imagen para originar en este las tramas de datos para la resolución específica, esto mediante las señales de SDA y SCL. En el archivo TCM8240MD se muestran las condiciones de operaciones de las señales y en este archivo Notes IIC se pueden observar los registros a configurar para cada resolución. En las siguientes imágenes se muestran los diagramas de bloques y diagrama general de maquina de estados del modulo I2C originados a partir del código para esta comunicación elaborado por los estudiantes del semestre 2009-II de Electrónica Digital I de la Universidad Nacional de Colombia.

Iic.jpeg

La figura anterior muestra el diagrama de bloques general del modulo de control de IIC.

Escrituraiic.jpeg

La figura anterior muestra el diagrama de bloques para el modulo de escritura del modulo de control de IIC.

Maqctrliic.jpeg

La figura anterior muestra el diagrama general de la maquina de control del modulo de control de IIC.

[edit] Modulo LCD

Este modulo se encarga de controlar las señales de sincronismo y visualizacion de datos en el LCD. El siguiente es el diagrama de flujo para este modulo.

Flujomodlcd.jpeg

[edit] Modulo de Filtrado

El filtro modificaría la imagen mediante operaciones sobre los datos almacenados, en este caso se pretende realizar el filtrado a partir de que se conoce como esta compuesto cada pixel que envía el sensor de imagen. El tipo de filtro seria espacial, en este caso se realizan operaciones mediante mascaras, cada pixel de la nueva imagen se obtiene mediante la sumatoria de la multiplicación de la máscara por la vecindad del pixel, generalmente se divide sobre cierto valor constante para normalizar, y este valor viene dado por el tamaño de la mascar. Para operar en los bordes de la imagen se puede asumir valores de 0 o 1 en los pixeles vecinos o tomar el valor del mismo pixel. El siguiente es el diagrama de flujo para el modulo de filtrado.

Flujofiltro.jpeg

[edit] Modulo de Memoria Interna

Dado la cantidad de pines de entrada/salida que dispone la FPGA Spartan3 en la tarjeta SIE y la necesidad de disponer esos pines para el uso del sensor de imagen y el display LCD, se opta entonces por el uso de un modulo de memoria interna basado en el modulo RAMB16_Sm_Sn (16384-Bit Data Memory and 2048-Bit Parity Memory, Dual-Port Synchronous Block RAM with Port Width (m or n) Configured to 1, 2, 4, 9, 18, or 36 Bits) de Xilinx, el cual se encuentra aquí y que contiene PLASMA en el archivo ram_xilinx.vhd. Dado que el PLASMA ocupa 16kbits de un total de memoria de 64kbits el espacio libre de memoria para el almacenamiento de los datos es de 48kbits esto a una resolucion SubQcif en el sensor nos permitira guardar solo 2 bits por pixel.

[edit] Particionamiento de Tareas Hardaware/Software

TAREA HW:

Control Sensor Imagen(Manejo de la señales generadas por el sensor de imagen y que necesita para funcionar)

Configuración I2C(Configuracion de los registros del sensor de imagen para ajustar su resolucion)

Control LCD(Generacion de los sincronismos)

Filtro de Imagen(Operaciones de mascara sobre la imagen)

[edit] Mapeo de Memoria

La distribucion de la memoria se presenta mediante la modificacion del archivo plasma.h del PLASMA junto a los bits de interrupcion.

/*********** Hardware addesses ***********/
#define RAM_INTERNAL_BASE 0x00000000 //8KB
#define UART_BASE         0x00004200 //17kb
#define UART_WRITE        0x00004200
#define UART_READ         0x00004200
#define UART_STATUS       0x00004200
#define IRQ_MASK          0x00004210
#define IRQ_STATUS        0x00004220
#define USUARIO_START     0X00004230
#define USUARIO_RESERT    0X00004230
#define USUARIO_FILTRO    0X00004230
#define SENSOR_STADE      0x00004240
#define I2C_STADE         0X00004250
#define LCD               0x00004260
#define FILTRO_STADE      0x00004270
#define MEMORY_DATA_BASE  0x00004280 //almacenamiento de datos 48kbits

/*********** Interrupt bits **************/
#define IRQ_UART_READ_AVAILABLE  0x01
#define IRQ_UART_WRITE_AVAILABLE 0x02
#define IRQ_USUARIO              0x04
#define IRQ_FILTRO               0x08
#define IRQ_LCD                  0x10
#define IRQ_SENSOR               0x12
#define IRQ_I2C                  0x14

[edit] Esquematico y PCB

El esquematico para el sensor de imagen es diseño del ingeniero Carlos Camargo, y se encuentra en los siguientes links:

Esquematico1

Esquematico_2

En cuanto a la tarjeta de comunicaciones entre SIE y perifericos, el esquematico y PCB se muestran a continuación.

[edit] Cronograma

Semana 	Fecha	                Actividad
S8	28 Sep – 3 de Octubre	Revision 2
S9	5-10 de Octubre	        PCB finalizada-Códigos Módulos I2C, SENSOR, LCD
S10	12-17 de Octubre	Código Modulo Filtro, Revisión de cada Modulo
S11	19-24 de Octubre	Integración Plasma
S12	26-31 de Octubre	Integración Plasma
S13	2-7 de Noviembre	Pruebas
S14	9-14 de Noviembre	Modificaciones
S15	16-21 de Noviembre	Informe Final
S16	23-28 de Noviembre	Entrega Proyecto Final
Personal tools
Namespaces
Variants
Actions
Navigation
interactive
Toolbox
Print/export