Estoy manejando un convertidor TFP410 paralelo a DVI (HDMI) usando un DM368. Desafortunadamente, no puedo generar las frecuencias de reloj exactas requeridas para los modos HDMI CEA (74.25 MHz, 148.5 Mhz, etc.), me quedo con la división de un PLL. El PLL es de 680 MHz, por lo que las frecuencias dentro del rango de video de 720p-1080p que puedo usar son básicamente 68, 75.5, 85, 97, 113 y 136 MHz.
He escrito un analizador EDID de kernel que estoy usando para obtener los requisitos de tiempo de los monitores y enviarlos al codificador de video a bordo del DM368. Sé que los tiempos de video que envío al serializador TFP410 (líneas activas HS / VS, porche delantero / trasero, ancho de pulso de sincronización) son correctos ya que los estoy probando en la salida DVI / HDMI usando una placa de desarrollo donde Se pueden comparar con las fuentes de señal de trabajo. También estoy analizando el reloj máximo, los ratios de actualización mínimo-máximo y manteniéndolos en cuenta al decidir el reloj de salida.
A pesar de todo esto, no puedo ver la imagen en los monitores más antiguos (los monitores más nuevos están bien). He dedicado bastante tiempo a esto, así que puedo decirle que, por ejemplo, en uno de los monitores más antiguos puedo mostrar una imagen aumentando el tamaño activo (720p a ~ 730p), o reduciendo el reloj (de 75.5 a 68 MHz). Sin embargo, este enfoque realmente no se amplía.
¿Mis problemas son debidos a mis frecuencias imperfectas o hay algo más que debería analizar? Lamentablemente, no puedo agregar una fuente de reloj externa de 74.25 MHz en esta etapa.
HDMI es complicado y me temo que no lo entiendo bien. Solo deseo que los monitores respeten lo que anuncian en su EDID, pero estoy empezando a creer que nadie usa esas especificaciones de todos modos (reloj máximo, mínimo / máximo fps, etc.).