整理:Hello,Panda
小伙伴们在设计显示接口的时候,常常会遇到显示器支持格式的问题,这里呢就简要的介绍下格式握手的重要协议EDID。
EDID(ExtendedDisplay Indentification Data Standard)就是显示器通过DDC(Display DataChannel)传输数据给主控器的一个标准。目前已经发布了三个版本,数据量分为128字节或256字节。
DDC总线分为DDC1、DDC2B、DDC2Bi、DDC2B+、DDC2AB等各个级别,目前一般的显示器都会实现前2种。
表1 DDC总线各级别描述
DDC级别 |
描述 |
引脚描述 |
地址 |
DDC1 |
显示器到主控,通过vsync采样 |
Pin-12 |
无 |
DDC2B |
双向、符合IIC标准,只能读取显示器信息 |
Pin-11(Return) Pin-12(SDA)Pin-15(SCL) |
0xA0/A1 |
DDC2AB |
双向、支持ACESS.BUS,传输EDID/VDIF标准信息 |
Pin-11(ID) Pin-12(SDA)Pin-15(SCL) |
0x6E/6F 0x50/51 |
DDC2Bi |
IIC Slave模式、传输图形信息,支持简单的ACESS.BUS总线标准 |
Pin-11(ID) Pin-12(SDA)Pin-15(SCL) |
0x6E/6F 0x50/51 |
DDC2B+ |
双向传输,点对点,不支持ACESS.BUS协议 |
Pin-11(ID) Pin-12(SDA)Pin-15(SCL) |
0x6E/6F 0x50/51 |
一般在VGA、DVI和HDMI接口中会用到EDID相关信息。DVI有多种规格,分别是DVI-A(实际上就是VGA)、DVI-D(数据信号,TMDS电平)、DVI-I(A+D,兼容模拟和数字信号)。HDMI就是在DVI-D的基础上封装了音频信号和具有加密传输的功能。
EDID基础版一共包含128字节有效信息。需要多字节表示一个信息项的,高地址处存储高字节,低地址处存储低字节。256字节的扩展版不是强制必须的
基本的EDID信息如下表2所示。
表2 基本的EDID信息
地址 |
字节数 |
|
描述 |
格式 |
00h |
8 |
字节 |
Header信息 |
|
00h |
|
1 |
00h |
|
01h |
|
1 |
FFh |
|
02h |
|
1 |
FFh |
|
03h |
|
1 |
FFh |
|
04h |
|
1 |
FFh |
|
05h |
|
1 |
FFh |
|
06h |
|
1 |
FFh |
|
07h |
|
1 |
00h |
|
08h |
10 |
字节 |
Vendor/Product识别信息 |
|
08h |
|
2 |
制造商ID |
EISA 3-字符 ID |
0Ah |
|
2 |
产品码ID |
供应商分配 |
0Ch |
|
4 |
ID序列号 |
32位序列号 |
10h |
|
1 |
生产周 |
周编号 |
11h |
|
1 |
生产年 |
年编号 |
12h |
2 |
字节 |
EDID版本号 |
|
12h |
|
1 |
版本# |
二进制 |
13h |
|
1 |
修订# |
二进制 |
14h |
5 |
字节 |
基本的显示参数 |
|
14h |
|
1 |
视频输入定义 |
|
15h |
|
1 |
最大水平图像尺寸 |
cm |
16h |
|
1 |
最大竖直图像尺寸 |
cm |
17h |
|
1 |
显示传输特性(gamma) |
二进制 |
18h |
|
1 |
特性支持 |
|
19h |
10 |
字节 |
色彩特性 |
|
19h |
|
1 |
Red/Green低位 |
Rx1-Rx0-Ry1-Ry0-Gx1-Gx0- Gy1-Gy0 |
1Ah |
|
1 |
Blue/White低位 |
Bx1-Bx0-By1-By0-Wx1-Wx0 -Wy1-Wy0 |
1Bh |
|
1 |
Red-x |
Red-x [9:2] |
1Ch |
|
1 |
Red-y |
Red-y [9:2] |
1Dh |
|
1 |
Green-x |
Green-x [9:2] |
1Eh |
|
1 |
Green-y |
Green-y [9:2] |
1Fh |
|
1 |
Blue-x |
Blue-x [9:2] |
20h |
|
1 |
Blue-y |
Blue-y [9:2] |
21h |
|
1 |
White-x |
White-x [9:2] |
22h |
|
1 |
White-y |
White-y [9:2] |
23h |
3 |
字节 |
已建立的时序 |
|
23h |
|
1 |
已建立的时序1 |
|
24h |
|
1 |
已建立的时序2 |
|
25h |
|
1 |
制造商保留时序 |
|
26h |
16 |
字节 |
标准时序定义 |
|
26h |
|
2 |
标准时序识别#1 |
|
28h |
|
2 |
标准时序识别#2 |
|
2Ah |
|
2 |
标准时序识别#3 |
|
2Ch |
|
2 |
标准时序识别#4 |
|
2Eh |
|
2 |
标准时序识别#5 |
|
30h |
|
2 |
标准时序识别#6 |
|
32h |
|
2 |
标准时序识别#7 |
|
34h |
|
2 |
标准时序识别#8 |
|
36h |
72 |
2 |
详细时序描述 |
|
36h |
|
18 |
详细时序描述#1或监视器描述 |
和EDID版本相关 |
48h |
|
18 |
详细时序描述#2或监视器描述 |
和EDID版本相关 |
5Ah |
|
18 |
详细时序描述#3或监视器描述 |
和EDID版本相关 |
6Ch |
|
18 |
详细时序描述#4或监视器描述 |
和EDID版本相关 |
7Eh |
1 |
字节 |
扩展标志 |
接下来的128字节扩展块 |
7Fh |
1 |
字节 |
校验和 |
校验和,所有128字节的和应为0 |
基本的显示参数由5字节构成,详细含义如下表3所示。
表3 基本显示参数表
地址 |
位 |
描述 |
详细描述 |
0x14 |
7 |
Analog/digtal singal level |
定义输入是模拟信号还是数字信号 模拟;1-数字 如果输入定义是模拟输入,[6:0]有效,如果是数字输入,参照EDID2.x |
[6:5] |
Signal Level Standard[6:5] |
00-(0.700,0.300)-1.000Vp-p 01-(0.714,0.286)-1.000Vp-p 10-(1.000,0.400)-1.400Vp-p 11-(0.700,0.000)-0.700Vp-p |
|
4 |
Setup |
|
|
3 |
Sync.Inputs Supported[3] |
1:支持独立sync |
|
2 |
Sync.Inputs Supported[2] |
1:支持混合sync(在hsync线上) |
|
1 |
Sync.Inputs Supported[1] |
1:支持sync on green视频 |
|
0 |
Sync.Inputs Supported[0] |
1: |
|
0x15 |
[7:0] |
Max.horizontal image size |
1~255cm |
0x16 |
[7:0] |
Max.Vertical image size |
1~255cm |
0x17 |
[7:0] |
Gamma |
(Gamma*100)-100,如gamma=2.2,那么值为120 |
0x18 |
7 |
Stand-by |
参照VESA DPMS标准 |
6 |
Suspend |
参照VESA DPMS标准 |
|
5 |
Active off |
参照VESA DPMS标准 |
|
[4:3] |
Display Type[4:3] |
灰度;01-RGB;10-非RGB,如R/G/Y 11-未定义 |
|
2 |
Standard Default Color Space |
1-显示器使用标准默认色空间作为其原始色空间 |
|
1 |
Preferred Timing Mode |
1-显示首选时序模式在1#详细时序描述块中体现 |
|
0 |
GTF supported |
1-支持基于GTF标准的时序 |
建立时序如下表4所示,对应位为‘1’表示支持该时序标准
表4 已建立时序表
地址 |
位 |
描述 |
源 |
0x23 |
7 |
720×400@70Hz |
IBM、VGA |
6 |
720×400@88Hz |
IBM、XGA |
|
5 |
640×480@60Hz |
IBM、VGA |
|
4 |
640×480@67Hz |
Apple、Mac II |
|
3 |
640×480@72Hz |
VESA |
|
2 |
640×480@75Hz |
VESA |
|
1 |
800×600@56Hz |
VESA |
|
0 |
800×600@60Hz |
VESA |
|
|
7 |
800×600@72Hz |
VESA |
6 |
800×600@75Hz |
VESA |
|
5 |
832×624@72Hz |
Apple、Mac II |
|
4 |
1024×768@87Hz |
IBM |
|
3 |
1024×768@60Hz |
VESA |
|
2 |
1024×768@70Hz |
VESA |
|
1 |
1024×768@75Hz |
VESA |
|
0 |
1280×1024@75Hz |
VESA |
|
|
7 |
1152×870@75Hz |
Apple、Mac II |
[6:0] |
保留 |
|
16个字节,每两个字节为1组,不使用的字节都要设置成为01h。详细定义如下表5。
表5 标准时序定义
地址 |
位 |
描述 |
源 |
0x26 |
[7:0] |
(水平有效像素/8)-31 |
256~2288,增量为8 |
0x27 |
[7:6] |
图像比率 00-1:1 ;01-4:3;10-5:4;11-16:9 |
竖直方向行数根据该比率计算得到 |
[5:0] |
刷新率 |
60~123Hz |
详细时序描述共5栏,每栏18个字节。具体内容如下表6所示。
表6 详细时序描述
地址 |
字节 |
详细时序描述 |
格式 |
0x36 |
2 |
Pixel clock/10000 |
LSB在前,如135MHz存储13500(BC’h,34’h) |
0x38 |
1 |
行有效像素 |
像素,低8位 |
0x39 |
1 |
水平消隐区 |
像素,低8位 |
0x3A |
1 |
行有效:消隐 |
[7:4]:水平有效像素的高4bit [3:0]:行消隐的高4bit |
0x3B |
1 |
场有效行 |
行,低8bit |
0x3C |
1 |
场消隐行 |
行,低8bit |
0x3D |
1 |
场有效/消隐 |
[7:4]:竖直有效的高4bit; [3:0]:场消隐高4bit; |
0x3E |
1 |
行同步偏移量 |
像素,从消隐区开始,低8bit |
0x3F |
1 |
行同步脉宽 |
像素,低8bit |
0x40 |
1 |
帧同步偏移/脉宽 |
行 [7:4]:场同步偏移低4bit;[3:0]:场同步脉宽低4bit; |
0x41 |
1 |
行/场同步偏移/脉宽 |
[7:6]:行同步偏移,高2bit; [5:4]:行同步脉宽,高2bit;[3:2]:场同步,高2bit; [1:0]:场同步脉宽,高2bit; |
0x42 |
1 |
水平图像尺寸 |
mm,低8bit |
0x43 |
1 |
竖直图像尺寸 |
mm,低8bit |
0x44 |
1 |
水平/竖直图像尺寸 |
[7:4]:水平图像尺寸的高4bit; [3:0]:竖直图像尺寸的高4bit |
0x45 |
1 |
水平Border |
|
0x46 |
1 |
竖直Border |
|
0x47 |
1 |
flag |
[7]: 0-无交织;1-交织; [6:5]:00-正常,无立体图;XX-见表7; [4:3]:00-模拟合成;01-双极性模拟合成;10-数字合成;11-数字独立 [2:1]:见表8[0]-见表7 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
表7 立体图像模式位
Bit6 |
Bit5 |
Bit0 |
定义 |
0 |
1 |
0 |
场连贯立体图,sync=1时为右图 |
1 |
0 |
0 |
场连贯立体图,sync=1时为左图 |
0 |
1 |
1 |
2交织立体图,偶数行时为右图 |
1 |
0 |
1 |
2交织立体图,偶数行时为左图 |
1 |
1 |
0 |
4交织立体图 |
1 |
1 |
1 |
Side-by-side交织立体图 |
表8 同步信号描述
Bit[4:3] |
Bit[2] |
Bit[2]定义 |
Bit[1] |
Bit[1]定义 |
00:模拟合成 |
锯齿 |
1-控制器提供锯齿控制(hsync during vsync) |
On RGB |
1- sync信号在3根信号线上出现; 0-sync信号只在green线上出现 |
01:双极性模拟合成 |
锯齿 |
同上 |
On RGB |
同上 |
10: 数字合成 |
锯齿 |
同上 |
合成极性 |
Vsync之外的hsync极性 1-高电平 |
11: 数字独立 |
竖直极性 |
1-vsync极性为高 |
水平极性 |
1-高电平 |
这里熊猫君不想翻译了,有需要的同行自己查看EDID标准,目前最新版本是V3版。
您也可以加入QQ讨论群300148644向群主索要标准文档。