2、显示时序基础概念:像素时钟、行同步、场同步、消隐区、刷新率、分辨率

在 SA8155 平台的显示驱动开发中,理解显示时序是正确配置 MIPI DSI 和 DP/eDP 接口的前提。显示时序定义了 SoC 如何将帧缓冲区的像素数据逐行、逐帧地发送给显示面板,并确保面板在正确的时间点刷新每个像素。本节将逐一拆解像素时钟、行同步、场同步、消隐区、刷新率与分辨率的核心定义及其工程关联。

2.1 显示时序全景图

下图展示了从 SoC 到显示面板的完整时序链路,包含像素时钟生成、同步信号与消隐区的关系:

显示时序全景图 显示时序全景图 SoC 显示控制器 像素时钟 (PCLK) 行同步 (HSYNC) 场同步 (VSYNC) 消隐区 (Blanking):行消隐 + 场消隐,不传输有效像素数据 用于同步信号恢复、数据重对齐、面板充电时间 刷新率 (Hz) 分辨率 (W×H) 显示面板

2.2 核心概念详解

2.2.1 像素时钟 (Pixel Clock, PCLK)

像素时钟是显示时序中最基础的频率信号,决定了每秒钟从显存中读取并传输到面板的像素数量。在 SA8155 平台上,PCLK 通常由 PLL 倍频产生,并通过 MIPI D-PHY 或 eDP 链路发送。

  • 计算公式: PCLK = (水平总像素) × (垂直总行数) × 刷新率
  • 水平总像素 = 水平有效像素 + 水平消隐 (HBP + HFP + HSYNC 宽度)
  • 垂直总行数 = 垂直有效行 + 垂直消隐 (VBP + VFP + VSYNC 宽度)
  • 工程要点: PCLK 过高会导致链路信号完整性下降,过低则无法满足刷新率要求。SA8155 的 DSI 控制器支持 PCLK 分频与倍频,需根据面板 datasheet 精确配置。
工程提示: 在 SA8155 的 mdss_dsi_phy_timings 节点中,像素时钟直接决定 D-PHY 的 bit clock。例如 1920×1080@60Hz 典型 PCLK 约为 148.5 MHz,对应 D-PHY 速率约 1.5 Gbps/lane。

2.2.2 行同步 (HSYNC) 与场同步 (VSYNC)

行同步信号标识每一行像素数据的开始,场同步信号标识每一帧的开始。两者均为脉冲信号,其宽度、前后肩 (Back Porch / Front Porch) 共同构成消隐区。

参数 符号 说明 典型值 (1080p@60)
行同步宽度 Hsync HSYNC 脉冲持续像素数 44
行前肩 HFP 行有效数据结束到 HSYNC 开始 88
行后肩 HBP HSYNC 结束到下一行有效数据开始 148
场同步宽度 Vsync VSYNC 脉冲持续行数 5
场前肩 VFP 帧有效数据结束到 VSYNC 开始 4
场后肩 VBP VSYNC 结束到下一帧有效数据开始 36
行同步与场同步时序示意 行同步与场同步时序示意 一行时序: HBP 有效像素数据 (HActive) HFP HSYNC 一帧时序: VBP 有效行数据 (VActive) VFP VSYNC 注:HBP/HFP/HSYNC 构成行消隐;VBP/VFP/VSYNC 构成场消隐。

2.2.3 消隐区 (Blanking)

消隐区是同步信号与有效数据之间的间隔,不包含任何可见像素数据。消隐区在工程上具有以下关键作用:

  • 信号恢复: 为接收端 PLL 提供重新锁相的时间窗口,避免时钟漂移。
  • 数据重对齐: 在 MIPI DSI 协议中,消隐区用于 Lane 对齐和 EoT 包传输。
  • 面板充电: LCD 面板需要消隐时间完成像素电容的充放电,防止残影。
  • 带宽调节: 增加消隐区可降低有效像素时钟频率,改善信号完整性。
避坑指南: 在 SA8155 平台上,消隐区配置过小会导致面板显示撕裂 (tearing) 或行噪声。建议保留至少 10% 的消隐余量。例如 1920×1080 分辨率,水平总像素建议 ≥ 2200,垂直总行数建议 ≥ 1125。

2.2.4 刷新率 (Refresh Rate)

刷新率指显示器每秒更新画面的次数,单位为 Hz。SA8155 平台支持多种刷新率模式,常见配置如下:

刷新率 典型应用 PCLK 需求 (1080p) SA8155 支持
60 Hz 标准车载导航、信息娱乐 ~148.5 MHz 原生支持
30 Hz 低功耗仪表盘、副屏 ~74.25 MHz 支持动态切换
90 Hz / 120 Hz 高端数字仪表、AR-HUD ~222.75 / 297 MHz 需确认 D-PHY 速率上限

2.2.5 分辨率 (Resolution)

分辨率定义显示面板的有效像素矩阵,通常以 宽×高 表示。在 SA8155 显示时序配置中,分辨率直接影响以下参数:

  • 水平有效像素 (HActive): 等于分辨率宽度,如 1920。
  • 垂直有效行 (VActive): 等于分辨率高度,如 1080。
  • 帧缓冲区大小: 分辨率 × 每像素字节数 (如 4 字节 RGBA) = 单帧内存占用。
  • MIPI DSI 数据通道数: 高分辨率需要更多 Lane 或更高速率。
分辨率与消隐区关系图 分辨率与消隐区关系图 有效显示区域 HActive × VActive (如 1920×1080) 水平消隐 水平消隐 垂直消隐 垂直消隐 总像素 = (HActive + H_Blank) × (VActive + V_Blank)

2.3 时序参数工程配置示例

以下为 SA8155 平台下 1920×1080@60Hz 的典型时序配置,对应 mdss_dsi_timing 节点参数:

/* SA8155 DSI 时序配置示例 - 1920x1080@60Hz */
struct dsi_timing_cfg {
    .h_active       = 1920,
    .h_back_porch   = 148,
    .h_front_porch  = 88,
    .h_sync_width   = 44,
    .v_active       = 1080,
    .v_back_porch   = 36,
    .v_front_porch  = 4,
    .v_sync_width   = 5,
    .pixel_clock_khz = 148500,  /* 148.5 MHz */
    .refresh_rate_hz = 60,
};
关键检查项:
  • 确认 pixel_clock_khz 与 D-PHY bit clock 匹配:bit_clock = PCLK × 每像素位数 / Lane 数。
  • 消隐区参数必须满足面板 datasheet 的最小要求,否则显示异常。
  • SA8155 支持通过 mdss_dsi_phy_timings 调整时钟相位,用于补偿 PCB 走线延迟。

2.4 概念对比总结

概念 单位 决定因素 工程影响
像素时钟 MHz 分辨率 × 刷新率 × 消隐系数 链路速率、EMI
行同步 像素数 面板规格、协议要求 行对齐、数据恢复
场同步 行数 面板规格、帧同步 帧同步、防撕裂
消隐区 像素/行 HBP+HFP+HSYNC / VBP+VFP+VSYNC 信号完整性、面板充电
刷新率 Hz 应用场景、功耗要求 流畅度、功耗
分辨率 像素×行 面板物理像素、UI 设计 内存带宽、渲染负载