当前位置:   article > 正文

HDMI协议介绍(二)--DataIsland Packets_data island

data island

前言

前文简单介绍了HDMI传输的三个周期:控制周期、DataIsland周期和Video周期。DataIsland传输音频和辅助数据,这些数据以Packet的形式传输。本文简单介绍DataIsland Packet。


目录

前言

 数据岛概述

 数据岛包的构造

Packet Header

Paket Body 

DataIsland Packets

空包(Null Packet)

Audio 时钟重生成包(ACR)

 Audio采样包(Audio Sample Packet)

帧信息InfoFrame

通用控制包


数据岛概述

数据岛用来携带音频和辅助数据的报文,辅助数据包括信息帧和描述活动视频或者音频流或者信源端的信息。

每个数据岛包括三个部分:前导保护段Leading GB、PacketHeader+PacketBody、末尾保护段Trailing GB。

其中PH和PB的发送:

  • TMDS 通道0的bit2发送数据包头(packet header)
  • TMDS通道1和2的4个bit发送数据包(packet body)

 

 数据岛包的构造

包括一个报文头报文体(包含 4个子包)和相关的差错纠正位

每个子包含有56bit的数据和8bit的ECC校验位组成。子包 0 加上它的奇偶校验位构成 BCH 块 0,这个块映射到通道 1 和通道 2 的bit0。

同样地,BCH 块 1(子包 1 加上它的奇偶校验位)映射到通道 1 和通道 2 的bit1上。

对于包头即BCH block4映射到通道0的bit2,包括3个byte共24bit,以及8bit ECC。

Packet Header

报文头包含 24 个数据位,附加 8 位 BCH(32,24) ECC 校验。

其中24bit的数据分为8bit的报文类型和16bit的报文,如下图。

报文类型表格如下:

举个栗子:

HB0=0x82、HB1=0x02、HB2=0x0D

Paket Body 

包体部分的具体组成分为四个子包,一共是28个PB0~PB27。

 还是举个例子:以下是AVI packet的包体,各个bit位代表不同含义,28个PB不一定都用的上,有的是预留以后扩展用的。其他的packet也类似,需要和pacet header的类型一起组合使用。

 HDMI中的pacet有很多,常用的或者说调试HDMI最基础的就几个pacets,有些高级特性在调试的前期不需要考虑。传输Video用到AVI Packet,传输Audio要用到Audio Packet和ACR。

 

DataIsland Packets

空包(Null Packet)

source端可以在任何时候使用空包。空包的字节是未定义的,其包内都是 0 值。HDMI sink端应该忽略空包的包头 HB1 和 HB2,以及空包体中的全部字节。

Audio 时钟重生成包(ACR)

包头中只有包类型,没有报文数据,Sink设备应该忽略HB1和HB2。

包体中包含N和CTS(cycle time stamp),在生成音频时钟的时候会用到这两个值。

 Audio采样包(Audio Sample Packet)

音频采样包携带 LPCM 和 IEC61937 压缩音频格式的数据。音频包包括 1 到 4 个音频采样。这些音频采样可能是不同的音频,也可能是同一音频的不同部分(比如 6 声道的 2 个声道数据)。

帧信息InfoFrame

CEA-861D 定义的所有的信息帧都可以在 HDMI 的信息帧中传输。

通用控制包

包头只有包的类型,没有报文数据,Sink端应该忽略HB1、HB2。

包体中包括AVMUTE、CD、PP等信息。

AVMUTE 被用以source端减少TMDS时钟变化或者中断带来的负面影响,比如pop音和噪音。

CD(color depth)用于指示色深:

如果sink端不支持Deep Color模式,CD域应该都设置为零。

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/IT小白/article/detail/913368
推荐阅读
相关标签
  

闽ICP备14008679号