LV005-MIPI-Sensor接口原理图
后面准备学习一下 D-PHY 接口,在学习之前,我们先来看一个实际的 MIPI 接口的 Sensor 电路原理图。
一、RK3568 Camera 接口
1. 相关资料
鲁班猫 2 使用的是 RK3568 的主控芯片,一些相关资料如下:
2. MIPI 接口
查看 Rockchip_RK3568_Datasheet_V1.3-20220929P,MIPI Interface 接口如下:

还可以参考《Rockchip_RK3568_TRM_Part2_V1.1-20210301.pdf》的 Chapter 28 MIPI CSI DPHY 这一节,这里描述了 RK3568 的 CSI DPHY 相关内容,从 28.1 Overview 这一部分我们可以知道,MIPI CSI DPHY 的特点如下:
根据 MIPI v1.2 规范设计
集成了 PHY 协议接口(PPI),支持 DSI/CSI 和 UniPro MIPI 协议
每通道最大数据传输速率为 2.5 Gbps
可扩展至支持 4 个数据通道,提供高达 10gbps 的传输速率
低功耗模式下每通道 10Mbps
支持单向和双向模式
二、OV8858
1. 相关资料
用的野火的 OV8858 摄像头模块:野火【摄像头_OV8858】模块,数据手册和电路原理图如下:
2. OV8858 摄像头接口
![]() | ![]() |
3. 24M 时钟
sensor 这里有一个外部 24M 时钟:

4. 引脚与可测波形对照
OV8858 本体支持 1/2/4 lane,本模组只引出 2 条数据 lane(MDP0/MDN0、MDP1/MDN1)加 1 条时钟 lane(MCP/MCN)。
模组侧 J1 与转接板 J2 虽然都是 24 pin FPC,但两者的网络名和引脚定义并不相同:J1 侧用 CAM_I2C_SDA、CAM_RSTn、CAM_PWDN、MCLK 等命名,并引出 AVDD、DVDD、DOVDD 三路电源;J2 侧写作 I2C_SDA、RSTn、PWDN,1~3 脚是 VDD_5V,另有多个 GND,且没有 MCLK。24 MHz 时钟与三路电源由转接板上的晶振和电源电路产生,所以它们只出现在 J1 一侧。下表的引脚号以模组侧 J1 为准,换到 J2 或主板插座上不能照搬。
下表按 J1 引脚号排列:第一列是原理图上的网络名,第二列是该网络在 J1 上的引脚号,第三列是它负责什么,第四列是示波器上看到什么样的波形才算它工作正常。
| 原理图网络名 | J1 引脚号 | 功能 | 波形代表什么 |
|---|---|---|---|
STROBE | 1 | 闪光同步输出 | 本板未接,测不到 |
CAM_I2C_SDA | 3 | CCI 数据(本质是 I2C/SCCB) | 能看到 START、从机地址、寄存器地址与数据、STOP;0x6C 是 8 位写地址,对应 7 位地址 0x36(读地址 0x6D)。有 START 却没有 ACK,多半是地址错或器件未就绪 |
AVDD | 4 | 模拟电源(2.8 V) | 看上下电顺序和纹波;异常时表现为图像噪声大或完全无输出 |
CAM_I2C_SCL | 5 | CCI 时钟 | 配置或寄存器读写时出现脉冲串,初始化、每帧调曝光与增益、切换模式都会触发;完全没有脉冲说明 SoC 没发命令,或 sensor 还没上电 |
CAM_RSTn | 6 | 复位输入,低有效,数据手册引脚名为 XSHUTDN | 低电平期间器件保持复位;脉宽不足 2 ms 或一直为低,就不会出图 |
CAM_PWDN | 8 | 掉电控制,有效电平以数据手册为准 | 待核对:模组与转接板原理图只显示该网络引出到主板,未显示上拉或接地。OV 系 PWDN 常见为高有效掉电,若被固定在有效电平上,sensor 会一直没有输出;需回底板原理图确认该脚接的是 GPIO、上拉还是 GND |
DVDD1V2 | 10 | 数字内核电源(1.2 V) | 偏低会让 PLL 失锁,MIPI 直接没有突发 |
DOVDD1V8 | 11 | IO 电源(1.8 V) | 决定 I2C 电平,异常时 CCI 通信直接失败 |
MIPI_CSI_DP1 | 12 | 数据 Lane1 的 P 端 | 与 DP0 对比,看两条 lane 的突发是否同时开始,错开说明去斜或 lane 配置有问题 |
MCLK | 13 | sensor 主时钟输入(模组侧标 XVCLK),给内部 PLL 做基准,本板 24 MHz | 连续 24 MHz 方波说明时钟已到位;停振或频率不对时 PLL 不锁,后面的信号全部不会有 |
MIPI_CSI_DN1 | 14 | 数据 Lane1 的 N 端 | 与 DP1 配对,判断这条 lane 的 LP 状态 |
MIPI_CSI_CLKP | 16 | MIPI 时钟差分对的 P 端 | 非连续时钟模式下帧间保持高电平(LP-11),只在突发段高速翻转,翻转频率约为数据率的一半(DDR);连续时钟模式下帧间仍在翻转 |
MIPI_CSI_CLKN | 18 | MIPI 时钟差分对的 N 端 | 与 CLKP 反相;非连续时钟模式下两条线同时为高就是空闲的 LP-11,此时时钟停止输出 |
MIPI_CSI_DP0 | 20 | 数据 Lane0 的 P 端 | 单看这一根就能认出帧间隔、行间隔和 HS 突发;要看清 SoT 之前的 LP-01、LP-00 必须配合 DN0 |
MIPI_CSI_DN0 | 22 | 数据 Lane0 的 N 端 | 与 DP0 组合出 LP-11、LP-01、LP-00 等状态;Escape、ULPS 也都发生在这对线上 |
AF_2V8 | 23 | VCM 马达电源 | 对焦瞬间电压明显跌落,说明供电能力不足 |
按用途归一下就是三类接法:看包结构接 DP0、DN0;看时钟接 CLKP、CLKN;排查为什么不出图先接 MCLK、CAM_RSTn、CAM_I2C_*。包结构只看数据 lane,时钟行为只看时钟对,两件事不要混在一对引脚上测。《LV010-波形实测》里图 6~图 12 抓的都是数据 lane 的 P、N 两路单端波形,没有涉及时钟对。
4.1 像素时钟从哪里看
OV8858 是纯 MIPI 输出,模组上没有 DVP 的 PCLK、HSYNC、VSYNC 引脚,内部 PLL 产生的像素时钟也不外露,所以这个接口测不到“像素时钟”,只能由 MIPI 时钟反推:
每 lane 数据率 = 2 × f(CLKP) // HS 是 DDR,上下沿都传数据
总数据率 = 每 lane 数据率 × lane 数
像素率 = 总数据率 ÷ bpp // RAW10 记 10 bit以 1080p30、RAW10、2 lane、暂不计 blanking 估算:
总数据率 = 1920 × 1080 × 30 × 10 ≈ 622 Mbps
每 lane = 622 ÷ 2 = 311 Mbps
f(CLKP) = 311 ÷ 2 ≈ 156 MHz实测 CLKP 频率若明显低于该值,通常说明格式(RAW8 / RAW10)或 lane 数配置与预期不符;加上 blanking 后实测值会比估算略高,属于正常。
【注意】
上面的 1080p30 只是演示算法的估算例,不是本板的配置。本板实际是 3264×2448@15、RAW10、2 lane,link_freq 为 360 MHz,因此 CLKP 的实测期望值是 360 MHz,不要拿 156 MHz 去比对。另外非连续时钟模式下 CLKP 在帧间停振,示波器的自动频率测量会把停振段平均进去,读数偏低或跳动,必须在 HS 突发段内测量。
4.2 探测注意
- 测差分对必须两个通道同接 P、N 且共地,只接一根分不清
LP-01和LP-10,也就看不出进入序列。 - LP 段是 0~1.2V 单端,用 DC 耦合;HS 段摆幅只有 200mV 左右,用 100mV/div 档并关闭带宽限制。
- 采样率取数据率的 5 倍以上,探头带宽 1GHz 以上;无源 1× 探头带宽不够,务必用 10×。
- 抓 SoT 用
DP0下降沿单次触发:LP-11 → LP-01时 Dp 由高变低,这是进入序列的第一个边沿;要看全随后的LP-00与 HS-0,把DN0接第二通道作参照(LP-01 → LP-00时 Dn 出现下降沿)。抓帧间隔改用长时基滚动,看突发包络。 - 要看时钟与数据的关系,把
CLKP放通道 1、DP0放通道 2,两通道共用同一时基。 - 有源差分探头优先;条件不足时单端方案只能看包络和 LP 序列,用于判断“有没有出图、帧行节奏对不对”,不适合评估 HS 眼图。
状态序列的详细定义见《LV015-HS与LP模式》。
4.3 各信号的波形示意
下图把六组信号画在一起,横向为时间(非等比),从上往下依次对应模组上的 MCLK、CAM_I2C、XSHUTDN、MIPI_CSI_CLKP/CLKN、MIPI_CSI_DP0/DN0。其中 XSHUTDN 是数据手册的引脚名,对应原理图上的 CAM_RSTn,即 J1 第 6 脚,两者是同一根信号。
图:OV8858 接口各信号的波形示意(脉宽、幅度均为示意,非等比例)
读图要点:
MCLK是自由振荡的 24MHz 方波,与被测数据无关;先确认它在,再谈后面的信号。CAM_I2C的 SCL 在配置与寄存器读写时出脉冲(初始化、每帧调曝光与增益、切换模式都会有),SDA 上的 START、STOP 和从机地址0x6C(8 位写地址,7 位为0x36)是判断“有没有配起来”的第一手证据。XSHUTDN低有效,脉宽要大于 2ms;拉高后还需等不少于 8192 个 XVCLK 周期,才能发第一条 SCCB 事务。CLKP/CLKN是差分对,非连续时钟模式下帧间两条线都回到LP-11,只在突发期间翻转。DP0/DN0从LP-11经LP-01、LP-00进入 HS,SoT固定为00011101,退出时先发 Trail 位再回LP-11。ULPS期间两条线同时被拉到LP-00,唤醒靠一个TWAKEUP时长的 Mark-1。
图中 HS 段的单端摆幅只有 200 mV 左右(差分摆幅约 400 mV),与 LP 的 1.2 V 差一个数量级,所以这一段做了压缩示意,实测时需要切换垂直档位。状态与参数定义见《LV015-HS与LP模式》。
三、鲁班猫 2
1. 相关资料
这里我使用的是野火的鲁班猫 2 的开发板来学习,所以这里的电路以这块开发板为准:
- 原理图在这里:LubanCat2_EBF410044V3R0_SCH_20240323.pdf
- 规格书在这里:鲁班猫 2 硬件规格书
2. MIPI CSI 摄像头接口
我们打开原理图 LubanCat2_EBF410044V3R0_SCH_20240323.pdf 可以看到这里有两个 MIPI CSI 摄像头接口:

可以看到这两个接口的引脚顺序是一模一样的,只是用的 MIPI CSI 接口不同,前面的 OV8858 摄像头 FPC 接口的顺序也一样,所以最后接在哪一个上面都行,只要设备树资源对应就可以。
四、Camera 与 CPU
网上看到一个 Camera 与 CPU 模块图,刚好就是 RK3568 的,这里来分析一下:

MIPI 接口在系统的实现如上图所示,
(1)通常一个 camera 的模组如图所示,通常包括 Lens、Sensor、CSI 接口等,其中 CSI 接口用于视频数据的传输;
(2)SoC 的 Mipi 接口对接 Camera,并通过 I2C/SPI 控制 camera 模组;
(3)MIPI DPHY 提供了 4 Lane 的 Rx 接口,由 Sensor 提供 Clock,并通过四条数据 Lane 输入图像数据;
(4)DPHY 与 CSI-2 Host Contrller 之间通过 PPI(PHY-Protocol Interface)相连,该接口包括了控制,数据,时钟等多条信号;
(5)CSI-2 Host Contrller 通过 PPI 接口收到数据后进行解析,完成后通过 IDI(Image Data Interface)或者 IPI(Image Pixel Interface)输出到 SoC 的其他模块(VICAP 或 ISP,rk3568 是送至 VICAP 模块);
(6)ISP 将处理过的图片输出到 MP 主通道或 SP 自身通道,SP 一般用来预览图片,SP 图片的最大分辨率比 MP 低;
(7)SoC 通过 APB Slave 总线控制 CSI-2 Host Contrller 的相关寄存器。
参考资料:
硬件开发笔记(十六):RK3568 底板电路 mipi 摄像头接口原理图分析、mipi 摄像头详解_rk3568 dvp-CSDN 博客

