Linux内核驱动之视频基础(五)HDMI-DVI信号详解
一 HDMI接口类型和引脚定义TYPE A: 目前最通用的HDMI接口19PINTYPE B: 双通道HDMI接口29PIN,工业用途TYPE C: Mini HDMI接口,和TYPE A性能一致,体积较小TYPE D: Micro HDMI接口,相对于TYPE C更加紧凑下图1为TYPE A接口的引脚定义图图1从上图1 可知HDMI接口包括3个TMDS数据通道 1个TMDS时钟通道CEC控制信号,DDC信号,5V电源输出和热插拔HPD信号二 HDMI信号传输原理HDMI采用TMDS信号传输(最小化传输差分信号传输技术)每一个标准的HDMI连接,都包含3个用于传输数据的TMDS通道,以及1个独立的TMDS时钟通道,以保证传输时所需的统一时序。在一个时钟周期内,每个TMDS通道都能够传送10bit的数据流,而这个10bit数据流可以由若干种不同的编码格式构成。下图2为HDMI信号传输框图 图2如上图2所示HDMI视频信号分为R,G,B,H,V上述五种信号使用TMDS技术编码,其中TMDS通道0传输B信号,同时H信号和V信号也嵌入该通道TMDS通道1传输G信号TMDS通道2传输R信号,R和G通道的多余位置用来传输音频信号CEC信号 消费电子控制通道,通过这条通道可以控制试听设备DDC信号 显示器与电脑主机进行通信的一个总线,基本功能是将显示器的基本信息发送给主机(比如EDID信息)HPD信号 显示器向主机发送的检测信号,包括连接和断开当HDMI主机检测到HPD引脚大于2V表示显示器与主机之间连接当HDMI主机检测到HPD引脚小于0.8V表示显示器与主机之间断开TMDS信号电平 HDMI使用最小跳变差分信号技术,差分信号上拉电压为+3.3V,端口阻抗为50欧姆,单端信号为400~600mv,差分信号的逻辑摆幅在800~1200mv之间(峰峰值),当然实际上TMDS差分电压摆幅可以在150mv~1200mv之间变化. 当差分摆幅小于150mv或者大于1500mv时,接收端不能正确识别该差分信号时钟占空比为40% ~ 50%三 HDMI接口识别过程HDMI Source(主机) 和 Sink(显示器)的上电协商过程 ?Source设备上电后会检测HPD是否被上拉到2V以上?Source设备通过DDC总线读取EDID以确定Sink能支持的分辩率 ?Source设备检测TMDS信号是否被上拉到3.3V,有以下三种情况部分设备必须要检测所有TMDS通道上拉到3.3V才输出TMDS信号部分设备必须要检测到CLOCK上拉才输出TMDS信号部分设备只要检测到某对TMDS被上拉即输出该上拉的TMDS信号 ? Source设备输出当前设置的分辩率到Sink端? Source设备上电后检测HPD小于0.8V? Source设备停止输出TMDS信号从上述协商过程可知HPD引脚(HDMI-PIN19/DVI-PIN16)作为Source是否向Sink发送TMDS信号的重要依据下面着重分析HPD信号的实现过程 图3如上图3,当主机通过HDMI接口与显示器相连接时,主机通过HDMI的PIN18引脚(如图3 PWR_CON_PIN18)将+5V电压加到显示器的EDID存储器,向EDID存储器供电,确保即使显示器不开机,主机也能通过HDMI接口读取EDID数据。?显示器接收到+5V电压后通过内部电路驱动三极管Q1使CE导通,致使HDMI_HPD转变为高电平,主机检测到HPD为高电平时,判断主机与显示器连接成功,并通过HDMI接口的第15、16脚 DDC通道读取显示器中的EDID数据,并使主机显卡中的TMDS信号发送电路开始工作。?当显示器与主机之间的HDMI连接断开时,主机一侧的HPD信号为低电平,主机显卡中的TMDS信号发送电路停止工作。HPD信号调试经验:调试HDMI输出时,首先需要检测HPD PIN19是否大于2V同时通过示波器也可以检测到DDC信号的完整波形注意:从传输信号上来讲HDMI与DVI完全兼容都是使用TMDS信号,只是接口封装不一样而已,所以本文没有分析DVI信号