EDID
延伸显示能力识别(Extended display identification data,简称EDID)包含显示器的分辨率、厂商名称与序号等信息。一般EDID存在于显示器的PROM或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] 可以显示其信息。
EDID 1.3 数据格式
字节串行
0x00-0x13: 标头信息
0x00–0x07: 标头信息 "00h FFh FFh FFh FFh FFh FFh 00h"
0x08–0x09: 制造商ID。 这个识别码是经由微软来分配。
"00001=A”; “00010=B”; ... “11010=Z”,每个字符是5bits。 第7bit (地址 08h) 是0, 第一个字符(字母)
是位于bit 6 ~ 2 (地址 08h), 第二个字符(字母)是位于bit 1和0 (地址 08h) 和 bit7 ~ 5
(地址 09h),第三个字符(字母)是位于bit4 ~ 0 (地址 09h)。
Ex:
制造商ID : CEA -> 00011 00101 00001
EDID Byte 8~9: 0CA1
0x0A–0x0B: 生产ID码 (保存方式是LSB开始)。 由制造商分配。
0x0C–0x0F: 32比特序号。 非必需格式。 通常保存由 LSB 优先。为了去维持和之前需求的兼容性,假如一个ASCII
序号在详细时脉部分被提供,这个字段应该设置至少一个字节不是零。
0x10: 制造周。 这个由制造商改变。 法一是去计算一月的 1-7 当做第一周,一月 8-15 当做第二周并且以此
类推。 一些计算是以星期几(星期日-星期六)为基础。有效范围是 1-54。
0x11: 制造年份。 加上1990才是确实的年份。
0x12: EDID 版本号码。 "01h"
0x13: EDID 修订版号码。 "03h"
0x14-0x18: 基本显示参数
0x14: 影像输入定义
比特 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: 锯齿垂直同步
0x15: 最大水平图形尺寸 (单位为公分)。
0x16: 最大垂直图形尺寸 (单位为公分)。
0x17: 显示伽玛。 除以100再加1才是真正的值。
0x18: 电源管理和支持的特征:
bit 7: 待命
bit 6: 暂停
bit 5: 活跃关闭/低电源
bit 4-3: 显示型态
00=黑白, 01=RGB 色彩, 10=非 RGB 多色彩, 11=未定义
bit 2: 标准色彩空间
bit 1: 偏好时脉模式
bit 0: 缺省 GTF 支持
0x19-0x22: 色度调节
0x19: 低有效位关于红色 X1X0 (比特 7-6), 红色 Y1Y0 (比特 5-4), 绿色 X1X0 (比特 3-2),
绿色 Y1Y0 (比特 1-0)。
0x1A: 低有效位关于蓝色 X1X0 (比特 7-6), 蓝色 Y1Y0 (比特 5-4), 白色 X1X0 (比特 3-2),
白色 Y1Y0 (比特 1-0)。
0x1B–0x22: 高有效位关于红色 X9-2, 红色 Y9-2, 绿色 X9-2, 绿色 Y9-2, 蓝色 X9-2,
蓝色 Y9-2, 白色 X9-2, 白色 Y9-2。
正确值是介于0.000和0.999,但编码值是介于000h和3FFh。
0x23: 创建时脉 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
0x24: 创建时脉 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
0x25: 制造商保留的时脉
00h 是无
比特 7: 1152x870 @ 75 Hz (麦金塔 II, 苹果)
0x26–0x35: 标准时脉识别。
第一个字节
水平结果。 加上31,再乘上8, 得到正确值。
第二个字节
比特 7-6: 外观比例。 正确的垂直结果依赖水平结果。
00=16:10, 01=4:3, 10=5:4, 11=16:9 (00=1:1 在v1.3之前)
比特 5-0: 垂直频率。 加上 60 去得到正确的值。
0x36–0x47: 详细时脉描述 1
0x36–0x37: 像素时脉 (单位为 10 kHz) 或 0 (55 MSB 54 LSB)
假如像素时脉并非无效:
0x38: 水平活跃 (单位为像素)
0x39: 水平空白 (单位为像素)
0x3A: 水平活跃高 (4 高比特)
水平空白高 (4 低比特)
0x3B: 垂直活跃 (单位为线)
0x3C: 垂直空白 (单位为线)
0x3D: 垂直活跃在高有效位 (4 高比特)
垂直空白在高有效位 (4 低比特)
0x3E: 水平同步偏移量 (单位为像素)
0x3F: 水平同步脉冲宽度 (单位为像素)
0x40: 垂直同步偏移量 (单位为线) (4 高比特)
垂直同步脉冲宽度 (单位为线) (4 低比特)
0x41: 高有效位关于水平同步偏移量 (比特 7-6)
高有效位关于水平同步脉冲宽度 (比特 5-4)
高有效位关于垂直同步偏移量 (比特 3-2)
高有效位关于垂直同步脉冲宽度 (比特 1-0)
0x42: 水平图像尺寸 (单位为公厘)
0x43: 垂直图像尺寸 (单位为公厘)
0x44: 高有效位关于水平图像尺寸 (4 高比特)
高有效位关于垂直图像尺寸 (4 低比特)
0x45: 水平边界线 (单位为像素且只表示一边)
0x46: 垂直边界线 (单位为线且只表示一边)
0x47: 交错与否 (比特 7)
立体与否 (比特 6-5) ("00" 表示否)
分离同步与否 (比特 4-3)
垂直同步正与否 (比特 2)
水平同步正与否 (比特 1)
立体模式 (比特 0) (若是6-5 是 00 则没使用)
假如像素时脉是无效:
0x38: 0
0x39: 区块型态
FFh=监视器序号, FEh=ASCII 字符串, FDh=监视器变动限制, FCh=监视器名称,
FBh=色彩点数据, FAh, 标准时脉数据, F9h=现在未定义,
0Fh=由制造商定义
0x3A: 0
0x3B–0x47: 区块内容描述符。
假如区块型态是 FFh, FEh, 或 FCh, 整个区域是字符串。
假如区块型态是 FDh:
0x3B–0x3F:
最小垂直频率, 最大垂直频率,
最小水平频率 (单位为 kHz), 最大水平频率 (单位为 kHz), 像素时脉
(单位为 MHz (正确值需乘上10))
0x40–0x41: 第二 GTF 触发器
假如编码值是 000A, 字节 59-63 是使用。 假如编码值是 0200,
字节 67–71 是使用。
0x42: 开始水平频率 (单位为 kHz)。 乘上2得到实际值。
0x43: C。 除以 2 得到实际值。
0x44-0x45: M (以LSB优先保存)。
0x46: K
0x47: J。 除以 2 得到实际值。
假如区块型态是 FBh:
0x3B: W 索引 0。 假如设置成 0, 字节 60-63 是没使用。 假如设置成 1, 61–63 是
分配到白点索引 #1
0x40: 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:
0x3B–0x46: 标准时脉识别。 2 字节对于每一个纪录。
关于结构细节, 看字节 38-53。
0x48–0x59: 详细时脉描述 2 或监视器描述符
0x5A–0x6B: 详细时脉描述 3 或监视器描述符
0x6C–0x7D: 详细时脉描述 4 或监视器描述符
0x7E: 额外的旗标。 额外的数值采用这个区块。
在EDID 1.3之前, 这是被忽略的, 并且应该被设成 0。
0x7F: 校验和 - 这个字节应该被程序化使得所有 128 字节的加总等于 00h.
参见
- 电脑标准列表
注释
This article is issued from Wikipedia. The text is licensed under Creative Commons - Attribution - Sharealike. Additional terms may apply for the media files.