Estándar VESA CVT - ¿Cómo calcular los tiempos de video?

La mayoría de las resoluciones de video como VGA (640x480), UXGA (1600x1200) o HD720 (1280x720) están definidas por el estándar VESA Coordinated Video Timing (CVT). (Se puede descargar gratuitamente desde VESA.org ).

La descarga da como resultado una hoja de Excel, donde se puede ingresar la resolución de la pantalla y varias propiedades, como el borrado reducido. Después de eso, las hojas de Excel imprimen los resultados como Pixel Clock, H-Front-Porch, H-Back-Porch o polaridad VSync.

Me gustaría obtener las ecuaciones para poder calcular todos los tiempos VESA en VHDL para uno de nuestros módulos de tiempo VGA universales.

También encontré un documento Display Monitor Timing (DMT) que enumera todos los tiempos, pero desafortunadamente no hay ecuaciones.

Solución alternativa:
¿Cómo puedo ingresar todas las resoluciones de video conocidas en la hoja de Excel y exportar los resultados a un archivo? No quiero ingresarlos manualmente.

Apéndice:

Resoluciones de pantalla
Resoluciones de pantalla conocidas. Fuente: wikimedia.org .

¿Has mirado las ecuaciones en la calculadora de hoja de cálculo?
@TomCarpenter La hoja de cálculo tiene quizás 50 ecuaciones. La reingeniería de las ecuaciones suena muy propensa a errores => muchas sustituciones y funciones if-then-else anidadas. Sí, es una posibilidad, pero me encantaría encontrar una solución menos propensa a errores :).
No hay ecuación que yo sepa, algunos tiempos están algo relacionados (el doble de resolución, el doble de todos los valores), pero la mayoría de ellos son antiguos y dependen de las frecuencias de reloj estándar disponibles en ese momento (como 25.125 MHz) para derivar sus parámetros. Además, las pantallas modernas usan EDID para exportar los modos de temporización que admite y, a menudo, no admiten "resoluciones estándar" o velocidades de fotogramas más antiguas.
@JonathanDrolet ¿EDID está relacionado con el bus I2C en el conector VGA (DDC)? Desafortunadamente, no todas las placas FPGA admiten estos pines adicionales. ¿EDID también es un estándar gratuito de VESA?
Sí, está relacionado con el bus I2C del conector VGA (o conector HDMI, para el caso). Wikipedia tiene una página... Es un estándar VESA hasta donde yo sé. Tenga en cuenta que las resoluciones HD no están en su documento VESA, están en el estándar CEA 861B (no gratis). Sin embargo, muchas pantallas admiten resoluciones HD en su puerto VGA.

Respuestas (1)

La distribución de X.org incluye la herramienta cvt, que se basa en esa hoja de cálculo. Se implementa en hw/xfree86/utils/cvt/cvt.c y hw/xfree86/modes/xf86cvt.c .