Tarjeta gráfica VGA casera simple

Hasta donde sé, mucha gente está interesada en conectar el microcontrolador a un monitor normal y tratar de mostrar algo en la pantalla. Este artículo discutirá la creación de la tarjeta de video VGA más simple basada en el microcontrolador atmega168-20.

En términos generales, este proyecto tiene cien años a la hora del almuerzo. Pero una vez prometí hablar de esta tarjeta de video aquí también, pero todo fue pereza. Ahora es el momento de cumplir la promesa.

Esta tarjeta de video produce una imagen con una resolución de 254x240 píxeles con 256 colores. Todo esto funciona en el modo VGA estándar 640x480 a 60 Hz de barrido. Probé esta tarjeta de video con 6 monitores (1 CRT y 5 LCD), mientras que la tarjeta funcionaba en todos los monitores, excepto en el monitor Acer. Lo que no le gustó la señal, no lo entendí.

En la versión de maqueta, la tarjeta de video se ve así: La



tarjeta de video consta de dos módulos: un módulo de memoria y un módulo DAC.

El módulo de memoria simplemente genera señales de sincronización (HS, VS) y supresión del haz (BL) y emite un código de color (D0 ... D7), que el módulo DAC convierte a 0-0.7 V y lo envía al monitor. El microcontrolador del módulo de memoria simplemente revisa las direcciones de la RAM estática, y los datos de la RAM son del color de los puntos. Usando un microcontrolador Atmega168 con una frecuencia de 20 MHz, se requieren 2 ciclos de reloj por punto, por lo tanto, esta parte del programa se escribe en ensamblador y se despliega en un fragmento repetitivo para cada punto de la línea. Me permitiré no describir el desarrollo de lapso de tiempo de una señal VGA, especialmente porque Internet está lleno de información sobre este tema (aunque a menudo no coincide entre sí), y me he olvidado bastante del diagrama de tiempos en los últimos años. tarjeta de video.


Esquema del módulo de memoria (se abre en una nueva ventana, puede aumentar).

El módulo DAC consta de tres DAC R-2R ordinarios con teclas y un seguidor de emisor de salida (debido a que una gama de colores se "corta" un poco). Si a alguien se le ocurre qué tan barato y enojado arreglar este "apuñalamiento", puede hacer un comentario. En un gato de radio me aconsejaron que reemplazara el repetidor del emisor por uno de origen, pero aún no revisé este consejo. Como puede ver en el diagrama, asigné 3 bits al rojo, 3 bits al verde y 2 bits al azul. Tomé transistores KT-315. :)


Circuito DAC.

El controlador de control determina qué mostrará exactamente la tarjeta de video. Su tarea es configurar la dirección en el bus de direcciones (A0 ... A15), configurar los datos en el bus de datos (D0 ... D7), configurar las señales WR (escribir a bajo nivel), OE (permiso para emitir datos a bajo nivel) y configurar Señal A / B (cambio de memoria para trabajar con el controlador de control a un nivel bajo). El controlador de control recibe una señal de supresión del haz (BL) de la tarjeta de memoria, que puede usarse para sincronizar la grabación con la memoria de la tarjeta de video.

Tal tarjeta de video funciona así:


Placas de circuitos impresos y firmware con su fuente.

¡Buena suerte en el desarrollo del proyecto!

All Articles