1. RK3399 显示子系统概述
RK3399 作为 Rockchip 面向高端平板、互动白板、边缘计算和数字标牌的双 Cortex-A72 + 四 Cortex-A53 异构 SoC,其显示子系统在硬件层面提供了丰富的接口和灵活的管线。理解显示子系统的硬件模块是进行 FPS 提升和延迟优化的前提。本章将逐一拆解 VOP、DP、HDMI、MIPI DSI、eDP 等核心模块,并阐明它们在完整显示链路中的角色。
1.1 显示子系统整体架构
RK3399 的显示链路遵循典型的“GPU/VPU → 内存 → VOP → 显示接口 → 面板”数据流。VOP(Video Output Processor)是核心的显示控制器,负责从内存中读取帧缓冲区数据,进行图层合成、缩放、色彩转换后,将像素时钟和数据发送给下游的物理接口(PHY)。
关键设计点: RK3399 拥有两个独立的 VOP(VOPB 和 VOPL),分别支持不同的分辨率和接口组合,这是实现双屏异显和性能隔离的硬件基础。
1.2 核心模块详解
1.2.1 VOP(Video Output Processor)
VOP 是显示子系统的“大脑”。RK3399 集成两个 VOP 模块:VOPB(Big)和 VOPL(Little)。VOPB 支持最高 4K@60 输出,内置 4 个通用图层(Win0~Win3)和 1 个光标层;VOPL 支持最高 2K@60,内置 2 个通用图层。每个图层都支持独立的缩放系数、透明度(Alpha)、色彩空间转换(CSC)和 AFBC(帧缓冲压缩)解码。
| 特性 | VOPB | VOPL |
|---|---|---|
| 最大输出分辨率 | 4096x2160@60 | 2048x1536@60 |
| 硬件图层数 | 4 通用 + 1 光标 | 2 通用 + 1 光标 |
| AFBC 解码 | 支持(1路) | 支持(1路) |
| HDR 处理 | HDR10/HLG | 不支持 |
| 典型连接接口 | HDMI / DP / eDP | MIPI DSI / eDP |
性能调优提示: 在双屏显示场景下,将高刷新率或高分辨率的主屏绑定到 VOPB,将静态内容或控制面板绑定到 VOPL,可以避免 VOPB 的带宽被副屏抢占,从而稳定主屏 FPS。
1.2.2 显示接口:DP、HDMI、MIPI DSI、eDP
VOP 输出的并行 RGB/YCbCr 数据需要通过串行接口发送到面板。RK3399 集成了多种 PHY 和控制器:
- DP(DisplayPort):支持 DP 1.2 标准,最高 4K@60,支持 HBR2(5.4Gbps/lane),具备 MST(多流传输)能力,常用于 Type-C 扩展坞或高端显示器。
- HDMI:集成 HDMI 2.0 发射器,支持 4K@60、HDR、HDCP 2.2,是消费电子显示的标准接口。
- MIPI DSI:两个 DSI 控制器(DSI0/DSI1),每个支持 4 数据通道,最高 1.5Gbps/lane。支持 DSI 视频模式和命令模式,常用于内置 LCD 面板。
- eDP(Embedded DisplayPort):支持 eDP 1.3,最高 4K@60,具备 PSR(面板自刷新)功能,是平板和笔记本内置面板的主流选择。
1.3 显示链路中的数据流与延迟点
从应用程序绘制到像素点亮,数据经历以下关键阶段,每个阶段都可能成为性能瓶颈:
- GPU 渲染:将图形指令渲染到内存中的 Buffer(Framebuffer)。
- Buffer 提交与排队:SurfaceFlinger(Android)或 Wayland/Weston(Linux)通过 DRM 提交 Buffer 到 VOP 的显示队列。
- VOP 合成与扫描:VOP 在 VBlank 周期读取 Buffer,进行图层合成,并生成像素流。
- 接口传输:串行接口(DP/HDMI/DSI)将像素数据编码并发送到面板。
- 面板响应:LCD/OLED 面板的像素更新延迟(响应时间)。
常见误区: 很多开发者只关注 GPU 渲染 FPS,却忽略了 VOP 的配置错误(如图层格式不匹配导致强制软件合成)或接口时钟设置不当(如 HDMI 时钟余量不足导致像素抖动),这些都会造成实际显示延迟增加或帧率下降。
1.4 模块间的依赖与时钟树
显示子系统的正常工作依赖于复杂的时钟树。关键时钟包括:
- ACLK_VOP:VOP 的 AXI 总线时钟,决定从内存读取数据的速度。
- DCLK_VOP:VOP 像素时钟,直接决定输出分辨率(如 148.5MHz 对应 1080p@60)。
- DP/HDMI PHY 时钟:由专用 PLL 生成,必须与 DCLK 保持精确比例。
| 分辨率 | 刷新率 | DCLK (MHz) | HDMI TMDS 时钟 (MHz) |
|---|---|---|---|
| 1920x1080 | 60 | 148.5 | 148.5 |
| 3840x2160 | 30 | 297 | 297 |
| 3840x2160 | 60 | 594 | 594 (HDMI 2.0) |
| 1366x768 | 60 | 85.5 | 85.5 |