显示接口-HDMI

一、OverView

 HDMI有多组信号线,具体如下:

1. 一组TMDS Clock差分信号线,用于传输时钟信号, TMDS clock 和 Pixel clock存在如下关系

2. 3组 TMDS Channel0/1/2用于传输Video Data/Data Island/Control等数据

3. DDC通道用于EDID/SCDC交互

4. CEC Line用于消费电子控制协议

5. Utility Line用于HEAC(HDMI Ethernet and Audio Return Channel)协议,网络及声音回采功能

6. HPD Line

二、 Pin脚

HDMI有很多中接口类型,HDMI Type A/B/C/D/E

这里列出Type A 的 Pin Assignment

三、信号编码

source编码的输入包括Video pixel/(音频、辅助数据)packets/控制数据(control data),各数据先并行编码(Encoder)为10bit, 然后串行化(Serializer)后输出

   Video Data(D[7:0])输入B/G/R数据,然后进行8bit/10bit转换

    Data island / Auxiliary Data(D[3:0]) 输入音频数据、source/sink交互数据等,4bit/10bit转换

    Hsync/ Vsync / CTL0/1/2/3(D[1:0]) 输入控制数据,包括preamble以及hsyn/vsync等 2bit/10bit转换

四、Operate Mode

HDMI 操作mode分为三类: Video Data Period/ Data Island period/ Control Period

1. control period

主要传输HSYNC/VSYNC以及Preamble(报头),Preamble使用CTL0-CTL3来指定接下来的Data Period是Video Data还是Data Island

2.Video period

主要传输Pixel Data, video period前会有一个Video Leading Guard Band Value,值如下:

3. Data Island Period

传输Audio sample数据 以及辅助数据, Auxiliary data包括各种InfoFrames 以及其他描述当前audio/video信息的数据

Data Island Period的前后都有一个Guard Band,分别为Leading Guard Band和Trailing Guard Band

完整的时序图如下:

五、Data Island packet

Data Island Period 由32个clock期间所Auxiliary Data D[3:0]组成, 共5个BCH block

其中, BCH block4  在Channel0 D2上传输, 由4个字节组成,前3个字节用作packet header(简称HB),最后一个字节是校验位

BCH block0/1/2/3 组成Packet Body,每个block 8个字节,前7个字节用作SubPacket(简称SB),最后一个字节用作校验

5.1. Packet Type

packet类型由Packet Header的第一个字节确定

下面介绍个人比较关注的Packet

5.1.1 Audio Clock Regeneration Packet

用来传递N && CTS, 通过这两个值可以重新计算出audio的采样时钟

N 和 CTS的值在source端确定,通过ACR packet 传递给sink端, sink结合TMDS clock就可以重新计算传音频的采样率了

5.1.2 Audio Sample Packet

 Audio的采样数据

5.1.3 General Control Packet

GCP packet用来传输一些通用控制信息,如果AVMUTE、Color Depth等

AVMUTE用来关闭开启sink的音频视频输出,一般在source配置时序前,Set Avmute关闭sink输出,source设置时序后哦,Clear_AVMUTE通知sink端开启输出

5.1.4 InfoFrame packet

InfoFrame packet类型有很多,如下:

具体定义在CEA-861-D中有描述

5.1.5  AVI Info Frame

Auxiliary Video information(AVI) InfoFrame 指定video相关辅助信息

其中,Byte1 用来指定数据格式RGB/YCbCr等

Byte2用来 指定Aspect Ratio(4:3/ 16:9等)

Byte3用来指定色度、量化、缩放等信息

Byte4用来指定时序mode VIC

5.1.6  Audio InfoFrame

包含音频的格式信息等

Data Byte 1 指定编码格式,如AAC/AC-3、PCM等, 以及Channel

Data Byte 2 指定采样率(48k/44.1k等),以及位宽(16bit/20bit/24bit)

HDMI比较特殊,要求CT/SS/SF等字段为0, 这些信息在audio stream header中已经包含,应该是在audio sample packet有这些信息

5.1.7 HDMI Vendor Specific InfoFrame

HDMI VSIF 携带特殊的4kx2k时序信息以及3D信息。

HDMI VIC的值如下:

H14b HDMI_VIC 和 CTA-861-G VIC的对应关系:

H14b VSIF中携带的信息必须是sink端edid CEA extension扩展块HDMI Vendor-Specific Data Block(HDMI VSDB)中指定的,否则sink端无法解析H14b VSIF的信息,比如HDMI_VIC等

HDMI VSDB数据格式如下:

5.1.8 HF VSIF

HDMI Forum Vendor Specific InfoFrame是2.1定义的区别与H14b VSIF的packet包,主要用来携带3D相关信息

HF-VSIF和H14b VSIF使用相同的PacketType(0x81),但他们的IEEE OUI不同,

HF-VSIF OUI = 0xC45DD8

H14b VSIF OUI = 0x000C03

类似HDMI VSDB,EDID中同样存在HDMI Forum Vendor Specific Data Block(HF-VSDB),

携带如下信息:

如果sink端支持SCDC, 则SCDC_Present为1

如果Sink端支持340Mcsc以下加扰,则LTE_340Mcsc_scramble为1

六、Scramble for EMI/RFI Reduction

相比与HDMI 14b ,  HDMI2.0 TMDS coding过程中,增加了scramble period, 加扰的目的是为了减少电磁干扰(EMI/RFI),当传输的TMDS bit rate 大于 3.4Gbps时,source应当开启加扰,

如果TMDS bit rate < 3.4Gbps, 在sink端支持scramble的情况下(HF-VSDB LTE_340Mcsc_scramble = 1),也可以开启加扰

source 基于SCDC通道读写sink的Scrambling_Enable和Scrambling_Status来使能和判断sink的scramble是否开启

source通过scdc向scrambling_enable写1来使能sink的scramble功能。

 source使能sink scramble后发送加扰后的数据,这两者之间的最大时间差为100ms

sink在scrambling_enable被置1之后开始检测加扰控制码,检测到后,会将scrambling_status置1,表示加扰成功

source需要poll scrambling_status直到其值变为1,如果轮询超过200ms scrambling_status仍为0,则加扰失败

七、SCDC(Status and Control Data Channel)

source通过SCDC交互控制sink,  scdc本质上仍然是利用Pin15/Pin16的I2C总线,只是sink的slave地址是0xA8/0xA9。

0x20 / 0x21 分别用来开启scramble和查询scramble状态, 其他的寄存器比如0x40/0x50等可以查询sink工作状态是否异常

八、HDR

九、HDCP

十、VRR(Variable Refresh Rate)

十一、CEC

十二、HEAC

十三、DSC(Display Stream Compression)

参考:

1. CEA-861-D/E/F/G

CEA-861标准大全下载:CEA-861标准大全下载欢迎来到CEA-861标准资源库 - GitCode

2. HDMI 1.4b

HDMI1.4b完整版说明文档分享:本仓库提供了一份完整的 HDMI 1.4b 说明文档,该文档详细介绍了 HDMI 1.4b 的技术规范、功能特性以及应用场景。无论您是硬件工程师、嵌入式开发者还是对高清视频传输技术感兴趣的爱好者,这份文档都将为您提供宝贵的参考信息 - GitCode

3. HDMI 2.1

HDMI协议version2.1:HDMI协议 version 2.1欢迎来到HDMI协议version 2.1的资源下载页面 - GitCode

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值