HDMI 驱动简介
HDMI(High-Definition Multimedia Interface)又被称为高清晰度多媒体接口,是首个支持在单线缆上传输,不经过压缩的全数字高清晰度、多声道音频和智能格式与控制命令数据的数字接口。
HDMI 驱动的硬件结构一般有两种:
- 内部集成 HDMI 控制器输出:即芯片内部集成了 HDMI 控制器,其输出的信号就为标准的 HDMI 信号。
- 使用 Connector 转换输出:某些芯片未集成 HDMI 控制器,但可以将芯片的 RGB 输出信号通过 Connector 转换芯片转换为 HDMI 的信号输出。
- HDMI 的音频输出一般为 I2S 或 SPDIF 两种格式。
- 对于内部集成 HDMI 控制器输出的驱动编程方法,和 LCD 驱动实现类似。
- 使用 Connecter 转换输出的 HDMI 驱动实现一般包含以下 4 个模块。
- LCD 驱动的实现:需要让 LCD 驱动输出转换芯片能够识别的 RGB 信号。
- 转换芯片驱动的实现:转换芯片一般为 I2C 总线设备,挂载在 I2C 总线上,通过 I2C 总线提供的统一接口实现对转换芯片的初始化及控制。
- HDMI 热插拔:转换芯片一般会提供 HDMI 热插拔检测的引脚。
- EDID 识别逻辑:EDID 是一种 VESA 标准数据格式,其中包含有关显示器及其性能的参数,包括供应商信息、最大图像大小、颜色设置、厂商预设置、频率范围的限制以及显示器名和序列号的字符串,HDMI 驱动中实现对 EDID 的识别,即可实现显示分辨率的自适应。