4. 显示接口与协议:DP/eDP、HDMI、MIPI DSI
在高通 SA8155 平台中,DPU(Display Processing Unit)通过多种物理层接口与外部显示设备或桥接芯片连接。理解这些接口的协议、数据通道和辅助通道是进行 HDR 显示同步调试的基础。本章将深入剖析 DP/eDP、HDMI 和 MIPI DSI 三大核心接口。
4.1 DisplayPort (DP) / Embedded DisplayPort (eDP)
DP 和 eDP 是 SA8155 平台最核心的显示接口,用于驱动高分辨率、高刷新率的主控屏幕或副屏。eDP 是 DP 的嵌入式版本,专为笔记本和车载面板优化,支持更低的电压和更灵活的链路配置。
4.1.1 协议架构与链路层
DP/eDP 采用微分组(Micro-Packet)架构,数据以固定大小的传输单元(Transfer Unit, TU)在 Main Link 上传输。其协议栈分为三层:
- 物理层(Physical Layer): 采用 AC 耦合差分信号,支持 1、2 或 4 Lane 配置。SA8155 的 DP/eDP 控制器最高支持 HBR3(8.1 Gbps per Lane)。
- 链路层(Link Layer): 负责将视频流(像素数据)打包成微分组,并插入空白符(Blank Start/End)和辅助数据(如 HDR 元数据)。
- 传输层(Transport Layer): 管理流控制、时钟恢复和链路训练。
4.1.2 数据通道(Main Link)与 AUX 通道
| 通道类型 | 方向 | 功能描述 | SA8155 调试关注点 |
|---|---|---|---|
| Main Link | 单向(Source → Sink) | 传输视频像素数据、音频数据和辅助数据(如 InfoFrames)。采用 8b/10b 编码。 | Lane 数、速率(RBR/HBR/HBR2/HBR3)、预加重(Pre-emphasis)和电压摆幅(Voltage Swing)设置。 |
| AUX Channel | 双向(半双工) | 用于链路管理(Link Training)、EDID 读取、DPCD 寄存器访问、MST 拓扑管理和 HDR 元数据传输。 | AUX 事务超时、NACK 响应、DPCD 地址 0x00600~0x0061F(HDR 元数据寄存器)的读写时序。 |
| HPD(Hot Plug Detect) | 单向(Sink → Source) | 中断信号,用于通知 Source 连接/断开或需要重新训练。 | HPD 脉冲宽度(IRQ_HPD vs. 长 HPD)的识别。 |
4.1.3 HDR 元数据传递(DP/eDP 场景)
在 DP/eDP 接口上,HDR 静态元数据(如 SMPTE ST 2086)通过 DPCD 寄存器或 InfoFrame(通过 Main Link 的辅助数据包)传递。SA8155 的 DPU 驱动在发送 HDR 帧前,必须通过 AUX 通道将元数据写入 Sink 设备的 DPCD 地址 0x00600~0x0061F。
// 伪代码:通过 AUX 写入 HDR 元数据
// 假设已获取 HDR 静态元数据结构体 hdr_metadata
uint8_t dpcd_addr = 0x00600;
uint8_t buffer[26]; // HDR10+ 或 ST 2086 元数据长度
// 填充 buffer(略)
// 调用 AUX 写事务
dpu_aux_write(aux, dpcd_addr, buffer, sizeof(buffer));
// 触发 Sink 更新(通过设置 DPCD 0x00100 的位)
dpu_aux_write(aux, 0x00100, 0x01, 1);
4.2 HDMI 接口
SA8155 通常通过外部桥接芯片(如 TI TDP158)将 DPU 的 DP 输出转换为 HDMI 输出。虽然物理层不同,但协议层与 DP 有诸多相似之处。
4.2.1 TMDS 与 FRL 模式
HDMI 2.0 及以下使用 TMDS(Transition Minimized Differential Signaling)模式,而 HDMI 2.1 引入了 FRL(Fixed Rate Link)模式。在 SA8155 平台中,由于 DPU 原生输出为 DP,HDMI 输出通常受限于桥接芯片的能力。
- TMDS 模式: 3 个数据通道 + 1 个时钟通道。每个通道最高 6 Gbps(HDMI 2.0)。
- FRL 模式: 4 个数据通道,无独立时钟。每个通道最高 12 Gbps(HDMI 2.1)。
4.2.2 DDC 通道与 CEC
| 通道 | 功能 | 与 DP 的对比 |
|---|---|---|
| DDC (I2C) | 读取 EDID、传输 HDCP 密钥、传递 HDR 元数据(通过 VSDB 或 HDR10+ 动态元数据包)。 | 相当于 DP 的 AUX 通道,但带宽更低,且不支持 MST。 |
| CEC | 消费电子控制,用于设备间的遥控联动。 | DP 无直接对应通道。 |
| HPD | 热插拔检测,与 DP 的 HPD 功能类似。 | HDMI 的 HPD 不携带 IRQ 功能。 |
4.2.3 HDR 元数据传递(HDMI 场景)
在 HDMI 接口上,HDR 元数据通过 InfoFrame 数据包传输。具体为 HDR10+ 动态元数据 或 HDR10 静态元数据 被封装在 Vendor-Specific InfoFrame (VSIF) 中。SA8155 的 DPU 驱动需要将元数据填充到 HDMI 桥接芯片的寄存器中,由桥接芯片在 TMDS/FRL 链路上发送。
// 伪代码:通过 I2C (DDC) 配置 HDMI 桥接芯片发送 HDR InfoFrame
// 假设桥接芯片为 TI TDP158
uint8_t vsif_packet[32];
// 填充 VSIF 包(包含 HDR10+ 动态元数据)
fill_hdr_vsif(vsif_packet);
// 通过 I2C 写入桥接芯片的 InfoFrame 缓冲区
i2c_write(bridge_i2c_addr, 0x40, vsif_packet, sizeof(vsif_packet));
// 触发桥接芯片发送
i2c_write(bridge_i2c_addr, 0x41, 0x01, 1);
4.3 MIPI DSI 接口
MIPI DSI 主要用于驱动车内嵌入式 LCD 面板,如仪表盘或中控屏。SA8155 的 DPU 可以通过 DSI 控制器直接输出,或通过桥接芯片转换。
4.3.1 数据通道与时钟通道
DSI 使用差分信号对(Data Lane 和 Clock Lane)。每个 Data Lane 是双向的(Bidirectional),但视频数据流通常是单向的(Host → Device)。
- Clock Lane: 提供源同步时钟,用于数据采样。
- Data Lane 0~3: 传输像素数据、命令和事件。支持 LP(Low Power,低功耗)和 HS(High Speed,高速)两种模式。
4.3.2 命令模式与视频模式
| 模式 | 描述 | 适用场景 | HDR 支持 |
|---|---|---|---|
| 命令模式(Command Mode) | 通过 DCS(Display Command Set)命令更新帧缓冲区。需要面板自带 Frame Buffer。 | 低功耗、静态内容(如仪表盘)。 | 有限,通常需要面板支持局部 HDR 命令。 |
| 视频模式(Video Mode) | 实时流式传输像素数据,类似 DP/HDMI。面板无需 Frame Buffer。 | 高刷新率、动态视频(如中控屏导航)。 | 支持,通过传输 HDR 元数据包(如 MIPI DSI 的 HDR 扩展包)。 |
4.3.3 HDR 元数据传递(DSI 场景)
在 MIPI DSI 视频模式下,HDR 元数据可以通过 Generic Short Packet 或 Long Packet 在 VBlank 或 HBlank 期间传输。SA8155 的 DSI 控制器支持在视频流中插入自定义数据包。
// 伪代码:在 DSI 视频流中插入 HDR 元数据包
// 配置 DSI 控制器在 VBlank 期间发送长包
struct dsi_cmd_desc hdr_packet;
hdr_packet.dtype = MIPI_DSI_LONG_PACKET; // 长包类型
hdr_packet.vc = 0; // 虚拟通道
hdr_packet.dlen = 26; // 元数据长度
memcpy(hdr_packet.payload, hdr_metadata, 26);
// 将命令加入 DSI 命令队列
dsi_ctrl_enqueue_cmd(&hdr_packet);
4.4 接口协议对比总结
| 特性 | DP/eDP | HDMI | MIPI DSI |
|---|---|---|---|
| 最大速率 (per Lane) | 8.1 Gbps (HBR3) | 12 Gbps (FRL) | ~4.5 Gbps (D-PHY v2.5) |
| 最大 Lane 数 | 4 | 4 (FRL) / 3 (TMDS) | 4 |
| 辅助通道 | AUX (双向, 半双工) | DDC (I2C, 双向) | LP 模式 (双向, 用于命令) |
| HDR 元数据传递 | DPCD 寄存器 / InfoFrame | VSIF InfoFrame | Generic Short/Long Packet |
| SA8155 原生支持 | 是 (DP/eDP 控制器) | 否 (需外部桥接) | 是 (DSI 控制器) |
| 调试工具 | AUX 分析仪, DPCD 寄存器 dump | I2C 分析仪, EDID 模拟器 | 逻辑分析仪, DSI 协议分析仪 |
4.5 接口协议与数据流架构图
下图展示了 SA8155 DPU 如何通过不同接口协议与显示设备连接,以及 HDR 元数据在其中的传递路径。