Está en la página 1de 5

1.4.

Módulo controlador del VGA

1.4.1 Comportamiento funcional del módulo controlador del VGA


Este módulo se encarga de mostrar la fachada del ascensor, su posición (si se encuentra
en el primer, segundo o tercer piso), y la condición de apertura de las puertas (si se
encuentran abiertas o cerradas). Todo ello en una pantalla de 640x480 píxeles.
Este módulo se encarga de mostrar los resultados (cantidad de bebidas, precio de cada
bebida, vuelto, si hay monedas ilimitadas o no (es decir, se indica si se requiere que se
ingrese la cantidad exacta para comprar un producto o no) en una pantalla 640x480.
Para asignar colores, se utilizan tres multiplexores, cada uno con un selector de 3 bits y
con 8 entradas, de las cuales, una está conectada a tierra (esto se cumple para cada
multiplexor). En la siguiente tabla, se detalla el selector que se utilizó para cada color.

Tabla 8: Relación entre el selector y el color

SELECTOR COLOR

“000” Negro (R=”0000”; G=”0000”; B=”0000”)

“001” Verde (R=”0000”; G=”1111”; B=”0000”)

“010” Azul (R=”0000”; G=”0000”; B=”1111”)

“011” Rojo (R=”1111”; G=”0000”; B=”0000”)

“100” Amarillo (R=”1111”; G=”1111”; B=”0000”)

“101” Gris (R=”0111”; G=”0111”; B=”0111”)

“110” Blanco (R=”1111”; G=”1111”; B=”1111”)

“111” No hay color designado, la entrada está conectada a tierra

En la figura 7 se muestran las entradas y salidas de este módulo.


Figura 7: Módulo controlador VGA.

1.4.2 Diseño del módulo controlador del VGA.


Este diseño permite “escanear” toda la pantalla. Para dirigir un color hacia una
determinada sección, se establecen condiciones, ya sean por rangos o por el valor de
las entradas. A continuación, se añadirá la imagen de parte del VHDL para ejemplificar
lo que se ha comentado.

Figura 7.1: Parte del VHDL del VGA


En este caso, “escalera_a” es una condición determinada por el rango en el que el
contador horizontal y vertical se encuentran; por otro lado, la condición”(eq_A=’1’ and
(....))” se establece por el valor de eq_A y el rango en el que se encuentren los
contadores).

La tabla 1 presenta la descripción de los parámetros de este módulo.

Tabla 9: Parámetros del módulo del controlador VGA

Entrada Función Cantidad de bits


reset_n Señal de reinicio asíncrono del módulo, activa 1
por baja
clock_50 Señal de sincronía de reloj, funciona a una 1
frecuencia de 50MHz
controlador Señal que permite que la cantidad de monedas 1
para dar vuelto sea ilimitada, es decir,
controlador=’0’; mientras que para el caso
contrario, el controlador toma el valor de ‘1’
entreg Señal que indica la entrega del producto 1
eq_A Señal que toma el valor de ‘1’ en caso de que 1
se haya presionado la tecla “A” del teclado
eq_B Señal que toma el valor de ‘1’ en caso de que 1
se haya presionado la tecla “B” del teclado
eq_C Señal que toma el valor de ‘1’ en caso de que 1
se haya presionado la tecla “C” del teclado
qA Señal que indica la cantidad de botellas de agua 4
qP Señal que indica la cantidad de botellas de 4
Pepsi
qC Señal que indica la cantidad de botellas de 4
Coke
vuelto Señal que indica la cantidad de vuelto que será 8
entregado
Salida Función Cantidad de bits
VGA_R Señal que indica la intensidad del componente 4
R (rojo)
VGA_G Señal que indica la intensidad del componente 4
V (verde)
VGA_B Señal que indica la intensidad del componente 4
B (azul)
VGA_HS Señal que toma el valor de '1' de acuerdo al rango 1
donde se encuentre el contador de columnas
VGA_VS Señal que toma el valor de '1' de acuerdo al rango 1
donde se encuentre el contador de filas
Figura 7.2: Circuito interno del módulo controlador del VGA.

Se muestra solo una parte del circuito, puesto que las condiciones para “pintar” las
diversas secciones de la pantalla son de gran extensión y ello no permite que se
pueda observar claramente el circuito general. Asimismo, en la imagen anterior, se
pueden observar los tres multiplexores antes mencionados.

1.4.3. Simulación del módulo controlador del VGA


Figura 8: Simulación del módulo de control del VGA.

1.4.4. Resultados independientes del módulo controlador del VGA


Este bloque consume 1611 Elementos Lógicos del FPGA MAX10 10M50DAF484C7G.

También podría gustarte