HDMI协议介绍(六)--EDID

news2024/11/19 17:49:46

目录

什么是EDID

EDID结构

1)Header Information 头信息(厂商信息、EDID 版本等)

(2)Basic Display Parameters and Features 基本显示参数(数字/模拟接口、屏幕尺寸、格式支持等)

(3)色度信息

(4)Established Timings(VESA 定义的电脑使用 Timings)

(5)Standard Timings

(6)Detailed Timing Descriptor Block

(7)Extension Flag and Checksum

EDID地址

 参考


什么是EDID

Q1:EDID是什么?

        A1:Extended Display Identification Data(扩展显示标识数据),共有128字节

Q2:EDID作用

        A2:为了能让PC或其他的图像输出设备更好的识别显示器属性

Q3:EDID和DDC的关系

        A3:DDC的全称是Display Data Channel(显示数据通道)DDC是用来传送EDID信息的,也可以说EDID信息是通过DDC传送的

Q4:每个显示器只有一个EDID吗?

        A4:不一定。现在显示器功能强大,一般有多个显示接口DVI、VGA、HDMI、Display Port,不同的接口特性不一样,EDID也不一样。

Q5:如何获取显示器的EDID

        A5:windows下softMCCS工具,参考。linux下edid-decode(edid-decode.git - edid-decode main repository)

Q6:EDID是HDMI搞的还是VESA?

        A6:VESA搞的,EDID要找CEA-861-D这种资料

Q7:Display ID?

        A7:Display ID向下兼容EDID,HDMI使用EDID。EDID的结构已经落后于高清video发展,Display ID是VESA用来代替EDID的。

EDID结构

示例:

1)Header Information 头信息(厂商信息、EDID 版本等)

包含 20Bytes,前 8 个 Bytes 固定写 00FFFFFFFFFFFF00h;9-10 两个 Bytes 写厂商

名字,包含三个字母,需要参照微软定义的 PNP ID;11-12 两个 Byte 写 Product Code;13-16 四个 Bytes 写序列号;

17Byte 写出厂周;18Byte写年份;最后两个 Byte 是 EDID 版本,一般填写 0103,表示 Version1 Revision3。

(2)Basic Display Parameters and Features 基本显示参数(数字/模拟接口、屏幕尺寸、格式支持等)

第 1 个 Byte 是视频输入参数信息

第 2/3 个 Bytes 填写纵向、横向屏幕尺寸,单位 cm,前投影机可以填写 0000h,第 4个 Byte 填写 Gamma 值

(约定俗称的,显示器 Gamma 一般是 2.2),最后一个 Byte 是Supported Feature 信息:

(3)色度信息

(4)Established Timings(VESA 定义的电脑使用 Timings)

共计 3Bytes,至少支持 640×480P60Hz,也就是第 1 个 Byte 的第 3 个 Bit,所以常见的 200000h 就是只支持 640×480P60Hz。

每个 Byte 中的数据对应关系如下:

(5)Standard Timings

(6)Detailed Timing Descriptor Block

拆 分 为 4 组 Block :

  • First Detailed Timing Descriptor,
  • Second Detailed Timing Descriptor,
  • First Monitor Descriptor (Monitor Name)
  • Second Monitor Descriptor (Monitor Range)

(7)Extension Flag and Checksum

总计 2Bytes,第一个 Byte 是 Extension Flag,这里有127个Extension Block,每个Block 128Bytes

EDID地址

EDID的I2C地址是0xA0/0xA1

#define EDID_I2C_ADDR       0x50
#define EDID_I2C_SEGMENT_ADDR   0x30

HDMI EDID的长度一般是256字节,分成2个Block,分别是Block0和Block1

VGA和DVI接口的EDID,是只有一个Block而已,即Block0,共128字节

 参考

edid-decode工具edid-decode.git - edid-decode main repository

在线版: EDID Decode

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/388395.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

并发编程——synchronized优化原理

如果有兴趣了解更多相关内容,欢迎来我的个人网站看看:耶瞳空间 一:基本概念 使用synchronized实现线程同步,即加锁,实现的是悲观锁。加锁可以使一段代码在同一时间只有一个线程可以访问,在增加安全性的同…

Python基础知识——字符串、字典

字符串 在Python中,字符和字符串没有区别。可能有些同学学过其他的语言,例如Java,在Java中,单引号’a’表示字符’a’,双引号"abc"表示字符串"abc",但在Python当中,它们没…

【百日百题-C语言-1】KY15、45、59、72、101、132

本节目录1、KY15 abc2、KY45 skew数3、KY59 神奇的口袋4、KY72 Digital Roots5、KY115 后缀子串排序6、KY132 xxx定律 3n1思想7、KY168 字符串内排序1、KY15 abc #include<stdio.h> int main() {int a,b,c;for(a1;a<9;a)for(b1;b<9;b)for(c0;c<9;c){int xa*100 …

【macOS软件】iThoughtsX 9.3 思维导图软件

原文来源于黑果魏叔官网&#xff0c;转载需注明出处。应用介绍iThoughtsX可以帮助您直观组织想法、主意和信息。亮点使用大部分常用桌面应用程序格式来进行导入导出MindManageriMindmapFreemind/FreeplaneNovamindXMindMindviewConceptDrawOPML (OmniOutliner, Scrivener etc.)…

CornerNet介绍

CornerNet: Detecting Objects as Paired Keypoints ECCV 2018 Paper&#xff1a;https://arxiv.org/pdf/1808.01244v2.pdf Code&#xff1a;GitHub - princeton-vl/CornerNet 摘要&#xff1a; 提出了一种single-stage的目标检测算法CornerNet&#xff0c;它把每个目标检…

Vector - CAPL - 获取相对时间函数

在自动化开发中&#xff0c;无论是CAN通信测试&#xff0c;还是网络管理测试&#xff0c;亦或是休眠唤醒等等存在时间相关的&#xff0c;都可能会使用相关的时间函数&#xff1b;今天主要介绍的就是获取当前时间&#xff0c;我们知道vector工具的最大优势就是稳定和精确度高&am…

Windows使用QEMU搭建arm64 ubuntu 环境

1. 下载 QEMU&#xff1a; https://qemu.weilnetz.de/w64/ QEMU UEFI固件文件&#xff1a; https://releases.linaro.org/components/kernel/uefi-linaro/latest/release/qemu64/QEMU_EFI.fd arm64 Ubuntu镜像&#xff1a; http://cdimage.ubuntu.com/releases/20.04.3/rel…

docker-compsoe启动nginx

本次采用的是nginx:1.20版本 下载命令 docker pull nginx:1.20docker-compose.yml version: 3 services: nginx:restart: always image: nginx:1.20container_name: nginx1.20ports:- 80:80volumes: - /home/nginx-docker/nginx.conf:/etc/nginx/nginx.conf- /home/nginx-do…

【mysql是怎样运行的】-InnoDB数据页结构

文章目录1. 数据库的存储结构&#xff1a;页1.1 磁盘与内存交互基本单位&#xff1a;页1.2 页结构概述1.3 页的上层结构2. 页的内部结构2.1 第1部分&#xff1a;文件头部和文件尾部2.1.1 File Header&#xff08;文件头部&#xff09;&#xff08;38字节&#xff09;2.1.2 File…

时序预测 | MATLAB实现IWOA-BiLSTM和BiLSTM时间序列预测(改进的鲸鱼算法优化双向长短期记忆神经网络)

时序预测 | MATLAB实现IWOA-BiLSTM和BiLSTM时间序列预测(改进的鲸鱼算法优化双向长短期记忆神经网络) 目录时序预测 | MATLAB实现IWOA-BiLSTM和BiLSTM时间序列预测(改进的鲸鱼算法优化双向长短期记忆神经网络)预测效果基本介绍程序设计参考资料预测效果 基本介绍 MATLAB实现IWO…

[1.3_3]计算机系统概述——系统调用

文章目录第一章 计算机系统概述系统调用&#xff08;一&#xff09;什么是系统调用&#xff0c;有何作用&#xff08;二&#xff09;系统调用与库函数的区别&#xff08;三&#xff09;小例子&#xff1a;为什么系统调用是必须的&#xff08;四&#xff09;什么功能要用到系统调…

Spring——整合junit4、junit5使用方法

spring需要创建spring容器&#xff0c;每次创建容器单元测试是测试单元代码junit4依赖<?xml version"1.0" encoding"UTF-8"?> <project xmlns"http://maven.apache.org/POM/4.0.0"xmlns:xsi"http://www.w3.org/2001/XMLSchema-i…

【mysql是怎样运行的】-InnoDB行格式

文章目录1 指定行格式的语法2 COMPACT行格式2.1 变长字段长度列表2.2 NULL值列表2.3 记录头信息&#xff08;5字节&#xff09;2.4 记录的真实数据3 Dynamic和Compressed行格式1 指定行格式的语法 CREATE TABLE 表名 (列的信息) ROW_FORMAT行格式名称ALTER TABLE 表名 ROW_FOR…

Java面试题总结

文章目录前言1、JDK1.8 的新特性有哪些&#xff1f;2、JDK 和 JRE 有什么区别&#xff1f;3、String&#xff0c;StringBuilder&#xff0c;StringBuffer 三者的区别&#xff1f;4、为什么 String 拼接的效率低&#xff1f;5、ArrayList 和 LinkedList 有哪些区别&#xff1f;6…

Trace、Metrics、Logging 选型

背景分布式追踪的起源自从微服务的兴起开始&#xff0c;整个系统架构开始变得极为庞大和复杂&#xff0c;但是服务之间的调用关系&#xff0c;调用消耗时间等等信息却依然是半黑盒的状态。为了能够将调用的链路进行串联&#xff0c;将系统的各种指标数据展示出来以使得系统的链…

windows 服务程序和桌面程序集成(一)

本系列文章介绍如何将windows服务程序和桌面程序集成在一起&#xff0c;也就是说一个EXE程序&#xff0c;既可以作为服务程序运行&#xff0c;也可以作为桌面程序运行的双模程序。在十几年前&#xff0c;曾经给客户开发一套C/S架构的出单程序&#xff0c;当时不是很清楚windows…

C++016-C++结构体

文章目录C016-C结构体结构体目标结构体定义结构体实例化结构体题目描述在线练习&#xff1a;总结C016-C结构体 在线练习&#xff1a; http://noi.openjudge.cn/ https://www.luogu.com.cn/ 结构体 参考&#xff1a;https://www.cnblogs.com/ybqjymy/p/16561657.html https://…

【Day1】一小时入门 python 基础,从安装到入门

文章目录python安装安装python安装 pycharmpython基础输出注释变量输入类型转换运算符自增字符串相关操作比较运算符逻辑运算符条件控制while循环list 列表for 循环range函数元组python 安装 安装python 官网进行下载&#xff1a;官网下载地址这里下载的一直是最新版本的 点…

嵌入式linux必备内存泄露检测神器

Valgrind介绍 Valgrind是一个可移植的动态二进制分析工具集&#xff0c;主要用于发现程序中的内存泄漏、不合法内存访问、使用未初始化的内存、不正确的内存释放以及性能问题等&#xff0c;可在Linux和Mac OS X等平台上使用。 Valgrind由多个工具组成&#xff0c;其中最常用的…

Linux操作系统学习(文件缓冲区)

文章目录缓冲区fork后的缓冲区缓冲区 什么是缓冲区&#xff1f; ​ 缓冲区(Buffer&#xff09;就是在内存中预留指定大小的存储空间用来对输入/输出(I/O)的数据作临时存储&#xff0c;这部分预留的内存空间就叫做缓冲区。 缓冲区分为内核缓冲区和用户缓冲区 ​ 内核缓冲区是…