HDMI接口信号流向及原理图分析

1、HDMI的来源及发展

如今显示器上最常用的接口无非HDMI(High Definition Multimedia Interface)与DP(DisplayPort)两种,VGA与DVI已经很少使用,原因在于VGA传输的是模拟信号,在发送端需要将数字信号转换为模拟信号,在接收端又需要把模拟信号转换成数字信号,模拟信号在传输过程中及其容易受到外界干扰,逐渐被淘汰。DVI接口与HDMI接口类似,都是传输数字信号,但只能传输视频信号,不能传输音频信号,也极少使用了。

HDMI接口是松下、索尼这些电视厂商在2002年联合推出的视频传输接口,HDMI1.0最高带宽达到4.96Gbps。2006推出的HDMI1.3版本最高带宽达到10.2Gbps,经过四年发展,HDMI接口从电视领域逐步拓展到游戏主机、笔记本、摄像机、数码相机等产品上,这段时间HDMI风光无限。

英特尔、英伟达、联想、戴尔等电脑公司不想受制于人,在2006年5月联合发布了DP1.0,最高带宽支持10.8Gbps。2009年的时候HDMI1.4发布,最高支持4K30帧。2013年9月的时候发布HDMI2.0,最高带宽扩展到18Gbps,支持4K60Hz,2017年推出HDMI2.1,数据带宽达到48Gbps。但是DP2.0已经最高支持80gbps的传输速率,并且DP协议是完全免费的,而HDMI是需要支付版权费用的。

HDMI凭借早期的市场积累优势,HDMI的数据传输速率足够用户日常使用,所以HDMI还是作为最常见的显示器接口存在。

2、HDMI接口类型

根据接口大小大致可分为四类,如图1所示,分别是A型、B型、C型、D型。

图1 HDMI接口类型

2.1、A型接口

A型是最常见的,一般显示器或视频设备,都提供了这种尺寸的接口,该接口宽度为13.9毫米、厚度为4.45毫米,有19针,接口对应的信号分布如图2所示,对应的信号分布如表1所示。


图2 A型 HDMI接口信号分布

表1 A型HDMI接口的引脚含义

HDMI信号引脚定义
引脚 信号 引脚 信号 引脚 信号
1 数据2+ 2 数据2屏蔽 3 数据2-
4 数据1+ 5 数据1屏蔽 6 数据1-
7 数据0+ 8 数据0屏蔽 9 数据0-
10 时钟+ 11 时钟屏蔽 12 时钟-
13 CEC 14 保留 15 SCL
16 SDA 17 DDC/CEC地 18 +5V电源
19 热插拔检测

HDMI接口包含四对差分线,其中三对差分线用于传输RGB三种信号,剩余一对差分线传输差分时钟。 为了加强抗干扰能力,每对差分线之间还加入了一根屏蔽线,比如数据2+与数据2-之间加入数据2屏蔽线,1、2、3信号线组成1个数据传输通道,10、11、12三根线组成1个时钟传输通道。SCL与SDA使IIC接口,主要用于DDC,进行EDID(相当于一个信息表,会存放显示器的制造商、型号、分辨率等信号)的交互,显示设备和主机可以相互读取。

CEC是HDMI的一个扩展功能,比如以前在电视上通过影碟机播放光盘的内容,电视机与影碟机采用HDMI进行通信时,用户可以通过电视遥控器去控制影碟机实现视频的快进或倒退,快进或倒退的数据就是通过HDMI的CEC从电视接收器传输给影碟机的,影碟机再去实现视频的快进或倒退。

2.2、B型接口

B型接口非常罕见,宽度达到21毫米,接口引脚有29针,接口引脚如表2所示,相比A型接口多了三组差分数据线,这代表传输数据带宽是A型接口的2倍,现在该接口只应用于一些专业场合。
表2 B型HDMI接口的引脚含义

HDMI信号引脚定义
引脚 信号 引脚 信号 引脚 信号
1 数据2+ 2 数据2屏蔽 3 数据2-
4 数据1+ 5 数据1屏蔽 6 数据1-
7 数据0+ 8 数据0屏蔽 9 数据0-
10 时钟+ 11 时钟屏蔽 12 时钟-
13 数据5+ 14 数据5屏蔽 15 数据5-
16 数据4+ 17 数据4屏蔽 18 数据4-
19 数据3+ 20 数据3屏蔽 21 数据3-
22 CEC 23 保留 24 保留
25 SCL 26 SDA 27 DDC/CEC 地
28 +5电源 29 热插拔检测

接口信号除了增加3对数据线之外,与A型接口一致,不再过多介绍。

2.3、C型接口

C型是为小型设备而生的,其尺寸为2.42 mm × 10.42 mm,相比A型小了将近1/3,应用范围很小。接口引脚与A型接口一致,也是19针,但是引脚的分布有一点区别,差分屏蔽线与差分的P引脚对换了,其余部分信号位置也互换了,如下表3所示。主要用在便携式装置上,例如DV、数码相机、便携式多媒体播放机等。
表3 C型HDMI接口的引脚含义

HDMI信号引脚定义
引脚 信号 引脚 信号 引脚 信号
1 数据2屏蔽 2 数据2+ 3 数据2-
4 数据1屏蔽 5 数据1+ 6 数据1-
7 数据0屏蔽 8 数据0+ 9 数据0-
10 时钟屏蔽 11 时钟+ 12 时钟-
13 DDC/CEC地 14 CEC 15 SCL
16 SDA 17 保留 18 +5V电源
19 热插拔检测

2.4、D型接口

D型是最新的接口类型,接口引脚分布与A型完全一致。尺寸为2.8 mm x 6.4 mm,进---步减小,采用了双排针脚设计,尺寸近似于miniUSB接口,主要应用在一些小型的移动设备上,如手机、MP4等等。

3、HDMI传输数据的信号流向

FPGA开发板上一般是A型的HDMI接口,本文只对数据的信号流向做简要讲解,便于后文的原理图电路分析,本文不对视频、音频信号的编码原理及FPGA实现进行讲解,这部分将放在后续FPGA实现TMDS编码的章节讲解。

HDMI可以传输视频信息、音频信息、控制和状态信号,主机与从机交互数据如图3所示,主机先对视频信号、音频信号、状态、控制信号进行编码转换成10bit的冰箱数据,然后将并行数据转换为串行数据,最后将单端信号转换为四路差分信号输出。 从机接收到差分信号后,解码出视频、音频、控制信号,从而实现数据传输。主机可以通过DDC通道读取从机的EDID数据,获取从机的制造商、版本、分辨率等信息。主机和从机还可以通过CEC实现一些数据交互。


图3 HDMI传输示意图

详情如下图4所示,HDMI链路包括三个TMDS数据通道和一个TMDS时钟通道。TMDS时钟通道始终以与传输视频的像素速率成比例(比例关系在后续讲解FPGA实现的时候会进行说明)的速率运行。 在TMDS时钟通道的每个周期,三个TMDS数据通道中的每一个都传输一个10位字符。


图4 HDMI编码器/解码器概述

由上图4可知,三个数据通道分别传输R、G、B像素对应的数据,其中传输蓝色像素的通道会将行、场同步信号进行编码,传输给从机,从机从该通道解码出行、场同步信号,用于同步接收到各通道的数据,其余两个数据通道会将一些控制信号进行编码传输给从机。 视频信息采用TMDS编码规则进行编码,后续FPGA实现HDMI传输数据时进行详细讲解该编码,音频信号的编码比较复杂没并且一般FPGA不会用来传输音频信号,此处不足过多介绍,想了解的可以查看HDMI手册。

4、硬件原理图分析

FPGA实现HDMI数据 传输一般会存在两种方式,一种是采用外部解码芯片对HDMI数据进行解码,FPGA只需要与该芯片的接口进行通信即可,FPGA的代码设计难度较低。另一种就是不带解码芯片,FPGA通过编码算法对视频、音频信息进行编码,直接输出差分信号,实现数据的传输,相比前者,后者FPGA开发难度更大,但是成本更低,灵活性更高,也更有利于了解编码规则。

本文对第二种电路进行分析,第一种直接查看编码/解码芯片手册即可实际电路,难度不大。

我手里目前有两块开发板带有HDMI接口,这两块开发板硬件电路有一点区别,额外介绍一下以前用过的两外两块开发板的HDMI电路,总共四块开发板的HDMI硬件原理图接口分析。

4.2、达芬奇开发板的HDMI原理图分析

正点原子的这款开发板有两个相同的双向HDMI接口,对应原理图如图5所示。差分数据线和时钟线通过瞬态抑制二极管后接到FPGA管脚上,并上拉到3.3V, AZ1045-04F用于保护连接到数据和传输线的敏感组件免受静电放电(ESD)引起的过电压的影响,可以理解为集成的瞬态二极管。CEC引脚依旧没有使用,此处接到3.3V。


图5 达芬奇开发板的HDMI原理图

稍微复杂一点的就是IIC的数据线以及热插拔引脚的控制,因为HDMI接口是5V电平,而FPGA管脚最高只能提供3.3V电压,所以要进行电平转换。此外该接口是双向接口,作为输出接口时,热插拔应该是外部从机输入提供给FPGA作为判断使用的,作为输入接口时,FPGA热插拔引脚输出连接状态,会存在一个方向切换以及状态检测和发送的作用。

该开发板通过HDMI_OE和HDMI_HPD信号实现信号的双向传输,在分析这两个信号控制原理前,需了解仙童公司设计的两颗芯片(NC7SZ125M5X和NC7WZ07P6X)的工作原理。NC7SZ125M5X是一个三态门,OE为低电平时,输出引脚Y等于输入引脚A,当OE为高电平时,该芯片输出高阻态。NC7WZ07P6X也是一个双通道的三态门,当输入端A为低电平时,输出端Y为低电平,输入端A为高电平时,输出端Y为高阻态。

HDMI_OUT_EN信号用来控制HDMI输入、输出的方向,DHMI_OUT_EN输出高电平时表示将HDMI作为输出接口,此时NC7SZ125M5X输出高阻态。HDMI的19号引脚输入低电平时,NC7WZ07P6X的Y2引脚输出低电平,则HDMI_HPD为低电平,HDMI的19号引脚输入5V时,NC7WZ07P6X的Y2引脚输出高阻态,HDMI_HDP被上拉到3.3V,即高电平。所以当HDMI作为输出时,FPGA可以通过检测HDMI_HDP信号电平状态,获取从机是否连接到HDMI接口上,从而决定是否传输数据。


图6 热插拔检测信号电路

HDMI_OUT_EN为低电平时,该HDMI接口作为输入,此时HDMI_HDP输出高电平,表示FPGA连接到了HDMI接口,则NC7WZ07P6X输出高电平,HDMI接口的19号引脚被拉高,而NC7WZ07P6X的输入端变为高电平,输出端则为高阻态。HDMI_HDP被拉低时,同样可以分析出HDMI接口的19号引脚被拉低。

HDMI的供电电路如图7所示,作为输出接口时,开发板的电源给HDMI接口供电,所以该电源芯片的使能端连接HDMI_OUT_EN信号,HDMI_OUT_EN信号为高电平时,电源芯片输出5V电源给HDMI接口供电。HDMI_OUT_EN为低电平时,表示HDMI接口作为输入,则该接口由外部输入设备进行供电,TPS2051BDB芯片不工作。


图7 HDMI供电电路

接下来就是IIC的电平转换电路,如图8所示,SCL与SDA的电路原理相同,只是方向相反,此处只分析SDA的电路原理即可。

1. 当HDMI_SDA是主机,为高电平(3.3V)时,则NMOS的栅源电压U­gs=0,NMOS被关断,左侧HDMI_SDA_LS作为输入,对外呈现高阻态,则HDMI_SDA_LS最终被R195上拉到5V,从而实现5V到3.3V的转换。

2. 当HDMI_SDA是主机,为低电平时,则NMOS的栅源电压U­gs>0,左侧HDMI_SDA_LS作为输入,对外呈现高阻态,NMOS的源极与漏极导通,则HDMI_SDA_LS被HDMI_SDA拉低,实现低电平的转换。


图8 IIC的电平转换电路

3. 当HDMI_SDA_LS是主机,为高电平(5V)时,右侧的HDMI_SDA作为输入,对外呈现高阻态,HDMI_SDA被R136上拉到3.3V,此时U­gs=0,NMOS关闭,HDMI_SDA就能一直保持高电平(3.3V)的状态。

4. 当HDMI_SDA_LS是主机,为低电平时,右侧的HDMI_SDA作为输入,对外呈现高阻态,HDMI_SDA被R136上拉到3.3V,然后就G了,输入为低电平,输出变为高电平了?

其实是因为这个MOS管的原理图画的不标准,A03400手册上的模型图如图9所示,在源漏之间存在一个二极管,这个时候二极管就起作用了。

由于HDMI_SDA为3.3V,HDMI_SDA_LS为0V,那么源极指向漏极的二极管导通,HDMI_SDA电位被拉低,导致NMOS的栅源电压U­gs>0,NMOS打开,则HDMI_SDA被HDMI_SDA_LS拉低,输出低电平。

图9 A03400的模型图

最后如图10所示的一个开发板电源与HDMI接口电源的隔离电路,该NMOS功能与二极管类似,起单向导电的作用。使用MOS管相比二极管的优势,使用二极管导通时会有压降,会损失一些电压。而使用MOS管做隔离,让MOS管饱和导通,通过电流时MOS管几乎不产生压降。


图10 MOS管隔离电路

隔离是保证HDMI接口的电压不会影响开发板的电源,比如没有这个隔离电路,那么HDMI接口的3.3V电压直连到开发板的3.3V电源,如果在板子上电之前将外部的HDMI线连接到FPGA开发板上,外部仪器给HDMI接口供电,会导致电压倒灌到开发板内部,导致一些3.3V连接的LED之类的器件工作,但开发板此时还没供电,就会很奇怪。

4.2、AX720的HDMI接口

小梅哥的ACX20,如图11所示,该开发板有两个HDMI接口,两个接口都是双向传输数据的。


图11 AX720开发板

其中一个HDMI的原理图如图12所示,与正点原子的原理图大多一致。J6是HDMI A型接口的金属座子,差分数据线、时钟线和热插拔检测引脚的连接方式与原子的开发板基本一致,由于FPGA没有使用CEC功能,CEC引脚直接悬空。


图12 ax720 HDMI接口原理图

相同的电路就不在进行分析了,区别在于IIC的电平转换电路不同,原子使用的是NMOS的分离器件,而小梅哥使用的是集成的电平转换芯片。对于集成芯片,通过数据手册了解功能即可,电平转换芯片GTL2002DP118的内部结构如图13所示:


图13 GTL2002DP118内部结构

GTL2002提供2个NMOS通路晶体管(Sn和Dn),带有一个公共栅极(GREF)和一个参考晶体管(SREF和DREF)。该器件允许1.0 V和5.0 V之间的双向电压转换,而无需使用方向引脚。当Sn或Dn端口为LOW时,Sn和Dn端口之间通过低电阻连接。假设Dn端口上的电压较高,当Dn端口为HIGH时,Sn端口上的电压被限制为参考晶体管(SREF)设置的电压。当Sn端口为HIGH时,上拉电阻将Dn端口拉至DREF。由于器件中的所有晶体管都是相同的,因此SREF和DREF可以位于其他两个匹配的Sn/Dn晶体管中的任何一个上,从而使电路板布局更容易。

图14 IIC电平转换电路

了解原理后对图14的IIC原理图进行分析,U30的GREF(NMOS的栅极)是接5V,SREF(NMOS管的源极)接3.3V,此时NMOS的栅源电压大于0,根据手册可知此时的NMOS漏源两极是导通的,也就说明栅源电压大于此NMOS的开启电压。而DREF(NMOS的漏极)接在5V,当芯片的S1、S2、D1、D2这些管脚输入低电平时,对应NMOS都是处于打开状态的,源极S端与漏极D端之间只存在微小电阻,两端电压接近相等,从而会把另一端的电位拉低,达到低电平转换效果。当D端输入高电平(近似等于DREF)时,由于该NMOS与参考的NMOS时对称的,那么S端电位也就近似等于SREF的电位了,从而实现5V转3.3V电压。当S端输入高电平(近似等于SREF)时,根据对称原则,D端电位近似等于DREF电位,手册上说此时NMOS处于几乎关断的状态。

相比原子的少了一个隔离作用的电路,但对HDMI的功能也没有什么影响。

4.3、米联客ZYNQ7030

我手里现存开发板中的一块,这是一个单向的HDMI接口,对应原理图如图15所示,硬件电路及其简单,差分时钟线和数据线的连接方式与前面开发板一致,由于只能作为输出,所以热插拔检测引脚就只会作为输入使用,直接下接地,连接到FPGA管脚上。

查看了后续电路,这个HDMI接口上的IIC接口应该是没有连接的,因为没有做电平转换,不可能直接给FPGA使用,实际电路板上R41和R42应该没有焊接,所以单向传输的电路会简单很多。


图15 zynq7030 HDMI硬件原理图

我手里另一块带HDMI接口的板子是米联客老版的ZYNQ7020,这个板子的原理图与小梅哥的AX720除电源转换芯片不同之外,基本上完全相同,所以就不贴出来了。

上述分析三块板子的原理图,除了了解HDMI的接口信号外,也能够熟悉一些电平转换电路,原子开发板所用的IIC电平转换电路就比较经典,后续就是对HDMI的视频编码协议进行解读并采用FPGA实现。

相关推荐
国科安芯2 小时前
基于AS32A601型MCU芯片的屏幕驱动IC方案的技术研究
服务器·人工智能·单片机·嵌入式硬件·fpga开发
cmc10283 小时前
145.vivado采信号时ILA用一个probe要比用多个节约资源
fpga开发
白又白、4 小时前
数据cdc (clock domain cross)
fpga开发
FakeOccupational18 小时前
fpga系列 HDL : Microchip FPGA开发软件 Libero 中导出和导入引脚约束配置
fpga开发
贝塔实验室21 小时前
LDPC 码的构造方法
算法·fpga开发·硬件工程·动态规划·信息与通信·信号处理·基带工程
Moonnnn.1 天前
【FPGA】时序逻辑计数器——仿真验证
fpga开发
三贝勒文子1 天前
Synopsys 逻辑综合之 ICG
fpga开发·eda·synopsys·时序综合
byte轻骑兵1 天前
【驱动设计的硬件基础】CPLD和FPGA
fpga开发·cpld
dadaobusi1 天前
看到一段SVA代码,让AI解释了一下
单片机·嵌入式硬件·fpga开发
G2突破手2591 天前
FMC、FMC+ 详解
fpga开发