Exibir canal de dados - Display Data Channel

O Display Data Channel , ou DDC , é uma coleção de protocolos para comunicação digital entre um monitor de computador e um adaptador gráfico que permite que o monitor comunique seus modos de exibição suportados ao adaptador e que permite ao host do computador ajustar os parâmetros do monitor, como brilho e contraste.

Como os conectores VGA analógicos modernos, os conectores DVI e DisplayPort incluem pinos para o canal de dados de exibição (DDC), mas o DP suporta DDC em seu recurso DP de modo duplo opcional ( DP ++ ) apenas no modo DVI / HDMI.

O padrão foi criado pela Video Electronics Standards Association (VESA).

Visão geral

O conjunto de padrões DDC visa fornecer uma experiência " plug and play " para monitores de computador.

Os protocolos DDC1 e DDC2B / Ab / B + / Bi são um link físico entre um monitor e uma placa de vídeo, que era originalmente carregada em dois ou três pinos em um conector VGA analógico de 15 pinos .

Dados de identificação de exibição estendidos (EDID) são um padrão complementar; ele define um formato de arquivo binário compacto que descreve as capacidades do monitor e os modos gráficos suportados, armazenados em um chip de memória somente leitura (EEPROM) programado pelo fabricante do monitor. O formato usa um bloco de descrição contendo 128 bytes de dados, com blocos de extensão opcionais para fornecer informações adicionais. A versão mais atual é Enhanced EDID (E-EDID) Release A, v2.0 .

A primeira versão do padrão DDC foi adotada em agosto de 1994. Incluía o formato EDID 1.0 e especificava os links físicos DDC1, DDC2B e DDC2Ab.

O DDC versão 2 , lançado em abril de 1996, dividiu o EDID em um padrão separado e introduziu o protocolo DDC2B +.

DDC versão 3 , dezembro de 1997, introduziu o protocolo DDC2Bi e suporte para VESA Plug and Display e Flat Panel Display Interface em endereços de dispositivos separados, exigindo que eles cumpram com EDID 2.0.

O padrão DDC foi substituído pelo E-DDC em 1999.

Link físico

Antes do DDC, o padrão VGA reservava quatro pinos no conector VGA analógico , conhecido como ID0, ID1, ID2 e ID3 (pinos 11, 12, 4 e 15) para identificação do tipo de monitor. Esses pinos ID, fixados em resistores para puxar um ou mais deles para o terra (GND), permitiam a definição do tipo de monitor, com todos abertos (n / c, não conectado) significando "sem monitor".

No esquema mais comumente documentado, o pino ID3 não foi usado e apenas os 3 pinos restantes foram definidos. O ID0 foi puxado para GND por monitores coloridos, enquanto os monitores monocromáticos puxaram ID1 para GND. Finalmente, o ID2 puxado para GND sinalizou um monitor capaz de resolução de 1024 × 768, como o IBM 8514 . Neste esquema, os estados de entrada dos pinos de ID codificariam o tipo de monitor da seguinte maneira:

ID2 (pino 4) ID0 (pino 11) ID1 (pino 12) Tipo de Monitor
n / c n / c n / c nenhum monitor conectado
n / c n / c GND <1024 × 768, monocromático
n / c GND n / c <1024 × 768, cor
GND GND n / c ≥ 1024 × 768, cor

Também existiam esquemas mais elaborados que usavam todos os 4 pinos de ID enquanto manipulavam os sinais HSync e VSync para extrair 16 bits (valores de 4 pinos de ID para cada uma das 4 combinações de estados HSync e VSync) de identificação do monitor.

O DDC mudou a finalidade dos pinos de identificação para incorporar uma interface de link serial . No entanto, durante a transição, a alteração não era compatível com as versões anteriores e as placas de vídeo que usavam o esquema antigo poderiam ter problemas se um monitor compatível com DDC fosse conectado. O sinal DDC pode ser enviado de ou para um monitor de matriz de gráficos de vídeo (VGA) com o protocolo I 2 C usando o relógio serial do mestre e os pinos de dados seriais.

DDC1

DDC1 é um protocolo de link serial unidirecional simples, de baixa velocidade . O pino 12, ID1 funciona como uma linha de dados que transmite continuamente o bloco EDID de 128 bytes e o relógio de dados é sincronizado com sincronização vertical , fornecendo taxas de relógio típicas de 60 a 100 Hz.

Muito poucos dispositivos de exibição implementaram este protocolo.

DDC2

A versão mais comum, chamada DDC2B , é baseada no I²C , um barramento serial . O pino 12, ID1 do conector VGA agora é usado como o pino de dados do barramento I²C , e o pino 15 anteriormente não usado tornou-se o relógio I²C; o pino 9, anteriormente usado como uma chave mecânica, fornecia alimentação de + 5 Vcc até 50 mA para acionar a EEPROM, isso permite que o host leia o EDID mesmo se o monitor estiver desligado. Embora I²C seja totalmente bidirecional e suporte vários bus-masters , o DDC2B é unidirecional e permite apenas um bus master - o adaptador gráfico. O monitor atua como um dispositivo escravo no endereço I²C de 7 bits 50h e fornece 128-256 bytes de EDID somente leitura . Como esse acesso é sempre uma leitura, o primeiro octeto I²C será sempre A1h.

DDC2Ab é uma implementação da interface ACCESS.bus de 100 kbit / s baseada em I²C , que permitiu aos fabricantes de monitores suportar periféricos ACCESS.bus externos, como um mouse ou teclado com pouco ou nenhum esforço adicional; esses dispositivos e monitores estiveram brevemente disponíveis em meados da década de 1990, mas desapareceram com a introdução do USB .

DDC2B + e DDC2Bi são versões reduzidas de DDC2Ab que só oferecem suporte a monitores e dispositivos de placa gráfica, mas ainda permitem a comunicação bidirecional entre eles.

O DDC2 não é exclusivo do conector VGA, pois os conectores DVI e HDMI possuem fios DDC2B dedicados.

DDC / CI

O padrão DDC / CI ( Interface de Comando ) foi introduzido em agosto de 1998. Ele especifica um meio para um computador enviar comandos ao monitor, bem como receber dados do sensor do monitor, por meio de um link bidirecional. Comandos específicos para controlar monitores são definidos em um conjunto de comandos de controle de monitor (MCCS) padrão versão 1.0, lançado em setembro de 1998.

Os monitores DDC / CI às vezes são fornecidos com um sensor de cores externo para permitir a calibração automática do equilíbrio de cores do monitor. Alguns monitores DDC / CI inclináveis ​​suportam uma função de rotação automática, em que um sensor de rotação no monitor permite que o sistema operacional mantenha a tela vertical enquanto o monitor é movido entre as posições retrato e paisagem .

A maioria dos monitores DDC / CI suporta apenas um pequeno subconjunto de comandos MCCS e alguns possuem comandos não documentados. Muitos fabricantes não prestavam atenção ao DDC / CI no passado, mas agora quase todos os monitores suportam comandos MCCS gerais como gerenciamento de brilho e contraste.

O padrão DDC / CI descreve um conjunto completo de protocolos de controle bidirecional - DDC2Ab, DDC2Bi e DDC2B + - em um único padrão e fornece um meio para empacotar comandos do Conjunto de Comandos de Controle do Monitor.

O DDC / CI versão 1.1 foi adotado em outubro de 2004.

O Monitor Control Command Set versão 2.0 foi adotado em outubro de 2003. Um novo MCCS V3 foi lançado em julho de 2006, embora ainda não tenha recebido atenção suficiente da indústria. A versão mais recente do padrão V2 é a versão 2.2, adotada em fevereiro de 2009.

Suporte de sistema operacional para DDC / CI

Apesar de sua onipresença em monitores pós-2016, DDC / CI geralmente não é usado pelo sistema operacional por padrão para controle de brilho em monitores externos. Software adicional pode ser usado para enviar comandos ao monitor, mas o grau de integração do sistema varia.

O Windows expõe o DDC / CI como a série da API do Win32 de configuração do monitor .

E-DDC

Canal de dados de exibição aprimorado ( E-DDC ) é a revisão mais recente do padrão DDC. A versão 1 foi introduzida em setembro de 1999 e apresentava a adição de um ponteiro de segmento que permitia até 32 Kbytes de armazenamento de informações de exibição para uso pelo padrão Enhanced EDID (E-EDID).

Implementações anteriores de DDC usavam deslocamento de dados de 8 bits simples ao se comunicar com a memória EDID no monitor, limitando o tamanho de armazenamento a 2 8 bytes = 256 bytes, mas permitindo o uso de EEPROMs de 2 Kbit baratos. No E-DDC, um esquema de endereçamento I²C especial foi introduzido, no qual vários segmentos de 256 bytes podiam ser selecionados. Para fazer isso, um único índice de segmento de 8 bits é passado para o visor por meio do endereço I²C 30h. (Porque este acesso é sempre uma escrita, o primeiro octeto I²C será sempre 60h.) Os dados do segmento selecionado são então lidos imediatamente através do endereço DDC2 regular usando um sinal I²C 'START' repetido. No entanto, a especificação VESA define a faixa de valor do índice de segmento como 00h a 7Fh, portanto, isso só permite o endereçamento de 128 segmentos × 256 bytes =32  KiB . O registrador de índice de segmento é volátil, assumindo o valor zero e automaticamente redefinindo para zero após cada NACK ou STOP. Portanto, deve ser definido toda vez que o acesso aos dados acima do primeiro segmento de 256 bytes for executado. O mecanismo de reinicialização automática é para fornecer compatibilidade com versões anteriores para, por exemplo, hosts DDC2B, caso contrário, eles podem ficar presos em um segmento diferente de 00h em alguns casos raros.

Outras mudanças importantes foram a remoção dos protocolos DDC1 e DDC2Ab, descontinuação de endereços separados de dispositivos VESA P&D e FPDI e esclarecimentos sobre os requisitos de energia DDC.

E-DDC versão 1.1 , aprovado em março de 2004, apresentava suporte para HDMI e produtos eletrônicos de consumo.

E-DDC versão 1.2 , aprovado em dezembro de 2007, introduziu suporte para DisplayPort (que não tem links DDC2B dedicados e usa seu canal auxiliar bidirecional para comunicação EDID e MCCS) e padrões DisplayID .

E-DDC Versão 1.3 de setembro de 2017 contém correções para erratas e pequenos esclarecimentos.

Desativando DDC

Alguns switches KVM (teclado-vídeo-mouse) e extensores de vídeo manipulam o tráfego DDC incorretamente, tornando necessário desativar os recursos plug and play do monitor no sistema operacional e talvez até mesmo remover fisicamente o pino 12 (pino de dados serial) dos cabos VGA analógicos que conectam esse dispositivo a vários PCs.

O Microsoft Windows apresenta um driver padrão "Plug and Play Monitor" que usa as informações EDID do monitor para construir uma lista de modos de monitor compatíveis. O miniaplicativo do painel de controle Resolução de exibição permite que o usuário desative os recursos Plug and Play deste driver e selecione manualmente qualquer resolução ou taxa de atualização suportada pela placa de vídeo. Muitos fabricantes de placas de vídeo e terceiros fornecem aplicativos de controle que permitem ao usuário selecionar um modo de exibição personalizado que não está em conformidade com as informações EDID ou o arquivo .INF do monitor.

Veja também

Notas

Referências

  1. ^ Patente US5285197 - Método e aparelho para seleção automática de taxas de varredura para monitores compatíveis com VGA aprimorados
  2. ^ http://www.cs.nyu.edu/~mwalfish/classes/15sp/ref/hardware/vgadoc/PINOUT.TXT
  3. ^ http://pinouts.ru/Video/VGA15_pinout.shtml
  4. ^ PS / 2 Video Subsystem Technical Reference Manual, Preliminary Draft 19 de maio de 1992
  5. ^ Padrão de canal de dados de exibição aprimorado, versão 1.1
  6. ^ Poynton, Charles. " " Brilho "e 'Contraste' controles" . poynton.ca . Página visitada em 17 de novembro de 2020 .
  7. ^ Patek, Marcel. "Monitores LCD - cristais líquidos - gama - fósforo - polarização" . Fotografia digital .
  8. ^ Resumos dos padrões VESA: Padrão da interface de comando do canal de dados de exibição (DDC / CI), versão 1.1 (documento VESA VESA-2004-10)
  9. ^ "O que é DDC / CI e como usá-lo" . Appuals.com . 21 de fevereiro de 2019.
  10. ^ "Configuração do monitor - aplicativos Win32" . docs.microsoft.com .
  11. ^ Lyosha Blinnikov. "Permitindo qualquer resolução de tela no Vista" . Eu executei este mod em um antigo patch cable de 6 "que era usado anteriormente para conectar um acelerador 3D. Eu o chamo de meu" cabo da liberdade ", pois ele pode ser conectado a qualquer monitor para desativar temporariamente seu EDID: D
  12. ^ http://support.microsoft.com/kb/309569
  • Padrão de Dados de Identificação de Exibição Estendida (EDID) , Versão 3, 1997, VESA
  • Perguntas frequentes sobre os padrões VESA
  • Interfaces de exibição: fundamentos . Bob Myers, Robert L. Myers, Society for Information Display

links externos

  • Linux
    • ddcci-driver-linux : driver do kernel Linux compatível com controle de luz de fundo para monitores compatíveis com DDC / CI
    • ddccontrol : software Linux que usa DDC / CI para controlar monitores que suportam este protocolo (parece ser mantido no github )
    • ddcutil : (anteriormente ddctool) software Linux para consultar e alterar as configurações do monitor em DDC / CI
    • MonitorDarkly : prova de conceito para explorar monitores em extensões DDC / CI específicas do fornecedor
  • janelas
    • softMCCS : software Windows que usa DDC / CI para controlar monitores que suportam este protocolo
    • Nicomsoft WinI2C / DDC : Windows Software Development Kit (SDK) que usa protocolos I2C e DDC / CI para controlar monitores (removido do suporte, arquivos ZIP para download não contêm aplicativo)
    • Monitorian : aplicativo de código aberto que usa DDC / CI para alterar o brilho de um ícone na barra de tarefas
    • Twinkle Tray : semelhante ao Monitorian
    • Win10_BrightnessSlider : semelhante ao Monitorian
  • Mac
    • DisplayBuddy : um aplicativo Mac para controle das funções de exibição
    • NativeDisplayBrightness : um aplicativo de luminosidade DDC mínima para Mac OS X
    • ddcctl : uma ferramenta de código aberto para consultar e alterar as configurações do monitor em DDC / CI
    • MonitorControl : uma ferramenta de código aberto para mac que usa DDC / CI para controlar monitores que suportam este protocolo
    • Lunar : um aplicativo de código aberto que usa DDC para sincronizar o brilho e contraste da tela principal de um Mac com monitores externos