zoukankan      html  css  js  c++  java
  • EDID的简介和解析

     

    一、EDID简介

    EDID: Extended Display Identification Data (外部显示设备标识数据)----指DDC通讯中传输的显示设备数据。

    Q1:EDID是什么?

    A1:EDID的全称是Extended Display Identification Data(扩展显示标识数据),VGA、DVI的EDID由主块128字节组成,HDMI的EDID增加扩展块(128字节),扩展块的内容主要是和音频属性相关的,DVI和VGA没有音频,HDMI自带音频,扩展块数据规范按照CEA-861x标准定义,未来可能增加到512或256的整数倍。

    其中包含有关显示器及其性能的参数,包括供应商信息、最大图像大小、颜色设置、厂商预设置、频率范围的限制以及显示器名和序列号的字符串等等。形象地说,EDID就是显示器的身份证、户口本、技能证书等证件的集合,目的就是告诉别人我是谁,我从哪来,我能干什么。

    Q2:为什么要使用EDID?

    A2:为了能让PC或其他的图像输出设备更好的识别显示器属性

    EDID并非古而有之,在古老的CRT时期是没有EDID这个概念的,那为什么后来会有呢?因为随着显示设备的发展,显示器的种类越来越多,模拟的、数字的、普屏的、宽屏的、17寸、19寸、22寸……这让PC傻了眼,分辨率和时序的种类太多了,而每种显示器又不可能支持所有的分辨率,那怎么知道该给显示器一个什么样的分辨率啊?显示出的效果是最佳效果吗?不仅如此,随便输出一个分辨率还有损坏显示器硬件的可能,这可太危险了。于是,EDID临危受命,担当起显示器和PC之前的传话筒。“PC你好,我是A显示器,我能显示N种分辨率,最佳分辨率是XXX”。“显示器你好,收到你的信息,现在就按最佳分辨率给你输出”。这下大家明白了吧,EDID就是为了能让PC或其他的图像输出设备更好的识别显示器属性而出现的。

    Q3:经常听到有同志一会说“EDID信息”,一会说“DDC信息”。那么哪种说法更准确?EDID和DDC的关系又是什么?

    A3: DDC的全称是Display Data Channel(显示数据通道),顾名思义,它是一个通道。我们可以说DDC是用来传送EDID信息的,也可以说EDID信息是通过DDC传送的,所以,“DDC信息”的说法并不准确。

    Q4:每个显示器只有一个EDID吗?

    A4:不一定。

    现在的显示器功能很强大,通常都提供多种视频接口,常见的有DVI、VGA、HDMI、Display Port等,由于每种接口的特性和带宽不同,使得不同接口的EDID也不同。使用哪个接口,PC读到的就是哪个接口的EDID。我们的设备主要使用DVI、VGA、HDMI几种接口。由于VIDEO接口的几种制式如PAL、NTSC等,其分辨率场频都是固定的,没有使用EDID的必要,故不在讨论之列。

    Q5:EDID对我们到底有什么用?

    A5:要回答这个问题,首先要弄清我们设备的应用场景,请看下图

    这是一个典型的应用场景,PC将视频信号发送到我们的设备上,经过一系列的传输或切换,设备将视频信号发送到显示器或投影机上,也就是说,我们的设备位于PC和显示器之间。首先,在输入端,设备需要让PC知道自己是能够输入视频信号的,换句话说,设备要“欺骗”PC,让PC认为自己是一台显示器。如果不这样的话,PC可能会拒绝输出任何视频信号的(VGA接口不需要EDID也能输出)。除此之外,设备还要告诉PC自己支持的显示时序。而在输出端,当设备需要自建输出时序(如大屏控制器的输出卡)而不是简单的复制输入时序(如各种矩阵设备)的时候,就需要知道显示器支持的显示时序,从而让自己输出的信号能在显示器上正常显示。在这些地方,EDID就发挥作用了。在输入端PC通过读取设备上的EDID来获悉设备支持的显示时序,而同样,在输出端设备需要读取显示器的EDID来确定自己的输出时序。

    二、EDID主块详解

    1. EDID主块结构

     

    2. Header:

    在EDID的开头八个字节为EDID的开始标志,简称头,固定为:

    00H

    01H

    02H

    03H

    04H

    05H

    06H

    07H

    00

    FF

    FF

    FF

    FF

    FF

    FF

    00

    3. Vendor / Product Identification

    这十个字节表示产品ID和制造商信息。详细如下:

    08H

    09H

    0AH

    0BH

    0CH

    0DH

    0EH

    0FH

    10H

    11H

    制造商名称

    产品代码

    产品序列号

    制造周

    制造年份

    制造商名称:3个字母组成,基于压缩的ASCII码见下表,例如“00001=A”… …”11010=Z”。这两字节排列如下:

    地址

    bit1

    bit2

    bit3

    bit4

    bit5

    bit6

    bit7

    bit8

    08H

    -

    (4

    3

    2

    1

    0)

    (4

    3

     

    字符1

    字符2

    09H

    2

    1

    0)

    (4

    3

    2

    1

    0)

    字符2

    字符3

    A

    B

    C

    D

    E

    F

    G

    H

    I

    J

    K

    L

    M

    00001

    00010

    00011

    00100

    00101

    00110

    00111

    01000

    01001

    01010

    01011

    01100

    01101

    N

    O

    P

    Q

    R

    S

    T

    U

    V

    W

    X

    Y

    Z

    01110

    01111

    10000

    10001

    10010

    10011

    10100

    10101

    10110

    10111

    11000

    11001

    11010

     

    产品代码:固定为4位16进制数,即两个字节,为客户提供,直接填写。

    产品序列号:即产品的流水号(数值型),直接转成16进制或以ASCII格式转换。序列号也可用字符型,在后面DTD部分定义。

    生产周:即在当年中的生产周,范围1~52,注意0为无效值。

    生产年份:规定1990开始计算,即1990年为0,然后递增计算。

    4. EDID Structure Version / Revision

    字节

    EDID版本及修改

    备注

    1(12H)

    版本号

    1(13H)

    修改号

    5. Basic Display Parameters / Features

    5

    字节

    基本的显示参数/特征

    14H

    1

    视频信号定义

    见下表

    15H

    1

    最大水平图像尺寸

    cm

    16H

    1

    最大垂直图像尺寸

    cm

    17H

    1

    显示传输特性(Gamma)

    (gamma x 100)-100,[1.00→3.55]

    18H

    1

    电源管理标准(DPMS)

    见下表

    字节

    类型

    详细描述

    14H

    7

    模拟/数字信号

    模拟= 0,数字= 1

    bit7=0,即模拟信号,bit6~0定义如下:

    6

    信号电平[6:5]

    参阅下列定义。

    Bit6   Bit5   Operation

    0   0      0.700,0.300(1.000Vp-p)

    0     1      0.714,0.286(1.000Vp-p)

    1     0      1.000,0.400(1.400Vp-p)

    1     1      0.700,0.000(0.700Vp-p)

    5

    4

    setup

    一般为0

    3

    同步输入支持[3]

    如果设置1, 支持同步分离信号;

    2

    同步输入支持[2]

    如果设置1, 支持同步复合信号(在水平同步行信号上);

    1

    同步输入支持[1]

    如果设置1, 支持同步SOG信号;

    0

    同步输入支持[0]

    如果设置1, 场同步扫描起点,脉冲须在复合同步信号或同步SOG信号被使用;

    bit7=1,即模拟信号,bit6~0定义如下:

    6-1

    保留

    0

    DFP 1.x

    If set = 1, Interface is signal compatible with VESA DFP 1.x TMDS CRGB, 1 pixel / clock, up to 8 bits / color MSB aligned,DE active high

     

    字节

    特点支持

    详细描述

    18H

    7

    Standby待机

    是否支持Standby功能

    6

    Suspend挂起

    是否支持Suspend功能

    5

    Active Off/Very

    Low Power

    是否支持Off Mode功能

    [4:3]

    显示类型[4:3]

    Bit4 Bit3 解释       

    0 0   黑白/灰度显示

    0 1   RGB颜色显示

    1 0   非RGB多彩色显示,如RGY

    1   1   没有定义

    2

    标准默认颜色空间sRGB

    如果置1,显示将使用默认的颜色空间sRGB作为基色

    1

    推荐分辨率模式

    如果置1,推荐分辨率为第一个详细描述的时序(DTD)

    0

    支持GTF

    如果置1,支持GTF标准分辨率

    6. Color Characteristics

    字节

    颜色特征

    基于CIE出版15.2测定空间

    19H

    Red / Green Low Bits

    红绿场xy坐标低2位值

    Rx1 Rx0 Ry1 Ry0

    Gx1 Gx0 Gy1 Gy0

    1AH

    Blue / White Low Bits

    蓝白场xy坐标低2位值

    Bx1 Bx0 By1 By0

    Wx1 Wx0 Wy1 Wy0

    1BH

    Red_x红场画面x坐标

    Red_x    bits 9 →2

    1CH

    Red_y红场画面y坐标

    Red_y    bits 9 →2

    1DH

    Green_x绿场画面x坐标

    Green_x  bits 9 →2

    1EH

    Green_y绿场画面y坐标

    Green_y  bits 9 →2

    1FH

    Blue_x蓝场画面x坐标

    Blue_x   bits 9 →2

    20H

    Blue_y蓝场画面y坐标

    Blue_y   bits 9 →2

    21H

    White_x白场画面x坐标 

    White_x  bits 9 →2

    22H

    White_y白场画面y坐标  

    White_y  bits 9 →2

    7. Established Timings

    提供一些基本固定的VESA, Apple, Mac, IBM VGA等输出的Timing

    字节

    描述

    信源

    23H

    7

    720 x 400 @ 70Hz

    IBM, VGA

    6

    720 x 400 @ 88Hz

    IBM, XGA2

    5

    640 x 480 @ 60Hz

    IBM, VGA

    4

    640 x 480 @ 67Hz

    Apple, Mac II

    3

    640 x 480 @ 72Hz

    VESA

    2

    640 x 480 @ 75Hz

    VESA

    1

    800 x 600 @ 56Hz

    VESA

    0

    800 x 600 @ 60Hz

    VESA

    24H

    7

    800 x 600 @ 72Hz

    VESA

    6

    800 x 600 @ 75Hz

    VESA

    5

    832 x 624 @ 75H z

    Apple, Mac II

    4

    1024 x 768 @ 87Hz(I)

    IBM

    3

    1024 x 768 @ 60Hz

    VESA

    2

    1024 x 768 @ 70Hz

    VESA

    1

    1024 x 768 @ 75Hz  

    VESA

    0

    1280 x 1024 @ 75Hz

    VESA

    25H

    7

    1152 x 870 @ 75Hz

    Apple, Mac II

    6-0

    保留

    8. Standard Timing Identification

    这16个字节提供最多8种分辨率的识别,每一种分辨率都是由2个字节的模式格式和刷新率得到的。这些分辨率都没有包含Established Timings中。备注:这2个字节的识别码都是由VESA标准分辨率来定义的,它们都是VESA分辨率的一部分,未使用的字节应该设为01H. 详细设定见表12。

    字节

    描述

    标准分辨率定义1

    注释

    26H

    (水平活动像素 /8)-31

    一个字节能够的水平活动像范围是

    256-2以 8 个像素为增加

    27H

    7,6

    5-0

    画面比

    Bit7 Bit6 生效

    0   0   1  : 1 画面比

    0   1   4  : 3 画面比

    1   0   5  : 4 画面比

    1   1   16 :9 画面 比

    刷新率( Hz ) -60

    画面比 = 水平像素 / 垂直活动

    范围是 60-123Hz

    28H-29H

    同上

    同上

    2AH-2BH

    同上

    同上

    2CH-2DH

    同上

    同上

    2EH-2FH

    同上

    同上

    30H-21H

    同上

    同上

    32H-33H

    同上

    同上

    34H-35H

    同上

    同上

     

    9. Detailed Timing Descriptions(DTD)

    共72个字节分为四个详细时序描述块(DTD),每部分18个字节,故最多可以对四个TIMING进行详细描述

     

    Detailed Timing Descriptions(DTD)还可以用来描述显示器的其他特性,如机名、最大频率范围,字符型序列号SN,字符串描述信息,如下结构:

     

     

    10. Extension Flag

    扩展标志:除主块128字节外,如果有扩展块则该字节置1,VGA和DVI的值为0,HDMI的值为1

    11. Checksum

    校验和:使前127字节加上此字节等于0。

    三、EDID扩展块(CEA-861D)详解

    1. CEA-861D(HDMI)结构

    地址

    (+80H)

    描述

    格式

    00H

    02H

    Tag(02H)

    01H

    03H

    版本号

    02H

    DTD开始地址,暂用d表示

    d为扩展块中详细时序描述(DTD)开始地址

    03H

    Native DTD数量及YCbCr444/422,过扫描支持设置

    Bit7:是否支持过扫描

    Bit6:是否支持basic audio

    Bit5:是否支持YCbCr 4:4:4

    Bit4:是否支持YCbCr4:2:2

    低4bits:Native DTD个数

    <d

    各功能块参数设置

    各功能块包括:

    Video Data Block

    Audio Data Block

    Speaker Allocation Data Block

    Vendor Specific Data Block

    等等....

    大部分功能块长度可变

    d

    DTD开始地址,根据剩下空间情况,可定义n个DTD(每个18字节),所以DTD占用空间为n*18

    Detailed Timing Descriptor(DTD 详细时序描述),每一个DTD包括18字节,具体结构EDID主块中已有定义。

    d+(n*18)

    00H

    剩下的保留字节(Padding)

    00H填充

    7FH

    Checksum

    使前127字节加上此字节等于0

    2. Tag

    固定数值02H,EDID标准分配给CEA-861x标准的扩展标识。

    3. Revision

    CEA扩展块版本号,目前使用03版本

    4. 数字信号特性

    此字节各位定义如下:

    Bit7:是否支持过扫描

    Bit6:是否支持basic audio

    Bit5:是否支持YCbCr 4:4:4

    Bit4:是否支持YCbCr4:2:2

    低4bits:Native DTD个数

    Data

    5. Data Blocks(各功能块参数设置)

    各Data Block结构如下:

    注:L表是length,即长度,表中有说明

     

    其中各Data Block的Tag Code值定义如下:

     

    1.Video Data Block

    根据Data Block结构,首字节的bit7~5为Video Data Block = 2,bit4~0为Video Data Block长度,后面跟的字节为多个CEA short Video Descriptor,结构如下:

     

    Video Identification Code见CEA-861D标准定义,如下:

     

    2.Audio Data Block

    根据Data Block结构,首字节的bit7~5为Audio Data Block = 1,bit4~0为Video Data Block长度,后面跟的字节为1个或多个CEA short Audio Descriptor,每个CEA short Audio Descripto由三个字节组级,分为LPCM,AC3,MPEG2等各种Audio Format Code,  Audio Format Code及CEA short Audio DZescriptor结构如下:

     

    3.Speaker Allocation Data Block

    根据Data Block结构,首字节的bit7~5为Speaker Allocation Data Block = 4,bit4~0为Speaker Allocation Data Block长度(固定为3),后面跟的3字节,结构如下:

     

    注:F为前置,L为左置,R为右置,C为中置,Fxx=0表示预留位

    4.Vendor Specific Data Block(VSDB)

    厂商定义块,根据Data Block结构,首字节的bit7~5为Vendor Specific Data Block= 3,bit4~0为Vendor Specific Data Block长度,后面结构参照HDMI标准中的VSDB规范,如下是HDMI1.4a(HDMI1.4a使用CEA-861D)中的VSDB结构:

     

    6. Detailed Timing Descriptions(DTD)

    Detailed Timing Descriptions(DTD),每块18字节,详细结构见EDID主块对此部分的解释。

    7. Padding保留字节

    保留字节,用00填充。

    8. Checksum

    校验和:使前127字节加上此字节等于0。

  • 相关阅读:
    SQL Server的AlwaysOn错误19456和41158
    kvm上的Linux虚拟机使用virtio磁盘
    利用HAProxy代理SQL Server的AlwaysOn辅助副本
    KVM安装部署
    ola.hallengren的SQL Server维护脚本
    在单链表的第i个位置后插入一个节点(阿里+腾讯等面试题总结)
    怎么发现RAC环境中&#39;library cache pin&#39;等待事件的堵塞者(Blocker)?
    php unserialize 返回false的解决方法
    千万别让这些举动断送了你的职业前程-好文共分享
    Android开发:仿美团下拉列表菜单,帮助类,复用简单
  • 原文地址:https://www.cnblogs.com/fire909090/p/10523604.html
Copyright © 2011-2022 走看看