LOFTER for ipad —— 让兴趣,更有趣

点击下载 关闭
Understanding EDID
1013020801 2017-05-09

一、 EDID来源及基本作用

1、  EDID(Extended Display Identification Data),直译就是扩展显示识别数据。 一般的消费级应用,信号源(Source)为PC、Notebook的显卡,同时具有很多显示设备(Sink),诸如显示器、投影仪、电视等等。 不同的Sink具有不同显示特性。EDID是source与sink交互的数据,sink将其显示特性告知source,从而得到更好的显示效果。

        EDID最早用于VGA显示,如今EDID已广泛用于DVI、HDMI、DP等视频接口。EDID由VESA推广使用,版本也不断更新。如下表所示:


从EDID 2.0开始,EDID数据包含了256 bytes。添加了更多对Sink显示特性的描述。


二、 EDID的具体含义

         EDID的存放方式有两种,存放在24c02 EEPROM或者直接存放在Flash IC上。主机通过寻址的方式向显示器发送请求获取EDID信息。注:存放在Flash IC上大多数需要在该IC启动后才能读取到EDID信息,而24c02则可以通过接口提供的5V电压直接工作来获取EDID信息。两种做法有利有弊,前一种主要是增加成本。而我们之前谈到系统有时候会抓取不到EDID或者错误的EDID,一种是因为我们的显示器一般是即插即用的,所以连接上显示器后,由主机或者更严格的说是显卡就回去读取显示器的信息。而该信息只读取一次,如果失败它就会被默认为默认监视器。所以识别失败后只能再次做拔插动作。

VESA 2007年发布的DispalyID(EDID 2.0)并不直接向下兼容以前的版本,但是已广泛应用于A/V市场。先来看一下上述表格中每一条的具体描述,再来说一说DDC/EDID协议传输。

  • 具体描述如下:

  • 关于DDC/EDID协议:

    在DDC通道上,DDC_SCL、DDC_SDA通过I2C协议传输EDID信息。 通常情况下,两者需要上拉5V,即逻辑“1”的标准门限。 不过,实际应用上也会用到3.3V等情况。 

    一般source通过HPD(HOT PLUG DETECTION)来判断是否外接了sink设备。 如果外接sink设备,那么sink设备上存在的5V电压就会将HPD拉高,通知source设备。 之后,source会发出读取EDID信息的请求,通过I2C总线协议的方式将128/256 bytes数据传输给source。source会检测EDID信息是否正确(简单的,会检查checksum)后,根据EDID信息发出合适的分辨率在sink显示。 若移除sink,则HPD会拉低,这也告知source此时已没有外接设备连接。 上述的HPD信号,应用于DVI、HDMI、DP,VGA中没有HPD。

三、 EDID电路相关、应用问题及解决

  • 一般的视频转接芯片的DDC电路连接如下:


其中二极管是为了防电流倒灌进芯片,导致芯片不能正常工作。

  • 实际应用相关问题及注意点:

    1) HDMI DDC:HDMI cable DDC通道的电容是有明确规定的上限值。HDMI cable的DDC通道最大电容不能超过700pF。通常电容与cable长度成线性关系,这通常是长cable导致传输不稳定、显示噪点等问题的主要原因。 一般需要通过增强HDMI输出端的驱动能力来解决该问题。

    2)EDID读取失败:EDID存放在flash中时,如果没有很好的上电时序,则EDID很难在flash中读取到。另一种跟显卡对DDC发送的数据DATA和clock的电压幅值有关系,如果显卡对传输数据的电压较苛刻,也会读取不到EDID。(不过一般厂商在显示器出厂时都会做主流显卡的兼容测试,所以不用担心这个问题)。还有一种就是未加防倒灌二极管,导致接口转接芯片为正常工作,也不能正常读取EDID。

    3) 某些主芯片(如Rockchip3288)或CPU,在其BIOS或LINUX驱动中,会将HPD信号一直拉高。即不管是否外接sink设备,主芯片都会发送视频信息。 这对某些外部转接芯片是有影响的:一般情况下,外围芯片读取sink EDID后准备好才会拉高HPD电平, 而主芯片在外围芯片准备好之前已经建立发送请求并发送数据。 外围芯片为准备好导致sink可能无显示。

Reference及工具:

https://entechtaiwan.com/util/ps.shtm

https://www.komeil.com/download/2984


推荐文章
评论(0)
分享到
转载我的主页