El canal de datos de pantalla ( DDC ) es un conjunto de protocolos para la comunicación digital entre una pantalla de ordenador y un adaptador gráfico que permiten a la pantalla comunicar sus modos de visualización compatibles al adaptador y que permiten al ordenador anfitrión ajustar parámetros del monitor, como el brillo y el contraste.
Al igual que los conectores VGA analógicos modernos, los conectores DVI y DisplayPort incluyen pines para DDC, pero DisplayPort solo admite DDC dentro de su función opcional Dual-Mode DP ( DP++ ) en modo DVI/HDMI.
El estándar fue creado por la Video Electronics Standards Association (VESA).
Descripción general
El conjunto de estándares DDC tiene como objetivo proporcionar experiencias de administración de energía Plug and Play y DPMS para pantallas de ordenador.
Los protocolos DDC1 y DDC2B/Ab/B+/Bi constituyen un enlace físico entre un monitor y una tarjeta de vídeo, que originalmente se transmitía a través de dos o tres pines en un conector VGA analógico de 15 pines .
Los datos de identificación de pantalla extendida (EDID) son un estándar complementario; definen un formato de archivo binario compacto que describe las capacidades del monitor y los modos gráficos compatibles, almacenado en un chip de memoria de solo lectura ( EEPROM ) programado por el fabricante del monitor. El formato utiliza un bloque de descripción que contiene 128 bytes de datos, con bloques de extensión opcionales para proporcionar información adicional. La versión más reciente es Enhanced EDID (E-EDID) Release A, v2.0 . DisplayID está diseñado para reemplazar a EDID, que admite muchas características como HDR y gestión del color .
La primera versión del estándar DDC se adoptó en agosto de 1994. Incluía el formato EDID 1.0 y especificaba los enlaces físicos DDC1, DDC2B y DDC2Ab.
La versión 2 de DDC , introducida en abril de 1996, separó EDID en un estándar independiente e introdujo el protocolo DDC2B+.
La versión 3 de DDC , de diciembre de 1997, introdujo el protocolo DDC2Bi y la compatibilidad con VESA Plug and Display y Flat Panel Display Interface en direcciones de dispositivo separadas, lo que requería que cumplieran con EDID 2.0.
El estándar DDC fue reemplazado por E-DDC en 1999.
DDC también se utiliza como canal de comunicación para implementar la protección de contenido digital de alto ancho de banda (HDCP).
Enlace físico
Antes de la llegada del DDC, el estándar VGA reservaba cuatro pines en el conector VGA analógico , conocidos como ID0, ID1, ID2 e ID3 (pines 11, 12, 4 y 15), para la identificación del tipo de monitor. Estos pines de identificación, conectados a resistencias para conectar uno o más de ellos a tierra (GND), permitían definir el tipo de monitor, de modo que si todos estaban abiertos (n/c, no conectados) significaba "sin monitor".
En el esquema más comúnmente documentado, el pin ID3 no se utilizaba y solo se definían los 3 pines restantes. El ID0 se conectaba a tierra (GND) en los monitores a color, mientras que los monitores monocromos conectaban el ID1 a tierra. Finalmente, el ID2 conectado a tierra (GND) indicaba un monitor con una resolución de 1024 × 768, como el IBM 8514. En este esquema, los estados de entrada de los pines ID codificarían el tipo de monitor de la siguiente manera: [ 1 ] [ 2 ] [ 3 ]
También existían esquemas más elaborados que utilizaban los 4 pines de ID mientras manipulaban las señales HSync y VSync para extraer 16 bits (4 valores de pines de ID para cada una de las 4 combinaciones de estados HSync y VSync) de identificación del monitor. [ 4 ]
DDC cambió la función de los pines ID para incorporar una interfaz de enlace serie . Sin embargo, durante la transición, el cambio no fue retrocompatible y las tarjetas de video que usaban el esquema antiguo podían tener problemas si se conectaba un monitor compatible con DDC. [ 5 ] [ 6 ] La señal DDC se puede enviar hacia o desde un monitor de matriz de gráficos de video (VGA) con el protocolo I 2 C usando los pines de reloj serie y datos serie del maestro.
DDC1
DDC1 es un protocolo de enlace serie unidireccional, sencillo y de baja velocidad . El pin 12, ID1, funciona como una línea de datos que transmite continuamente el bloque EDID de 128 bytes, y el reloj de datos se sincroniza con la sincronización vertical , lo que proporciona frecuencias de reloj típicas de 60 a 100 Hz.
Muy pocos dispositivos de visualización implementaron este protocolo.
DDC2
La versión más común, llamada DDC2B , se basa en I²C , un bus serie . El pin 12, ID1, del conector VGA se utiliza como pin de datos del bus I²C, y el pin 15, anteriormente sin usar, es el reloj I²C. El pin 9, utilizado anteriormente como tecla mecánica, suministra alimentación de +5 V CC (hasta 50 mA) para alimentar la EEPROM. Con esto, el host puede leer el EDID incluso si el monitor está apagado. Aunque I²C es totalmente bidireccional y admite varios maestros de bus , DDC2B es unidireccional y solo permite un maestro de bus : el adaptador gráfico. El monitor actúa como dispositivo esclavo en la dirección I²C de 7 bits 50h y proporciona de 128 a 256 bytes de EDID de solo lectura. Dado que este acceso siempre es de lectura, el primer octeto I²C siempre será A1h.
DDC2Ab es una implementación de la interfaz ACCESS.bus de 100 kbit/s basada en I²C , que permitió a los fabricantes de monitores admitir periféricos externos ACCESS.bus, como un ratón o un teclado, con poco o ningún esfuerzo adicional. Dichos dispositivos y monitores estuvieron disponibles brevemente a mediados de la década de 1990, pero desaparecieron con la introducción del USB .
Los modelos DDC2B+ y DDC2Bi son versiones reducidas del modelo DDC2Ab que solo admiten dispositivos de monitor y tarjeta gráfica, pero que aún permiten la comunicación bidireccional entre ellos.
El DDC2 no es exclusivo de la interfaz VGA. Tanto DVI como HDMI cuentan con cables DDC2B dedicados.
DDC/CI
El estándar DDC/CI ( Interfaz de Comandos ) se introdujo en agosto de 1998. Este estándar especifica un método para que una computadora envíe comandos al monitor y reciba datos de los sensores a través de un enlace bidireccional. Los comandos específicos para controlar los monitores se definen en la versión 1.0 del estándar MCCS ( Conjunto de Comandos de Control de Monitores ), publicado en septiembre de 1998.
En ocasiones, los monitores DDC/CI incluyen un sensor de color externo para permitir la calibración automática del balance de color . Algunos monitores DDC/CI inclinables admiten una función de pivote automático, mediante la cual un sensor de rotación integrado en el monitor permite que el sistema operativo mantenga la pantalla en posición vertical al cambiar entre las posiciones vertical y horizontal .
La mayoría de los monitores DDC/CI solo admiten un pequeño subconjunto de comandos MCCS y algunos tienen comandos no documentados. Muchos fabricantes no prestaron atención a DDC/CI en el pasado, pero ahora casi todos los monitores admiten comandos MCCS generales como la gestión de brillo y contraste. [ a ]
El estándar DDC/CI describe un conjunto completo de protocolos de control bidireccionales (DDC2Ab, DDC2Bi y DDC2B+) en un único estándar y proporciona un medio para empaquetar los comandos del conjunto de comandos de control de monitorización.
La versión 1.1 de DDC/CI fue adoptada en octubre de 2004. [ 9 ]
La versión 2.0 del conjunto de comandos de control de monitores (MCCS) se adoptó en octubre de 2003. En julio de 2006 se presentó una nueva versión, la MCCS V3, aunque aún no ha captado la atención del sector. La última versión del estándar V2 es la 2.2a, adoptada en enero de 2011.
Compatibilidad del sistema operativo con DDC/CI
A pesar de su omnipresencia en las pantallas posteriores a 2016, el DDC/CI no suele ser utilizado por defecto por el sistema operativo para el control de brillo en pantallas externas. [ 10 ] Se puede utilizar software adicional para enviar comandos a la pantalla, pero el grado de integración del sistema varía.
Windows expone DDC/CI como la serie de API Win32 de configuración de monitor . [ 11 ]
E-DDC
El Enhanced Display Data Channel ( E-DDC ) es la revisión más reciente del estándar DDC. La versión 1 se introdujo en septiembre de 1999 e incorporó un puntero de segmento que permitía almacenar hasta 32 Kbytes de información de visualización para su uso con el estándar Enhanced EDID (E-EDID).
Las implementaciones DDC anteriores utilizaban un desplazamiento de datos simple de 8 bits al comunicarse con la memoria EDID del monitor, lo que limitaba el tamaño de almacenamiento a 2 × 8 bytes = 256 bytes, pero permitía el uso de EEPROM de 2 Kbit económicas. En E-DDC, se introdujo un esquema de direccionamiento I²C especial, en el que se podían seleccionar múltiples segmentos de 256 bytes. Para ello, se pasa un único índice de segmento de 8 bits a la pantalla a través de la dirección I²C 30h. (Como este acceso siempre es una escritura, el primer octeto I²C siempre será 60h). Los datos del segmento seleccionado se leen inmediatamente a través de la dirección DDC2 normal utilizando una señal I²C 'START' repetida. Sin embargo, la especificación VESA define el rango de valores del índice de segmento como 00h a 7Fh, por lo que esto solo permite direccionar 128 segmentos × 256 bytes =32 KiB . El registro de índice de segmento es volátil, con valor predeterminado de cero y restablecimiento automático a cero tras cada NACK o STOP. Por lo tanto, debe configurarse cada vez que se acceda a datos superiores al primer segmento de 256 bytes. El mecanismo de restablecimiento automático garantiza la compatibilidad con versiones anteriores, como por ejemplo, con hosts DDC2B; de lo contrario, en algunos casos excepcionales, podrían quedarse atascados en un segmento distinto de 00h.
Otros cambios importantes fueron la eliminación de los protocolos DDC1 y DDC2Ab, la obsolescencia de las direcciones de dispositivo VESA P&D y FPDI separadas, y las aclaraciones sobre los requisitos de alimentación del DDC.
La versión 1.1 de E-DDC , aprobada en marzo de 2004, incluía compatibilidad con HDMI y dispositivos electrónicos de consumo.
La versión 1.2 de E-DDC , aprobada en diciembre de 2007, introdujo la compatibilidad con los estándares DisplayPort (que no tiene enlaces DDC2B dedicados y utiliza su canal auxiliar bidireccional para la comunicación EDID y MCCS) y DisplayID .
La versión 1.3 de E-DDC, de septiembre de 2017, contiene correcciones de erratas y aclaraciones menores.
Deshabilitar DDC
Algunos conmutadores KVM (teclado-vídeo-ratón) y extensores de vídeo manejan el tráfico DDC de forma incorrecta, lo que hace necesario deshabilitar las funciones plug and play del monitor en el sistema operativo, e incluso puede que sea necesario quitar físicamente el pin 12 (pin de datos serie) de los cables VGA analógicos [ 12 ] que conectan dicho dispositivo a varios PC.
Microsoft Windows incluye un controlador estándar "Plug and Play Monitor" que utiliza la información EDID de la pantalla para generar una lista de modos de monitor compatibles. El subprograma del panel de control Resolución de pantalla permite desactivar las funciones Plug and Play de este controlador y seleccionar manualmente cualquier resolución o frecuencia de actualización compatible con la tarjeta gráfica. [ 13 ] Muchos fabricantes de tarjetas gráficas y terceros ofrecen aplicaciones de control que permiten seleccionar un modo de visualización personalizado que no se ajuste a la información EDID ni al archivo .INF del monitor.
Véase también
Notas
- ↑ Cabe señalar que MCCS pasa por alto la diferencia en cómo las pantallas CRT y LCD o más recientes interpretan los ajustes de brillo y contraste: ajustar el brillo de una pantalla LCD afecta la luminancia general, que es lo mismo que el "contraste" en las pantallas CRT. El "contraste" de una pantalla LCD, en cambio, ajusta el nivel de blanco. [ 7 ] [ 8 ]
Referencias
- ↑ "Método y aparato para la selección automática de frecuencias de escaneo para monitores compatibles con VGA mejorados" .
- ↑ Asignación de pines del monitor
- ↑ «Diagrama de distribución de pines VGA @ pinoutguide.com» . pinoutguide.com .
- ↑ "ibm :: pc :: cards :: IBM VGA XGA Technical Reference Manual May92" . 25 de mayo de 1992 – vía Internet Archive.
- ↑ Estándar de canal de datos de visualización mejorado, versión 1.1
- ↑ "Estándar de canal de datos de pantalla mejorado, versión 1.1" (PDF) . 24 de marzo de 2004. Archivado del original el 4 de mayo de 2023. Consultado el 4 de mayo de 2023 .
- ↑ Poynton, Charles. "Controles de "Brillo" y "Contraste" . poynton.ca . Consultado el 17 de noviembre de 2020 .
- ↑ Patek, Marcel. "Pantallas LCD - cristales líquidos - gama de colores - fósforos - polarización" . Fotografía digital .
- ↑ Resúmenes de estándares VESA: Estándar de interfaz de comandos del canal de datos de visualización (DDC/CI), versión 1.1 (documento VESA VESA-2004-10)
- ↑ "¿Qué es DDC/CI y cómo usarlo?" . Appuals.com . 21 de febrero de 2019.
- ↑ "Configuración del monitor - Aplicaciones Win32" . docs.microsoft.com . 24 de enero de 2023.
- ↑ Lyosha Blinnikov. "Permitiendo cualquier resolución de pantalla en Vista" .
Realicé esta modificación en un antiguo cable de conexión de 6 pulgadas que antes se usaba para conectar un acelerador 3D. Lo llamo mi "cable de la libertad", ya que se puede conectar a cualquier monitor para desactivar temporalmente su EDID :D
- ↑ "No se pueden seleccionar los modos gráficos de monitor más altos" . Archivado del original el 15/04/2011 . Consultado el 12/10/2009 .
- Estándar de datos de identificación de pantalla extendida (EDID) , versión 3, 1997, VESA
- Preguntas frecuentes sobre los estándares VESA ( archivado el 8 de noviembre de 2011 en Wayback Machine)
- Interfaces de visualización: fundamentos . Bob Myers, Robert L. Myers, Sociedad para la Visualización de la Información.
Enlaces externos
- Linux
- ddcci-driver-linux : Controlador del kernel de Linux que admite el control de la retroiluminación para monitores compatibles con DDC/CI.
- ddccontrol : software de Linux que utiliza DDC/CI para controlar monitores compatibles con este protocolo.
- ddcutil : Software de Linux para consultar y cambiar la configuración del monitor a través de DDC/CI
- MonitorDarkly : Prueba de concepto para explotar monitores a través de extensiones DDC/CI específicas del proveedor.
- Windows
- Monitorian : Aplicación de código abierto que utiliza DDC/CI para cambiar el brillo de un icono en la barra de tareas.
- Bandeja Twinkle : similar a Monitorian
- Win10_BrightnessSlider : similar a Monitorian
- winddcutil : Una implementación de código abierto para Windows del programa ddcutil de Linux para consultar y cambiar la configuración del monitor, como el brillo y los niveles de color.
- softMCCS : Software para Windows que utiliza DDC/CI para controlar monitores compatibles con este protocolo.
- Impermeable
- BetterDisplay : Una aplicación para la barra de menú de macOS con varias funciones relacionadas con la visualización, incluido el control DDC/CI.
- ddcctl : Una herramienta de línea de comandos de código abierto para consultar y cambiar la configuración del monitor a través de DDC/CI para Macs con procesador Intel.
- Didact : Una aplicación de código abierto para la barra de menú que permite cambiar la configuración del monitor mediante DDC/CI, con capacidad de aprendizaje, para Macs con procesadores Apple Silicon.
- DisplayBuddy : Una aplicación para Mac para el control de las funciones de la pantalla.
- Lunar : Una aplicación de código abierto para gestionar y sincronizar el brillo y el contraste de las pantallas internas y externas, utilizando DDC/CI y otros métodos de control.
- m1ddc : Una herramienta de línea de comandos de código abierto para consultar y cambiar la configuración del monitor a través de DDC/CI para Macs con procesadores Apple Silicon.
- MonitorControl : Una herramienta de código abierto para Mac que utiliza DDC/CI para controlar monitores compatibles con este protocolo.
- NativeDisplayBrightness : Una aplicación minimalista de luminosidad DDC para macOS
- VESA