精华内容
下载资源
问答
  • HDMI协议解析
    2021-02-24 23:34:39

    转载请标明出处floater的csdn blog,http://blog.csdn.net/flaoter

    本文从软件工程师角度对HDMI spec进行解析,基于的spec版本为1.4,也是设备支持最多最成熟的版本,目前最新版本为2.0。

    1 概述

    HDMI(High-Definition Multiface Interface)是Hitachi, Panasonic, Philips, SiliconImage, Sony, Thomson, Toshiba几家公司共同发布的一款音视频传输协议,主要用于DVD, 机顶盒等音视频source到TV,显示器等sink设备的传输。传输基于的是TMDS(Transition Minimized Differential Signaling)协议。此外,使用TMDS也是DVI标准的主要特点 。

    2 物理结构

    hdmi_block
    上图是HDMI block结构图,可以看出HDMI用于audiovisual source和sink之间的连接,HDMI cable由3组差分信号传输TMDS数据,1组差分信号传输clock。此外,HDMI还有一个DDC的通道连接到sink的EDID。CEC和HEAC都是HDMI的可选协议。
    hdmi_pin
    HDMI定义了五种类型的connector,上图是最常见的type A。
    1-9是TMDS data传输用到的引脚,共有三组;
    10-12是TMDS clock传输用到的引脚,共有一组,TMDS clock就是pixel clock;
    13是CEC引脚,一种消费电子兼容的传输协议;
    14是保留引脚;
    15,16是DDC的引脚,DDC是基于I2C协议传输,故引脚为SCL和SDA;
    17是接地;
    18是+5V power;
    19是HPD引脚,用于建立连接。

    3 传输

    概述

    HDMI传输由三组TMDS通道和一组TMDS clock通道组成,TMDS clock的运行频率是video信号的pixel频率,在每个cycle,每个TMDS data通道发送10bit数据。
    hdmi_transblock
    上图是HDMI传输的示意图,从图中可知,HDMI传输如下四种类型数据:
    (1)Preamble控制信息,图中的CTLx,可用来表示后面传输的是data island还是video data。通过channel1和2的D[1:0]传输,占用4bit。
    (2)Data Island,即数据包,如Audio数据包。通过3个channel的D[3:0]传输,占用12bit。
    (3)Video Data,视频数据。示意图中传输的是RGB格式图像,R,G,B分别通过channel2,1,0传输,每个颜色8bit,共24bit。
    (4)HSYNC, VSYNC。使用channel0的D[1:0]传输,占用2bit。
    8bit的数据在source经过TMDS encoder后得到10bit数据,经过serializer后串行输出;在sink端先进行复原成10bit的数据,再通过TMDS decoder得到8bit的源数据。
    此外,HDMI视频是stream式的传输,不涉及packet式的传输。

    hdmi_timing
    上图是传输720x480p video的hdmi timing图。
    在video data period,有效的video数据进行传输;
    在data island period,audio和auxiliary数据以包的形式进行传输;
    在control period,CTLx和HSYNC, SYNC进行传输。
    data island period和control period都是在消隐区进行。图中行消隐占用138像素,场消隐占45行。
    period_encode
    上图中是对时序图中描述的三种period分别传输的数据和编码类型进行说明。video数据从8bit/channel encode后变为10bit/channel, data island的packet数据从4bit/channel encode后为10bit/channel, control数据从2bit/channel encode为10bit/channel。

    Control Period

    hdmi_control_period
    只有两种类型的preamble信息组合,CTL0:3=1000代表接下来的是video data period,CTL0:3=1010代表接下来的是data island period。HSYNC, VSYNC此时也有可能发生变化。

    Video Data Period

    video data period以2个字符(pixel)长度的leading gurad band开始,guard band如下:
    ch0: q_out[9:0] = 0b1011001100
    ch1: q_out[9:0] = 0b0100110011
    ch2: q_out[9:0] = 0b1011001100

    Data Island Period

    data island period传输audio数据和辅助数据,辅助数据包括Infoframe和其他用于音视频信息描述的数据。data island period以2个字符长度的leading guard band开始,并以2个字符宽度的trailing guard band 结束。guard band如下:
    ch0: q_out[9:0] = n.a
    ch1: q_out[9:0] = 0b0100110011
    ch2: q_out[9:0] = 0b0100110011
    data island传输的packet类型和格式详见spec说明。
    三个传输阶段的过渡过程如下图所示:
    hdmi_tmds_period
    (1) 左一是control period, 分别占用三个channel的D[1:0],channel 0传输HSYNC, VSYNC, channel1,2 传输Preamble
    (2) 左二是data island period,分别占用了三个channel的D[3:0],channel 0的D[1:0]传输HSYNC, VSYNC, channel0的D[3:2]传输packet header, channel 1,2的D[3:0]传输packet。并且两端以guard band隔离
    (3)右二接下来又是control period
    (4)右一是 video data island, 占用了全部三个通道,并且开始以guard band 隔离

    4 Video

    支持三种pixel encoding:RGB4:4:4, YCbCr4:4:4, YCbCr4:2:2
    video format除了CEA-861-D中格式外,还会支持一些较特殊的格式
    color depth可支持一个像素24, 30, 36和48bits
    下面分别是24bit/pixel的RGB444, YCbCr422, YCbCr444的pixel encoding示意图。RGB444每个颜色占8bit, YCbCr422中Y占12bit,C占12bit,YCbCr444中Y,Cb,Cr都占用8bit。
    hdmi_rgb444
    hdmi_ycbcr422
    hdmi_ycbcr444

    Deep Color模式
    Pixel Packing
    24 bit mode: 1 pixel/group, 1 fragment/group
    30 bit mode: 4 pixel/group, 5 fragment/group
    36 bit mode: 2 pixel/group, 3 fragment/group
    48 bit mode: 1 pixel/group, 2 fragment/group
    1fragment/TMDS clock, 如30bit下的4pixel,需要5次传输完成,每次1个fragment。
    hdmi_packing_30bit

    5 Audio

    Audio数据以Audio Sample Packet或High Bitrate Audio Stream Packet的形式传输,但是HDMI没有传输audio clock,因此sink设备需要进行audio clock regeneration。原理如下:
    hdmi_audio_clock
    128∗fs=N×fTMDS/CTS
    N和CTS会在Audio Clock Regeneration Packet中进行传输,TMDS clock可通过硬件获取,因此sink端可算出source传输的audio clock。

    6 Control

    InfoFrame

    Infoframe以Infoframe packet的形式传输,它的大小不超过30字节加上一个checksum字节。具体infoframe的格式及内容需要查看spec。
    AVI(Auxiliary Video Information) Infoframe
    Audio Infoframe
    HDMI Vendor Specific Infoframe, 传输4kx2k或3D格式时需要发送此packet

    EDID & DDC

    sink设备在ROM中存放EDID信息,source在收到HPD后会通过DDC通道读取EDID得到显示设备的属性。EDID包含两部分,前128字节符合EDID1.3数据结构,128字节的扩展EDID,符合CEA extension verison3。CEA extension verison3如下图所示。
    hdmi_edid_extension
    HDMI VSDB
    HDMI sink设备在第一个扩展EDID中包含HDMI VSDB,source在读取EDID后会根据是否有此block来判断设备是HDMI还是DVI。

    Hotplug

    source会监测HPD pin的状态,当source和sink连接后,如果HPD为高电平,说明sink设备正常可以工作,source可通过DDC读取EDID,如果为低电平,说明sink已断开。
    sink可通过拉低HPD超过100ms来向source表明EDID发生了变化,此时source会重新读取EDID。

    HDCP

    涉及内容较多,会在单独章节中讲解。

    更多相关内容
  • HDMI协议中文版本

    2021-01-10 16:22:17
    HDMI V1.4硬件、软件介绍
  • hdmi协议手册.rar

    2020-12-01 18:39:58
    hdmi 1.4官方协议手册,hdmi 2.0官方协议手册,hdmi 2.0b官方协议手册,hdmi 2.1官方协议手册
  • HDMI协议

    万次阅读 多人点赞 2017-05-24 23:02:19
    1. 信号定义 Type A: TMDS Data:采用差分传输,共有三路。...TMDS clock:A类型的时钟频率小于55MHz,即最大传输165Mpixels/sec。...CEC:用户可以通过CEC协议对设备进行控制。 Hot Plug D

    1.  信号定义

    Type A:


    TMDS Data:采用差分传输,共有三路。

    TMDS Data shield:

    TMDS clock:A类型的时钟频率小于55MHz,即最大传输165Mpixels/sec。

    TMDS clock shield:

    SCL:串口通信时钟。

    SDA:串口通信数据通路。

    CEC:用户可以通过CEC协议对设备进行控制。

    Hot Plug Detect:对供电电源进行检测信号,提示电源超过或者不足。

    1.  链路层Frame结构

    各种信号类型和传输界面如下:


    可以将数据分成三种类型:video data、data island、control。具体如下表:



    整个传输的帧结构如下:



    1.1.      Control

    控制preamble信号和HSYNC、VSYNC信号传输。Preamble信号出现在每个video data和data island信号之前,用于确定是哪种信号类型,如下:



    1.1.      Video data

    这部分传输图像像素,在发送有效图像像素之前,有2bit leading guard band。在链路层,对这部分数据没有要求,但是在物理层其根据TMDS通道产生,如下:

    case (TMDS Channel Number):

    0: q_out[9:0] = 0b1011001100;

    1: q_out[9:0] = 0b0100110011;

    2: q_out[9:0] = 0b1011001100;

    Endcase

    1.1.      Data island

    这部分可以传输audio data或者其它附加信息。在传输前,有8bit preamble。然后以2bit leading guard band开始。接下来不同的TMDS通道传输数据如下:

    TMDS 1:D0——HSYNC,D1——VSYNC,D2——packetheader1,packet header2,……,D3——1。

    TMDS 2,3:D0、D1、D2、D3——packet。

    最后为2bit Trailing guard band。其在物理层被翻译为:

    case (TMDS Channel Number):

    0: q_out[9:0] = n.a.;

    1: q_out[9:0] = 0b0100110011;

    2: q_out[9:0] = 0b0100110011;

    Endcase

    整个data island中包含的packet数量范围为:1-18。允许在video data之间出现0个data island。

    Packet包含4个子packet,每个子packet含有64bit数据,前56bit为有效数据,后8bit数据为8bit ECCparity。每个子packet都占据TMDS 1、2通道。具体如下:



    子packet数据bit位顺序为从对应的TMDS通道pixel顺序由左至右,由TMDS1到TMDS2。

    后8bit采用BCH编码,其生成多项式为:


     data island packetdefinitions

    Data island数据包包头为32位,前1个字节为数据包类别,2字节包含了包的一些特别信息,最后1个字节为ECC校验。包类型为如下图:



    2.4.1 InfoFrame Packet

    这个可以传送信息帧的格式,信息帧格式在EIA/CEA-861B标准中进行了定义。包头和数据结构如下:



    2.4.2 General Control Packet

    这个可以选择发送,用于提高TMDS时钟的稳定性,降低噪声。如果AVMUTE被置1,传输槽会认为无声音和图像传输。


    1.  物理层编码

    物理层有三对传输线,用于串行发送TMDS数据。

    1.1.      Control signal

    控制信号包括HSYNC、VSYNC以及CTL0……2。其具体映射到物理传输线上为:



    1.1.      Video data

    Video数据8bit被编码为10bit,这样可以降低TMDS物理路径上电位转变次数。算法如下:

    D

    输入数据,8bit

    Cnt

    记录1和0的差异数量:正数,为1多出的数量,负数为多出0的数量。

    Cnt(t-1)是前8bit输入数据的量。

    q_m

    中间量

    q_out

    最终10bit输出

    N1{x}

    X中1的数量

    N0{x}

    X中0的数量



    解码如下:


    1.  Video中像素编码方式

    1.1.    像素重复

    使用HDMI协议,对于像素速率低于25MPixels/s,需要进行pixel的重复发送,比如729X789i。

    1.2.    RGB格式



    1.1.    YCBCR4:2:2格式


    1.1.    YCBCR4:4:4格式




    展开全文
  • HDMI(High-Definition Multiface Interface)是Hitachi, Panasonic, Philips, SiliconImage, Sony, Thomson, Toshiba几家公司共同发布的一款音视频传输协议,主要用于DVD, 机顶盒等音视频source到TV,显示器等sink...

    一、从软件角度分析

    1 概述

    HDMI(High-Definition Multiface Interface)是Hitachi, Panasonic, Philips, SiliconImage, Sony, Thomson, Toshiba几家公司共同发布的一款音视频传输协议,主要用于DVD, 机顶盒等音视频source到TV,显示器等sink设备的传输。传输基于的是TMDS(Transition Minimized Differential Signaling)协议。此外,使用TMDS也是DVI标准的主要特点 。

    2 物理结构

    在这里插入图片描述上图是HDMI block结构图,可以看出HDMI用于audiovisual source和sink之间的连接,HDMI cable由3组差分信号传输TMDS数据,1组差分信号传输clock。此外,HDMI还有一个DDC的通道连接到sink的EDID。CEC和HEAC都是HDMI的可选协议。
    在这里插入图片描述
    HDMI定义了五种类型的connector,上图是最常见的type A。
    1-9是TMDS data传输用到的引脚,共有三组;
    10-12是TMDS clock传输用到的引脚,共有一组,TMDS clock就是pixel clock;
    13是CEC引脚,一种消费电子兼容的传输协议;
    14是保留引脚;
    15,16是DDC的引脚,DDC是基于I2C协议传输,故引脚为SCL和SDA;
    17是接地;
    18是+5V power;
    19是HPD引脚,用于建立连接。

    3 传输

    概述

    HDMI传输由三组TMDS通道和一组TMDS clock通道组成,TMDS clock的运行频率是video信号的pixel频率,在每个cycle,每个TMDS data通道发送10bit数据。
    在这里插入图片描述
    上图是HDMI传输的示意图,从图中可知,HDMI传输如下四种类型数据:
    (1)Preamble控制信息,图中的CTLx,可用来表示后面传输的是data island还是video data。通过channel1和2的D[1:0]传输,占用4bit。
    (2)Data Island,即数据包,如Audio数据包。通过3个channel的D[3:0]传输,占用12bit。
    (3)Video Data,视频数据。示意图中传输的是RGB格式图像,R,G,B分别通过channel2,1,0传输,每个颜色8bit,共24bit。
    (4)HSYNC, VSYNC。使用channel0的D[1:0]传输,占用2bit。
    8bit的数据在source经过TMDS encoder后得到10bit数据,经过serializer后串行输出;在sink端先进行复原成10bit的数据,再通过TMDS decoder得到8bit的源数据。
    此外,HDMI视频是stream式的传输,不涉及packet式的传输。
    在这里插入图片描述
    上图是传输720x480p video的hdmi timing图。
    在video data period,有效的video数据进行传输;
    在data island period,audio和auxiliary数据以包的形式进行传输;
    在control period,CTLx和HSYNC, SYNC进行传输。
    data island period和control period都是在消隐区进行。图中行消隐占用138像素,场消隐占45行。
    在这里插入图片描述
    上图中是对时序图中描述的三种period分别传输的数据和编码类型进行说明。video数据从8bit/channel encode后变为10bit/channel, data island的packet数据从4bit/channel encode后为10bit/channel, control数据从2bit/channel encode为10bit/channel。

    Control Period

    在这里插入图片描述
    只有两种类型的preamble信息组合,CTL0:3=1000代表接下来的是video data period,CTL0:3=1010代表接下来的是data island period。HSYNC, VSYNC此时也有可能发生变化。

    Video Data Period

    video data period以2个字符(pixel)长度的leading gurad band开始,guard band如下:
    ch0: q_out[9:0] = 0b1011001100
    ch1: q_out[9:0] = 0b0100110011
    ch2: q_out[9:0] = 0b1011001100

    Data Island Period

    data island period传输audio数据和辅助数据,辅助数据包括Infoframe和其他用于音视频信息描述的数据。data island period以2个字符长度的leading guard band开始,并以2个字符宽度的trailing guard band 结束。guard band如下:
    ch0: q_out[9:0] = n.a
    ch1: q_out[9:0] = 0b0100110011
    ch2: q_out[9:0] = 0b0100110011
    data island传输的packet类型和格式详见spec说明。
    三个传输阶段的过渡过程如下图所示:
    在这里插入图片描述
    (1) 左一是control period, 分别占用三个channel的D[1:0],channel 0传输HSYNC, VSYNC, channel1,2 传输Preamble
    (2) 左二是data island period,分别占用了三个channel的D[3:0],channel 0的D[1:0]传输HSYNC, VSYNC, channel0的D[3:2]传输packet header, channel 1,2的D[3:0]传输packet。并且两端以guard band隔离
    (3)右二接下来又是control period
    (4)右一是 video data island, 占用了全部三个通道,并且开始以guard band 隔离

    4 Video

    支持三种pixel encoding:RGB4:4:4, YCbCr4:4:4, YCbCr4:2:2
    video format除了CEA-861-D中格式外,还会支持一些较特殊的格式
    color depth可支持一个像素24, 30, 36和48bits
    下面分别是24bit/pixel的RGB444, YCbCr422, YCbCr444的pixel encoding示意图。RGB444每个颜色占8bit, YCbCr422中Y占12bit,C占12bit,YCbCr444中Y,Cb,Cr都占用8bit。
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    Deep Color模式
    Pixel Packing
    24 bit mode: 1 pixel/group, 1 fragment/group
    30 bit mode: 4 pixel/group, 5 fragment/group
    36 bit mode: 2 pixel/group, 3 fragment/group
    48 bit mode: 1 pixel/group, 2 fragment/group
    1fragment/TMDS clock, 如30bit下的4pixel,需要5次传输完成,每次1个fragment。
    在这里插入图片描述

    5 Audio

    Audio数据以Audio Sample Packet或High Bitrate Audio Stream Packet的形式传输,但是HDMI没有传输audio clock,因此sink设备需要进行audio clock regeneration。原理如下:
    在这里插入图片描述
    128∗fs=N×fTMDS/CTS
    N和CTS会在Audio Clock Regeneration Packet中进行传输,TMDS clock可通过硬件获取,因此sink端可算出source传输的audio clock。

    6 Control

    InfoFrame

    Infoframe以Infoframe packet的形式传输,它的大小不超过30字节加上一个checksum字节。具体infoframe的格式及内容需要查看spec。
    AVI(Auxiliary Video Information) Infoframe
    Audio Infoframe
    HDMI Vendor Specific Infoframe, 传输4kx2k或3D格式时需要发送此packet

    EDID & DDC

    sink设备在ROM中存放EDID信息,source在收到HPD后会通过DDC通道读取EDID得到显示设备的属性。EDID包含两部分,前128字节符合EDID1.3数据结构,128字节的扩展EDID,符合CEA extension verison3。CEA extension verison3如下图所示。
    在这里插入图片描述

    HDMI VSDB

    HDMI sink设备在第一个扩展EDID中包含HDMI VSDB,source在读取EDID后会根据是否有此block来判断设备是HDMI还是DVI。

    Hotplug

    source会监测HPD pin的状态,当source和sink连接后,如果HPD为高电平,说明sink设备正常可以工作,source可通过DDC读取EDID,如果为低电平,说明sink已断开。
    sink可通过拉低HPD超过100ms来向source表明EDID发生了变化,此时source会重新读取EDID。

    HDCP

    涉及内容较多,会在单独章节中讲解。

    二、从硬件角度分析

    1、前言

    说到时序,我们首先想到的例子是IIC、SPI、串口等接口的例子,以我们之前的理解,时序就是传输线上电平随时间变化的顺序。但是但是但是!,在HDMI这里,我们应该建立一个新的观念:即时序不一定对应到物理层:即传输线上。这是怎么回事?且看:

    因为HDMI的协议中,对传输的信息进行了编码,即TMDS编码,目的是使传输线上电平的跳变更小,从而达到减少干扰、增强传输可靠性的目的。

    说到这我们有必要了解下HDMI的整体结构,帮助我们建立一个分层的概念。我且把他分为两个:物理层和信息层。物理层即为实体的电路连接和电平的跳动;信息层则是我们需要传输的数据,对应我们熟悉的二进制编码。HDMI的物理结构如下图
    在这里插入图片描述
    HDMI的物理连接线我们重点关注TMDS相关的线,TMDS Channel0-2为三个数据传输通道,TMDS Clock为时钟通道,每个通道使用2根连接线进行信号传输(最小化传输差分信号,Transition Minimized Differential signal),缩写即TMDS。图中的HDMI Transmitter对视频、音频、控制信号进行编码,然后在放到传输线上进行传输。

    video和audio即是我所说的信息层,在此我们主要分析视频信号的时序,可先忽略TMDS编码的细节。TMDS编码有现成的IP可以使用,有兴趣可以之后再深入了解。

    2、视频信号的时序

    首先了解到,视频是由一帧一帧的画面构成的,而每一帧画面又是由像素点构成,视频信号在输出的时候是按每个像素点进行扫面,从左上角开始,当每扫描完一行时输出一个行同步信号HSYNC(horizontal sync),然后再对下一行进行扫描,当扫描完整个画面,即完成一场时输出一个场同步信号VSYNC(vertical sync)。而每个像素由RGB三种颜色构成,每个颜色有8bit的深度,即3*8bit。

    再此或许会有一个疑问,这么多信号是怎么分配到4个TMDS通道中的?答案如下图:其中CTL0-3是控制信号
    在这里插入图片描述
    我们可以再次不用理会,只需知道我们需要发送给TMDS编码器的信号是:

    1.像素信息[7:0]R、[7:0]G、[7:0]B

    2.行同步信号HSYNC、场同步信号VSYNC

    3.像素时钟Pixel Clock

    视频信号的时序可以用下图表示
    在这里插入图片描述
    ·横轴的行同步信号HSYNC随扫描x位置的变化而变化,当HSYNC由低变高时表示一行新行的开始(旧行的结束);

    ·纵轴的场同步信号VSYNC随扫描y位置变化而变化,当VSYNC由低变高时表示一场新画面的开始(旧场的结束);

    ·一场画面的传输中并不是所有的时间都在传输图像信号;

    ·图像信号的传输在Hor“Active”Video和Ver“Active”Video之间的时间进行;

    ·其余不传输图像的时间称为“消隐时间”,但消隐时间并不代表不传输其他信号,如控制信号、音频信号;

    ·行的消隐时间由Hor Sync Time + H Back Porch +H Front Porch组成,场消隐时间同理;

    ·说来懵逼,一般常见的分辨率下各项参数如Hor Sync Time、H Back Porch等是如何计算或规定本人并没有搞懂,在HDMI的标准手册中也没看到,不过可以通过一些资源来获得这些参数:http://tinyvga.com/vga-timing
    部分时序参考https://blog.csdn.net/qq_21794157/article/details/120302490
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    ———————————————

    声明:

    该篇文章写的实在太好了,忍不住copy过来,感谢floater的csdn blog,http://blog.csdn.net/flaoter。
    ————————————————
    版权声明:本文参考另参考:如有侵权,请及时给小编联系,小编会第一时间删除。

    展开全文
  • HDMI协议分析(协议版本:HDMI-1.4b)

    千次阅读 2020-12-03 12:02:32
    1.模块 HDMI主要包含四个模块...例如:当有很多HDMI设备通过HDMI线,切换器或者分配器连在一起的时候,如果所有的HDMI产品都支持CEC功能,那么可以利用其中一台的遥控器可以去控制其他的设备;LINUX中的CEC驱动通常是

    1.模块

    HDMI主要包含四个模块,实际上linux HDMI驱动就是由这4个子驱动构成:

    TMDS(差分):传输视频帧,数据帧,控制帧,AVI frame

    DDC实际上是一个IIC总线,用于收发双方交流功能和特性

    CECCEC通道可选择用于高级用户功能,例如自动设置任务或通常与红外遥控器使用相关的任务;例如:当有很多HDMI设备通过HDMI线,切换器或者分配器连在一起的时候,如果所有的HDMI产品都支持CEC功能,那么可以利用其中一台的遥控器可以去控制其他的设备;LINUX中的CEC驱动通常是单独的

    HEC高速双向数据信道?

    2.硬件接

    音视频传输主要靠TMDS差分传输,包含三个数据通道并行传输,一个时钟通道;

    3.信号:

    音视频传输主要靠TMDS差分传输

    4.编码:

    这里描述差分编码;发送端编码,接收端解码,编码规范如下:

    5. 协议:

    1.HDMI协议状态机

    我理解,HDMI协议可以分成三个传输部分,他们是相对独立的,主要关心第一个部分

    (1)TMDS+DDC

    正向音频和视频数据

    (2)CEC

    遥控器等

    (3)HEC

    反向音频数据

    2.支持的分辨率和帧率:

    但是HDMI也可以支持非标准格式,但是要进行左右像素填充,也就是补充成接近的标准格式,填充信息包含在AVI的相关字段中描述;

    3.像素重复:

    如果传输的图像低于25 Mpixels/sec,就需要像素重复,在AVI frame中的PR0:PR3字段中描述,AVI frame由发送端发送,告诉接收端重复信息,至少每两帧发送一个AVI;

    4.支持的图像格式:

    支持RGB444,YUV422,YUV444三种格式;每种格式的传输方式如下:

    5.数据传输:

    首先HDMI是面向stream的传输,不是面向packet的传输

    (1)差分信道TMDS

    TMDS实际上只传输音频,视频;每个时钟循环,每个TMDS发送10bit数据(10bit是编码后的结果,编码前是8bit,4bit或2bit),每个TMDS可发送video pixel(8bit), packet(4bit) and control data(2bit)三种数据,同一时刻只能发送一种

    a. vedio pixel 是图中的Pixel component,是视频数据,共24bit:

    RGB格式:

    YUV422格式:

    YUV444格式:

    b. control data是图中的CTL*,是控制数据,共4bit

    控制帧把packet data和vedio pixel 分开;也就是每个packet data或vedio pixel后都要跟一个控制帧,用于告诉接收端将要发送的帧类型,类型信息有控制帧中的CTL0, CTL1, CTL2, and CTL3字段描述:

    packet data和vedio pixel只包含两个部分,保护带加数据段,其中保护带用于从控制周期到数据周期的过渡,数据段仅仅包含有效数据,没有协议相关成分;也就是说,由控制帧单独描述协议控制逻辑,这种帧设计和MIPI类似。

    c. packet data 是图中的Auxiliary Data,是Packet Header或音频数据,共12bit

    d. H,VSYNC

    VSYNC:是场同步信号。以高电平有效为例,VSYNC置高直到被拉低,这个区段所输出的所有影像数据组成一个frame。

    HSYNC:是行同步信号。就是在告诉接收端:“HSYNC”有效时段内接收端接收到的所有的信号输出属同一行
    这种机制和MIPI也是类似的

    (2)DCC

    DCC实际上是IIC总线,用于传输EDID(Extended Display Identification Data,扩展显示标识数据);EDID是接收端发给发送端的一个数据包,通过DDC传输;包括供应商信息、最大图像大小、颜色设置、厂商预设置、频率范围的限制以及显示器名和序列号的字符串等等,发送端需要先拿到这个数据包,才能确定合适的输出

    (3)CEC

    CEC是一个“单独的协议”?

    实际上LINUX中的CEC驱动通常是单独的;CEC通道可选择用于高级用户功能,例如自动设置任务或通常与红外遥控器使用相关的任务;

    (4)HECHEAC

    HEC是100M以太网,用于接收端返回音频数据

    6.关于分辨率,帧率和带宽计算:

    具体的分辨率,帧率和带宽与物理HDMI控制器设计以及驱动设计有关,协议仅供参考;

    7.关于HDMI分辨率,屏幕分辨率,framebuf,和HDMI线缆:

    HDMI可以传输自定义非标准分辨率,前提是比HDMI适配器的最大分辨率要小,采用像素填充机制进行传输;屏幕通常可以支持自定义非标准分辨率(是通过图像缩放实现的吗?具体机制是什么?),前提是比屏幕最大分辨率要小;而framebuf只是存放图像的buffer(这个大小限制是什么?);另外,分辨率等还和HDMI线缆有关,详情见HDMI协议手册

     

     

     

     

    展开全文
  • <p>HDMI协议是不是针对不同的显示屏,可显示区域与不可显示区域像素有差别</p>
  • HDMI协议分享(免费)

    2020-06-12 11:24:54
    HDMI协议分享(免费) https://pan.baidu.com/s/1XrdTURQkYGO35ofxLZ5Hpg ooav
  • HDMI介绍与流程 HDMI 是新一代的多媒体接口标准, 英文全称是 High-Definition Multimedia Interface, 即高清多媒体接 口。 它能够同时传输视频和音频,简化了设备的接口和连线;同时提供了更高的数据传输带宽, ...
  • HDMI 1.4 协议

    千次阅读 2021-01-07 21:46:05
    手上的 Zynq 7020 单板带 HDMI 接口,Zynq 的 PS 并没有支持 HDMI IP 外设,所以再单板上的 HDMI 接口是直接接到了 PL 的引脚上,如果要用到 HDMI 来做为显示的话,那么就要在 PL 端去做一个 HDMI 协议层出来,既然...
  • HDMI 1.4版协会标准 .pdf

    2021-01-10 16:32:00
    英文版本的HDMI V1.4版本协议
  • HDMI 和HDCP 协议的中文解释,是我一个一个字输入,网上找不到copy的。还有realtek的代码实现解释
  • 这是一个Arduino项目,实现了HDMI v1.3a CEC有线协议,该协议允许与支持HDMI CEC的设备进行通信。 典型的使用场景是使用HDMI但不支持CEC的家庭影院PC环境。 这将允许HTPC与其他HDMI CEC设备进行通信。 使用ATtiny85...
  • HDMI 1.4 协议详解

    万次阅读 多人点赞 2019-12-18 16:38:58
    HDMI系统架构定义为由源和接收器组成。给定的设备可能具有一个或多个HDMI输入和一个或多个HDMI输出。这些设备上的每个HDMI输入都应遵循HDMI接收器的所有规则,每个HDMI输出应遵循HDMI源的所有规则。 如图3-1所示,...
  • HDMI CEC协议

    2022-03-28 22:42:56
    CEC(Consumer Electronics Control)是一套完整的单总线协议,电子设备可以借着CEC信号让使用可控制HDMI接口上所连接的装置,比如单键播放(One Touth Play),系统待机(System Standby),可以实现由单一遥控器...
  • HDMI音视频传输协议

    千次阅读 2021-08-09 22:28:41
    HDMI音视频传输协议 文章目录HDMI音视频传输协议一、HDMI的硬件图示二、TMDS三、DDC四、CEC五、HPD 一、HDMI的硬件图示 1、HDMI通信协议示意图 信号源(source device)<---------------------------...
  • 硬件设计33之HDMI协议

    千次阅读 2018-04-15 17:55:16
    HDMI协议解析本文从软件工程师角度对HDMI spec进行解析,基于的spec版本为1.4,也是设备支持最多最成熟的版本,目前最新版本为2.0。1 概述HDMI(High-Definition Multiface Interface)是Hitachi, Panasonic, Philips,...
  • 协议——HDMI.docx

    2021-07-13 23:40:16
    讲述了HDMI协议和实现原理,并利用verilog实现HMDI图像传输
  • HDMI接口与HDMI协议

    千次阅读 2011-11-22 16:13:07
    什么是HDMI接口?  HDMI的英文全称是“High Definition Multimedia”,中文的意思是高清晰度多媒体接口。HDMI接口可以提供高达5Gbps的数据传输带宽,可以传送无压缩的音频信号及高分辨率视频信号。同时无需在信号...
  • HDMI接口与协议

    千次阅读 2020-12-14 15:58:00
    HDMI接口中的数据信号采用的是TMDS最小化传输差分信号协议。这种数据传输协议曾经在DVI接口上得到广泛的应用。而HDMI接口上的数据信号也 沿用了这种协议。这种协议会将标准8bit数据转换为10bit信号,并且在转换...
  • 硬件设计师指导书
  • 1. DP(display port)和HDMI 这两种都是高速高质量多媒体传输协议。同时包括音视频的传输。 2. MIPI的各种协议 MIPI(mobileindustry processor interface)是为移动产业制定的一系列处理接口。 在这里主要介绍...
  • Teledyne LeCroy quantumdata 980 48G 用于HDMI 测试的协议分析 仪/发生器模块配备了HDMI Tx 和Rx 端口,支持HDMI 2.1 固定速率链 路和FEC 捕获分析和解码,最高可达48Gbps(12Gbps /通道)。 HDMI Rx 分析端口可...
  • HDMI,高清晰度多媒体接口(英文:High Definition Multimedia Interface)是一种全数 位化影像和声音传送接口,可用于机顶盒、DVD 播放机、个人电脑、电视游乐器、综合扩大 机、数位音响与电视机。HDMI 可以同时...
  • 力科 Quantumdata 980 HDMI2.1 Protocol Analyzer / Generator Module for HDMI - User Guide产品手册

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 4,832
精华内容 1,932
关键字:

hdmi协议