22 HDMI
HDMI
定义
HDMI(高清晰度多媒体接口)主要用来传输视频、音频信号,它有type-a/b/c 3种形式的物理接口,最常用的是type-a的,包含19个引脚
| 引脚号 | 信号名称 | 功能描述 |
|---|---|---|
| 1 | TMDS Data2+ | 视频/音频数据通道2(差分对正极) |
| 2 | TMDS Data2- | 视频/音频数据通道2(差分对负极) |
| 3 | TMDS Data1+ | 视频/音频数据通道1(差分对正极) |
| 4 | TMDS Data1- | 视频/音频数据通道1(差分对负极) |
| 5 | TMDS Data0+ | 视频/音频数据通道0(差分对正极) |
| 6 | TMDS Data0- | 视频/音频数据通道0(差分对负极) |
| 7 | TMDS Clock+ | 像素时钟信号(差分对正极) |
| 8 | TMDS Clock- | 像素时钟信号(差分对负极) |
| 9 | CEC | 消费电子控制信号(设备联动控制) |
| 10 | HPD (Hot Plug) | 热拔插检测(显示器插入时拉高至3.3V/5V) |
| 11-12 | SDA/SCL | DDC(I2C)通信,用于读取EDID |
| 13 | Utility/HEAC+ | 保留引脚(部分版本用于音频回传ARC+) |
| 14 | +5V Power | Source为Sink提供5V电源(最大50mA) |
| 15-16 | HEC/HEAC- | 保留引脚(HDMI 1.4+用于以太网或ARC-) |
| 17 | DDC/CEC Ground | 信号地 |
| 18 | Shield | TMDS通道屏蔽层 |
| 19 | Reserved | 保留引脚 |
关键信号
TMDS(Transition Minimized Differential Signaling)
- 作用:传输视频、音频和辅助数据
- 组成:
- 3组差分对(Data0/1/2) + 1组时钟差分对(Clock)
- 编码方式:8b/10b(将8位数据转为10位编码,降低直流偏移)
DDC(Display Data Channel)
- 协议:基于I2C,用于读取显示器的EDID(Extended Display Identification Data)扩展显示标识数据
- 内容:包含显示器支持的分辨率、色彩空间、音频格式等
CEC(Consumer Electronics Control)
- 功能:通过单线实现设备联动(如电视开机时自动打开机顶盒)
- 示例指令:
Power On、Input Switch
HPD(Hot Plug Detect)
这个信号作为HDMI Source端判断是否连接HDMI Sink设备,从而是否进行信号传输的依据
触发条件:显示器插入时会拉高Source端的电平,Source端会通过DDC读取显示器的EDID,如果EDID在Source端显卡的工作范围内,则Source端开始在TMDS引脚上传输数据
工作流程
- 物理连接:显示器插入后,HPD信号拉高
- EDID读取:源设备通过DDC获取显示器参数
- 分辨率协商:选择双方支持的最佳模式
- HDCP握手(可选):完成内容保护认证
- 数据传输:视频/音频通过TMDS通道实时传输
in和out的区别
hdmi通信时,一般2个设备会被分为hdmi-in和hdmi-out,in一般只需要TMDS发送数据、out接收数据。所以有的地方也能看到hdmi-in叫做hdmi-rx;hdmi-out叫做hdmi-tx
SoC内一般in和out是独立的2个IP核,同一个hdmi一般连接到其中一个ip核,所以我们看到的hdmi in/out接口是分开的
- HDMI-out(TX) IP核
- 功能:负责视频/音频的TMDS编码(TX)、DDC EDID读取、HPD检测、CEC控制等
- 典型模块:
- TMDS TX编码器(3数据通道 + 1时钟通道)
- DDC主控制器(I2C)
- PHY接口(可能集成或外挂)
- HDMI-in(RX) IP核
- 功能:负责TMDS解码(RX)、DDC EDID提供、HPD触发等
- 典型模块:
- TMDS RX解码器(支持自适应均衡)
- DDC从设备响应
- 可能集成视频处理单元(如色彩空间转换)
hdmi-in

可以把hdmi-in当成摄像头一样的设备,因为它本身也是一种视频输入设备,并且输入的视频要对接到v4l2框架或者TIF框架
- 对应代码:
1 | kernel-6.1/drivers/media/platform/rockchip/hdmirx/rk_hdmirx.c |
- 设备树:
1 | rk3588-evb7-lp4-v10-hik-p1009.dts (开发板的配置) |
EDID
windows如何导出接收到的某个显示器的edid?
- 先在注册表找到对应的显示设备,然后用下面的指令导出
1 | PS C:\Users\liruiqi5\Desktop\edid> reg export "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Enum\DISPLAY\LEN60EA\4&247c9d7d&0&UID200195\Device Parameters" C:\Users\liruiqi5\Desktop\edid\LENT2224rA.txt /y |
这种方式导出的是EDID1.3格式的(128字节 ),如果要看支持的分辨率,需要导出EDID2.0格式(256字节 )需要用别的软件
HPD
All articles on this blog are licensed under CC BY-NC-SA 4.0 unless otherwise stated.
