7.Interfaz HDMI
El canal CEC (Consumer Electronics Control) es opcional. A través del canal CEC, se pueden realizar algunas funciones de control avanzadas entre equipos de audio y video, como admitir comunicación bidireccional entre fuentes de video y televisores digitales, y realizar encendido simultáneo, encendido automático, enrutamiento automático de señales, control remoto y otras funciones.
Figura 1 Diagrama de estructura del sistema HDMI
Estructura de datos EDID electrónico
E-EDID es una estructura de datos definida por VESA y es un formato de visualización optimizado para monitores de PC Especificación de datos. Se almacena en la memoria EEPROM dedicada del monitor y tiene una estructura de datos de 128 bytes. La PC aloja y muestra los datos de acceso en la memoria a través del canal DDC para determinar las propiedades de la pantalla, como la resolución, la relación de aspecto y otra información. HDMI adopta esta estructura de datos. En la especificación HDMI, el mismo ejemplo utiliza el canal DDC para acceder a la memoria EDID para determinar las capacidades y atributos del dispositivo de visualización.
De acuerdo con la especificación HDMI, los primeros 128 bytes de EDID deben ser una estructura de datos compatible con EDID1.3, y los segundos 128 bytes deben ser una estructura de datos de extensión de temporización EDID CEA compatible con EIA/CEA- 861B.
blogs.com/TaigaCon/p/3840653.html
HDMI (Interfaz multimedia de alta definición) se utiliza principalmente para transmitir señales de audio y vídeo de alta definición.
Pines HDMI:
HDMI tiene cinco tipos de pines: A, b, c, d y e. El tipo de pin más común actualmente en el mercado es el tipo A:
.En...
Proceso de transmisión:
Hay tres tipos de datos transmitidos por HDMI TMDS (incluidos Hsync y Vsync, un total de cuatro tipos):
La transmisión de datos HDMI tiene tres canales: TMDS0, TMDS1 y TMDS2. El proceso de transmisión de cada canal es el mismo:
Si ingresan datos de 8 bits al codificador TMDS, se envía una señal de 10 bits. se obtiene una señal TMDS de bits fuerte y luego se serializa y emite después de recibir la señal HDMI en serie, el extremo receptor recupera la señal para obtener una señal TMDS de 10 bits y, finalmente, el decodificador TMDS decodifica la señal original de 8 bits. datos.
Todo el proceso de transmisión es el siguiente:
Si se transmiten datos de vídeo y el formato es RGB, se ocuparán todas las entradas de 24 bits de los tres canales, entre los que se encuentra el canal 0. [7:0] se usa para transmitir B, el canal 1 [7:0] se usa para transmitir G y el canal 2 [7:0] se usa para transmitir R.
Si se transmite la isla de datos , ocupa tres canales * * * Entrada de 10 bits, el canal 0[3:2] se utiliza para transmitir el encabezado de la isla de datos, el canal 1[0:3] y el canal 2[0:3] se utilizan para transmitir la isla de datos contenido.
Si se envía un preámbulo ocupará dos canales de entrada de 1, 2* *4 bits. El canal 1[1:0] y el canal 2[1:0] son CTL 0, CTL 1, CTL 2 y CTL 3 respectivamente, que se utilizan para determinar el siguiente paso.
Para Hsync y Vsync, ocupará la entrada de dos bits del canal 0, el canal 0[0] es Hsync y el canal 0[1] es VSync.
Ciclo de transmisión:
La transmisión de datos HDMI TMDS se puede dividir en tres ciclos de transmisión:
Hsync y Vsync se transmiten en el ciclo de control y el preámbulo es transmitido en Se transmite la fase final del ciclo.
Durante el período de isla de datos, se transmitirán islas de datos (paquetes), así como Hsync y Vsync.
Los datos de vídeo (datos de píxeles de vídeo) se transmiten durante el ciclo de datos de vídeo.
El período total de una trama es el siguiente:
La conversión de tres períodos de transmisión es la siguiente:
El lado izquierdo es el período de control, que transmite Hsync, Vsync y preámbulo.
El medio es el período de la isla de datos, que transmite Hsync, Vsync y dos encabezados de paquetes y paquetes (un paquete cada 32 relojes, además, ambos extremos de la isla de datos usarán bandas de protección para proteger); Los datos de la isla de datos están protegidos y aislados, porque la mayoría de los datos transmitidos en esta etapa son muy importantes, como la resolución de la imagen, que determina cómo se muestran los datos del video más adelante.
A la derecha está la isla de datos de vídeo, que transmite datos de píxeles de vídeo. A principios de este período también existían bandas de guardia.
Estructura de paquetes de isla de datos
Todos los paquetes de isla de datos tienen un período de 32 pulsos de reloj, es decir, se envía un paquete cada 32 pulsos de reloj.
Tomando la figura anterior como ejemplo,
El encabezado del paquete es el bloque 4 de BCH, que se envía por el canal 0[2]. 32clk significa que hay 32 bits, que son 44 bytes. Los primeros tres bytes son el encabezado y el último byte es el código de verificación.
El paquete de datos es el bloque BCH 0, 1, 2, 3, que se transmiten por 8 líneas del canal 1 y el canal 2 * * * respectivamente. El código de verificación de * * * es de 24 bytes y 6. byte.
El código de verificación de paridad se utiliza para comprobar si hay errores durante el proceso de transmisión del cable HDMI. Si se verifica el paquete en busca de errores en el extremo receptor HDMI, si solo hay un error de bit, se puede corregir y los errores de más de 1 bit se considerarán paquetes no válidos (debido a que HDMI ha estado enviando datos, es imposible ¿Reenviar el paquete de error?)
Entonces, en el extremo receptor, después de desembalar, se debe extraer el bit de verificación de cada bloque BCH para realizar la calibración.
Existen varios tipos de paquetes; consulte las especificaciones HDMI para obtener más detalles.
Reloj de audio
La frecuencia de muestreo de audio es 44100, 48000, 192000, etc. Es diverso. En la transmisión HDMI, el audio se transmite a nivel PCM (sin comprimir) y los datos PCM se dispersan en paquetes individuales. Para obtener los datos de cada cuadro de audio, también necesita conocer la frecuencia de muestreo de audio. HDMI especifica el modo de transmisión de audio:
La frecuencia de muestreo de audio de la reconstrucción depende de los siguientes parámetros principales:
Reloj TMDS
Igual que el SÍNDROME DEL TÚNEL CARPiano p>
Normal
En el lado del dispositivo emisor, los parámetros conocidos incluyen la frecuencia de muestreo fs, el reloj de video (reloj TMDS) y el parámetro preestablecido n, y se encuentra CTS:
CTS=N? fTMDS128×fx
En el lado del dispositivo receptor, el reloj TMDS se puede obtener a través del dispositivo de hardware, N se transmite junto con CTS a través del paquete de audio y se encuentra fs:
128?fs=N×fTMDSCTS
Para mantener la estabilidad y precisión del extremo receptor fs, se requiere bloqueo de fase, es decir, usar un VCO (oscilador controlado por voltaje) para generar una frecuencia adecuada. y luego usar un PFD (Detector de frecuencia de fase) para bloquear la frecuencia.
1. En primer lugar, dado que el VCO tiene un área de trabajo óptima, como (200 MHz ~ 500 MHz), para garantizar que el VCO esté en la frecuencia de trabajo óptima, podemos alejarlo. la parte posterior y multiplica la salida fa128 primero.
fvco=fa128×S×S2
Dado que solo hay unos pocos fa128 (44.1k, 48k, etc.), tanto S como S2 se pueden obtener fácilmente.
2. Luego, para lograr una coincidencia de frecuencia más rápida, es necesario dividir la frecuencia de la frecuencia más cercana fx (es decir, el reloj del oscilador de cristal fcrystal) o fv (reloj de píxeles), y también divida la frecuencia de fvco, de modo que ambas tendencias sean iguales. Para diferencias sutiles, se pueden utilizar códigos D para corregirlas.
fvcoM=fxK
3. Finalmente, realice el bloqueo de fase del PFD.
4. Las operaciones de retroalimentación en los pasos 2 y 3 se realizan cíclicamente y finalmente se puede obtener un fvco relativamente estable.
Finalmente obtenido
fa128=fvcoS×S2
Conexión en caliente
HotPlug significa conexión en caliente Cuando la interfaz está conectada, puede. determinar si el dispositivo existe para trabajos posteriores.
El dispositivo fuente HDMI monitoreará el puerto de conexión en caliente del dispositivo receptor. Si Hotplug es alto, demuestra que el dispositivo puede funcionar y luego se lee el DCC. Si es bajo, el dispositivo está desconectado.
HDMI estipula que cuando el pin HDMI 5v está apagado, se debe leer DCC, lo que significa que Hotplug debe estar alto.
Conexión hot plug:
Se alimenta mediante un pin de 5v. Cuando se desconecta la fuente de alimentación de 5 V, se inyectará un voltaje de 5 V en el HDMI HPD y en la conexión en caliente. En este momento, HPD detecta un voltaje de 5 V (alto) y puede acercarse para leer EDID. Sin embargo, este enfoque tiene un inconveniente. El voltaje de 5 V afectará el intercambio en caliente. Una vez que el pin de intercambio en caliente no puede soportar la carga de un voltaje de 5 V, se perforará y el HPD solo podrá detectar un nivel bajo.
Se utilizan pines GPIO y transistores adicionales para controlar si el HDMI HPD es 0 o 1. Si HDMI0_HPD_CTL genera 0, el transistor se apaga y HDMI0_HPD detecta un nivel alto. Si HDMI0_HPD_CTL genera 1, el transistor se enciende y HDMI0_HPD detecta un nivel bajo.
Receptor HDMI
Por ejemplo, si el televisor es el extremo receptor de HDMI, entonces el extremo receptor de HDMI necesita hacer algo.
HDMI puede recibir datos TMDS a través de tres canales: reloj TMDS, conexión en caliente y pin I2C para transmisión DCC. Ya hablé sobre los datos TMDS y la configuración del intercambio en caliente, y luego analizaré el reloj TMDS.
El reloj TMDS es el reloj de píxeles, que es la frecuencia de reloj utilizada por un píxel. El reloj TMDS se transmite al extremo receptor a través del pin clk, pero el extremo receptor no conoce la frecuencia del reloj TMDS enviado por el extremo transmisor, por lo que debe bloquearse en fase a través de Phy (¿parte de configuración de frecuencia del hardware HDMI? ).
Sin embargo, debido al amplio ancho de banda de HDMI (480P@60Hz es 25,2MHz, 1080P@60Hz es 162MHz e incluso hasta 340MHz), el VCO general (oscilador controlado por voltaje, la frecuencia generada por el control de voltaje) no puede cubrir un ancho de banda tan grande. rango, por lo que es necesario configurar Phy:
Primero detecte en qué banda de frecuencia se encuentra la frecuencia de entrada y luego realice diferentes configuraciones de acuerdo con las diferentes bandas de frecuencia.
Utiliza el oscilador de cristal generado por el televisor para contar y conocerás el reloj TDMS.
fcrystal=count×fTMDS
O utilice el reloj 1024 TMDS para contar el número de osciladores de cristal.
1024 × pies MDS = recuento × f cristal
Dado que la señal de vídeo se cambia de RGB de 8 bits a 10 bits después de la codificación TMDS y luego se serializa, en realidad se utiliza para recepción El reloj de los datos TMDS debe ser:
fReceiveClock=10×fTMDS
Además, ReceiverClock se puede obtener usando TMDSClock como referencia y bloqueo de fase de hardware, en lugar de usar directamente la multiplicación anterior.
Después de recibir el reloj de recepción, puede configurar la frecuencia del PLL y luego muestrear los tres canales para obtener los datos TMDS.
Detección de sincronización
El extremo receptor aún necesita detección de sincronización, porque si el dispositivo puede admitirla (como croma), HDMI puede reemplazar libremente la sincronización cuando se reemplaza la sincronización. el extremo receptor necesita restablecer Phy. Por lo tanto, es necesario detectar si la sincronización ha sido reemplazada detectando cambios en la frecuencia. Normalmente habrá un hilo de servicio de interrupción (o bucle) para detectar cambios en la frecuencia. Una vez que se cambia la frecuencia, este proceso notificará al Phy de reinicio para garantizar el funcionamiento correcto de HDMI.
HDCP para protección de contenido por derechos de autor HDMI
Transmisión HDCP a través de DDC
HDCP se utiliza principalmente para proteger vídeos con derechos de autor. Por ejemplo, si un reproductor de DVD Blu-ray puede reproducir un DVD Blu-ray y el DVD está autorizado para HDCP y ahora desea exportar la imagen del DVD a un televisor, pero el televisor no ha sido autorizado para HDCP, el Es posible que el televisor no pueda reproducir la imagen o que la calidad de reproducción disminuya. Por ejemplo, si hay nieve, la imagen cambiará de 1080p a 480p o no habrá sonido.
HDCP se autentica mediante la interacción entre dos dispositivos. El proceso de autenticación es el siguiente.
1. El transmisor enviará una clave An (64 bits) y Aksv (vector de selección de clave 40 bits) al receptor.
2. Después de recibir An, el receptor también enviará Bkvs y repetidor al transmisor (indicando si el dispositivo B es un dispositivo repetidor).
3. El transmisor inicia el algoritmo del código de autenticación HDCP:
Para comprender el algoritmo, primero debemos saber para qué se utiliza ksv.
Dentro de cada dispositivo HDMI se guardarán 40 juegos de claves de 64 bits, clave[40].
Kvs tiene 40 bits, cada bit es un índice. Cuando un cierto bit n de kvs es 1, se extraerá la clave [n].
Agregue todas las claves [n] para obtener km.
4. El receptor también puede realizar el algoritmo del código de autenticación HDCP y obtener el kilómetro en este paso. '
5. Tanto el transmisor como el receptor utilizarán km\km 'para ejecutar hdcpBlkCipher y obtener los valores de R0 y R0'.
Después de 6.100 ms, el receptor envía R0' al transmisor para su comparación. Si son iguales, la autenticación se considera completa. Por supuesto, km = km’ garantiza R0 = R0’.
7. Luego, el remitente y el receptor ejecutarán hdcpBlockCipher una vez por cuadro, pero los parámetros son los últimos ks y my generados, y los nuevos parámetros generados son Ks, my t.
8. En el cuadro 128, otro r = t.
9. Después del primer intervalo de comunicación de 2 segundos, autentificarse nuevamente.
10. Los pasos posteriores 7, 8 y 9 son para la certificación iterativa.
Además, HDMI admite métodos de autenticación más rápidos y frecuentes a partir de la versión 1.1.
Es la parte inferior del diagrama de comunicación del dispositivo de la capa superior.
1. En cada cuadro que sea múltiplo de 16, realice XOR T con el 0 píxel del canal 0 del cuadro actual para obtener Pj.
2. Después de que el píxel 0 del canal 0 llega al extremo receptor, también se aplica XOR con la T 'del extremo receptor para obtener P' J.
3. El receptor envía P'j al remitente y lo compara con Pj. Si son iguales, se pasa la autenticación.
Comprender HDCP es útil para solucionar anomalías de HDMI. Por ejemplo, si aparecen copos de nieve de vez en cuando, puede deberse a una señal deficiente, lo que provoca el error de 0 píxeles del Canal 0, por lo que la autenticación de la segunda etapa a veces puede no tener éxito. ...
Proceso general del receptor HDMI
HDCP
HDCP es una protección de contenido digital de alto ancho de banda que las señales TMDS deben estar cifradas por HDCP para garantizar que las señales digitales. no se puede copiar fácilmente.
8b/10b
8b/10b es un método de procesamiento digital que fue patentado por primera vez por IBM. Ahora su patente ha caducado y se ha convertido en tecnología pública. Su propósito es mejorar la capacidad de interferencia antielectromagnética (EMI) de las señales digitales y mejorar la precisión de las señales. En pocas palabras, el modo de trabajo es volver a codificar la señal digital compuesta por 8 0 y 65438+ 0. Los primeros 5 se reorganizan en 6 y los últimos 3 se reorganizan en 4. Tras esta conversión, las señales digitales en grupos de ocho se convierten en grupos de 10. Una vez completada la transmisión, el receptor decodifica y recupera la señal digital.