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时钟-
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实现。

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

【UGUI】实现跑酷游戏分数血量显示在UI中

//1.实现让玩家的金币分数显示在UI文本中 2.让血量和滑动条关联起来 这一节课主要学会获取组件并改变属性,举一反三! using System.Collections; using System.Collections.Generic; using UnityEngine; using UnityEngine.UI; using TMPro;//1.实现让玩…

JMeter 设置请求头信息的详细步骤

在使用 JMeter 的过程中,我们会遇到需要设置请求头信息的场景。比如: POST 传过去的 Body 数据是 json 格式的。需要填添加头信息:Content-Type:application/json。 在 header 中用 token 来传用户的认证信息。 下面,…

NX二次开发UF_CURVE_ask_offset_direction_2 函数介绍

文章作者:里海 来源网站:https://blog.csdn.net/WangPaiFeiXingYuan UF_CURVE_ask_offset_direction_2 Defined in: uf_curve.h int UF_CURVE_ask_offset_direction_2(UF_STRING_p_t input_curves, double offset_direction_vector [ 3 ] , double dra…

[pyqt5]pyqt5设置窗口背景图片后上面所有图片都会变成和背景图片一样

pyqt5的控件所有都是集成widget,窗体设置背景图片后控件背景也会跟着改变,此时有2个办法。第一个办法显然我们可以换成其他方式设置窗口背景图片,而不是使用styleSheet样式表,网上有很多其他方法。还有个办法就是仍然用styleSheet…

岂曰无衣 汉家衣裳再现锦绣美景

——福州第五届1122汉服节出行盛大开幕11月25日下午,闽江之心海丝广场,一场盛大的汉服文化节——福州第五届1122汉服节出行活动在这里隆重开幕。这个被誉为“穿在身上的历史”的传统文化,在这片古老而神秘的土地上焕发出新的生机与活力。据了…

【Ambari】HDP单机自动化安装(基础环境和MySQL脚本一键安装)

🦄 个人主页——🎐开着拖拉机回家_Linux,大数据运维-CSDN博客 🎐✨🍁 🪁🍁🪁🍁🪁🍁🪁🍁 🪁🍁🪁&am…

C# WPF上位机开发(掌握一点c#基础)

【 声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing 163.com】 wpf虽然比较简单,但是最好还是要有一点c#的基础比较好。本身wpf有点类似于web开发,前端和html差不多,后端则和j…

基于springboot实现医院信管系统项目【项目源码+论文说明】计算机毕业设计

基于springboot实现医院信管系统演示 摘要 随着信息技术和网络技术的飞速发展,人类已进入全新信息化时代,传统管理技术已无法高效,便捷地管理信息。为了迎合时代需求,优化管理效率,各种各样的管理系统应运而生&#x…

盘点43个Android项目源码安卓爱好者不容错过

盘点43个Android项目源码安卓爱好者不容错过 学习知识费力气,收集整理更不易。 知识付费甚欢喜,为咱码农谋福利。 链接:https://pan.baidu.com/s/1yHmkUeX4vxVag9Yr0yeQRg?pwd8888 提取码:8888 项目名称 Android NDK直播项…

pygame加载图像,并让小球做平抛运动

文章目录 load转换和存储自由落体 在游戏设计中,图像显示是必不可少的功能,pygame中的image模块便用于加载图像。 load 通过load函数,可以加载多种图像格式,如下表所示 旧版本bmp, gpeg, png, pcx, tiff, xpmc, lbm(以及pbm, p…

matlab 计算点云的最值

目录 一、算法原理二、代码实现三、结果展示本文由CSDN点云侠原创,原文链接。如果你不是在点云侠的博客中看到该文章,那么此处便是不要脸的爬虫与GPT。 一、算法原理 matlab有自带的函数可以直接获取点云的最值,具体实现看代码即可。 二、代码实现 clc; clear; close all…

论文阅读——DDeP(cvpr2023)

分割标签耗时且贵,所以常常使用预训练提高分割模型标签有效性,反正就是,需要一个预训练分割模型。典型的分割模型encoder部分通过分类任务预训练,decoder部分参数随机初始化。作者认为这个方法次优,尤其标签比较少的情…

在云服务器上搭建个人版chatGPT及后端Spring Boot集成chat GPT

原创/朱季谦 本文分成两部分,包括【国内服务器上搭建chat GPT】和【后端Spring Boot集成chat GPT】。 无论是在【国内服务器上搭建chat GPT】和【后端Spring Boot集成chat GPT】,两个方式都需要魔法访问,否则是无法正常使用的,即…

什么是网络安全 ?

网络安全已成为我们生活的数字时代最重要的话题之一。随着连接设备数量的增加、互联网的普及和在线数据的指数级增长,网络攻击的风险呈指数级增长。 但网络安全是什么意思? 简而言之,网络安全是一组旨在保护网络、设备和数据免受网络攻击、…

elasticsearch 实战

文章目录 项目介绍导入项目 Elasticsearch Java API 查询文档快速入门发起查询请求解析响应完整代码 match查询精确查询布尔查询排序、分页高亮高亮请求构建高亮结果解析 项目介绍 本项目是一个由spring boot 3.0.2在gradle 8.4和java 21的环境下搭建的elasticsearch项目demo&…

N7 LUP.2.3 DRC如何解决?

这个问题在Design Rule中的介绍如下图: 解决办法是od 15 um的范围要加LUP_GR* cell,需要提高密度(加的位置需要符合tcic)去fix。

深度学习之基于YoloV3杂草识别系统

欢迎大家点赞、收藏、关注、评论啦 ,由于篇幅有限,只展示了部分核心代码。 文章目录 一项目简介 二、功能三、系统四. 总结 一项目简介 深度学习在图像识别领域已经取得了显著的成果,其中基于YOLO(You Only Look Once&#xff09…

【nowcoder】BM4 合并两个排序的链表

题目: 题目分析: 题目分析转载 代码实现: package BMP4;import java.util.List;class ListNode {int val;ListNode next null;public ListNode(int val) {this.val val;} } public class BM4 {/*** 代码中的类名、方法名、参数名已经指定…

酷开科技 | 酷开系统,让你与家人共度美好时光!

在日渐繁忙的生活中,我们常常会忽略和家人朋友的相处时光,有时候,我们亟需一种休闲方式,让家庭成员能够围坐在一起,享受无忧无虑的温馨和欢笑。酷开科技,致力于为消费者提供舒适的产品和服务内容&#xff0…

物联网AI 无线连接学习之蓝牙基础篇 协议概述

学物联网,来万物简单IoT物联网!! 1 蓝牙协议总体架构 1.1 Application层 应用属性层,通过API函数与协议栈交互; 1.2 Host层 Host层,逻辑链路控制及自适应协议层、安全管理层、属性协议层、通用访问配置…