CAPÍTULO 2. Fundamentos para la realización de la ingeniería inversa a la T424
2.5 Adaptador Gráfico de Video
2.5.2 VGA en modo gráfico
El modo gráfico permite generar gráficos y dibujos mediante funciones y procedimientos muy fáciles de usar. La pantalla en el modo gráfico permite tener control a nivel de los pixeles y no a nivel de celdas de caracteres, y además, como estos pixeles o puntos están separados unos de otros a tan solo pequeñísimas distancias, al observar todos estos puntos parecen formar una sola imagen, de modo que se logra tener una mayor definición de las imágenes (Chu, 2008).
Dentro de las aplicaciones del modo gráfico, se tienen programas que grafiquen funciones matemáticas, problemas de física, pequeños videojuegos, editores de dibujos, y una variedad de aplicaciones, todo depende de nuestra imaginación.
Todo computador viene integrado con algún tipo de tarjeta adaptadora de video, y al momento de iniciar el modo gráfico se requiere identificar el tipo de este adaptador, ya que el control que se tiene sobre estos adaptadores se produce por medio de seis archivos (*.BGI) controladores de interfaz gráfica, entre los cuales tenemos, a los archivos ATT.BGI, CGA.BGI, EGAVGA.BGI, HERC.BGI, IBM8514.BGI y PC3270.BGI.BGI. A estos archivos se les conoce como "Controladores de video" o "Drivers", y normalmente se encuentran localizados en el directorio o carpeta "C:\TP\BGI", aunque la ruta de este directorio puede ser diferente de la instalación de Turbo Pascal que usted tenga(Alvarez, 2000).
Figura 2.8. Modo gráfico de video en la pantalla(Alvarez, 2000).
Si la frecuencia del reloj del sistema es de 25 MHz, el circuito puede implementarse por dos contadores especiales: un contador de módulo 800 para realizar un seguimiento de la exploración horizontal y un contador de módulo 525 para realizar un seguimiento de la exploración vertical. Puesto que nuestros diseños suelen utilizar el oscilador de 50 MHz, la velocidad de reloj del sistema es el doble de la tasa de píxeles (Chu, 2008).
El código HDL se compone de un contador de módulo 2 para generar los 25 MHz y dos contadores para las exploraciones horizontales y verticales. Empleando dos señales de estado, H-extremo y V-extremo, para indicar la finalización de las exploraciones horizontales y verticales. Los valores de las diversas regiones de las exploraciones horizontales y verticales se definen como constantes. Ellos pueden ser fácilmente modificados si se utiliza una resolución diferente o frecuencia de actualización. Para eliminar fallas potenciales, buffers de salida se insertan para las señales hsync y vsync. Esto conduce a un retraso de un ciclo de reloj. Hay que añadir un buffer similar para la señal RGB en el pixel circuito de generación para compensar el retraso (Chu, 2008).
La sincronización horizontal se realiza en un período de la señal hsync que contiene 800 píxeles y puede ser dividido en cuatro regiones (Chu, 2008):
Pantalla: región donde los pixeles aparecen en realidad en la pantalla. La longitud de esta región equivalente en tiempo es de 640 píxeles.
señal de vídeo debe ser desactivada (es decir, Negro), y la longitud equivalente en tiempo de esta región es de 96 píxeles.
Borde derecho: la región que forma el borde derecho de la zona de visualización. También se conoce como frontporch (es decir, porche antes de retroceso). La señal de vídeo debe ser desactivado, y la longitud de esta región equivalente en tiempo es de 16 píxeles.
Borde izquierdo: es la región que forma el borde izquierdo de la zona de visualización. También se conoce como backporch (es decir, porche después de retraso). La señal de vídeo se debe desactivar, y la longitud de esta región equivalente en tiempo es de 48 píxeles.
Las longitudes de las fronteras derechas e izquierdas pueden variar según las diferentes marcas de monitores. La señal hsync puede obtenerse por un contador especial mod-800 y un circuito de decodificación(Chu, 2008).
El circuito de sincronización de video genera las señales hsync, que especifica los requerimientos de tiempo para atravesar una fila, y las señales vsync especifican el tiempo requerido para atravesar la pantalla entera. Discusiones subsecuentes están basadas en una pantalla de VGA de 640-por-480 con una proporción de pixeles de 25-MHz, lo cual significa que 25 M pixeles son procesados en un segundo. Esta resolución es también conocida como el modo VGA. La pantalla de un monitor CRT normalmente incluye una frontera negra pequeña, como mostrado a la cima de Figura 2.3. El rectángulo del medio es la porción visible. La coordenada del eje vertical aumenta a medida que se extiende hacia abajo. Las coordenadas de la esquina superior izquierda e inferior derecha son (0,0) y (639,479) respectivamente(Chu, 2008).
El display CRT debe ser negro en las fronteras derechas e izquierdas y durante el retorno. Es usado la señal h-video-on para indicar si la coordenada horizontal actual está en la región visible del display. Sólo es válida cuando el pixel contado es más pequeño que 640(Chu, 2008).
La sincronización vertical explora, los haces de electrones que se mueven poco a poco, de arriba abajo y luego vuelven a la parte superior. Esto corresponde al tiempo requerido para
hsync. La unidad de tiempo del movimiento se representa en términos de líneas de exploración horizontales. Un período de la señal de vsync es 525 líneas y se puede dividir en cuatro regiones (Chu, 2008):
Pantalla: región donde las líneas horizontales son en realidad las que aparecen en la pantalla. La longitud de esta región equivalente en tiempo es de 480 líneas.
Retraso: región en que los haces de electrones regresan a la parte superior de la pantalla. El vídeo la señal debe ser desactivado, y la longitud de esta región equivalente en tiempo es de 2 líneas.
Frontera inferior: región que forma el borde inferior de la región de visualización. Es también conocido como frontporch (es decir, porche antes de retraso). La señal de vídeo debe ser desactivada, y la longitud de esta región equivalente en tiempo es de 10 líneas.
Fronteriza Top: región que forma el borde superior de la zona de visualización. También conocido como backporch (porche después de retraso). La señal de vídeo se debe desactivar, y la longitud de esta región equivalente en tiempo es 33 líneas. La señal vsync puede obtenerse por un contador especial mod-525 y un circuito de decodificación. Nuevamente, se empezó contando desde el principio de la región del display. Esto permite usar la salida del contador como la coordenada vertical (el eje y). Esta salida constituye la señal del pixel-y. La señal vsync baja cuando la línea contada es 490 o 491. Como en el escáner horizontal, es usado la señal v-video-on para indicar si la actual coordenada vertical está en la región visible del display. Sólo se afirma cuando la línea contada es más pequeña que 480(Chu, 2008).
Figura 2.9. Diagrama de tiempos de un escaneo vertical(Chu, 2008).
Como se mencionó anteriormente, se asume que la razón de pixel es 25MHz. Esta se determina por tres parámetros(Chu, 2008):
p: número de pixeles en la línea de escaneo horizontal. Para la resolución de 640x480, es: 2.1 L: número de líneas en la pantalla.
2.2 S: número de pantallas por segundo. Para la operación de libre parpadeo
2.3 El parámetro s especifica cuán rápido la pantalla debería ser refrescada. Para el ojo humano, la razón de refrescado debe ser por lo menos 30 pantallas por segundo para que el movimiento parezca ser continuo. Para reducir el parpadeo, el monitor usualmente tiene una razón muy superior, como las 60 pantallas por segundo especificadas anteriormente. La razón de pixel puede ser calculada por los tres parámetros(Chu, 2008):
manera similar. Claramente, la razón incrementa como la resolución y la razón de refrescado aumente.