HDMI相关知识
HDMI热插拔检测原理
HDMI(19Pin)/DVI(16 pin)的功能是热插拔检测(HPD),这个信号将作为主机系统是否对HDMI/DVI是否发送TMDS信号的依据。HPD是从显示器输出送往计算机主机的一个检测信号。热插拔检测的作用是当显示器等数字显示器通过DVI接口与计算机主机相连或断开连接时,计算机主机能够通过HDMI/DVI的HPD引脚检测出这一事件,并做出响应。 在传输信号上来讲,HDMI与DVI完全兼容,只是接口封装不一样而已,下面以HDMI为例讲述HPD的原理和实现方式。下图为HDMI与DVI接口图。
HDMI(左)与DVI(右)接口图
1.显示器通过HDMI联机
当计算机主机通过HDMI接口的HPD引脚检测到显示器与计算机主机相连时,主机中的图形显示系统(显卡)发出一个信号,要求计算机的通过HDMI接口中的显示器数据通道DDC(DDC I2C总线)读取显示器DDC存储器中存储的EDID数据(扩展显示器识别数据),如果检测到显示器的工作模式范围与显卡相适应,则主机系统可以激活显卡 TMDS信号发送电路(数字视频信号发送电路)。
2.显示器断开HDMI连接
当计算机主机通过HPD引脚检测到显示器的HDMI接口与计算机主机断开时,主机中的图形显示系统(显卡)发出一个信号,通知计算机的操作系统中断显卡TMDS信号发送电路(安装在显卡上)的工作。
3.计算机主机对HPD信号的要求
当计算机主机上的显卡检测到DVI接口HPD引脚电压大于2V时,判断为显示器通过DVI接口与主机连接:当检测到HPD引脚电压小于0.8V时,则判断为显示器与主机之间的DVI连接已经断开。
4.HPD信号的实现
显示器HPD与PWR外围图
如上图,当计算机通过HDMI接口与显示器相连接时,主机通过HDMI的第18脚(PWR_CON_PIN18)将+5V电压加到显示器的DDC存储器(EDID数据存储器)向DDC存储器供电,确保即使显示器不开机,计算机主机也能通过HDMI接口读取EDID数据。
主机开机后产生 5V_SYS并通过第18脚向显示器供电,此时显示器接收到5V电压后通过内部电路使HDMI接口第19脚HPD转变为高电平,并驱动Q1使CE导通,致使HPD_GPU也转变为高电平,主机(显卡控制器)检测到HPD为高电平时,判断显示器通过HDMI与主机连接,并通过HDMI接口的第15、16脚 DDC通道(I2C)读取显示器中的EDID数据,并使主机显卡中的TMDS信号发送电路开始工作。
当显示器与主机之间的HDMI连接断开时,主机一侧的HDP信号为低电平,主机显卡中的TMDS信号发送电路停止工作。
附加:
1、DDC是显示器与电脑主机进行通信的一个总线标准,其全称是:DISPLAY DATA CHNNEL。它的基本功能就是将显示器的电子档案资料信息,诸如可接收行场频范围、生产厂商、生产日期、产品序列号、产品型号、标准显示模式及其参数、所支持的DDC标准类别、EDID的版本信息等等。高版本的DDC标准总线还可以允许电脑主机直接调节显示器的基本参数,诸如亮度、对比度、行场幅度的大小、行场中心位置、色温参数等等。
2、EDID数据标准:EDID(Extended Display Identification Data Standard) 就是显示器通过DDC传输给电脑主机的标准数据信息,至今已发布到第三版本,即EDID Version 3,前面分别有EDID Version 1.0,Revision 0,EDID Version 1,Revision 1,EDID Version 2,Revision 0,EDID Version 2,Revision 1等版本。就数据信息量而分,EDID分为128 BYTE和256 BYTE,将来也许会有更多数据信息量的新版EDID公布。
3、TMDS是最小化传输差分信号的英文缩写。
Silicon Image公司开始采用面板连接、数字可视接口(DVI)和高清多媒体接口(HDMI)的形式向显示行业推广其所有权标准——最小化传输差分信号 (TMDS)。在该情况下,发射端混合了具有在铜导线上降低EMI特性的更高级编码算法,从而使得接收端具有健壮的时钟恢复性能。
HDMI控制与组态剖析
HDMI能够称霸为王者之尊吗?目前消费者陷入的困境就是Audio/Video的连接线数量过度庞大,而HDMI最大卖点之一就是可使 用单一的连接线完全取代众多的影音连接线,简洁又方便。缺点是技术版本变动太快,2006年6月,1.3版本正式出笼。虽然HDMI是从DVI变身而来, 但DVI却仅局限于视频(Video)的传送,HDMI则是跨及音频与视频,技术的层次较高也比较复杂。
如果认真追究起来,过去在视频领域里,其实还存在有一个称之为D端子的连接器,据不同的影像格式而区分为D1~D5。由于目前仅在日本当地最为常用,常常让不知情的非日本人引起一阵迷惑,以为D端子就是Digital端子的简称,其实不然,只要查证其管脚定义就可看出其内涵是色差端子的综合体。之所以取名为D端子,是因为其连接头的形状有如D字母外型的缘故而得名。
日本家电使用D端子的机会比较多,其好处是可以减少色差端子连接线的数量。但就长期而言,终究D端子还是要走入历史的,日本产官方皆已建立起一致的共识。就消费性产品而言,HDMI唯我独尊。
通常,HDMI所称的源端(Source)主要装置是DVD及HD DVD、Blu-Ray等播放器以及STB机顶盒,接收端(Sink)当然就是以数字电视为主,跨越了液晶电视、等离子电视以及背投电视等。而所谓重复器或复送器(Repeater)装置,最典型的代表当然就是家庭剧院中所使用的AV扩大机了。
HDMI接口主要有三个通信通道:
◆ TMDS通道。负责所有音频、视频数据的传输。辅助数据,如AVI InfoFrame、Audio InfoFrame等也是通过TMDS通道。
◆ DDC通道:HDMI源端,通过这个通道来读取接收端(Sink)的E-EDID数据结构,进而得知接收端内含的机能与特性。
◆ CEC通道:这是一个选项(Option)。提供更高层次的使用方式让消费者使用,好比说自动设定的细节、单键播放或是遥控相关的事。
目前HDMI虽然独霸天下,若是参观美国的CES消费性电子大展或是日本的CEATEC电子展,您就会发现拥有HDMI接口的消费性电子产品琳琅满目。但若从消费者的使用观点来思考,还是有一些问题存在。首先,多数产品在其规格上或是说明书中仅提及了产品附有HDMI端子,有些还会提及其支持的版本,但一个只知道出钱买货的消费者并不会明了技术版本上的差异点。另外就是不同厂商之间各种产品的互通性是否经得起市场的考验以及消费者的感观接受度等等,这些都还有一段时间与路途要走。
众所皆知,日本东芝率先于2006年3月底推出下一代HD DVD光驱HD-XA1,HDMI端子的高画质展现是一大卖点。而个人计算机界直销的龙头Dell,也觊觎着这块消费性产品大饼,也是于2006年3月推出了24英寸宽银幕、WUXGA分辨率1920×1200、拥有HDCP著作权保护机制的液晶电视,并拥有色差输入以及D-DVI输入。可想而知,大家最关心的无疑是当HD DVD连接上这台高分辨率的液晶电视,是否能享受高画质的影像。当然这必须借用HDMI-DVI转换器或连接线,但连接以后的结果却是1080i的节目根本没有影像显现出来,必须通过遥控器的“分辨率切换”按键才能够看到影像。也就是说,似乎仅能看到480P或720P分辨率的输出,类似如此的细节性问题,对于一般的消费者来说,似乎显得比较沉重。
从此案例可以看出,为确保不同厂商产品间的沟通顺畅,HDMI兼容性测试(Compliance Testing)肯定是HDMI发展中不可或缺的一环。兼容性测试已经有标准公布,然而随时要留心版本的更新。USB的兼容测试花了十年的功夫也不见得能够解决所有的兼容性问题,那么,HDMI当然也需要花一段时间来克服这个问题。
使用HDMI接口对于工程师而言肯定是毫无困难度,但对于普通消费者来说,是需要重新教育的一环,若想去硬性改变消费者的使用习惯,如果没有构思细想周全,要付出的代价是难以言喻的。因此,产业上存在一种头衔User Experience Architect,其职责就是要想尽办法让使用者无痛苦的升级。
EIA/CEA-861B所定义的InfoFrames是学习HDMI技术必要的认知。一个InfoFrame打包仅仅能够载送一个InfoFrame。而且,依据HDMI的规范,其大小被限制在30个字节加上一个检验和(CheckSum)字节。
在某些情况下,HDMI的源端会使用到AVI InfoFrame与Audio InfoFrame,而EIA/CEA-861B中所定义的其他InfoFrame,则是列为选项。想知道所有InfoFrame的细节,只有去翻阅CEA-861B Section 6一种办法,因此,HDMI规格并不是一份完全独立的规范,必须还有其他的文献在手,交叉阅读与参考。而EIA/CEA-861B不仅定义了HDMI的影像格式、EDID以及InfoFrame的数据结构之外,还描述了音频的描述值与表格。这个现象与PCI Express规范是一样的情形,必须同时准备PCI与PCI-X的规范,才能够彻底弄通。
就HDMI的学习来说,当然所针对的目标就是AVI InfoFrame与Audio InfoFrame。首先要澄清一个重要的概念,即HDMI中的格式是以电视的立场为出发点而做的,而且是直接从EIA/CEA-861-B “A DTV Profile for Uncompressed High Speed Digital Interfaces”标准参考而来。EIA/CEA-861-B所制定的格式多达34种,若是再加上一些如像素重复(Pixel Repetition)的小变化,就有348种之多。因此,很多的字段都是来自于EIA/CEA-861B,内容细节上颇为繁复。
InfoFrame的描述
图7和图8是AVI InfoFrame的打包标头(Packet Header)与打包内涵(Packet Content)的格式,简单掌握住一个重点,AVI InfoFrame所包含的信息乃是为了实现与达成显示模式自动化(Display Mode Automation)而规划的一种方法或机制。当然,所有的重点都处于打包中各个内涵的字段之中。
◆ Y0、Y1:RGB或YCbCr指示器。就是意指色彩的编码以及采样方法(Color Encoding & Sampling Methods)。
◆ A0:Active (format)Information Present是一个旗帜,用来表示R0~R3是否有效,R0~R3就是Active Format Aspect Ratio。
◆ B0、B1:Bar Info数据是否有效的旗帜。
◆ S0、S1:Scan Information。安全范围的信息。比如说,全画面(OVERSCAN)和非全画面(UNDERSCAN)。
◆ C0、C1:比色法(Colorimetry),ITU BT.601,BT.709等。
◆ M0、M1:Picture Aspect Ratio (4:3, 16:9)。EIA/CEA-861-B标准的Section 2.4定义了Picture Aspect Ratio的词汇,视为在未压缩数字接口上传送影像的宽高比。
◆ R0~R3就是Active Format Aspect Ratio。
◆ VIC0~VIC6:Video Format Identification Code。
◆ PR0~PR3:Pixel Repetition Factor。关系到Double Clocking & Pixel Repetition的议题。比如说,速率低于25HMz的视频格式(如NTSC的480i就只有13.5MHz),可使用像素重复(Pixel RePetition)的机制来传输。
◆ SC1、SC0:Non-uniform Picture Scaling,是morph mode。
AVI InfoFrame的打包内容还包含有:
◆ ETB:Line number of end of top bar。
◆ SBB:Line number of start of bottom bar。
◆ ELB:Pixel number of end of left bar。
◆SRB:Pixel number of start of right bar。
AVI InfoFrame的内容不去了解,可以用一种比较形象的比喻来解释,有些人拍影片的格式会有多种花样,其内容不见得与消费者家中电视机的长宽比(Aspect Ratio)相符合,因此即使您拥有非常智能的电视机,想要将内容影像做最佳化的显示,唯一的方法就是要了解所收到的影像状况,这也就是AVI InfoFrame所要去完成的任务。
电视机最常见的银幕长宽比(Aspect Ratio)不是4:3就是16:9,而计算机的显示主要是4:3,有时还可见到5:4、3:2或16:10,而当代的电影胶片却能够支持六种格式,分别是4×3、13×9、5×3、13×7、11×5与12×5。以前的电视节目大多以4:3的比例来拍摄,随着HDTV的迫近,越来越多的节目开始以16:9的比例来拍摄。
HDMI接口的源装置使用IEC 60958 Channel Status位、IEC 61937 Burst Info以及Audio InfoFrame来表达有源音频串(Active Audio Stream)的特性,Audio InfoFrame的传送是Data Island打包可以载送的任何时间点。
需要注意的是,该打包内涵中许多字段可以设定为零,表示着这些信息在IEC 60958 Channel Status位、IEC 61937 Burst Info中已经隐含。
◆ CC0…CC2:Channel Count。
◆ CT0…CT3:Coding Type。
◆ SS0…SS1:Sample Size。
◆ SF0…SF2 Sample Frequency。对于L-PCM以及压缩音频,这些位必须为零。对于Super Audio CD来说,位设定必须为[0,1,0],表示2.8224M个采样(64×44.1KHz)。
◆ CA0…CA7:Channel/Speaker Allocation。对于压缩音频而言,这些位是无效用的。
◆ LSV0…LSV3:Level Shift Value。
◆ DM_INH:Down-mix Inhibit。
Audio InfoFrame所传送的额外数据,包含多轨道L-PCM扩音器喇叭的配置以及降混音量(Down-mix Volume)调整的修正。
E-EDID的数据结构
E-EDID是增强型扩充显示器识别数据(Enhanced Extended Display Identification Data Standard)的简称,是VESA组织所规范,在版本上也有更新的考虑。所有的终端接收装置(Sink),其E-EDID数据结构必须遵照VESA E-EDID Standard Release A, Revision 1,而E-EDID的第128个字节,不仅必须包含EDID 1.3的架构,也得满足EIA/CEA-861B的要求。
源装置使用DDC来读取终端接收显示装置的E-EDID(Enhanced Extended Display Identification Data),以确认终端显示装置的设定与功能。规格中清楚写到,所有包含EIA/CEA-861B的E-EDID数据结构的终端接收显示装置,都需要通过DDC来存取。更准确地说,即源装置必须读取EDID 1.3以及第一个CEA EDID Timing Extension,来确认终端显示装置所支持的功能。
HDMI既然师出于DVI,又有兼容的特征,那么有趣的问题就浮现出来了,即用什么方法来判别或鉴别是DVI装置还是HDMI装置呢?想要简单推断则必须要规范一种机制或方法来鉴别。
CEA EDID Timing Extension必须包含HDMI Vendor Specific Data Block (HDMI VSDB)的表格。这是一个EIA/CEA-861B Vendor Specific Data Block的数据区块,细节描述在EIA/CEA-861B的表格30~32。这个数据区块会包含有一个24位的IEEE Registration Identifier登记识别符号0x000C03,而该识别码就是隶属于HDMI Licensing,LLC。基于此,HDMI的源端可以检查是否为合理的HDMI VSDB,然后包含有IEEE Registration Identifier登记识别符号0x000C03,就可以判断为HDMI装置,而不是DVI装置。同样的,任何具有E-EDID的装置,不包含有CEA EDID Timing Extension或是有效长度的HDMI VSDB,即可视为DVI装置。
HDMI接收装置端的音频特性的支持,在CEA EDID Timing Extension中的Short Audio Descriptor数据区块中完全表达。这些数据表达了接收端所支持的音频编码方式与相关参数,比如说支持的通道数,而多声道的L-PCM或是多声道的单位元音频,也可以通过数据区块中的“Speaker Allocation Descriptor”来清楚表达。
如果接收端也支持RCbCr的像素编码(Pixel Encoding),EDID Timing Extension字节三的位四与位五必须设定为一。至于视频格式的支持,HDMI接收端采用SVD(Short Video Descriptor)中的Video Code来表达,也可以使用DTD(Detailed Timing Descriptor)。如果接收端支持了单位元音频,可以通过Short Audio Descriptor的Coding Type为九,Short Audio Descriptor的字节三必须保留为零。
Enhanced DDC概述
DDC(Display Data Channel)是终端显示器用来告知个人计算机显示器信息(如分辨率、扫描频率等)的规格,也就是显示器与主机系统之间的通信方法,当然,这个规格的主要目的就是要实现即插即用(Plug & Play)的功能。Enhanced DDC乃是定义于VESA的ENHANCED DISPLAY DATA CHANNEL STANDARD Version 1 (September 2, 1999)。依据HDMI规格的记载,所有的接收端必须支持这些Enhanced DDC的特征。在技术层面,就数据传输的时序来说,必须完全符合业界标准的I2C接口的标准模式,也就是数据必须与SCL维持同步。
I2C接口是一个非常简易的控制接口,仅是时钟(Clock)与数据(Data)的两线式接口。(注:I2C接口是上个世纪80年代初期,飞利浦半导体所开发的连接接口,依照传送速度有三种模式:标准模式约100Kbps,快速模式约400Kbps,高速模式约3.4Mbps)总之,HDMI来源端是利用了I2C接口的命令来读取接收端的E-EDID。
HDMI接口有一热插拔检测(Hot Plug Detect)的信号,它要遵循一些准则。一个HDMI接收端,当E-EDID数据尚未准备好可读取时,不能够在高电压准位驱动该信号。同时,也必须得知来源端的+5V Power信号时,才能够驱动。HDMI来源装置可以利用该信号的高电位来激发E-EDID数据的读取。HDMI接收端E-EDID数据的内容有任何改变的话,在该信号驱动为低电位至少需100ms的时间。
CEC信号线概述
CEC(Consumer Electronics Control)信号线是提供使用者对于HDMI接口连接装置,提供一种高级控制的方式,例如单键播放(One Touch Play)、单键录像(One Touch Record)等,让消费者对HDMI装置能有逻辑性高的控制方便性,这个功能主要与遥控装置的使用有密切的关系。
CEC功能是以欧洲常见的影音连接通讯协议(AV.Link Protocol)为基础,欧洲的影音设备惯用AV.Link或Q-Link等一堆奇怪的字眼,完全视厂商情况而定。CEC的功能支持与否是一个选项,使用上也是随制造厂商而定。
USB与1394均是分享式以及随插即用的总线,接口上会存在多个装置,为了能够维持正确传输而不会互相干扰,各个装置必须赋予一个物理地址(Physical Address),这个过程就称之为Physical Address Discovery,所有的地址都用4个位数来表示,而装置连接的阶数最多为5阶。
HDMI相关知识的更多相关文章
- 【Python五篇慢慢弹(5)】类的继承案例解析,python相关知识延伸
类的继承案例解析,python相关知识延伸 作者:白宁超 2016年10月10日22:36:57 摘要:继<快速上手学python>一文之后,笔者又将python官方文档认真学习下.官方给 ...
- 移动WEB像素相关知识
了解移动web像素的知识,主要是为了切图时心中有数.本文主要围绕一个问题:怎样根据设备厂商提供的屏幕尺寸和物理像素得到我们切图需要的逻辑像素?围绕这个问题以iphone5为例讲解涉及到的web像素相关 ...
- listener监听器的相关知识
从别人的博客上我学习了listener的相关知识现在分享给大家 1.概念: 监听器就是一个实现特定接口的普通java程序,这个程序专门用于监听另一个java对象的方法调用或属性改变,当被监听对象发生上 ...
- UIViewController相关知识
title: UIViewController 相关知识date: 2015-12-13 11:50categories: IOS tags: UIViewController 小小程序猿我的博客:h ...
- 【转】java NIO 相关知识
原文地址:http://www.iteye.com/magazines/132-Java-NIO Java NIO(New IO)是从Java 1.4版本开始引入的一个新的IO API,可以替代标准的 ...
- NSString使用stringWithFormat拼接的相关知识
NSString使用stringWithFormat拼接的相关知识 保留2位小数点 1 2 3 4 //.2代表小数点后面保留2位(2代表保留的数量) NSString *string = [NSSt ...
- iOS网络相关知识总结
iOS网络相关知识总结 1.关于请求NSURLRequest? 我们经常讲的GET/POST/PUT等请求是指我们要向服务器发出的NSMutableURLRequest的类型; 我们可以设置Reque ...
- 电路相关知识--读<<继电器是如何成为CPU的>>
电路相关知识–读<<继电器是如何成为CPU的>> */--> *///--> *///--> 电路相关知识–读<<继电器是如何成为CPU的> ...
- 地址标记,SpringMVC转发与调用相关知识存档
1.mytest_mavenprj1中,index的 <a href="login/login.html">点击登录</a> 与 <a href=&q ...
随机推荐
- (转)25个增强iOS应用程序性能的提示和技巧--中级篇
在性能优化时,当你碰到一些复杂的问题,应该注意和使用如下技巧: 9.重用和延迟加载View10.缓存.缓存.缓存11.考虑绘制12.处理内存警告13.重用花销很大的对象14.使用Sprite Shee ...
- 简单的Dao设计模式
简单的DAO设计模式 这两天学习到了DAO(Data Access Object 数据存取对象)设计模式.想谈谈自己的感受,刚开始接触是感觉有点难,觉得自己逻辑理不清,主要是以前学的知识比较零散没有很 ...
- UVA247- Calling Circles(有向图的强连通分量)
题目链接 题意: 给定一张有向图.找出全部强连通分量,并输出. 思路:有向图的强连通分量用Tarjan算法,然后用map映射,便于输出,注意输出格式. 代码: #include <iostrea ...
- HTML5 本地裁剪图片并上传至服务器(转)
很多情况下用户上传的图片都需要经过裁剪,比如头像啊什么的.但以前实现这类需求都很复杂,往往需要先把图片上传到服务器,然后返回给用户,让用户确定裁剪坐标,发送给服务器,服务器裁剪完再返回给用户,来回需要 ...
- Repeater数据绑定和操作
Repeater使用详细指南 ASP.NET WebForm开发中尽量少用系统提供的runat="server"的服务器控件,尤其像GridView之类的“重量级”武器,自动生成的 ...
- MyEclipse安装xfire插件
xfire因为过时,MyEclipse已经将其支,如果想用只能手动添加了. 安装步骤: 1.点击help┈┈┈→install from site出现下图 在第一栏里,输出http://dist.co ...
- 空合并操作符??(C#)
??二元操作符在对first??second求值时,大致会经历以下步骤: 1)对first进行求值: 2)如果结果非空,则该结果就是整个表达式的结果: 3)否则求second的值,其结果作为整个表达式 ...
- select选项改变时获取选中的option的值
本来天真的以为直接this.value()就能去到select的值,可事实并非那么回事. <script> document.getElementById('select').onchan ...
- struts2的工作机制
struts2的工作机制 原文:http://eoasis.iteye.com/blog/642586 概述 本章讲述Struts2的工作原理. 读者如果曾经学习过Struts1.x或者有过Strut ...
- alloc & init & dealloc
在Objective-C中,alloc,init和dealloc是经常使用的函数,那么它们内部到底是如何实现的呢?通过查看libobjc运行时库,可以发现他们的工作原理. 1 alloc alloc的 ...