美文网首页
[转]HDMI协议

[转]HDMI协议

作者: Nothing_655f | 来源:发表于2020-09-27 11:27 被阅读0次

    HDMI协议

    1. 信号定义

    Type A:

    img

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

    TMDS Data shield:

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

    TMDS clock shield:

    SCL:串口通信时钟。

    SDA:串口通信数据通路。

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

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

    1. 链路层Frame结构

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

    img

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

    img

    整个传输的帧结构如下:

    img

    1.1. Control

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

    img

    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通道。具体如下:

    img img

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

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

    img

    data island packetdefinitions

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

    img

    2.4.1 InfoFrame Packet

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

    img img

    2.4.2 General Control Packet

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

    img

    1. 物理层编码

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

    1.1. Control signal

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

    img img

    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的数量
    img img

    解码如下:

    img

    1. Video中像素编码方式

    1.1. 像素重复

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

    1.2. RGB格式

    img

    1.1. YCBCR4:2:2格式

    img

    1.1. YCBCR4:4:4格式

    img

    转自 https://blog.csdn.net/anpingbo/article/details/72717580

    相关文章

      网友评论

          本文标题:[转]HDMI协议

          本文链接:https://www.haomeiwen.com/subject/rhwkuktx.html