Loading... #### 一、简介 EDID的全称是Extended Display Identification Data(扩展显示标识数据),VGA、DVI的EDID由主块128字节组成,HDMI的EDID增加扩展块(128字节),扩展块的内容主要是和音频属性相关的,DVI和VGA没有音频,HDMI自带音频,扩展块数据规范按照CEA-861x标准定义,未来可能增加到512或256的整数倍。 其中包含有关显示器及其性能的参数,包括供应商信息、最大图像大小、颜色设置、厂商预设置、频率范围的限制以及显示器名和序列号的字符串等等。形象地说,EDID就是显示器的身份证、户口本、技能证书等证件的集合,目的就是告诉别人我是谁,我从哪来,我能干什么。 参考资料:[EDID的简介和解析 - 花生红枣眼泪和小米 - 博客园 (cnblogs.com)](https://www.cnblogs.com/beyond-rxl/p/9266997.html) #### 二、解析 1. 最近写一个读取显示器型号的东西,了解了EDID这个数据结构,在Windows中连接过的显示器会被记录在注册表中 `计算机\HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Enum\DISPLAY\CMN15F4\4&39f8f762&0&UID265988\Device Parameters`,其中 `CMN15F4\4&39f8f762&0&UID265988`根据显示器型号代码而定。在这个项目下包含一个EDID的二进制数据。 ![注册表信息](https://www4.iceyer.cn:444/usr/uploads/2023/10/292859825.png) 2. 这里我们也可以用[Monitor Asset Manager](https://www4.iceyer.cn:444/usr/uploads/2023/10/3447500159.zip)这款软件解析EDID文件。 ![Monitor Asset Manager](https://www4.iceyer.cn:444/usr/uploads/2023/10/576639419.png) 3. 为了更加方便转换,最好再配合[WinHex](https://www4.iceyer.cn:444/usr/uploads/2023/10/1482702866.zip)这款软件,主要用到数据解释器。 ![WinHex](https://www4.iceyer.cn:444/usr/uploads/2023/10/3576086409.png) 4. 我这里主要提取以下信息: | 偏移地址 | 数值 | 解释 | | :-------: | :---------: | :--------------------------------------------------------------------------------- | | 0x08-0x09 | 0D AE | 制造商名称 | | 0x0A-0x0B | F4 15 | 产品代码 | | 0x0C-0x0F | 00 00 00 00 | 产品序列号 | | 0x10 | 06 | 生产周 | | 0x11 | 1B | 生产年份 | | 0x15 | 22 | 最大水平图像尺寸,单位CM | | 0x16 | 13 | 最大垂直图像尺寸,单位CM | | 0x36-0x37 | 59 6F | 像素时钟/10000 | | 0x38 | 80 | 水平活动像素数 | | 0x39 | A0 | 水平blanking | | 0x3A | 70 | 高四位:水平活动像素数,高4位与0x38组合<br />低四位:水平blanking,高4位与0x39组合 | | 0x3B | 38 | 垂直活动像素数 | | 0x3C | 3E | 垂直blanking | | 0x3D | 40 | 高四位:垂直活动像素数,高4位与0x3B组合<br />低四位:垂直blanking,高4位与0x3C组合 | 1. **制造商名称**:3个字母组成,基于压缩的ASCII码,例如“00001=A”… …”11010=Z”,这里0x08-0x09一共16位(0-15),其中0代表符号,1-5表示第一个字母以此类推,共三个字母。将0x08-0x09中的0D AE转换后为CMN。 2. **产品代码**:固定为4位16进制数,即两个字节。将0x0A-0x0B中的F4 15转换后为15F4。 3. **产品序列号**:即产品的流水号(数值型),直接转成16进制或以ASCII格式转换。序列号也可用字符型,在后面DTD部分定义。我这个显示器没记录此序列号。 4. **生产周**:即在当年中的生产周,范围1\~52,注意0为无效值。06为第6周。 5. **生产年份**:规定1990开始计算,即1990年为0,然后递增计算。1B为2017年。 6. **像素时钟**:将0x36-0x37中的59 6F转换十进制28505,即为285MHz。 7. **水平活动像素数**:将0x3A拆分前4位,与0x38拼接后得到0780,转换十进制1920。 8. **垂直活动像素数**:将0x3D拆分前4位,与0x3B拼接后得到0438,转换十进制1080。 9. **水平blanking**:将0x3A拆分后4位,与0x39拼接后得到00A0,转换十进制160。 10. **垂直blanking**:将0x3D拆分后4位,与0x3C拼接后得到003E,转换十进制62。 11. **刷新率**:像素时钟×10000÷[(水平活动像素数+水平blanking)×(垂直活动像素数+垂直blanking)]=28505×10000÷[(1920+160)×(1080+62)]≈120Hz。 5. 这是本次测试用的注册表文件:<button class=" btn m-b-xs btn-light btn-rounded " onclick="window.open('https://www4.iceyer.cn:444/usr/uploads/2023/11/3698054097.zip','_blank')">注册表EDID.zip</button> Last modification:November 9, 2023 © Allow specification reprint Support Appreciate the author AliPayWeChat Like 6 喜欢我的文章吗? 别忘了点赞或赞赏,让我知道创作的路上有你陪伴。