Rockchip RK3399 - DRM HDMI介绍
----------------------------------------------------------------------------------------------------------------------------
开发板 :NanoPC-T4开发板
eMMC :16GB
LPDDR3 :4GB
显示屏 :15.6英寸HDMI接口显示屏
u-boot :2023.04
linux :6.3
----------------------------------------------------------------------------------------------------------------------------
在《Rockchip RK3399 - DRM驱动程序》我们已经介绍过了,RK3399有两个VOP,均可以支持HDMI、eDP、DP、MIPI DSI0、MIPI DSI1显示接口,本节我们选择HDMI作为分析的对象。
一、HDMI介绍
1.1 概述
HDMI全称(High Definition Multimedia Interface)高清多媒体接口,支持在单线缆上传输全数字高清视频和多声道音频。
HDMI基于TMDS协议传输,主要用于DVD, 机顶盒等音视频source到TV,显示器等sink设备的传输。
HDMI向下兼容DVI,但是DVI(数字视频接口)只能用来传输视频,而不能同时传输音频,这是两者最主要的差别。
1.1.1 版本变更
HDMI 1.0版本于2002年发布,最高数据传输速度为5Gbps;
HDMI 1.1版本版本2004年5月分布,新增对DVD音频的支持;
HDMI 1.2版本于2005年8月推出,很大程度上解决了HDMI 1.1支持的分辨率较低、同电脑设备兼容性较差等问题。1.2版像素时钟运行频率达到165MHz,数据量达到4.95 Gbps,因此可以实现1080P。可以认为1.2版解决的是电视的1080P和电脑的点对点问题。
2006年6月HDMI 1.3更新,带来最大的变化是将单链接带宽频率提升到340MHz,也就能让这些液晶电视获得10.2Gbps的数据传输量,1.3版的线是有4对传输通道组成,其中1对通道是时钟通道,另外3对是TMDS通道(最小化传输差分信号),他们的传输速度分别为3.4GBPS。那么3对就是3*3.4=10.2GPBS更是能将HDMI 1.1、1.2版本所支持的24位色深大幅扩充至30位、36位及48位(RGB或YCbCr);
HDMI 1.4版本已经可以支持4K了,但是受制于带宽10.2Gbps,最高只能达到3840×2160分辨率和30FPS帧率;
HDMI 2.0的带宽扩充到了18Gbps,支持即插即用和热插拔,支持3840×2160分辨率和50FPS、60FPS帧率。同时在音频方面支持最多32个声道,以及最高1536kHz采样率。HDMI 2.0并没有定义新的数据线和接头、接口,因此能保持对HDMI 1.x的完美向下兼容,现有的二类数据线可直接使用。HDMI 2.0并不会取代HDMI 1.x,而是基于后者的增强,任何设备要想支持HDMI 2.0必须首先保证对HDMI 1.x的基础性支持。
HDMI 2.0a的变化并不大,它的主要更新只有一个地方,那就是加入了对HDR格式传输的支持,能够显著增强图像质量。
HDMI 2.0b兼容所有HDMI之前的规格版本,与HDMI 2.0a并没有太大区别。
而2017年发布的HDMI 2.1标准的理论带宽可达48Gbps。
1.1.2 术语
在介绍HDMI时,我们会提到大量的专业术语:
HDCP:High-bandwidth Digital Content Protection版权保护相关的,通过IIC获取;EDID:Extended Display Identification Data扩展显示标识数据,包含有关显示器及其性能的参数,包括供应商信息、最大图像大小、颜色设置、厂商预设置、频率范围的限制以及显示器名和序列号的字符串等;DDC:Display Data Channel显示数据通道,其实就是IIC通道,用来获取EDID、HDCP密钥等内容;HDP:Hot Plug Detect热插拔检测;CEC:Consumer Electronics Control用户电气控制,CEC可以控制从设备的一些状态,即遥控器功能;TMDS:Transition Minimized Differential Signaling最小化传输差分信号,一种差分传输技术;HEAC:HDMI Ethernet and Audio Return Channel以太网和音频返回,HEAC需要额外的phy才能支持;Source:A device with an HDMI output;Sink:A device with an HDMI input;CTS:Compliance Test Specification。
1.2 HDMI框图
HDMI系统架构由source端和sink端组成:source是指发送HDMI信号的一侧,sink是指接收HDMI信号的一侧。
以上是HDMI的结构图,从中我们大致可以看出HDMI信号的组成部分:
-
四路差分信号,包括三路
TMDS Data信号和一路TMDS Clock信号。TMDS信号不仅仅用于传输video信号,还传输audio和辅助信息; -
一个
DDC通道用于在source端和sink端交换状态, 用于告知source端,sink端具体可以接收什么样的数据; -
HDP用于热插拔检测, 连接好过后sink端会发送一个拉高的信号,source端在接收到信号过后会向sink端开始发送数据; -
CEC是用户电气控制,一般用作遥控;CEC是HDMI可选协议; -
HEAC以太网和音频返回;HEAC是HDMI可选协议;
因此,我们可以推断出:
- 要想传输音视频,只需要
TMDS信号即可; - 要想使用遥控器,需要
CEC; - 要想做到分辨率自适应屏幕,需要
DDC; - 要支持热插拔,需要实现
HPD;
1.2.1 物理结构
HDMI有A、B、C、D、E五种引脚类型,目前常用的是Type A:
其中:
A:HDMI Type A接口共有19pin,宽度为13.9毫米,厚度为4.45毫米;B:HDMI Type B接口采用29pin,宽度21毫米;C:HDMI Type C常称为Mini HDMI,它主要是为小型设备设计的;D:HDMI Type D是最新的接口类型,尺寸进一步缩小;E:主要用于车载娱乐系统的音视频传输。由于车内环境的不稳定性,HDMI Type E在设计上具备抗震性、防潮、耐高强度、温差承受范围大等特性;
1.2.2 引脚分布
其中HDMI Type A接口引脚分布如下:
其中:
- 1-9:是
TMDS data传输用到的引脚,共有三组; 10-12:是TMDS clock传输用到的引脚,共有一组;- 13:
CEC引脚; - 14:保留;
- 15,16:
DDC的引脚,DDC是基于I2C协议传输,故引脚为SCL和SDA; - 17:
DDC/CEC地; - 18:
5V电源; - 19:
HPD引脚,用于热插拔检测;
1.3 TMDS协议
TMDS(Transition TYPE_Cmized Differential Signaling)最小化传输差分信号。是美国Silicon Image公司开发的一项高速数据传输技术。
TMDS差分传输技术使用两个引脚来传输一路信号,利用这两个引脚间的电压差的正负极性和大小来决定传输数据的数值(0 或 1)。
TMDS传输系统分为两个部分:发送端source和接收端sink。TMDS 链路包括3个传输数据的通道和1个传输时钟信号的通道;
- 发送端对这些数据进行编码和并/串转换,再将数据分别分配到独立的传输通道发送出去;
- 接收端接收来自发送端的串行信号,对其进行解码和串/并转换,然后发送到显示器的控制端;
1.3.1 TMDS链路
TMDS链路如下图所示:

首先我们从图上一眼看过去就可以分为两半边,左边是源,右边是接收,可以分别看作发送与接收端。
从发送端左边看,分别有蓝、绿、红三个数据通道,加一个时钟通道(像素时钟);
(1) 时钟通道:主要就是为了将我们传输数据与接收数据都匹配在同一时钟下,使整个系统同步在时钟网络,不容易出错;
(2) 数据通道:分别有蓝、绿、红三个数据通道;
-
每个通道都有一个
8位的像素位传输颜色数据信息; -
每个通道都有一个两比特的数据位宽;
-
在蓝色通道中用于传输
HSYNC、VSYNC; -
在绿色通道中用于传输
CTL0、CTL1; -
在红色通道中用于传输
CTL2、CTL3;
-
-
每个通道都有一个4比特的数据位宽用于传输我们的音频信号;
(3) 编码阶段:Encoder是编码,将8bit video的并行数据变成了10bit的串行数据,通过串行传到我们的接收端,这要求我们的串行数据速率是实际像素时钟速率的10倍。在接收端与发送端相反,我们需要将串行数据转换为并行数据并进行解码恢复信号。
此外TMDS不仅仅是对video进行编码,还包括audio和控制信号。
1.3.2 TMDS传输周期
TMDS链路将数据传输分为了3个阶段:
Video Data Period:顾名思义,这个阶段用于传输实际有效的视频图像数据,sourc端给sink端发送图像数据,sink端显示;Data Island Period:这个阶段用于传输音频或者辅助数据等;Control Period:当没有视频图像数据和音频数据,或者辅助数据的时候,都处于这个阶段;
TMDS传输四种类型数据:
Control:控制信号,主要用于控制接下来传输的是Data Island还是Video Data;通过Channel1和2的D[1:0]传输,占用4bit;Data Island:数据包,各种类型的包信息,包括音频数据包(通过3个Channel的D[3:0]传输,占用12bit)、辅助数据包等;Video Data:视频像素数据,HDMI可以传输RGB和YUV两种格式的像素数据;比如R,G,B分别通过Channel2,1,0传输,每个颜色8bit,共24bit;HSYNC,VSYNC:使用Channel0的D[1:0]传输,占用2bit;
举了个例子,以720x480p的图像帧为例:
上图:
- 蓝色部分是
Data Island Period; - 深灰色部分是有效的图像数据
Video Data Period; - 浅灰色是
Control Period;
可以看到,在有效图像部分,是720x480的宽度;没有传送Data Island Period的时候,都在传送Control Period;

左边是Control period:传输有HSYNC、VSYNC与Preamble。
Channel0传输HSYNC,VSYNC;Channel1[1:0]和Channel2[1:0]传输Preamble,用来判断接下来输入的是Video Data还是Data Island;
中间是Data Island period:传输有HSYNC、VSYNC,以及两个Packet Header与Packet,占用三通道共12bit输入;
Channel0[3:2]用于传输Data Island Header(包头);Channel1[3:0]与Channel2[3:0]用于传输Data Island Content(包内数据);
右边是Video Data period :视频信号经过编码生成三路TMDS数据通道,共24位视频流数据,输入到HDMI Tx中。24位像素的视频信号通过TMDS通道传输,将每通道8位信号转换为10位,在每个10位像素周期传送一个最小化的信号序列,视频信号将被调制为TMDS信号传送出去。
(1) Control Period(preamble)
在Data Island或者Video Data传输周期之前,每一个TMDS通道包含2bit的控制数据,一共6位控制数据。
| TMDS Channel | D0 | D1 |
|---|---|---|
| 0 | HSYNC | VSYNC |
| 1 | CTL0 | CTL1 |
| 2 | CTL2 | CTL3 |
每个TMDS通道使用了D[1:0]共2bit,采用2bit到10bit的编码方式。在每个Control Period的最后阶段,CTL0、CTL1、CTL2、CTL3组成的文件头说明下一个周期是Data Island还是Video Data;
| CTL0 | CTL1 | CTL2 | CTL3 | 数据周期类型 |
|---|---|---|---|---|
| 1 | 0 | 0 | 0 | Video Data |
| 1 | 0 | 1 | 0 | Data Island |
(2) Video Data Period
Video Data Period用来传输视频线的像素,每个 Video Data Period以报文头为前导,在报文头之后,视频数据周期以两个字符开始,做为视频前导保护边界。对于数据周期,没有末尾保护边界。
(3) Data Island Period
Data Island用来携带音频和辅助数据的报文。辅助数据包括Info frame和其他用于音视频信息描述的数据。每个Data Island以2个字符长度的前导保护边界开始,并以2个字符宽度的末尾保护边界结束。
| Channel0 | Bit0 | HSYNC |
|---|---|---|
| Channel0 | Bit1 | VSYNC |
| Channel0 | Bit2 | packet header |
| Channel1 | Bit3:0 | packet |
| Channel2 | Bit3:0 | packet |
1.4 电路原理图
接下来我们介绍NanoPC-T4开发板HDMI接线原理图。
1.4.1 RK3399侧
RK3399有一个HDMI显示接口(HDMI TX);
-
支持
HDMI 2.0a; -
支持
4K@60Hz显示; -
支持
HDCP 1.4/2.2。
电路接线图如下:
HDMI_AVDD_0V9_1、HDMI_AVDD_0V9_1电源由VCCA0V9_S3提供,可以看做是常供电。
HDMI_AVDD_1V8由VCC1V8_S3供电,同样可以看做是常供电;
1.4.2 HDMI接口侧
其中:
DDC_SCL:连接到RK3399的GPIO2_B0/VOP_CLK/CIF_VSYNC/I2C7_SC引脚;DDC_SDA:连接到RK3399的GPIO2_A7/VOP_D7/CIF_D7/I2C7_SDA;PORT_CEC:连接到RK3399的GPIO4_C7/HDMI_CECINOUT/EDP_HOTPLUG;
1.4.3 电源信号
电源VCCA0V9_S3由RT9041B-10GE提供的,这是一款稳压器IC,其输入端为VCC3V3_S5,RT9041B-10GE由VCC1V8_S3使能,VCC1V8_S3作为使能引脚EN的输入端;因此VCCA0V9_S3可以看做是常供电,更多内容可以参考《Rockchip RK3399 - USB基础》;
二、EDID
2.1 概述
EDID:全称是Extended Display Identification Data (外部显示设备标识数据);VGA、DVI的EDID由主块128字节组成,HDMI的EDID增加扩展块(128字节),扩展块的内容主要是和音频属性相关的,DVI和VGA没有音频,HDMI自带音频,扩展块数据规范按照CEA-861x标准定义,未来可能增加到512或256的整数倍。
其中包含有关显示器及其性能的参数,包括供应商信息、最大图像大小、颜色设置、厂商预设置、频率范围的限制以及显示器名和序列号的字符串等等。形象地说,EDID就是显示器的身份证、户口本、技能证书等证件的集合,目的就是告诉别人我是谁,我从哪来,我能干什么。
EDID并非古而有之,在古老的CRT时期是没有EDID这个概念的,那为什么后来会有呢?
因为随着显示设备的发展,显示器的种类越来越多,模拟的、数字的、普屏的、宽屏的、17寸、19寸、22寸……这让PC傻了眼,分辨率和时序的种类太多了,而每种显示器又不可能支持所有的分辨率,那怎么知道该给显示器一个什么样的分辨率啊?显示出的效果是最佳效果吗?
不仅如此,随便输出一个分辨率还有损坏显示器硬件的可能,这可太危险了。于是,EDID临危受命,担当起显示器和PC之前的传话筒。
-
“
PC你好,我是A显示器,我能显示N种分辨率,最佳分辨率是XXX”。 -
“显示器你好,收到你的信息,现在就按最佳分辨率给你输出”。
这下大家明白了吧,EDID就是为了能让PC或其他的图像输出设备更好的识别显示器属性而出现的。
需要注意的是:EDID信息是通过DDC通道传输的,并且每个显示器可能有多个EDID.
现在的显示器功能很强大,通常都提供多种视频接口,常见的有DVI、VGA、HDMI、Display Port等,由于每种接口的特性和带宽不同,使得不同接口的EDID也不同。使用哪个接口,PC读到的就是哪个接口的EDID。
2.2 主块详解
考虑到EDID信息字节太多,我们不可能将所有字节表示的含义介绍一遍。这里我们我们仅仅挑选一些重要的字节进行介绍;
2.2.1 Header
在EDID的开头八个字节为EDID的开始标志,简称头,固定为:
| 0H | 01H | 02H | 03H | 04H | 05H | 06H | 07H |
|---|---|---|---|---|---|---|---|
| 00 | FF | FF | FF | FF | FF | FF | 00 |
2.2.2 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,然后递增计算。
2.2.3 EDID Structure Version / Revision
| 字节 | EDID版本及修改 | 备注 |
|---|---|---|
| 12H | 版本号 | |
| 13H | 修改号 |
2.2.4 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 |
||
电源管理标准(DPMS):
|
字节 |
位 |
特点支持 |
详细描述 |
|---|---|---|---|
|
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,推荐分辨率为第一个详细描述的时序(Detailed Timing) |
|
|
0 |
支持GTF |
如果置1,支持GTF标准分辨率 |
2.2.5 Color Characteristics
| 字节 | 颜色特征 | 基于CIE出版15.2测定空间 |
|---|---|---|
| 19H | Red / Green Low Bits红绿场xy坐标低2位值 | Rx1 Rx0 Ry1 Ry0Gx1 Gx0 Gy1 Gy0 |
| 1AH | Blue / White Low Bits蓝白场xy坐标低2位值 | Bx1 Bx0 By1 By0Wx1 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 |
2.2.6 Established Timings
Established Timings(内建时序,描述了分辨率和刷新率)表示显示器是否支持一些通用时序。若支持,则相应的分辨率位为1。
|
字节 |
位 |
描述 |
信源 |
|---|---|---|---|
|
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 |
保留 |
比如:0x2F 0xCF 0x00表示的含义如下:
-
640 x 480 @ 60Hz (IBM, VGA); -
640 x 480 @ 72Hz (VESA); -
640 x 480 @ 75Hz (VESA); -
800 x 600 @ 56Hz (VESA); -
800 x 600 @ 60Hz (VESA); -
800 x 600 @ 72Hz (VESA); -
800 x 600 @ 75Hz (VESA); -
1024 x 768 @ 60Hz (VESA); -
1024 x 768 @ 70Hz(VESA); -
1024 x 768 @ 75Hz (VESA); -
1280 x 1024 @ 75Hz (VESA);
2.2.7 Standard Timings
标准时序是对内建时序的扩充,最多可描述8个时序,每2个字节描述一种时序,这些时序都没有包含Established Timings中;
|
字节 |
位 |
描述 |
源 |
|---|---|---|---|
|
26H |
(行有效像素/8)-31 |
||
|
27H |
7,6 5-0 |
Aspect Ratio Bit7 Bit6 生效 00 1:1 01 4:3 10 5:4 11 16:9 刷新率-60 |
Aspect Ratio=行像素/列像素 范围是;60-123Hz |
|
28H-29H |
同上 |
同上 |
|
|
2AH-2BH |
同上 |
同上 |
|
|
2CH-2DH |
同上 |
同上 |
|
|
2EH-2FH |
同上 |
同上 |
|
|
30H-21H |
同上 |
同上 |
|
|
32H-33H |
同上 |
同上 |
|
|
34H-35H |
同上 |
同上 |
比如:0x71 0x40表示的含义如下:
- 行有效像素为:
(0x71+31)*8=1152; - 宽高比为:
4:3,所以列有效像素为1152*3/4=864; - 刷新率为:
0+60=60Hz;
2.2.8 Detailed Timings
详细时序这个区域可以说是整个EDID中和我们关系最密切,也是我们需要了解最多和改动最频繁的区域。
它分为4个块(Block),每个块占用18个字节,一共72个字节。
每个块既可以是一个时序说明(Timing)也可以是一个显示器描述符(Monitor Descriptor)。
需要注意的是:Block 1必须是时序说明;
- 对于
EDID1.4及以上版本,第一个详细时序它描述的是显示器的最佳时序; - 对于
EDID1.4以下版本,如果字节0x18位[1]的值为1则表示第一个详细时序它描述的是显示器的最佳时序。

参考文章
[1] [Rockchip_Developer_Guide_HDMI_CN]
[2] Linux驱动学习--HDMI开发(一) 相关协议及传输原理的介绍
[3] LINUX驱动学习--HDMI开发(二)HDMI驱动源码分析(RK平台)
[4] HDMI协议介绍
[5] HDMI接口电路设计
[7] HDMI接口协议
[8] HDMI协议1.4 好文推荐!
[11] LVDS+HDMI输出特殊分辨率800*1280竖屏
[12] Linux DRM那些事-HDMI接口EDID获取
[13] EDID的简介和解析

浙公网安备 33010602011771号