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

news2024/11/27 2:02:26

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时钟-
13CEC14保留15SCL
16SDA17DDC/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-
22CEC23保留24保留
25SCL26SDA27DDC/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时钟-
13DDC/CEC地14CEC15SCL
16SDA17保留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实现。

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

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

相关文章

如果客户端同时有ipv4和ipv6,浏览器是如何选择用哪种ip

在互联网协议(IP)的发展历程中,IPv4和IPv6是两种主要的版本。对于一个客户端来说,同时拥有IPv4和IPv6的能力是常见的情况。那么,当一个客户端同时具有IPv4和IPv6的能力时,浏览器是如何选择使用哪种IP进行通…

数组栈的实现

1.栈的概念及结构 栈:一种特殊的线性表,其只允许在固定的一端进行插入和删除元素操作 进行数据插入和删除操作的一端称为栈顶,另一端称为栈底 栈中的数据元素遵守后进先出LIFO,(Last In First Out)的原则 压栈&…

Redis-Redis多级缓存架构

多级缓存架构 缓存设计 缓存穿透 缓存穿透是指查询一个根本不存在的数据, 缓存层和存储层都不会命中, 通常出于容错的考虑, 如果从存储层查不到数据则不写入缓存层。 缓存穿透将导致不存在的数据每次请求都要到存储层去查询, 失…

NX二次开发UF_CURVE_ask_offset_parms 函数介绍

文章作者:里海 来源网站:https://blog.csdn.net/WangPaiFeiXingYuan UF_CURVE_ask_offset_parms Defined in: uf_curve.h int UF_CURVE_ask_offset_parms(tag_t offset_curve_object, UF_CURVE_offset_data_p_t offset_data_pointer ) overview 概述 …

从0开始学习JavaScript--JavaScript中的对象原型

JavaScript中的对象原型是理解该语言核心概念的关键之一。本文将深入探讨JavaScript对象原型的作用、使用方法以及与继承相关的重要概念。通过详细的示例代码和全面的讲解,将能够更好地理解和运用JavaScript对象原型,提高代码的可维护性和扩展性。 Java…

windows下docker环境搭建与运行实战

背景 学习docker使用,需要环境,今天主要的目标是在windows环境下安装docker环境。 为什么要这么搞,主要是企业内部服务器,都是跟公网隔离的,没有访问公网权限,所以镜像什么的,从公网拉取完全没…

31 - MySQL调优之SQL语句:如何写出高性能SQL语句?

从今天开始,我将带你一起学习 MySQL 的性能调优。MySQL 数据库是互联网公司使用最为频繁的数据库之一,不仅仅因为它开源免费,MySQL 卓越的性能、稳定的服务以及活跃的社区都成就了它的核心竞争力。 我们知道,应用服务与数据库的交…

C语言:写一个函数,实现3*3矩阵的转置(指针)

分析: 在主函数 main 中,定义一个 3x3 的整型数组 a,并定义一个指向整型数组的指针 p。然后通过循环结构和 scanf 函数,从标准输入中读取用户输入的 3x3 矩阵的值,并存储到数组 a 中。 接下来,调用 mov…

MySQL的undo log 与MVCC

文章目录 概要一、undo日志1.undo日志的作用2.undo日志的格式3. 事务id(trx_id) 二、MVCC1.版本链2.ReadView3.REPEATABLE READ —— 在第一次读取数据时生成一个ReadView4.快照读与当前读 小结 概要 Undo Log:数据库事务开始之前&#xff0…

构建SQL Server链接服务器:实现跨服务器数据访问及整合

点击上方蓝字关注我 在SQL Server数据库管理中,链接服务器是一项强大的功能,允许在一个SQL Server实例中访问另一个SQL Server实例的数据。这种功能为数据库管理员提供了灵活性,使其能够跨不同服务器进行数据交互,开辟了更多的应用…

realname,soname和linkname

背景 当在看/lib下的一些文件时候,我们发现几乎都是三个动态库文件,为啥? 分析 当我发布一个动态库的时候,比如版本是maj.min.patch(10.2.1)的格式,当我改了小版本的号的时候(10…

牛客网刷题笔记四 链表节点k个一组翻转

NC50 链表中的节点每k个一组翻转 题目: 思路: 这种题目比较习惯现在草稿本涂涂画画链表处理过程。整体思路是赋值新的链表,用游离指针遍历原始链表进行翻转操作,当游离个数等于k时,就将翻转后的链表接到新的链表后&am…

【Flutter 常见问题系列 第 1 篇】Text组件 文字的对齐、数字和字母对齐中文

TextStyle中设置height参数即可 对齐的效果 Text的高度 是根据 height 乘于 fontSize 进行计算的、这里指定heiht即可、不指定的会出现 无法对齐的情况,如下: 这种就是无法对齐的情况

成为AI产品经理——模型评估(混淆矩阵)

一、混淆矩阵 1.混淆矩阵的介绍 混淆矩阵有两个定义positive(正例)和negative(反例)。分别代表模型结果的好和坏。 下图就是一个分类问题的混淆矩阵。横行代表真实的情况,而竖行代表预测的结果。 为了便于理解&…

原神「神铸赋形」活动祈愿现已开启

亲爱的旅行者,「神铸赋形」活动祈愿现已开启,「单手剑静水流涌之辉」「法器碧落之珑」概率UP! 活动期间,旅行者可以在「神铸赋形」活动祈愿中获得更多武器与角色,提升队伍的战斗力! 〓祈愿时间〓 4.2版本更…

VS2022 17.8: Build Insights 中的函数视图

简述 今天,我们很高兴的宣布在 Visual Studio 中为 Build Insights 新增了一项新功能:函数视图(Functions View)。 此功能在 Visual Studio 2022 v17.8 版本中可用。函数视图可以为你的代码库中的函数和强制内联(For…

C++学习之路(四)C++ 实现简单的待办事项列表命令行应用 - 示例代码拆分讲解

本期示例介绍: 本期示例《待办事项列表应用》展示了一个简单的任务管理系统,用户可以通过命令行界面执行添加任务、删除任务和显示任务列表等操作。 功能描述: 添加任务功能: 用户可以输入任务描述,将新的任务添加到任务列表中。…

基于SpringBoot+Vue的蛋糕商城【源码好优多】

简介 蛋糕商城首页、注册、登录、浏览商品、购物车、下单、收藏商品、个人中心、管理员登录、角色管理、日志管理、菜单管理、轮播图管理、商品类别管理、商品管理、用户管理、订单管理、收货地址管理等功能模块。 项目目录 数据库 首页 用户注册 登录 商品详情 个人信息 购物车…

【第二节:微信小程序 app.json配置】微信小程序入门,以思维导图的方式展开2

以思维导图的方式呈现出来,是不是会更加直观一些呢 如果看不清楚,私信给单发 : 第二节:微信小程序 app.json配置: 包括: window pages tabBar networkTimeout debug 如下图所示: 2、ap…

常见树种(贵州省):022绣线菊、月月青、金合欢、胡枝子、白刺花

摘要:本专栏树种介绍图片来源于PPBC中国植物图像库(下附网址),本文整理仅做交流学习使用,同时便于查找,如有侵权请联系删除。 图片网址:PPBC中国植物图像库——最大的植物分类图片库 一、绣线菊…