2. EDID标准规范:EDID 1.3与EDID 1.4的区别、EDID结构体详解、EDID版本号与修订号

好,咱们进入实战前的核心理论环节。

EDID这东西,说白了就是显示器的「身份证」。你想想看,电脑插上显示器,怎么知道它能支持多大分辨率?刷新率多少?支持HDMI还是DP?这些信息,全都写在这128字节的数据块里。

我最早接触EDID是在做一款嵌入式工控机的时候。客户说屏幕闪,我查了三天硬件,最后发现是EDID里刷新率字段写错了。嗯,从那以后,我对EDID的每个字节都格外敏感。

2.1 EDID 1.3 与 EDID 1.4 的核心区别

EDID 1.3和1.4,本质上都是128字节的基础块。但1.4做了一些关键升级。我习惯把它们比作「基础版」和「增强版」。

对比项 EDID 1.3 EDID 1.4
发布时间 1990年代 2000年代
色域描述 仅支持sRGB 支持Adobe RGB、DCI-P3等
色彩深度 6bit/8bit 支持10bit/12bit
支持分辨率 最高1080p 支持4K、8K
扩展块支持 无 支持CEA-861扩展块

我个人觉得,1.4最大的进步是引入了「色彩管理」的概念。以前做显示,大家默认都是sRGB,现在你买个专业显示器,它得告诉你它能覆盖多少P3色域,对吧?

避坑指南:我曾经遇到过一块4K屏,EDID版本写的是1.3,但实际支持4K分辨率。后来发现是厂商偷懒,没更新版本号。所以读EDID时,别只看版本号,要结合详细时序描述来判断。

2.2 EDID结构体详解

EDID的128字节,分成了几个固定区域。我习惯把它画成一张图来记。

EDID 128字节结构图 头部 (0-7): 固定标识 "00 FF FF FF FF FF FF 00" 厂商信息 (8-17): 制造商ID、产品代码、序列号 版本信息 (18-19): 版本号 + 修订号 基本参数 (20-35): 分辨率、刷新率、色域、伽马 时序描述 (36-125): 标准时序 + 详细时序描述 扩展块标志 (126): 是否有后续扩展块 校验和 (127): 保证128字节累加和为0

这张图我建议你存下来。每次解析EDID时,对照着看,不容易漏字段。

2.3 版本号与修订号

版本号和修订号位于字节18和字节19。这是EDID解析的「入口」。

我的小技巧:解析EDID时,我习惯先读字节18和19。如果版本号是01,修订号是03,那就是EDID 1.3。如果是01,修订号是04,那就是EDID 1.4。但注意,有些厂商会写01 00,那是EDID 1.0,非常古老了。

为什么版本号这么重要?因为不同版本的EDID,后续字段的解析方式不一样。比如1.3的详细时序描述,只有18字节;而1.4的详细时序描述,可以扩展到24字节,支持更高的分辨率。

注意:我曾经遇到一个坑——某款显示器的EDID版本号写的是01 04,但实际内容却是1.3的格式。后来发现是厂商的固件bug。所以解析时,我建议做双重校验:既看版本号,也检查时序描述的长度是否匹配。

2.4 实战:如何读取EDID版本号

在Linux下,读取EDID非常简单。我常用的命令是:

# 读取显示器0的EDID
sudo cat /sys/class/drm/card0-HDMI-A-1/edid | hexdump -C

# 只看版本号和修订号(字节18和19)
sudo cat /sys/class/drm/card0-HDMI-A-1/edid | dd bs=1 skip=18 count=2 | hexdump

输出示例:

00000000  00 ff ff ff ff ff ff 00  10 ac 05 41 31 32 33 34  |...........A1234|
00000010  01 04 95 22 13 78 02 31  a5 55 4e 9f 27 12 50 54  |...".x.1.UN.'.PT|
...
# 注意:字节18=01,字节19=04,表示EDID 1.4

你看,字节18是01,字节19是04,这就是EDID 1.4。我每次拿到新显示器,第一件事就是跑这个命令,确认版本号对不对。

2.5 总结一下

EDID 1.3和1.4的区别,核心在于对高分辨率和高色域的支持。1.4是主流,但1.3在老旧设备上依然常见。解析时,版本号是入口,但别迷信它——实际内容才是王道。

嗯,这一节的内容就到这。记住:EDID是显示器的「身份证」,读懂了它,你就掌握了显示调试的主动权。

核心要点:

  • EDID 1.3 vs 1.4:色域、色彩深度、分辨率支持不同
  • 版本号在字节18,修订号在字节19
  • 解析时做双重校验:版本号 + 实际内容
  • Linux下用 cat /sys/class/drm/*/edid 读取

可可精品资料库