HDMI设计1--HDMI 1.4b SPEC的阅读个人总结

        工作需要设计HDMI1.4/2.0 IP,支持4K视频的需求。因此,近期对HDMI的相关SPEC进行了阅读,在这里进行总结,记录个人的知识成长的过程。

        本文将从一下7个方面,讲述自己对HDMI 1.4b spec相关内容的理解。因为,工作需求是只需要支持4K视频的接受和传输,不涉及音频,所以略去了HDMI中Audio部分的内容。

1, Overview

2, Signaling and Encoding

3, Video

4, Control and Configuration

5, Compatibility with DVI

6, EDID and E-EDID

7. HDCP

1. Overview

图 1 HDMI Block Diagram

        首先,是对HDMI的整体结构的一个介绍。

        如图1所示是HDMI的Block Diagram, 主要分为5个部分。

        第一个部分是视频/音频数据,控制信息,参考时钟信息的传输。从图1可以看到,根据数据流,Video[7:0],Audio[3:0],Control[1:0]进入HDMI Transmitter,经过DC平衡重编码后,Video, Audio, Control信息分时复用3对TMDS Channel0 - TMDS Channel2的差分信号对传输给外部,在图中是直接给了HDMI Receiver, 这里要注意的是进入HDMI Transmitter的Video,Audio,Control的数据位宽是固定的,即Video位宽为8,Audio位宽为4, Control位宽为2。这里的数据位宽要注意和系统中的像素个数数据位宽(每个时钟的像素数位宽),和单像素数据深度位宽(像素深度 - Color Depth)区分。就是不论像素数据位宽如何变,Video位宽时钟为8,后续会看到,会将不同的像素数据位宽以8 bit为单位进行分组打包传输。这个点很重要的原因是,因为本人也是第一次做HDMI设计,在做系统的带宽平衡分析时,产生了困惑。 TMDS Clock Channel是将HDMI Transmitter中的Pixel clock进行了差分后输出给HDMI Receiver作为参考时钟。这里的Pixel clock的时钟和TMDS Data channel0 - TMDS Data channel2的时钟频率值不同,如果是上下沿触发就是差了5倍,如果是单沿就是差了10倍。 

        第二个部分 Display Data Channel(DDC)。该总线类型本质是IIC总线,目的是在HPD信号线,显示有HDMI Transmitter连接了HDMI Receiver后,通知HDMI Transmitter去读取HDMI Receiver中的EDID(128Byte)或者E-EDID(256 Byte),里面含有HDMI Reciver所支持的显示的分辨率,厂商等信息,以便HDMI Transmitter能够发送HDMI Reciver支持的视频编码格式,以及显示分辨率等。当然,在设计测试过程中,发现市面上的HDMI Transmitter,例如视频盒子等,并不是都会支持DDC通道,或者某些生产的HDMI Transmitter在设置输出格式后,不会理会HDMI Receiver是否支持。

        第三个部分 CEC:该通道是可以选择实现的提供高层次控制功能的。例如如果有一个显示屏和一个播放盒子,那么可能会下意识的认为需要两个遥控器来分别进行控制,但是因为有了CEC通道,便可只需要一个遥控器,就能实现两个设备的控制了。

        第四个部分 HEAC:该通道从SPEC上的介绍来看,说的是,在连接的设备和音频之间提供以太网兼容的数据网络。因为,工作需求没有涉及,所以并没有细看,这里就没有详细讲解了。

        第五个部分 HPD: 全称为Hot Plug detected,就是热插拔信号了。标识是否HDMI Transmitter和HDMI Receiver连接好了。

2, Signaling and Encoding

        关于Signaling and Encoding部分,个人认为应该算是HDMI的最核心的部分了。我将从一下4个方面进行介绍。

2.1 Overview

2.2 Control Period

2.3 Video Data Period

2.4 Data Island Period -- Vendor-Specific Info, AVI Info

2.1 Overview

图 2 Signaling and Encoding Diagram

        HDMI Transmitter在进行数据编码的结构如图2的左侧所示。Pixel component(B,G,R)对应就是Video[7:0]; HSYNC,VSYNC,CTL0,CTL1,CTL2,CTL3对应的就是Control[1:0], Auxiliary Data对应的就是Audio[3:0],但是该通道不仅传递Audio,还是传递和视频信息相关的其他数据包,Audio数据包只是其中一种,因此,在图1中的Audio[3:0],更准确的说是Auxiliary[3:0]。在这里可以看到,在传递Auxiliary Data数据包时,3个编码模块,一个模块用于编码Packet Header的传输,另外两个模块用于编码Packet Body的传输。后续会详细进行说明。

        我们知道,HDMI TMDS Link只有3对TMDS数据差分对,因此Pixel Data, Auxiliary Data, Control Data,这三种数据的传输是采用了分时传输的模式。如图2所示中的时序图,是一个720x480的时序,浅灰色的是传输Control Data的阶段,称为Control Period,深蓝色的是传输Auxiliary Data的阶段,称为Data Island Period, 深灰色的是传输有效Pixel data的阶段,称为Data Period。因此,这里我们知道了HDMI传输一帧数据,由三个period组成,分为Control Period, Data Island Period, Data Period。这里从图中也可以看出,在两个非Control Period中一定有一个Control Period.

        从图2的最右边的表格,我们可以看到,对于Video Data Period,传输的数据有两种,一种是Video Pixels,也就是实际像素数据,DC编码方式采用Video Data Coding,将 8bits 数据转换成10bits数据。另一种就是Guard Band,保护带数据,用于同步的,采用固定的10 bit patterm。对于Data Island Period,传输的数据有两种,一种是Packet Data(Auxiliary Data和HSYNC,VSYNC),这里的HSYNC,VSYNC其实就是Control Period中的HSYNC,VSYNC。采用TERC 4 Coding, 将4 bits数据转换成10bits数据传输,也是做一个DC平衡。另一种是Guard Band,同样是Fixed 10 bit patterm,和Video Data Period中的Guard值是不同的。Control Period传输的数据就是Control data(Preamble,HSYNC,VSYNC),Preamble就是前导码,用来表示该Control Period后跟着的是Video Data Period还是Data Island Period,也是一种同步码。

2.2 Control Period

图 3 Control Period Info

        如图3所示,是Control Period关于Data Period Type的Preambles编码,各TMDS Channel对应的CTLx输入 以及Control Period Encoding值。{CTL0,CTL1,CTL2,CTL3} = 4'b1000时,Preambles为Video Data period的;{CTL0,CTL1,CTL2,CTL3}=4'b1010时,Preambles为Data Island Period的。这里有个注意点是Control Period会发送连续8个字符长的Preambles。

        这里要注意的时,我们要知道,0-1或者1-0的转换次数被HDMI Receiver的decoder用来进行边界同步。在Video Data Period和Data Island Period中编码传输的数据的0-1或1-0的转换次数是小于等于5次的,而在Control Period中的转换次数则是大于等于7次的。依靠跳变次数,HDMI Receiver便能区分Control Period什么时候结束,后续的Video Data Period和Data Island Period什么时候开始。同时,之前我们说过了,在两个非Control Period中间,一定会有一个Control Period的规定,这个规定就要求了不会出现Video Data Period和Data Island Period连续出现的情况了。

2.3 Video Data Period

图4 Video Data Period Info 

        图4 显示的是Video Data Period的编码方式,解码方式以及在Video Data Period中的Leading Guard编码值。首线,当一个Control Period结束后,后续的如果是Video Data Period,那么HDMI Transmitter会先用如图4中的Video Leading Guard Band Encoding,传输2个字符长度的Leading Guard Band,然后再开始传输Pixel Data编码数据,DC编码使用如图4左侧的编码方式进行8bits 到10bits的DC平衡后,在TMDS上串行传输。图4右侧的解码方式则是与图4左侧的编码方式相对应即可。

2.4 Data Island Period

图5 Data Island Period Info

         图5是Data Island Period中的,Leading and Trailing Guard Band的编码以及TERC4数据编码.

        与Video Data Period不同的是,Data Island Period中,既有Leading Guard Band也有Trailing Guard Band,相同是,在发送Guard Band的时,都会发送连续2个字符长度。这里要注意的是,对于TMDS Channel0的Leading and Trailing Guard Band,是对0xC,0xD,0xE,0xF,进行如图5右侧所示的TERC4编码后的数据。

图6 Data Island Period Structure 

                图6所示是,Data Island Period中,Auxiliary Data是怎么组成一个Packet的,一个Packet分成了4 Bytes 的Header和32 Bytes的Body。如图6左侧所示,我们知道3个channel0-2,输入的Auxiliary Data位宽都为4。对于Channel0,其最低两位是HSYNC,VSYNC,第三位用于独立传输packet header数据,就是32 bits(4 Bytes),第四位则没有任何作用,对于Channel1和Channel2,则是按如图所示的方式进行交替组合,形成4个block,组成32 Bytes 的Packet Body,每个block都有一个Byte的parity bits,因此Packet Body的有效数据为28个Bytes。对于Packet Header,其格式如图6右上角所示,一个Byte表示Type,两个Byte为Paket-specific data,和Type相关。对于Packet Body,其格式与Packet Header中的Type相关。在设计过中,我在图中标记出的General Control, Vendor-Specific InfoFrame, AVI InfoFrame,我认为是很关键的,General Control主要和3D 视频格式相关,里面会传递3D Structure相关的信息,而Vendor-Specific InfoFrame和AVI InfoFrame则有着更丰富的附加视频格式信息,后面会进行详细介绍。

图7 TMDS Periods and Encoding 

        图7所示为TMDS channels传输各Periods的时序图,该图以Control Period -> Data Island Period -> Control Period -> Video Data Period顺序传输。从图可以看到,首先,传递Control Period结束时,会连续传输8个字符长的Preamble,指明后续的Period为Data Island Period;然后,在Data Island Period传输实际有效数据是,会先传输连续2个字符长的Leading Guard Band,接着传输32个字符长的Packet,这里要注意一个Packet大小统一为32字符长,在一个Data Island Period可以传输多个Packet,但是是有上限的。上限的大小我忘了,具体值,可以参考HDMI 1.4b SPEC。紧接着,在Data Island Period结束时,将连续传输2个字符长的Trailing Guard Band用于同步。之后,Control Period开始,在该Control Period结束时,将连续传输8个字符长的Preamble,表示后续Period是Video Data Period,在Video Data Period开始时,将连续传输2个字符长的Leading Guard Band,然后传输Active Video Pixels。

4, Control and Configuration

关于HDMI 的Control and Configuration,主要是关于在Control Period中发送的各种类型的Packet。具体的可以参考HDMI 1.4b SPEC。

5, Compatibility with DVI

我们知道HDMI是DVI的发展,因此,HDMI是需要兼容DVI 1.0的。因此,对于涉及的HDMI Transmitter和HDMI Receiver有着对DVI 1.0的要求。

5.1  Requirements

        对于HDMI Transmiter(1)Video pixel要用RGB编码 (2)在Video Data Period中没有Video Guard Bands的传输 (3) 不传输Data Islands。

        对于HDMI Receiver (1) 只使用RGB编码模式进行解码 (2) 在Video Data Period中没有Video Guard Bands的传输 (3) 没有Data Islands传输。

        因为对DVI的兼容,因此,HDMI设备在启动时,首先会以兼容DVI的视频格式进行传输,在读取EDID/E-EDID后,传输满足HDMI传输格式的视频格式。再一次注意,市面上不是所有的HDMI Transmitter都会读取EDID/E-EDID,发送符合HDMI Receiver的视频格式。这是一个小坑。对于EDID/E-EDID,HDCP的介绍将分成另外的独立篇章来介绍。

### 回答1: "HDMI1.4规范PDF"是指HDMI(高清多媒体接口)1.4版本的规范文档的PDF格式文件。HDMI是一种用于音频和视频信号传输的数字接口标准,而1.4版本是HDMI标准的一个重要更新。这个规范PDF文件包含了HDMI 1.4的所有技术细节和规范要求。 HDMI 1.4规范PDF提供了有关该版本支持的新功能和改进的详细信息。其中一项重要的更新是增加了对3D视频传输的支持,这使得用户可以通过HDMI接口连接3D电视和其他3D设备,以获得更好的视觉体验。此外,1.4版本还引入了支持更高分辨率的功能,如4K x 2K分辨率,使用户可以享受更高质量的视频观看。 另一个重要的特性是新增了以太网通道功能,该功能允许HDMI接口传输网络数据。这意味着用户可以通过HDMI线缆连接互联网和其他网络设备,实现更方便的网络连接和共享。 此外,HDMI 1.4规范PDF还包含了关于音频传输的改进。它提供了更高音频传输质量和更多的音频通道支持,使用户可以获得更逼真、具有立体声效果的音频体验。 总之,HDMI 1.4规范PDF是一份重要的文档,提供了HDMI 1.4版本的完整技术细节和规范要求。通过阅读这个规范PDF,用户可以了解到HDMI 1.4版本的新功能和改进,以及如何充分利用这些功能来提升视频和音频传输的质量。 ### 回答2: HDMI是一种数字传输接口,用于将高清音视频信号从音频视频设备(如电视、投影仪、音响等)传输到电视、显示器或其他设备上。HDMI 1.4是一种规范,用于定义HDMI接口的功能和性能。 HDMI 1.4规范的PDF文件包含了关于HDMI 1.4的详细技术规格和说明。这份规范文件是为了帮助工程师、开发人员和其他相关人员了解HDMI 1.4接口的功能和限制而编写的。 在HDMI 1.4规范的PDF文件中,你可以找到以下关键信息: 1. HDMI 1.4的频带宽度和分辨率限制:规范将详细介绍HDMI 1.4支持的最大视频分辨率和刷新率。 2. HDMI 1.4的音频传输特性:规范将解释HDMI 1.4接口支持的音频格式和特性,例如支持多声道音频和高清音频传输。 3. HDMI 1.4的3D功能:规范中会详细说明HDMI 1.4接口支持的3D视觉效果传输方式和要求。 4. HDMI 1.4的以太网功能:规范将介绍HDMI 1.4接口如何支持通过HDMI传输以太网数据。 此外,规范文件还包括了HDMI 1.4接口的物理连接规范、插头规格、电气特性和兼容性要求等信息。 总的来说,HDMI 1.4 spec PDF是一份完整的技术规范文件,可以帮助相关人员了解和遵循HDMI 1.4接口的标准,以确保设备间的兼容性和正常使用。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值