6 votos

VGA Decodificación de Tratar con las tolerancias

Actualización:

La VGA Simulador está en marcha y funcionando. Usted puede ir simular sus propios diseños o simplemente utilizar el archivo de ejemplo para ver cómo funciona. También escribí un post en el blog para ayudar a cualquier persona a empezar a usar para sus propios diseños VHDL.


Estoy haciendo una VGA o simulador virtual monitor porque Xilinx toma demasiado tiempo para sintetizar VHDL (en mi pc, y en general para los proyectos grandes). Con esta VGA simulador, solo puedo ejecutar mi testbench que los registros a un archivo mientras se ejecuta en el simulador como Isim y, a continuación, utilizar ese archivo de registro en mi VGA simulador para generar los marcos.

La VGA simulador decodifica hsync, vsync, y rgb (5 principales señales) para generar los marcos.

Es allí una manera de conseguir la resolución o la frecuencia de reloj de píxel a partir de los 5 principales señales? Ahora mismo sólo tengo algunos campos de texto que tienes que poner manualmente (ver formulario). Necesito la frecuencia de reloj de píxel en el fin de mantener un seguimiento de lo que de píxeles que el sistema está trabajando.

Text field for resolution and px clock rate

Estoy asumiendo que cada monitor utiliza 640 x 480 a 60 Hz como un valor predeterminado para la VGA, porque yo no tengo que jugar con cualquier cosa para conseguir que funcione. Entiendo que hay algunos EDID pines y algunos de los más nuevos de la interfaz de serie que son spec ed pero son realmente utilizó para determinar una resolución diferente o fps/Hz? En la Basys 2, que se acaba de puesta a tierra.

Mi simulador está funcionando muy bien ahora mismo, pero no tiene en cuenta el back porch , así que tengo un espacio en blanco en la parte superior izquierda y algunos cortes en la parte inferior derecha. Esto es porque acabo de mirar por un flanco de subida en hsync y vsync y comenzar a capturar. Este no es un gran negocio y es fácil de solucionar, pero estoy seguro de cuál es el valor correcto para poner el back porch con el fin de trabajar con una variedad de pueblos archivos de registro.

Mi diseño VHDL(basados en este diseño) ha back porch de 48 ciclos de reloj y, por ejemplo, este documento dice que debe ser de 45, y este dice 48. ¿Cuál es la correcta tolerancia para la back porch o la manera correcta para sincronizar para evitar estas discrepancias?

Por supuesto, un monitor está diseñado para tomar todo esto en cuenta, pero ¿cuáles son las formas adecuadas para lidiar con la tolerancia, no sólo en el reloj de píxel, pero ¿cuántos ciclos de cada proceso (porche delantero, porche trasero, resolución, fps)?

Un ejemplo de una discrepancia: Mi diseño se divide el 50 Mhz en la Basys 2 por dos para obtener un 25 Mhz de reloj de píxel para la unidad de la VGA cuando se spec ed en 25.175 hz en todas partes, pero, por supuesto, usted tiene que poner su reloj de píxel en el formulario, por lo que no es problema en el momento de mi diseño.


Aquí es sólo un bonito diagrama de temporización de hsync y vsync (sólo de referencia):

VGA Timing

5voto

Kip Diskin Puntos 11

EDID se utiliza, entre otras cosas, a la consulta del monitor para los tiempos que quisiera. No es usado para transmitir cualquier tipo de información de vídeo.

Supongo que ha pasado tanto tiempo que ya nadie recuerda, pero los monitores VGA de vuelta en el día en que había de ajustes para la ubicación de la imagen en el CRT. Usted podría mover a la izquierda o a la derecha, hacia arriba o hacia abajo, o la escala horizontal o verticalmente. Más avanzada monitores habían ajustes adicionales. Estos permiten compensar cualquier momento era en el uso, cualquiera sea el campo magnético local, puede haber distorsión de la imagen, etc.

Por supuesto, lo que estos ajustes están haciendo detrás de las escenas es el ajuste de los parámetros de tiempo. Eran necesarios debido a que la señal VGA explícitamente no decir lo mucho que la supresión tiempo no existe. Como usted ha notado, hay algunas convenciones generales, y el monitor (a través de EDID), anuncian apoyo a determinados tiempos, pero no hay ningún requisito de que los tiempos son lo que va a ser enviada al monitor.

Lo que usted puede hacer, y lo de los monitores LCD que todavía tiene VGA interfaces de hacer cuando usted presione la tecla "ajuste automático" botón, es adivinar lo que la supresión de tiempo puede ser simplemente por mirar la R, G y B de señales. Estos deben ser de color negro para la supresión de tiempo, y probablemente no son negros de otra manera. Claro que alguien podría estar mirando una pantalla en negro, y este enfoque no funciona.

Del mismo modo, no creo que haya nada en la señal VGA que le dirá lo que la resolución es. Usted puede adivinar buscando los bordes entre los píxeles y el momento en que ellos, y esto es de nuevo lo de los monitores LCD de hacer. Pero recuerde, la VGA es una señal analógica, diseñado para ser mostrada en un dispositivo analógico. No tiene ningún concepto de "píxeles".

i-Ciencias.com

I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X