HDMI驱动系列(一)、HDMI简介

2020-06-29 15:45:28 浏览数 (2)

一、HDMI简介

高清多媒体接口HDMI全程High-DefinitionMultimedia Interface。HDMI接口协议在物理层使用TMDS(最小化传输差分信号)标准传输音视频数据。

TMDS发送端和接收端的连接示意图:

HDMI视频视频传输所使用的的TMDS连接通过四个串行通道实现。HDMI默认使用3个RGB通道,但是它同样可以选择传输像素点的亮度和色度信息(YcrCb 4:4:4或者4:2:2)。第四个通道是时钟通道,用于传输像素时钟,独立的时钟通道用于为接收端提供接收的参考频率,保证数据能在接收端正确恢复。

二、TMDS分析

逻辑功能:

TMDS从逻辑功能上分为“编/解码”和“并/串转换”两个阶段。

TMDS有四个通道,左侧称为源,右侧称为终端,左侧上方的三个通道channel0、channel1、chaannel2分别接收8bit的B、G、R数据,除此之外,通道0还接收行场同步信号,其他还有一些控制信号和音频信号。

编码阶段,编码器将视频源中的像素数据、HDMI音频/附加数据,以及行同步和场同步信号编码成10bit的字符流。

在并转串阶段将上述的10位字符流转换成串行数据流,并将其从三个差分通道发送出去,并转串过程所生成的串行数据速率是实际像素时钟速率的10倍。

三、传输过程

根据HSYNC与VSYNC的组合判断通道上传输的是有效像素字符还是控制字符。即在一帧图像的行与行之间存在行前肩、行同步、行后肩消隐,以及帧与帧之间的场消隐间隔内,数据通道上传输的是控制字符。

HDMI传输的消隐期除了传输控制字符,还可传输音频或者其他附加数据,比如字幕数据etc。

VDE用于各个通道选择输出视频像素数据还是控制数据。HSYNC和VSYNC信号在蓝色通道进行编码得到10位字符,然后在视频消隐期传输。

TMDS具有较好的电磁兼容性能,可以减小传输信号过程的上冲和下冲,直流平衡使信号对传输线的电磁干扰减少,8b/10b编码。

每个通道的8bit像素数据被转换为460个特定10bit字符中的一个,大致实现了传输过程中的直流平衡,即10bit数据的“0”、“1”个数大致相等。每个编码后的10bit字符中状态跳转次数限制在5次之内。

每个通道的2bit控制信号的状态也要进行编码,编码后分别对应4(00,01,10,11)个不同的10bit控制字符。每个控制字符都有7次以上的状态跳转。

视频字符和控制字符状态跳转次数的不同用于发送和接收数据的同步。

四、电气接口

CEC:Consumer Electronic Control,用户电气控制。

EDID:扩展显示标识数据。

五、时序与硬件

时序分析:

硬件分析:

可以两个时钟输入,Pixel Clk与Pixel Clk x5,Pixel Clk用于将串行数据转换为并行数据,Pixel Clk x5用于串行数据解码,将串行数据在一个像素时钟(Pixel Clk)周期发送出去,可以看到在终端对Pixel Clk x5进行TMDS差分处理。

原理图分析:

1、 首先可以看到D0~D2 P/N三个通道,分别传输BGR与控制信号,传输时钟为CLK /-,差分时钟,双倍传输速率。

2、 HDMI_CEC:用户电气控制,用于HDMI连接线上的设备之间进行信息交换。

3、 HOT PLUG:热插拔检测,该引脚为高电平时,表明视频设备和接收设备连接。当该引脚为低时,表明视频设备和接收设备断开连接(没电了)。

分析PLUG的热插拔电路,NC75Z125M5X是一个三态门,芯片手册https://www.alldatasheet.com/datasheet-pdf/pdf/54061/FAIRCHILD/NC7SZ125M5X.html,其连接框图和真值表为:

NC7WZ07P6X是一个开漏输出芯片,datasheet地址https://pdf1.alldatasheet.com/datasheet-pdf/view/181897/FAIRCHILD/NC7WZ07P6X.html,控制输出低电平时引脚接地,控制输出高电平时引脚既不输出高电平也不输出低电平,为高阻态,其真值表、逻辑符号、引脚描述为:

这就非常nice interesting了,从视频接收方和视频发送方分别分析:

(1)、当视频接收方(显示屏)带电拔掉时,NC7WZ07P6X的A2管脚输入电压为低,输出为低,NC75Z125M5X的引脚A被拉低。

(2)、当视频发送方(开发板)带电拔掉,NC75Z125M5X的引脚A被拉低。电阻R56用于压降。

(3)、而NC75Z125M5X还有一个EN#信号,该信号用于设置HDMI接口的IO mode,当其为高时,NC7WZ07P6X使能,NC75Z125M5X禁用,HDMI_HPD设置为输出端,作为FPGA的输入信号。

总结起来就是:HDMI_HPD指的是热插拔检测,表明HDMI连接状态,当视频设备与接收设备通过HDMI连接时,接收设备将HPD置为高电平,通知发送设备。当发送设备检测到HPD为低电平时,表明断开连接。

IIC连接线:

HDMI_SCL_LS和HDMI_SDA_LS是HDMI接口的显示数据通道(DDS,Display Data Channel),用于HDMI发送端和接收端之间交换一些配置信息,通过I2C协议通信,读取保存在EEPROM中的EDID数据,获取接收端的信息,确认接收端终端显示的设置和功能,决定和接收端之间以什么格式传输音/视频数据。

下一篇预告:HDMI的并行数据转串行数据算法

0 人点赞