EDID介绍

article/2025/8/18 20:50:48

1.EDID是什么?

EDID(Extend Display Identification Data)扩展显示器识别数据,是VESA在制定DDC(Display Data Channel)显示器数据通道通信协议时,制定的有关显示器识别数据的标准。其中包含有关显示器及其性能的参数,包括供应商信息、最大图像大小、颜色设置、厂商预设置、频率范围限制以及显示器名和序列号的字符串。

VGA、DVI的EDID由主块128字节组成,HDMI的EDID增加扩展块(128字节),扩展块的内容主要是和音频属性相关的,DVI和VGA没有音频,HDMI自带音频,扩展块数据规范按照CEA-861x标准定义,未来可能增加到512或256的整数倍。

目前使用比较广泛的版本是EDID1.3。自EDID1.3后,VESA又制定了E-EDID(增强型EDID)和EDID2.0标准,其数据容量也扩大为256Byte,但这不是强制性标准,仍然可以使用EDID1.3。

2.EDID作用

形象地说,EDID就是显示器的身份证、户口本、技能证书等证件的集合,目的就是告诉别人我是谁,我从哪来,我能干什么。

使用EDID是为了让PC或其他图像输出设备更好地识别显示器属性。EDID并非古而有之,在古老的CRT时期是没有EDID这个概念的,那为什么后来会有呢?因为随着显示设备的发展,显示器的种类越来越多,模拟的、数字的、普屏的、宽屏的、17寸、19寸、22寸……这让PC傻了眼,分辨率和时序的种类太多了,而每种显示器又不可能支持所有的分辨率,那怎么知道该给显示器一个什么样的分辨率啊?显示出的效果是最佳效果吗?不仅如此,随便输出一个分辨率还有损坏显示器硬件的可能,这可太危险了。于是,EDID临危受命,担当起显示器和PC之前的传话筒。“PC你好,我是A显示器,我能显示N种分辨率,最佳分辨率是XXX”。“显示器你好,收到你的信息,现在就按最佳分辨率给你输出”。这下大家明白了吧,EDID就是为了能让PC或其他的图像输出设备更好的识别显示器属性而出现的。

每个显示器有可能有多个EDID。现在的显示器功能很强大,通常都提供多种视频接口,常见的有DVI、VGA、HDMI、Display Port等,由于每种接口的特性和带宽不同,使得不同接口的EDID也不同。使用哪个接口,PC读到的就是哪个接口的EDID。我们的设备主要使用DVI、VGA、HDMI几种接口。由于VIDEO接口的几种制式如PAL、NTSC等,其分辨率场频都是固定的,没有使用EDID的必要,故不在讨论之列。

3.EDID传输

EDID信息有多种存储方式,常见的如I2C接口的EEPROM,另外很多DVI、HDMI解码芯片都集成EDID存储。显示端存储着与其对应的EDID信息,Host端去获取,获取到后得知显示端的最佳输出方式,Host就按照最佳方式输出图像到显示端。

EDID数据通常是由DDC通道(类似I2C)来传输,比如HDMI/DVI接口。也有通过AUX来传输,比如DP/eDP接口。大多数的显示接口都支持这种读取EDID方式来获取屏幕参数,但并不是所有,比如MIPI接口。

在DVI接口中,PC是通过DDC Clock和DDC Data针脚读取显示设备的EDID信息的,而触发PC去读取EDID是通过Hot Plug Detect针脚来实现的。PC识别EDID的顺序如下:
(1)Hot Plug Detect:当PC检测到Hot Plug Detect针脚的电平由低变高后,就会去读取EDID信息。
(2)Get EDID Information:PC通过DDC通道,按照I2C的数据格式连续读取EDID数据。
(3)Video Output:当PC获取到正确的显示设备信息后,就会按照推荐的分辨率输出信号,否则不输出。

4.屏幕参数及Timing

EDID规格书中对屏幕参数示意如下。
EDID
屏幕规格书中相关参数
在这里插入图片描述

屏幕刷新率

刷新率计算公式:刷新率 = (Pixel Rate) / (Pixel Count)

一般情况下,刷新率是可以微调的。如在上图中,Pixel Rate参考值是156.8Mhz,最大159.9Mhz。如果按照参考值来算刷新率,可得到:

刷新率 = 156800000 / (1343 * 1946) = 59.997,系统下显示出来的刷新率可能还带着小数点,显得不大好看。所以计算的时候,可以用像素数乘以刷新率来得到像素速率,即:

Pixel Rate = (Pixel Count) * (Refresh Rate) = (1343 * 1946) * 60 = 156808680,此时系统下便可显示完整的刷新率60。

X86平台VBT DTD Timing配置例子

BOE NV126A1M-N51 Preliminary Product Specification
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
Horizontal Sync = H Sync Pluse width
Horizontal Front Proch = Hor Sync Offset
Horizontal Blank = Horizontal Front Proch + Horizontal Sync + Horizontal Back Proch

5.EDID相关工具

5.1编辑工具

EDID的编辑工具介绍几种
(1)Phoenix EDID Designer
(2)Deltacast E-EDID Editor
查看工具有很多,如HE、RW都可以查看。

5.2烧录工具

EDID信息有多种存储方式,常用的如I2C接口的EEPROM,另外很多DVI,HDMI解码芯片都集成EDID存储。这里用Microchip的24LC04B器件举例。使用的烧录工具是Minpro100B或Minpro100E,在淘宝上均有卖,相关烧录软件和驱动都有提供。
烧录器
  烧录时只需将芯片4,5,6,8脚与烧录器的对应脚连接即可。
芯片示意图
  打开编程器软件后界面如下,如连接到芯片会有提示信息。然后打开.bin文件,点击烧录即可。
编程软件

6.EDID获取方式

想研究一下那些EDID工具是通过什么方式获取EDID的,但在网上没搜到什么资料。只看到可以通过注册表查看显示器的EDID,先记录一下。
(1)打开注册表
(2)路径:计算机\HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Enum\DISPLAY
选择要查看的显示器,选择Device Parameters,可以看到EDID
如下图:
在这里插入图片描述

参考文章

显示器视频显示核心EDID的解密和解析
BIOS开发笔记 6 – 液晶显示器
EDID编辑器介绍
注册表查看显示器EDID


http://chatgpt.dhexx.cn/article/UpV6oBwB.shtml

相关文章

EDID的简介和解析

from:EDID的简介和解析 - 花生红枣眼泪和小米 - 博客园 去年对EDID做了一个解析,下面是学习EDID过程中整理的资料。 一、EDID简介 EDID: Extended Display Identification Data (外部显示设备标识数据)----指DDC通讯中传输的显示设备数据。 Q1:EDID是…

有关交叉验证

https://sklearn.apachecn.org/docs/master/30.html 学习预测函数的参数,并在相同数据集上进行测试是一种错误的做法: 一个仅给出测试用例标签的模型将会获得极高的分数,但对于尚未出现过的数据它则无法预测出任何有用的信息。 这种情况称为 overfitting…

关于交叉验证

1、一文看懂 AI 数据集:训练集、验证集、测试集: https://zhuanlan.zhihu.com/p/98532085 2、机器学习之K折交叉验证 - 吉什么的文章 - 知乎 https://zhuanlan.zhihu.com/p/38121870 注意:cross_val_score() 传入的 X 和 y 是原始特征和标签…

Python 交叉验证模型评估

Python 交叉验证模型评估 1 声明 本文的数据来自网络,部分代码也有所参照,这里做了注释和延伸,旨在技术交流,如有冒犯之处请联系博主及时处理。 2 交叉验证模型评估简介 交叉验证(Cross Validation)是机…

交叉验证应用

交叉验证 另一种常用的模型选择方法是交叉验证( cross validation)。 如果给定的样本数据充足,进行模型选择的一种简单方法是随机地将数据集切分成三部分,分别为训练集(training set)、验证集(validation set)和测试集(testset)。训练集用来…

肝!交叉验证

概述Holdout 交叉验证K-Fold 交叉验证Leave-P-Out 交叉验证总结 概述 交叉验证是在机器学习建立模型和验证模型参数时常用的办法。 顾名思义,就是重复的使用数据,把得到的样本数据进行切分,组合为不同的训练集和测试集。 用训练集来训练模型&…

深度学习:交叉验证(Cross Validation)

首先,交叉验证的目的是为了让被评估的模型达到最优的泛化性能,找到使得模型泛化性能最优的超参值。在全部训练集上重新训练模型,并使用独立测试集对模型性能做出最终评价。 目前在一些论文里倒是没有特别强调这样的操作,很多研究使…

【笔记】【机器学习基础】交叉验证

(一)交叉验证 交叉验证(cross-validation)是一种评估泛化性能的统计学方法,它比单次划分训练集和测试集的方法更加稳定、全面。在交叉验证中,数据被多次划分,并且需要训练多个模型。 最常用的…

入坑codewars

前几天做LeetCode上的大数乘法,代码没错,可就是提交不成功,显示SyntaxError: Unexpected token var我把所有代码都注释掉,只留下return 1,依然报同样的错误。。。感觉LeetCode对JSer不是特别友好刚刚在node社区看到有人…

CodeWars 我二了

昨天刷题,不经意间刷出来一个小彩蛋👇 今天醒来便发现, 卧槽,自己出现在解答列表第二,这lima,我一个小辣鸡也上榜了?🐂 话不多说,看键 警告,长文劝退,不是我啰嗦,是这题目一直在bibi赖赖 Simple Fun #345: The Original Numbers Task Some players are playin…

codewars题目

codewars题目解答 1.Calculating with Functions2.Sum of Pairs3.Maximum subarray sum4.Rot135.Calculating with Functions 1.Calculating with Functions 我的解决方案(粗糙的一批) function common(n, val) {var a, b;for (var key in n) {a key;b …

编程刷题平台Codewars初体验-Java

点此欢迎光临我的个人网站【一几文星球】 最近发现了一个很多网友都在推荐的编程刷题平台Codewars,作为一个对啥都好奇(啥都学不深 )的编程菜鸟,我二话不说直接开始注册体验。 网站一进,嘿,全英文&#x…

Codewars | 使用入门

https://jingyan.baidu.com/article/adc81513864eebf723bf73ab.html https://www.codewars.com/trainer/setup 注册以后,大家的编程段位是8段。段位越高,段数越小。 目前笔者的段位是6段。通过解决难度在6段和6段以上的问题可以获得段位的提升。当然&…

梯度提升树(GBDT)

提升树模型 提升树是以分类数或回归树为基本分类器的提升方法。提升方法实际采用加法模型&#xff08;即基函数的线性组合&#xff09;与前向分布算法&#xff0c;以决策树为基函数的提升方法为提升树&#xff08;boosting tree&#xff09;。基本分类器 x < v x<v x<…

机器学习: 提升

文章目录 Github提升的概念理解与随机森林的比较提升算法 GBDT参数设置和正则化 XGBoostAdaboost算法总结 Github 系列文章 pdf 版本已经上传至&#xff1a; https://github.com/anlongstory/awsome-ML-DL-leaning/tree/master/xiaoxiang-notes 欢迎 Star 和下载 ? 提升的概…

多模态深度学习综述:网络结构设计和模态融合方法汇总

点击上方“机器学习与生成对抗网络”&#xff0c;关注"星标" 获取有趣、好玩的前沿干货&#xff01; 作者丨小奚每天都要学习知乎 编辑丨极市平台 来源丨https://zhuanlan.zhihu.com/p/152234745 一、简介 从2010年开始&#xff0c;深度学习方法为语音识别&#xff0…

回归分析(数据拟合---MATLAB和1stopt软件)

回归分析&#xff08;regression analysis)指的是确定两种或两种以上变量间相互依赖的定量关系的一种统计分析方法。 回归分析按照涉及的变量的多少&#xff0c;分为一元回归和多元回归分析&#xff1b; 按照因变量的多少&#xff0c;可分为简单回归分析和多重回归分析&#xf…

利用Excel的LINEST计算线性拟合的斜率和截距的不确定性

目录 线性拟合的斜率和截距的不确定性Excel数组函数LINESTLINEST结果的含义LINEST输出的10个统计参数含义如下&#xff1a; 模型预测 y ^ \widehat{y} y ​ m x b mxb mxbReferences 线性拟合的斜率和截距的不确定性 利用熟悉的Excel绘图功能&#xff0c;可以根据距离-高程散…

机器学习算法——Kmeans

1.k-mean算法的原理 1、选取K个点做为初始聚集的簇心 2、分别计算每个样本点到K个簇核心的距离&#xff08;这里的距离一般取欧氏距离或余弦距离)&#xff0c;找到离该点最近的簇核心&#xff0c;将它归属到对应的簇 3、所有点都归属到簇之后&#xff0c;M个点就分为了K个簇…

【时序】Reformer:局部敏感哈希(LSH)实现高效 Transformer 论文笔记

论文名称&#xff1a;Reformer: The Efficient Transformer 论文下载&#xff1a;https://arxiv.org/abs/2001.04451 论文年份&#xff1a;ICLR2020 论文被引&#xff1a;706&#xff08;2020/04/20&#xff09; 论文代码&#xff1a;https://github.com/google/trax/tree/mast…