3. 硬件基础:MIPI CSI 接口与时钟(MCLK、PCLK)要求

在 Sensor 上电序列验证中,MIPI CSI(Camera Serial Interface)物理层及时钟信号的正确性是图像数据能否稳定传输的前提。本章聚焦于 MIPI CSI 接口的电气特性、时钟域划分以及 MCLK(主时钟)与 PCLK(像素时钟)的硬件要求,帮助驱动工程师在调试初期快速定位时钟相关故障。

3.1 MIPI CSI 物理层概述

MIPI CSI 采用差分信号传输,包含数据通道(Data Lane)和时钟通道(Clock Lane)。每个通道由一对差分线(Dp/Dn)组成,通过低压差分信号(LVDS)实现高速数据传输。CSI-2 规范支持 1 至 4 条数据通道,时钟通道独立运行,为所有数据通道提供同步基准。

关键要点: 时钟通道与数据通道之间必须满足严格的 skew(偏移)要求,通常 < 0.15 UI(Unit Interval),否则会导致接收端采样错误。
MIPI CSI 物理层结构(4-Lane 配置) Sensor SoC AP 端 CSI Clock Lane 差分对 (CLKP/N) Data Lane 0 Data Lane 1 Data Lane 2 Data Lane 3 注:时钟通道为所有数据通道提供源同步时钟;数据通道在高速模式下以 DDR(双倍数据率)传输,时钟上升沿和下降沿均采样数据。

3.2 时钟域划分:MCLK 与 PCLK

在 Camera 系统中,存在两个关键的时钟域:MCLK(主时钟)和PCLK(像素时钟)。两者在功能、来源和时序要求上存在本质区别。

时钟类型 全称 来源 典型频率 作用
MCLK Master Clock AP 端 PMIC 或 GPIO 输出 6 – 48 MHz 驱动 Sensor 内部 PLL 和逻辑电路
PCLK Pixel Clock Sensor 内部 PLL 输出 12 – 200 MHz 控制像素数据读出速率
调试经验: 上电序列中 MCLK 必须先于 Sensor 内部 PLL 锁定之前稳定提供。若 MCLK 频率偏差超过 ±1%,可能导致 PLL 失锁,PCLK 输出异常,最终表现为无图或图像撕裂。

3.3 MCLK 硬件要求

MCLK 是 Sensor 工作的“心跳”,其质量直接影响 Sensor 内部 PLL 的锁定精度和相位噪声。驱动工程师在验证上电序列时,需重点检查以下参数:

  • 频率精度: 要求 ≤ ±1%(典型值),部分高精度 Sensor 要求 ≤ ±0.5%。
  • 占空比: 45% – 55%,偏离过大可能导致 PLL 锁定时间延长。
  • 抖动(Jitter): 周期抖动(Period Jitter)通常要求 < 100 ps RMS,长期抖动(Long-term Jitter)需参考 Sensor 数据手册。
  • 上升/下降时间: 通常要求 < 5 ns(20% – 80% 幅度),过缓的边沿会增加 PLL 内部噪声。
  • 电压摆幅: 1.8V 或 2.8V(取决于 Sensor I/O 电源域),需与 Sensor 的 MCLK 输入电平匹配。
常见陷阱: 部分平台使用 PMIC 的时钟输出作为 MCLK,但 PMIC 时钟在低功耗模式下可能被关闭或降频。驱动工程师需确认上电序列中 MCLK 的 GPIO 或 PMIC 配置正确,且未被其他外设复用。

3.4 PCLK 与数据传输速率关系

PCLK 由 Sensor 内部 PLL 根据 MCLK 和寄存器配置生成,其频率决定了像素数据的输出速率。PCLK 与 MIPI 数据速率之间存在以下换算关系:

// PCLK 与 MIPI 数据速率换算公式
// 假设:4-Lane 配置,每 Lane 数据速率 = PCLK × 像素深度 × 通道数
// 示例:1080p@30fps, 10-bit RAW, 4-Lane
// PCLK = (1920 × 1080 × 30 × 10) / (4 × 2) ≈ 77.76 MHz
// 每 Lane 数据速率 = 77.76 × 2 = 155.52 Mbps(DDR 模式)

// 实际驱动配置中,PCLK 由以下寄存器决定:
// sensor_reg_write(0x0300, 0x01);  // PLL 倍频系数
// sensor_reg_write(0x0301, 0x2D);  // PLL 分频系数
// PCLK = MCLK × (倍频系数 / 分频系数)
MCLK → PCLK 时钟生成流程 MCLK 输入 6-48 MHz PLL 倍频 × N (N=4~200) 分频器 ÷ M (M=1~16) PCLK 输出 12-200 MHz 关键公式: PCLK = MCLK × (N / M) 其中 N 为倍频系数(PLL Multiplier),M 为分频系数(PLL Divider),具体值由 Sensor 寄存器配置。

3.5 上电序列中的时钟验证清单

在 Sensor 上电序列调试阶段,建议按照以下清单逐项验证时钟信号:

  1. MCLK 波形测量: 使用示波器在 Sensor 端 MCLK 引脚测量频率、占空比、抖动和电压摆幅。
  2. MCLK 时序对齐: 确认 MCLK 在 Sensor 电源稳定后 1-5 ms 内有效,且早于 I2C 通信开始。
  3. PCLK 输出确认: 在 Sensor 初始化完成后,测量 PCLK 引脚是否有稳定时钟输出。
  4. MIPI 时钟通道眼图: 使用高速示波器测量 Clock Lane 的眼图,确保眼宽和眼高满足 CSI-2 规范。
  5. 时钟与数据 skew: 测量 Clock Lane 与各 Data Lane 之间的相对延迟,确保在 0.15 UI 以内。
推荐工具: 示波器(≥ 1 GHz 带宽,≥ 5 GSa/s 采样率)、有源差分探头(≥ 1.5 GHz)、MIPI 一致性测试软件(如 Teledyne LeCroy QualiPHY、Keysight N5990A)。

3.6 常见时钟故障与排查

故障现象 可能原因 排查方法
Sensor 无图输出 MCLK 未提供或频率错误 示波器测量 MCLK 引脚,检查 GPIO/PMIC 配置
图像撕裂/花屏 PCLK 抖动过大或频率不稳 检查 PLL 寄存器配置,测量 PCLK 频谱
MIPI 链路训练失败 Clock Lane 与 Data Lane skew 超标 调整 PCB 走线长度,或使用 Sensor 内部 deskew 校准
低帧率 PCLK 频率低于预期 核对 PLL 倍频/分频系数,检查 MCLK 频率精度