是什么?
- HDMI 全称为 High Definition Multimedia Interface,也就是高清多媒体接口,是一个纯数字的音视频传输接口,通过一根线同时发送音视频数据
为什么?
- 家庭影院系统的连接可谓复杂繁琐。分量视频线(一般由红、绿、蓝三根RCA线组成)负责传输视频信号,而音频信号则需要通过模拟线(每个声道一根RCA线)来传输
初衷是作为一种单根线材的解决方案,旨在简化家庭影院系统的连接。
- 它不仅能够同时传输视频和音频信号,还具备高清数字内容保护(HDCP)功能,旨在防止用户私自复制内容。这一功能对于影视制作方来说至关重要因为他们一直担心盗版问题会损害其利益
怎么做?
核心本质
核心三对差分信号线,一对差分时钟线
- Control Period 控制信号传输阶段
- Control Period + Video Data 视频数据
- Control Period + Data Isiand Period 音频和额外数据
三通道
-
通道 0: 传输图像的蓝色分量、 HS 和 VS 信号
-
通道 1: 传输图像的绿色分量、 CTL0 和 CTL1 信号
-
通道 2: 传输图像的红色分量、 CTL2 和 CTL3 信号
-
同一个通道不同Period,每个 TMDS 时钟周期 ,传输10 bit 数据
-
三通道与各自串行传输的Data
-
融合RGB接口类似Hsync Vsync
RK356X VOP
HDMI 结构框图
HDMI 相关术语
- TMDS: 传输音视频数据。
- Transition Minimized Differential Signaling 最小化传输差分信号,用来传输 HDMI信号
- CEC: 实现遥控器功能。
- Consumer Electronics Control,用户电气控制
- DDC: 实现屏幕分辨率自适应,通过 DDC 获取不同屏幕的参数信息。
- Display Data Channel,显示数据通道,本质是 IIC
- HPD: 实现热插拔
- HEAC: HDMI Ethernet and Audio Return Channel,以太网和音频返回,需要额外的 PHY 支持
最常用的就是 TypeA 口
- 三队TMDS ,正,屏蔽,负
TMDS 传输原理
电平特性
- TMDS 使用 2 根差分线来传输信号,信号 0 和 1 由两个引脚的电压差来决定
- 当 TMDS 差分线
- +为高电平, -为低电平的时候表示 1
- +为低电平, -为高电平的时候为 0
通道传输数据定义
- 每个 TMDS 时钟周期,每个通道有 8bit 的原始数据,通过编码后得到 10bit
- D[7:0]: 8bit 的实际图像数据,为并行数据
- D[1:0]: 通道 0的这2 位是HSYNC和VSYNC 信号,通道 1和通道 2的这两位是 CTL0~CTL3这 4 个控制信号
- D[3:0]: 额外的一些辅助数据,比如音频数据
通道传输分量定义
- 通道 0: 传输图像的蓝色分量、 HS 和 VS 信号
- 通道 1: 传输图像的绿色分量、 CTL0 和 CTL1 信号
- 通道 2: 传输图像的红色分量、 CTL2 和 CTL3 信号
- 时钟通道: 图像的像素时钟
HDMI 传输的三个阶段
同一个通道不同Period,每个 TMDS 时钟周期 ,传输10 bit 数据
- Video Data Period:视频数据传输阶段,也就是此阶段传输实际的图像数据
- 8bit 数据编码并串行化为 10bit
- Data Island Period:音频和额外数据传输阶段
- 4bit数据编码并串行化为 10bit
- Control Period:控制信号传输阶段,当不传输音视频信号和控制信号的时候,都处于这个阶段
- 2bit 数据编码并串行化为 10bit
CTL0 CTL1 CTL2 CTL3
Control Period + Video Data
- Control Period 指示下一个是 Video Data 的时候,那么就开始图像数据传输,在正进入Video Data 之前,有一个 Guard Band 阶段,经过 TMDS 编码后每个通道都有一个 10bit 的数据
Control Period + Data Isiand Period
- Control Period 指示下一阶段为 Data Isiand Period,那么接下来就是 Data Island Period的数据传输,这个阶段以 Guard Band 开始,最后一个以 Trailing Guard Band 结束
EDID
- HDMI 热插拔屏幕初始化的时候主控会通过 DDC 接口,也就是 IIC 接口读取屏幕的 EDID 信息
- EDID 信息包含了显示器特性、特点、分辨率、厂商、序列号、显示器的时序信息等
- 用 winhex 软件打开看到原始的数据
cat /sys/class/drm/card0-HDMI-A-1/edid > /data/edid.bin
RK356X-VOP
- 瑞芯微的中高端芯片都有一个叫做 VOP 的外设, VOP 是一个链接 frame buffer 和显示设备的接口
- RK3568 支持 MIPI、 LVDS、 eDP、 HDMI 等显示接口,这里就需要 VOP 来管理这些显示接口
HDMI 硬件原理图
- RK3568 的 HDMI 相关引脚是 3.3V 电压,而 HDMI 端口部分是 5V 电压,注意电平转换