分类: IT职场
2015-08-16 20:07:15
原文地址:EDID相关 作者:itloverhpu
延伸显示能力识别(Extended display identification data,简称EDID)是指屏幕分辨率的资料,包括厂商名称与序号,一般EDID存在于显示器的PROM (programmable read-only memory) 或是 EEPROM内。一般如要读取EDID都是透过I2C,slave address是0x50[1]。目前 HDMI 1.0 - 1.3c 使用 EDID 结构 1.3版。
许多现成的套装软件都可以读取并显示 EDID 资讯, 像是 read-edid[2] 和 Powerstrip[3] 可以使用于Windows之上, 又如 XFree86 (将EDID 资料输出到log档, 如果 verbose logging 是在 (startx -- -logverbose 6)) 可以使用于 Linux平台上,以及 BSD unix。在 Linux平台上你也可以看到 raw EDID 的十六进制格式,只要你执行 "xrandr --verbose"。Mac OS X平台上可自然的读取 EDID 资讯 (见 /var/log/system.log or hold down Cmd-V on startup) 并加以程式化,像是 SwitchResX[4] 或 DisplayConfigX[5] 可以显示其资讯.
位元組序列 00-19: 標頭資訊 00–07: 標頭資訊 "00h FFh FFh FFh FFh FFh FFh 00h" 08–09: 製造商ID。 這個識別碼是經由微軟來分配。 "00001=A”; “00010=B”; ... “11010=Z”。 第7位元 (位址 08h) 是0, 第一個字元(字母) 是位於位元 6 → 2 (位址 08h), 第二個字元(字母)是位於位元1和0 (位址 08h)和位元7 → 5 (位址 09h),第三個字元(字母)是位於位元4 → 0 (位址 09h)。 10–11: 生產ID碼 (儲存方式是LSB開始)。 由製造商分配。 12–15: 32位元序號。 非必需格式。 通常儲存由 LSB 優先。為了去維持和之前需求的相容性,假如一個ASCII 序號在詳細時脈部分被提供,這個欄位應該設定至少一個位元組不是零。 16: 製造週。 這個由製造商改變。 法一是去計算一月的 1-7 當做第一週,一月 8-15 當做第二週並且以此 類推。 一些計算是以星期幾(星期日-星期六)為基礎。有效範圍是 1-54。 17: 製造年份。 加上1990才是確實的年份。 18: EDID 版本號碼。 "01h" 19: EDID 修訂版號碼。 "03h" 20-24: 基本顯示參數 20: 影像輸入定義 位元 7: 0=類比, 1=數位 假如 位元 7 是數位: 位元 0: 1=相容DFP 1.x 假如 位元 7 是類比: 位元 6-5: 影像等級 00=0.7, 0.3, 01=0.714, 0.286, 10=1, 0.4 11=0.7, 0 bit 4: 白黑設定 bit 3: 分離同步 bit 2: 合成同步 bit 1: 綠色同步 bit 0: 鋸齒垂直同步 21: 最大水平圖形尺寸 (單位為公分)。 22: 最大垂直圖形尺寸 (單位為公分)。 23: 顯示伽瑪。 除以100再加1才是真正的值。 24: 電源管理和支援的特徵: bit 7: 待命 bit 6: 暫停 bit 5: 活躍關閉/低電源 bit 4-3: 顯示型態 00=黑白, 01=RGB 色彩, 10=非 RGB 多色彩, 11=未定義 bit 2: 標準色彩空間 bit 1: 偏好時脈模式 bit 0: 預設 GTF 支援 25-34: 色度調節 25: 低有效位關於紅色 X1X0 (位元 7-6), 紅色 Y1Y0 (位元 5-4), 綠色 X1X0 (位元 3-2), 綠色 Y1Y0 (位元 1-0)。 26: 低有效位關於藍色 X1X0 (位元 7-6), 藍色 Y1Y0 (位元 5-4), 白色 X1X0 (位元 3-2), 白色 Y1Y0 (位元 1-0)。 27–34: 高有效位關於紅色 X9-2, 紅色 Y9-2, 綠色 X9-2, 綠色 Y9-2, 藍色 X9-2, 藍色 Y9-2, 白色 X9-2, 白色 Y9-2。 正確值是介於0.000和0.999,但編碼值是介於000h和3FFh。 35: 建立時脈 I 位元 7-0: 720×400@70 Hz, 720×400@88 Hz, 640×480@60 Hz, 640×480@67 Hz, 640×480@72 Hz, 640×480@75 Hz, 800×600@56 Hz, 800×600@60 Hz 36: 建立時脈 II 位元 7-0: 800×600@72 Hz, 800×600@75 Hz, 832×624@75 Hz, 1024×768@87 Hz (交錯的), 1024×768@60 Hz, 1024×768@70 Hz, 1024×768@75 Hz, 1280×1024@75 Hz 37: 製造商保留的時脈 00h 是無 位元 7: 1152x870 @ 75 Hz (麥金塔 II, 蘋果) 38–53: 標準時脈識別。 第一個位元組 水平結果。 加上31,再乘上8, 得到正確值。 第二個位元組 位元 7-6: 外觀比例。 正確的垂直結果依賴水平結果。 00=16:10, 01=4:3, 10=5:4, 11=16:9 (00=1:1 在v1.3之前) 位元 5-0: 垂直頻率。 加上 60 去得到正確的值。 54–71: 詳細時脈描述 1 54–55: 像素時脈 (單位為 10 kHz) 或 0 (55 MSB 54 LSB) 假如像素時脈並非無效: 56: 水平活躍 (單位為像素) 57: 水平空白 (單位為像素) 58: 水平活躍高 (4 高位元) 水平空白高 (4 低位元) 59: 垂直活躍 (單位為線) 60: 垂直空白 (單位為線) 61: 垂直活躍在高有效位 (4 高位元) 垂直空白在高有效位 (4 低位元) 62: 水平同步偏移量 (單位為像素) 63: 水平同步脈沖寬度 (單位為像素) 64: 垂直同步偏移量 (單位為線) (4 高位元) 垂直同步脈沖寬度 (單位為線) (4 低位元) 65: 高有效位關於水平同步偏移量 (位元 7-6) 高有效位關於水平同步脈沖寬度 (位元 5-4) 高有效位關於垂直同步偏移量 (位元 3-2) 高有效位關於垂直同步脈沖寬度 (位元 1-0) 66: 水平圖像尺寸 (單位為公釐) 67: 垂直圖像尺寸 (單位為公釐) 68: 高有效位關於水平圖像尺寸 (4 高位元) 高有效位關於垂直圖像尺寸 (4 低位元) 69: 水平邊界線 (單位為像素且只表示一邊) 70: 垂直邊界線 (單位為線且只表示一邊) 71: 交錯與否 (位元 7) 立体與否 (位元 6-5) ("00" 表示否) 分離同步與否 (位元 4-3) 垂直同步正與否 (位元 2) 水平同步正與否 (位元 1) 立体模式 (位元 0) (若是6-5 是 00 則沒使用) 假如像素時脈是無效: 56: 0 57: 區塊型態 FFh=監視器序號, FEh=ASCII 字串, FDh=監視器變動限制, FCh=監視器名稱, FBh=色彩點資料, FAh, 標準時脈資料, F9h=現在未定義, 0Fh=由製造商定義 58: 0 59–71: 區塊內容描述符。 假如區塊型態是 FFh, FEh, 或 FCh, 整個區域是字串。 假如區塊型態是 FDh: 59–63: 最小垂直頻率, 最大垂直頻率, 最小水平頻率 (單位為 kHz), 最大水平頻率 (單位為 kHz), 像素時脈 (單位為 MHz (正確值需乘上10)) 64–65: 第二 GTF 觸發器 假如編碼值是 000A, 位元組 59-63 是使用。 假如編碼值是 0200, 位元組 67–71 是使用。 66: 開始水平頻率 (單位為 kHz)。 乘上2得到實際值。 67: C。 除以 2 得到實際值。 68-69: M (以LSB優先儲存)。 70: K 71: J。 除以 2 得到實際值。 假如區塊型態是 FBh: 59: W 索引 0。 假如設定成 0, 位元組 60-63 是沒使用。 假如設定成 1, 61–63 是 分配到白點索引 #1 64: W 索引 1。 假如設定成 0, 位元組 65-68 是沒使用。 假如設定成 2, 65–68 是 分配到白點索引 #2 白點索引結構: 第一個位元 位元 3-2: 低有效位關於白 X (位元 3-2), 白 Y (位元 1-0) 第二到第三位元組: 高有效位關於白 X, 白 Y。 第四位元組: 伽瑪。 除以100, 再加上1得到實際值。 解碼白 X 和白 Y, 看位元組 25-34。 假如區塊型態是 FAh: 59–70: 標準時脈識別。 2 位元組對於每一個紀錄。 關於結構細節, 看位元組 38-53。 72–89: 詳細時脈描述 2 或監視器描述符 90–107: 詳細時脈描述 3 或監視器描述符 108–125: 詳細時脈描述 4 或監視器描述符 126: 額外的旗標。 額外的數值採用這個區塊。 在EDID 1.3之前, 這是被忽略的, 並且應該被設成 0。 127: 校驗和 - 這個位元組應該被程式化使得所有 128 位元組的加總等於 00h.
1.DDC: Display Data Channel (显示数据通道)----指主机与显示设备的通讯方式。基于End-user 的即插即用功能的需求,VESA 定义了DDC 标准。包含DDC1/DDC2B/DDC2B+ 等方式。
DDC1是主机与显示设备单向通讯,以V-Sync为Clock。显示器不停的向主机发送EDID资料。
DDC2B是主机与显示设备准双向通讯,基于I2C 通讯协议。只有主机向显示器发出需求信号,并得到显示器的响应后,显示器才送出EDID 资料。
目前DDC1 基本上已经不再使用,主要是采用DDC2B 方式。PC2001 规定不能再使用DDC1。
2.EDID: Extended Display Identification Data (外部显示设备标识数据)----指DDC 通讯中传输的显示设备数据。
EDID 包含显示设备的基本参数,如制造厂商、产品名称、最大行场频、可支持的分辨率等。
EDID 版本从1.0 升级至现在1.3 版本到将来的2.0版本。
Version:1.0 à Version 1.1à Version 1.2àVersion 1.3àVersion 2.0
128 Byte 目前使用版本 256Byte
厂内通过DDC 烧录程序将EDID写入EEPROM 或CPU RAM 里.
EDID (Version1.3) 内容
一、 头文件 (8 bytes) --- Head
00h, FFh,FFh, FFh, FFh, FFh, FFh,00h; 这是EDID 开始的标示。
二、厂商、产品说明(10 bytes)--- Vendor/Product identification
1) ID Manufacturer name(2 bytes)---制造厂商名称
厂商名称只有3个字母,按Compressed ASCII 格式转换
(”00001”=”A”,”00010”=”B”….”11010”=”Z”)
例如:”AOC”à”0000 1011 1100 0011”à”05h” “E3h”
2) ID Product code(2 bytes)--- 产品代码
该产品代码由厂商自己指定。
如:AOC的代码有D569; A700….
需注意不同机种Product code、model name 不能重复.
3) ID Serial number (4 bytes)---产品序号
Version 1.3 在这部分较为自由,可以按序号的特征转换为16 进制或按ASCII 格式转换。
如:AOC 转换为16 进制,假设某机器序号 为”00000001”à”01h”,”00h,””00h”,”00h”
DELL 按ASCII 格式转换,假设某机器序号为”1001”à”31h”,”00h”,”00h”,”31h”
不同的机种序号不同,这里字节将由机器不同而变化。所以需注意DDC 程序予以配合。
4) Week of Manufacture(1byte)--- 制造周别
该字节标示该机器的实际制造周别,将周别转为16进制即可。
如:第10周à”0A”
5) Year of manufacture (1byte)--- 制造年份
该字节根据公式:”当前年份-1990”à16进制,如2002年该字节应为(2002-1990)à”0Bh”
三、EDID 版本(2 bytes)-- ID Structure Version/Revision
当前为1.3 版本:”01h”,”03h”
四、基本显示参数/特性(5bytes)--- Basic Display Parameters/Features
1)Video 信号输入参数(1byte)
该字节定义输入信号为模拟信号还是数字信号、信号电平、分离还是复合信号、是否支持sync on green功能等Video 信号参数。这部分需注意与工程规格书一致,避免错误。
2)图像size 描述(2 bytes)
该2字节定义行、场最大size。注意单位为cm; 如最大行size 320mmà”20h”.
3)显示器Gamma值(1byte)
该字节根据公式” (gamma x100)-100” 后转换为16进制。 如 gamma 为2.2 转换后为 (2.2 x100)-100à”78h”
4)DPMS 特性(1byte)
该字节定义显示器是否支持Standby, suspend, sRGB等功能。由于专利问题,制作EDID 时需特别注意。
五、显示器颜色特征(10 bytes)--- color Characteristics
这些字节提供显示器R,G,B 色坐标及白平衡色温。制作EDID 时需根据机种选用不同CRT,查核CRT SPEC 中提供的色坐标。
六、确定的Timing(3bytes)--- Established Timing
这里提供一些基本固定的VESA, Apple, Mac, IBM VGA等输出的Timing,
可根据显示器的特性在提供VESA EDID Spec Timing list中选择所支持的Timing. 如
七、标准Timing (16 bytes)--- Standard Timing Identification
这里提供8个除Established Timing外,该显示器所支持的VESA mode 和GTF Mode.
与Established timing 相比较,standard timing 可以将图像高宽按1:1,4:3, 5:4,16:9 的比率自由定义Timing值。如800x600 @85Hz等Timing。
注意:Established Timing 及standard Timing 一般必须包含该显示器所有的Preset modes。
八、 详细的Timing 描述(72 bytes)--- Detailed Timing Description
这里72 bytes 包含该显示器的最佳频率、频率范围及显示器名称等信息。
分为4部分,每个部分18bytes. Version1.3里,第一部分必须为该显示器最佳频率的信息。
其他部分可根据需要放置显示器频率范围、显示器名称、完整的Serial number。
九、 扩展标示 及Checksum (2 bytes)--- Extension Flag and Checksum
扩展标示用于显示128字节外扩展的EDID字节数。
Checksum= 256- {X% 256},用来确认EDID 资料传输是否正确。
X= (127字节相加之和) :16Hex方式相加,得出结果再转化为十进制。
EDID 发布流程:
1. 制作EDID
2. 以CLCA方式请TE/QR 测试(需注明该烧录该EDID的DDC 程序)
3. 待CLCA 回复后发布公司相关单位,如PD,TE,QA,试跑线、OTPV等。
4. 如果是OEM 客户机种,EDID需客户Approve.
EDID 需注意点:
1.因Windows logo 申请有要求EDID 内容及驱动程序不得变更。所以,EDID变更时需注意check 该机种是否有Windows logo认证。
2.因EDID 是按系列机种对外名称来写。如IIyama机种包含PLE430S,PLE430T等机种,他们的EDID是共用的,所以需特别注意维护。避免重复发布EDID.
3.由于EDID 与Barcode 的格式有关,需特别注意barcode 变更时,必须Check 是否影响EDID 内容及DDC 烧录程序。