HDMI y yo

15

Estaba echando un vistazo al pinout HDMI y pensé: ¿por qué usarían I 2 C para la comunicación pantalla-host? Mi pregunta aquí es sobre las métricas de diseño que conducen a esta elección.2

HDMI es un estándar bastante reciente , mientras que I 2 C existe desde 1982 . I 2 C está diseñado para la comunicación de a bordo, chip a chip, además, el estándar permite múltiples dispositivos conectados al mismo bus. Un cable HDMI puede tener una longitud de unos 15 m , por lo que la señal I 2 C probablemente debería usar voltajes más altos de lo normal para evitar demasiado ruido, lo que agrega la necesidad de tranceceptores en ambos lados. Sobre lo de dispositivos múltiples, realmente no puedo pensar cómo conectaría más de un monitor a un solo puerto HDMI a menos que sea muy, muy poco estándar.222

Realmente no soy un experto en protocolos de comunicación, pero creo que RS485, CAN o algún otro punto a punto, full duplex, un protocolo SNR más alto hubiera sido mejor.

Entonces, ¿por qué elegirían I 2 C?2

nota: Sé que esto podría estar marcado como "basado en la opinión", espero que alguien pueda pensar / conocer algunas razones objetivas.

Vladimir Cravero
fuente
+1 por buena pregunta! ¡Creo que eso está relacionado con la CCA! Uso STM32 y tienen un periférico CEC y estoy ansioso por saber la respuesta.
Roh
2
Serví en algunos paneles VESA como representante de estándares de una semiempresa (VGA) cuando se implementó el DDC2. Philips pudo negociar la implementación de su estándar, que era poco polémico, ya que era una solución patentada, aunque es una buena solución para plug and play. Entonces @TurboJ tiene la respuesta correcta. En ese momento, la caída múltiple no se consideraba importante, ya que era analógico punto a punto (VGA).
marcador de posición el

Respuestas:

8

El historial de DCC en HDMI va a través de DVI hasta VGA. Se implementa de una manera que simplemente puede conectar un chip de memoria eeprom estándar I²C en el lado del monitor, que es casi tan barato como la suciedad (AT24C01 y compatible).

La señal I2C probablemente debería usar voltajes más altos de lo normal para evitar demasiado ruido

No Los +5 voltios te cuentan una historia diferente. Lo que podrían hacer es una frecuencia de reloj más baja en el autobús. Los cables HDMI generalmente también están bien protegidos.

Entonces, ¿por qué elegirían I2C?

Estaba allí en DVI (que es compatible con HDMI) y funciona y es barato.

Turbo J
fuente
2
En resumen, está diciendo que se debe a problemas de compatibilidad heredados y que funciona bien, ¿por qué cambiarlo?
horta
3

I2C es muy económico y sencillo de implementar por varias razones. A menudo se usa cuando solo se necesitan transferir unos pocos bytes. También es una interfaz muy estructurada, con un protocolo definido para quién debería hablar en un momento dado. I2C, debido a su antigüedad, también está bien respaldado entre los fabricantes de I2C (de ahí que sea económico y fácil de implementar). Debido a la baja velocidad de datos, SNR realmente no es un problema y 3.3V es un voltaje de bus típico y, si es necesario, puede filtrarse en gran medida.

Creo que es importante señalar CÓMO se usaría el I2C en un monitor. No solo I2C permitiría la comunicación a múltiples monitores, sino a múltiples dispositivos (por ejemplo, múltiples circuitos integrados) dentro de cada monitor, aunque es probable que haya un bus I2C separado para cada cable HDMI en la mayoría de los sistemas host. La interfaz I2C probablemente se usaría para establecer la conexión con el host, donde el host consultaría al monitor para averiguar cosas como su resolución, velocidad de cuadros, fabricante, nombre y probablemente otras cosas. I2C no sería lo suficientemente rápido como para transferir datos de imagen y sonido, esa información pasa a través de los cables TDMS, que serán de alta velocidad y baja SNR.

kjgregory
fuente
Entonces, ¿está diciendo que en una configuración multi hdmi solo se requiere un transceptor i2c del lado del host, y es por eso que la comunicación multipunto es algo bueno?
Vladimir Cravero
Ni siquiera necesitaría un transceptor dedicado (como en un solo IC cuya única función es comunicarse a través de I2C). Podría ser una responsabilidad menor de un IC de puente que gestiona una variedad de interfaces diferentes. Sin embargo, es probable que haya un bus I2C dedicado para cada monitor. Una de las desventajas de I2C (IMO) es que no se pueden configurar dos esclavos con la misma dirección de bus y no hay ningún protocolo (que yo sepa) para asignar dinámicamente nuevas direcciones a los esclavos.
kjgregory
Sí, ese era mi punto, además, supongo que dos monitores idénticos tienen la misma dirección, por lo que necesitará líneas separadas de todos modos.
Vladimir Cravero
1
No creo que ese hecho sea realmente un gran problema o contraargumento para su uso en HDMI. Especialmente cuando considera que prácticamente cualquier otro protocolo requeriría una interfaz separada para cada monitor de todos modos.
kjgregory
Sí, estoy de acuerdo en eso
Vladimir Cravero
0

Es barato, funciona, ya estaba allí desde la era VGA, y no había una razón real para cambiarlo.

La buena ingeniería en el espacio del consumidor es barata y funciona lo suficientemente bien (lo que hace HDMI en su mayoría), nadie gana puntos por diseñar algo en ese espacio que usa chips adicionales, tiene comunicaciones serias y soporta complejas topologías multipunto para algo como esto.

El chip se lee una vez al abrir el enlace, por lo que incluso si solo puede registrar la cosa a velocidades de KHz, eso no es un problema para los cientos de bytes de datos. CAN o RS485 habrían requerido más acciones en una aplicación de consumo con costos muy limitados.

Sospecho que el material DDC se importó al por mayor sin siquiera pensarlo, ya que de hecho era la mayor parte de la sincronización de video (Displayport y HDMI son prácticamente idénticos eléctricamente), y la sincronización de video se puede rastrear fácilmente al menos hasta el video compuesto en CRT, porche delantero, video activo, porche trasero, intervalo de retroceso ... Parece muy familiar para cualquier tipo de televisión de la vieja escuela.

En realidad, este es un caso un tanto raro de un organismo de estándares que NO realiza cambios para eliminar la ventaja de un fabricante y, en cambio, opta por un estándar de facto que funciona. I2C no me habría sorprendido, pero con el bus bajado y el estado activo siendo lógico 1, o algo igualmente estúpido solo para evitar darle una ventaja a Phillips / NXP / Nexperia.

Dan Mills
fuente