Está en la página 1de 13

Construir un controlador de monitor

VGA
Construir un circuito controlador de video es más simple de lo que
piensas. Enoch construyó un monitor VGA
controlador con solo dos contadores binarios ascendentes de 10 bits, cuatro flip-
flops SR y 11 compuertas AND.
Aunque no es un reemplazo para una tarjeta gráfica, es una excelente manera de
mostrar imágenes.
entender las señales de video y
la construcción de circuitos de controlador de video es
Siempre un desafío. Pero las cosas son
cada vez más fácil Hace poco tomé otro
mira la señal de video VGA y
me di cuenta de que podía construir un VGA
Controlador de monitor con solo dos binarios
mostradores, cuatro chanclas y 11 Y
puertas Sí, es cierto, solo dos de 10 bits
contadores binarios, cuatro chanclas SR,
y 11 Y puertas! Ahora, por supuesto,
este no es un reemplazo para tu alta
finalice la tarjeta gráfica en su PC, ni tampoco
incluso una tarjeta de video de gama baja, pero es
capaz de mostrar imágenes en un
Monitor VGA estándar. Más
importante, este simple monitor VGA
circuito controlador le permite fácilmente
entender cómo el monitor VGA
funciona y cómo controlarlo. Cuando yo
introduje esto a mi introducción
clase de diseño de lógica digital, los estudiantes
estaban totalmente asombrados de que pudiera ser
así de simple
PÍXELES EN PANTALLA
Para comenzar, necesitas
entender cómo un monitor VGA
trabajos. La pantalla del monitor para un
formato VGA estándar contiene
640 columnas por 480 filas de
elementos de imagen llamados píxeles
(ver Figura 1). Una imagen es
mostrado en la pantalla por
encendido y apagado individual
píxeles Encendiendo un píxel
no representa mucho, pero
combinando numerosos píxeles
genera una imagen El monitor
continuamente escanea a través del
pantalla completa, girando rápidamente
píxeles individuales de encendido y apagado.
Aunque los píxeles están activados
uno a la vez, obtienes el
impresión de que todos los píxeles son
encendido porque el monitor escanea con rapidez. Es por eso que los monitores antiguos con

las velocidades de escaneo lento parpadean.


La figura 1 muestra que el escaneo
comienza desde la fila 0, columna 0 en la parte superior
esquina izquierda de la pantalla y se mueve a
la derecha hasta llegar al último
columna. Cuando el escaneo alcanza el
final de una fila, se remonta a la
comienzo de la siguiente fila. Cuando
alcanza el último píxel en la parte inferior
esquina derecha de la pantalla, retrocede
vuelve a la esquina superior izquierda y repite
El proceso de escaneo. A fin de que
reducir el parpadeo en la pantalla, todo
la pantalla debe escanearse 60 veces por
segundo (o más). Durante el
trazos horizontales y verticales, todos
Los píxeles están apagados.
CINCO SEÑALES DE CONTROL
El monitor VGA es controlado por
cinco señales: rojo, verde, azul,
sincronización horizontal, y
la sincronización vertical. El tres
señales de color, denominadas colectivamente
como señal RGB, controla el color de un píxel en una ubicación determinada en el

pantalla. Son señales analógicas con


voltajes que varían de 0.7 a 1 V.
Las diferentes intensidades de color son
obtenido variando el voltaje. por
simplicidad, su circuito tratará estos
señales tricolores como señales digitales,
así que puedes encender cada uno o
apagado. Como resultado, el circuito es capaz
de mostrar solo ocho colores (2 3 =
8) La conversión de digital a analógico
circuito se muestra en la Figura 2a. Figura
2b muestra un digital ligeramente mejorado
circuito convertidor analógico que puede
mostrar hasta 64 colores (2 6 ).
El horizontal y vertical
las señales de sincronización se utilizan para
controla el tiempo de la velocidad de escaneo.
A diferencia de las tres señales RGB analógicas,
estas dos señales de sincronización son digitales
señales En otras palabras, asumen
ya sea un valor lógico 0 o lógico 1. los
señal de sincronización horizontal
determina el tiempo que lleva escanear un
fila, mientras que la vertical
señal de sincronización determina el
tiempo que toma escanear el
pantalla completa
Comprender cómo
controlar un monitor VGA
simplemente se reduce a
entendiendo el
tiempos para estos dos
Señales de sincronización.
Al manipular estos
dos señales de sincronización y la
tres señales RGB,
las imágenes se forman en
La pantalla del monitor.
TIEMPOS DE SINCRONIZACIÓN
El horizontal y
la sincronización vertical
diagrama de tiempo de señal es
mostrado en la Figura 3.
Cuando está inactivo, ambos
las señales de sincronización son lógicas 1
valor. Una exploración de fila comienza con el
señal de sincronización horizontal baja para
3.77 μs (ver sección B en la Figura 3). UNA
1.79-μs de alto en la señal sigue esto
(Ver sección C en la Figura 3). A continuación, el
se envían datos para las tres señales de color,
un píxel a la vez, para el 640
columnas para 25,42 μs. Finalmente despues
el último píxel de la columna, hay otro
0.79 μs de inactividad en el RGB
líneas de señal para el retroceso horizontal
antes de que salga la señal de sincronización horizontal
bajo nuevamente para el siguiente escaneo de fila. los
el tiempo total para completar el escaneo de una fila es
31,77 μs.
El tiempo para la sincronización vertical
la señal es análoga a la horizontal
uno. El activo vertical bajo de 64 μs
la señal de sincronización restablece el escaneo a la parte superior
esquina izquierda de la pantalla (ver sección P
en la figura 3). Sigue una altura de 1,020 μs
esto en la señal. A continuación, están los
480 escaneos de fila de 31.77 μs, que dan un total
de 15,250 μs (480 × 31.77), como se muestra
en la sección R.
Finalmente, después del escaneo de la última fila, hay
son otros 450 μs antes de la vertical
la señal de sincronización baja nuevamente para comenzar
otro escaneo de pantalla completo en el
Esquina superior izquierda. Se necesita un total de
16,784 μs para completar una pantalla completa
escanear.
Para que el monitor funcione
correctamente, simplemente obtenga la horizontal y
sincronización vertical de señales correctas un píxel en una ubicación determinada en el

pantalla. Son señales analógicas con


voltajes que varían de 0.7 a 1 V.
Las diferentes intensidades de color son
obtenido variando el voltaje. por
simplicidad, su circuito tratará estos
señales tricolores como señales digitales,
así que puedes encender cada uno o
apagado. Como resultado, el circuito es capaz
de mostrar solo ocho colores (2 3 =
8) La conversión de digital a analógico
circuito se muestra en la Figura 2a. Figura
2b muestra un digital ligeramente mejorado
circuito convertidor analógico que puede
mostrar hasta 64 colores (2 6 ).
El horizontal y vertical
las señales de sincronización se utilizan para
controla el tiempo de la velocidad de escaneo.
A diferencia de las tres señales RGB analógicas,
estas dos señales de sincronización son digitales
señales En otras palabras, asumen
ya sea un valor lógico 0 o lógico 1. los
señal de sincronización horizontal
determina el tiempo que lleva escanear un
fila, mientras que la vertical
señal de sincronización determina el
tiempo que toma escanear el
pantalla completa
Comprender cómo
controlar un monitor VGA
simplemente se reduce a
entendiendo el
tiempos para estos dos
Señales de sincronización.
Al manipular estos
dos señales de sincronización y la
tres señales RGB,
las imágenes se forman en
La pantalla del monitor.
TIEMPOS DE SINCRONIZACIÓN
El horizontal y
la sincronización vertical
diagrama de tiempo de señal es
mostrado en la Figura 3.
Cuando está inactivo, ambos

U
Columna 0
Fila 0
Columna 639
Fila 479
640 píxeles por fila
480 píxeles
por columna
Vertical
recordar
Horizontal
recordar
Horizontal
escanear
VGA
Monitor
Pantalla
Figura 1: el monitor VGA tiene 640 columnas y 480 filas. Comienza el escaneo
desde la fila 0, columna 0 y se mueve hacia la derecha y hacia abajo hasta llegar a la fila
479 columna 639

Página 2
13
Número 172
Noviembre de 2004
BODEGA DE CIRCUITO ®
www.circuitcellar.com
las señales de sincronización son lógicas 1
valor. Una exploración de fila comienza con el
señal de sincronización horizontal baja para
3.77 μs (ver sección B en la Figura 3). UNA
1.79-μs de alto en la señal sigue esto
(Ver sección C en la Figura 3). A continuación, el
se envían datos para las tres señales de color,
un píxel a la vez, para el 640
columnas para 25,42 μs. Finalmente despues
el último píxel de la columna, hay otro
0.79 μs de inactividad en el RGB
líneas de señal para el retroceso horizontal
antes de que salga la señal de sincronización horizontal
bajo nuevamente para el siguiente escaneo de fila. los
el tiempo total para completar el escaneo de una fila es
31,77 μs.
El tiempo para la sincronización vertical
la señal es análoga a la horizontal
uno. El activo vertical bajo de 64 μs
la señal de sincronización restablece el escaneo a la parte superior
esquina izquierda de la pantalla (ver sección P
en la figura 3). Sigue una altura de 1,020 μs
esto en la señal. A continuación, están los
480 escaneos de fila de 31.77 μs, que dan un total
de 15,250 μs (480 × 31.77), como se muestra
en la sección R.
Finalmente, después del escaneo de la última fila, hay
son otros 450 μs antes de la vertical
la señal de sincronización baja nuevamente para comenzar
otro escaneo de pantalla completo en el
Esquina superior izquierda. Se necesita un total de
16,784 μs para completar una pantalla completa
escanear.
Para que el monitor funcione
correctamente, simplemente obtenga la horizontal y
sincronización vertical de señales correctas
y luego enviar los datos RGB para
cada píxel en la columna y fila de la derecha
posición. Por ejemplo, si quieres
encienda el píxel rojo en la fila 13 y
columna 48, espere a que llegue el escaneo
fila 13 y columna 48 y luego establezca el
señal roja a la lógica 1. Para lograr
esto, necesitas generar el
señales de sincronización horizontal y vertical
correctamente basado en los diagramas de tiempo
se muestra en la Figura 3. También debe
realizar un seguimiento de la fila actual y
la columna cuenta para que sepa
donde está el escaneo. Resulta que tu
puede hacer ambas cosas usando el
mismo componente, que es el binario
en el mostrador Necesitas dos contadores.
Uno es para generar el horizontal
sincronizar y mantener el tracto de la columna
contar. El segundo es para generar el
sincronización vertical y seguimiento de la
número de filas.
CONTEO DE CICLOS DE RELOJ
Obtener el momento correcto para el
dos señales de sincronización es simple
si usa la frecuencia de reloj correcta.
Para obtener la pantalla 480 × 640
resolución, use un reloj con un 25.175-
Frecuencia de MHz. Un reloj más alto
frecuencia es necesaria para un mayor
resolución de la pantalla. Para los 25.175 MHz
reloj, el período es el siguiente:
66

10
175.25
1
×
o aproximadamente 0.0397 μs por reloj
ciclo. Para la sección B de la horizontal
señal de sincronización, necesita 3.77
μs, que es aproximadamente 95 reloj
ciclos (3.77 / 0.0397). Para la sección C en
Figura 3, necesita 1.79 μs, que es
aproximadamente 45 ciclos de reloj.
Del mismo modo, necesita 640 ciclos de reloj
(sección D) para las 640 columnas de
píxeles y 20 ciclos de reloj para la sección
MI.
El número total de ciclos de reloj.
necesario para cada escaneo de fila es 800 reloj
ciclos (95 + 45 + 640 + 20). Aviso
que con un reloj de 25.175 MHz,
la sección D requiere exactamente 640 ciclos,
generando las 640 columnas por fila. Si
usa una velocidad de reloj diferente, usted
obtendrá una resolución de pantalla diferente.
El número de ciclos de reloj requeridos
por las cuatro regiones en la horizontal
La señal de sincronización se resume en la Tabla 1.
Porque la señal de sincronización vertical es
análogo a la sincronización horizontal
señal, puedes realizar lo mismo
cálculos como con el horizontal
sincronizar regiones para obtener el número de
ciclos necesarios para cada región vertical.
Sin embargo, en lugar de usar el número
de períodos de un reloj de 25.175 MHz, el
los tiempos para cada región vertical son
múltiplos del ciclo horizontal. por
ejemplo, el tiempo para un horizontal
el ciclo es de 31.77 μs, y la sección P
requiere 64 μs, que es aproximadamente
dos ciclos horizontales (2 × 31.77).
La sección Q requiere 1.020 μs, que
es igual a 32 ciclos horizontales
(1.020 / 31,77). El cálculo para
la sección R es 480 ciclos horizontales
(15,250 μs / 31.77 μs). Por supuesto, tiene
ser exactamente 480 veces, porque tú
necesita tener 480 filas por pantalla. los
cantidad de ciclos horizontales requeridos
por las cuatro regiones en la sincronización vertical
La señal también se resume en la Tabla 1.
Si usa un reloj de 25.175 MHz para
conducir un contador para que aumente a
cada ciclo de reloj, todo lo que tienes que hacer
para obtener la sincronización horizontal correcta
señal es contar el número correcto de
ciclos para cada región. Comenzando el
cuenta en cero, establece la sincronización horizontal
señal (H_Sync_out) a cero (para baja).
Cuando el recuento llegue a 95, establezca
H_Sync_out a uno (para alto). Cuando
el recuento alcanza 140 (95 + 45), sigue
H_Sync_out a la una. Cuando el recuento
alcanza 780 (95 + 45 + 640), continuar
para mantener H_Sync_out en uno. Finalmente cuando
el recuento alcanza 800 (95 + 45 + 640 + 20
), establezca H_Sync_out en cero y restablezca el
contador a cero. Esto completa un período
de la señal H_Sync_out.
Del mismo modo, puedes usar otro
contador para la señal de sincronización vertical.
El reloj para este contador se deriva
desde el mostrador horizontal para que el
contador vertical cuenta una vez por cada
ciclo horizontal CIRCUITO CONTROLADOR VGA

Dos contadores ascendentes binarios de 10 bits son


necesario para la horizontal y vertical
sincronizar señales. Un contador de 9 bits solo puede
cuenta hasta 512 (29), pero necesita
contar hasta 528 y 800 para el
señales de sincronización vertical y horizontal
respectivamente. Un contador de 10 bits puede
contar hasta 1,024 (210). A 10 entradas
La compuerta AND se usa para comparar
cuenta con una constante. La figura 4 muestra
la conexión de una entrada de 10 Y
puerta para comparar con la constante
95. Porque 95 es igual a 0001011111 en
binario, bits 6, 8, 9 y 10 (comenzando
del LSB) de las 10 entradas Y
La puerta está invertida. Cuatro tales
comparadores se utilizan para los cuatro
regiones horizontales, cada una conectada
de acuerdo con el valor final de conteo
eso es para ser probado.
Dentro de cada región, necesitas
mantener el valor de la horizontal
señal de sincronización Por ejemplo, en el recuento
cero, establezca H_Sync_out en cero; pero
entre recuentos cero y 95,
H_Sync_out debe mantenerse en cero. Un
El flip-flop SR se usa para mantener la señal
estable. Recordemos que el flip-flop SR
establece la salida Q en uno cuando el
el conjunto de entrada se afirma con un uno. Eso
restablece la salida Q a cero cuando el
El restablecimiento de entrada se afirma con un uno. Si
tanto las entradas configuradas como las de reinicio están desactivadas
con un cero, entonces la salida Q será
mantener su valor actual. Por lo tanto, a
obtener la señal de sincronización horizontal, usted
puede afirmar la entrada de reinicio cuando el
cuenta es cero (u 800) y afirma el
establecer entrada cuando el recuento es 95. La Q
La salida del flip-flop SR es ahora la
H_Sync_out señal.
Puedes hacer una de tres cosas para
realizar un seguimiento del recuento de columnas de
cero a 639 en la región D. El primero
la solución es usar otro contador que
cuenta de cero a 639 usando el
misma frecuencia de reloj que la horizontal
contador de sincronización, pero este contador cuenta
solo cuando el contador de sincronización horizontal
está en la región D. Esta solución requiere
Un contador extra.
La segunda solución es restar
el desplazamiento para las regiones B y C, entonces
que cuando el contador de sincronización horizontal
alcanza 140 (95 + 45), lo harás
restar 140 para obtener un cero. Entonces, 141
menos 140 producirá uno, 142
menos 140 producirá un dos, y así
en. Esta solución requiere un extra
unidad de resta.
La última solución es la mejor. Simplemente
compensar el contador de sincronización horizontal para
que comienzas el conteo en el
comienzo de la región D en lugar de
comenzando al principio de la región B.
Al comienzo de la región D, el
el recuento se restablece a cero. Al final de
región D, el recuento será de 639.
De esta manera, cuando el mostrador está
contando en la región D, el recuento
también representa la columna correcta
contar. Por lo tanto, el contador alcanzará
800 al final de la región C.
Poniendo todo junto, obtienes
los circuitos que se muestran en la Figura 5. Figura
5a muestra el contador horizontal con
las cuatro puertas Y para la prueba de
cuatro valores de región horizontal D, D +
E, D + E + B y D + E + B + C. El
salida del contador es la columna
contar.
El circuito también emite un
Señal ROLL_OVER, que se utiliza para
restablecer el contador horizontal a cero
y es también la señal de reloj para
Contador vertical. Esta señal se afirma
cada vez que el contador llega a 800.
Cuando la señal es una, afirma el
Entrada de carga del contador. Cuando esto
sucede, la entrada del contador de 10 bits
el valor D9–0 (que es una constante 0) es
cargado en el mostrador. La cuenta
la entrada del contador ascendente siempre se establece en
uno, porque quieres que el contador
cuenta continuamente. El contador de arriba la entrada clara está conectada a un reinicio

cambiar. La entrada del reloj está conectada


a un reloj de 25.175 MHz.
La figura 5b muestra la vertical
mostrador. Es casi idéntico al
contador de circuito horizontal, excepto
el reloj y los valores probados por
las cuatro puertas Y El reloj para esto
counter es la señal ROLL_OVER
desde el mostrador horizontal. los
los valores probados por las puertas AND son
los valores de la región vertical R, R + S, R
+ S + P y R + S + P + Q.
El monitor VGA completo
el circuito del controlador se muestra en la Figura
5c. El H_DATA_ON y
Se generan señales V_DATA_ON
de manera similar a la
H_SYNC_OUT y V_SYNC_OUT
señales, excepto que se establecen en uno
cuando los contadores están en D y R
regiones. Fuera de estas regiones, ellos
se ponen a cero.
La señal H_DATA_ON se establece en un
uno cuando el contador horizontal está en
cero (800). Se restablece a cero cuando
el mostrador está en 640. El
La señal V_DATA_ON se establece en uno
cuando el contador vertical está en cero
(528) Se restablece a cero cuando el
el contador está en 480. Estos dos
Las señales DATA_ON se utilizan para habilitar
La salida de las señales RBG. los
Señales RGB conectadas al monitor
debe activarse solo cuando los dos
las señales de sincronización están en las regiones D y R.
Tres puertas Y, una para cada una de las
tres señales de color, se utilizan para habilitar
Las señales de color. El H_DATA_ON
y las señales V_DATA_ON son las
líneas de facilitador a las puertas AND.
El símbolo lógico para el VGA
El controlador se muestra en la Figura 5d. los
H_SYNC_OUT, V_SYNC_OUT,
RED_OUT, GREEN_OUT y
Las señales BLUE_OUT se conectan directamente
a los pines 13, 14, 1, 2 y 3 del VGA
conector Opcionalmente puedes conectarte
un interruptor a la entrada Restablecer. El reloj
La fuente es un reloj de 25.175 MHz. A
mostrar algo en la pantalla, usted
necesita verificar los valores de
COLUMN_OUT y ROW_OUT,
y establece el ROJO, VERDE y AZUL
señales en consecuencia.
PRUEBA DE CONTROLADOR
Para activar un píxel en particular, usted
necesita probar los valores de la columna
y recuentos de filas desde el controlador. Si
son iguales a la ubicación de la
píxel que desea activar, entonces usted
afirmar cualquiera de las señales de color, y que
el píxel se activará con ese color.
Por ejemplo, si quieres el píxel en
columna 3, fila 5 para ser azul, entonces usted
necesita verificar los valores de
COLUMN_ OUT y ROW_OUT
desde el controlador para ver si son
igual a tres y cinco respectivamente. Si
son, establezca la señal de entrada AZUL en
una; de lo contrario, ajústelo a cero.
La Figura 6 muestra el circuito para
mostrando un borde rojo alrededor del
monitor usando el monitor VGA
controlador. Cuatro puertas Y se utilizan para
prueba para el borde de la columna y la fila
valores. Porque la resolución de pantalla
es 480 × 640, los cuatro valores de borde para
prueba son columna = 0, columna = 639,
fila = 0 y fila = 479. Si uno de
estas pruebas son verdaderas, luego configure el rojo
señal a uno.
En lugar de utilizar circuitos integrados discretos para
construyendo el circuito controlador, yo
implementado el controlador en un
Chip FPGA usando el UP2 de Altera
Junta de desarrollo. El tablero tiene un
conector VGA incorporado con los cinco
pines de señal conectados a la FPGA
chip. El controlador del monitor VGA,
junto con un circuito de prueba de demostración
para crear una imagen de pantalla, es
implementado en el chip FPGA en el
tablero.
La foto 1 muestra el tablero UP2
teniendo el circuito controlador y una
circuito de prueba de demostración
implementado en la FPGA. los
circuito de prueba de demostración genera una
borde rojo, dos letras azules,
y un cuadrado verde en el
pantalla del monitor. Más bien que
conectar manualmente el
numerosas puertas AND y OR
necesario para comparar con el
varias columnas y filas
valores para encender el RGB
señales, he escrito un
Código VHDL para la prueba
circuito. La prueba completa
código de circuito para generar el
la imagen se muestra en el Listado 1.
Después de sintetizar el código,
la netlist resultante, junto
con el controlador del monitor
circuito, se descarga al
Chip FPGA. El resultado es
mostrado en el monitor en
la entrada clara está conectada a un reinicio
cambiar. La entrada del reloj está conectada
a un reloj de 25.175 MHz.
La figura 5b muestra la vertical
mostrador. Es casi idéntico al
contador de circuito horizontal, excepto
el reloj y los valores probados por
las cuatro puertas Y El reloj para esto
counter es la señal ROLL_OVER
desde el mostrador horizontal. los
los valores probados por las puertas AND son
los valores de la región vertical R, R + S, R
+ S + P y R + S + P + Q.
El monitor VGA completo
el circuito del controlador se muestra en la Figura
5c. El H_DATA_ON y
Se generan señales V_DATA_ON
de manera similar a la
H_SYNC_OUT y V_SYNC_OUT
señales, excepto que se establecen en uno
cuando los contadores están en D y R
regiones. Fuera de estas regiones, ellos
se ponen a cero.
La señal H_DATA_ON se establece en un
uno cuando el contador horizontal está en
cero (800). Se restablece a cero cuando
el mostrador está en 640. El
La señal V_DATA_ON se establece en uno
cuando el contador vertical está en cero
(528) Se restablece a cero cuando el
el contador está en 480. Estos dos
Las señales DATA_ON se utilizan para habilitar
La salida de las señales RBG. los
Señales RGB conectadas al monitor
debe activarse solo cuando los dos
las señales de sincronización están en las regiones D y R.
Tres puertas Y, una para cada una de las
tres señales de color, se utilizan para habilitar
Las señales de color. El H_DATA_ON
y las señales V_DATA_ON son las
líneas de facilitador a las puertas AND.
El símbolo lógico para el VGA
El controlador se muestra en la Figura 5d. los
H_SYNC_OUT, V_SYNC_OUT,
RED_OUT, GREEN_OUT y
Las señales BLUE_OUT se conectan directamente
a los pines 13, 14, 1, 2 y 3 del VGA
conector Opcionalmente puedes conectarte
un interruptor a la entrada Restablecer. El reloj
La fuente es un reloj de 25.175 MHz. A
mostrar algo en la pantalla, usted
necesita verificar los valores de
COLUMN_OUT y ROW_OUT,
y establece el ROJO, VERDE y AZUL
señales en consecuencia.
PRUEBA DE CONTROLADOR
Para activar un píxel en particular, usted
necesita probar los valores de la columna
y recuentos de filas desde el controlador. Si
son iguales a la ubicación de la
píxel que desea activar, entonces usted
afirmar cualquiera de las señales de color, y que
el píxel se activará con ese color.
Por ejemplo, si quieres el píxel en
columna 3, fila 5 para ser azul, entonces usted
necesita verificar los valores de
COLUMN_ OUT y ROW_OUT
desde el controlador para ver si son
igual a tres y cinco respectivamente. Si
son, establezca la señal de entrada AZUL en
una; de lo contrario, ajústelo a cero.
La Figura 6 muestra el circuito para
mostrando un borde rojo alrededor del
monitor usando el monitor VGA
controlador. Cuatro puertas Y se utilizan para
prueba para el borde de la columna y la fila
valores. Porque la resolución de pantalla
es 480 × 640, los cuatro valores de borde para
prueba son columna = 0, columna = 639, fila = 0 y fila = 479. Si uno de

estas pruebas son verdaderas, luego configure el rojo


señal a uno.
En lugar de utilizar circuitos integrados discretos para
construyendo el circuito controlador, yo
implementado el controlador en un
Chip FPGA usando el UP2 de Altera
Junta de desarrollo. El tablero tiene un
conector VGA incorporado con los cinco
pines de señal conectados a la FPGA
chip. El controlador del monitor VGA,
junto con un circuito de prueba de demostración
para crear una imagen de pantalla, es
implementado en el chip FPGA en el
tablero.
La foto 1 muestra el tablero UP2
teniendo el circuito controlador y una
circuito de prueba de demostración
implementado en la FPGA. los
circuito de prueba de demostración genera una
borde rojo, dos letras azules,
y un cuadrado verde en el
pantalla del monitor. Más bien que
conectar manualmente el
numerosas puertas AND y OR
necesario para comparar con el
varias columnas y filas
valores para encender el RGB
señales, he escrito un
Código VHDL para la prueba
circuito. La prueba completa
código de circuito para generar el
la imagen se muestra en el Listado 1.
Después de sintetizar el código,
la netlist resultante, junto
con el controlador del monitor
circuito, se descarga al
Chip FPGA. El resultado es
mostrado en el monitor en
Foto 1.
Para mostrar más
imágenes complejas, la memoria se utiliza para
realizar un seguimiento de qué píxel debe ser
encendido o apagado y para qué color
(en lugar de usar numerosas compuertas AND
como comparadores para verificar la
valores actuales de columna y fila). Si
tiene una ubicación de memoria para
cada color de cada píxel, puedes usar
los recuentos de columnas y filas de la
controlador como la dirección para el
memoria. El contenido de la memoria.
la ubicación será el valor para el color
señales

También podría gustarte