1. MIPI 基础概念:从联盟到物理层
做嵌入式驱动这些年,我接触最多的接口就是 MIPI。无论是手机摄像头、平板显示屏,还是车载摄像头模块,背后几乎都是 MIPI 在干活。今天咱们就从根上捋一捋——MIPI 联盟、CSI‑2/DSI 协议、D‑PHY 物理层,这三块搞明白了,后面调试信号、写驱动才不会发懵。
1.1 MIPI 联盟:谁定的规矩?
MIPI 联盟全称 Mobile Industry Processor Interface Alliance,2003 年成立。说白了,就是一群芯片公司(ARM、ST、TI、Nokia 等)凑在一起,想给移动设备内部接口定一套统一标准。
为什么要搞这个联盟?
- 减少混乱:以前摄像头、显示屏各用各的并行接口,排线多、功耗高、速度上不去。
- 降低门槛:有了统一标准,SoC 厂商和模组厂商可以各自专注,不用互相迁就。
- 推动演进:从 D‑PHY 到 C‑PHY,从 CSI‑2 到 CSI‑3,联盟持续迭代。
个人习惯:我每次拿到新 Sensor 的 datasheet,第一件事就是翻到 "MIPI Compliance" 章节。如果它说兼容 CSI‑2 v1.3,我就知道 Lane 数、速率范围、ECC 校验这些参数大概在什么档次。
1.2 CSI‑2 与 DSI 协议:摄像头 vs 显示屏
MIPI 协议族里,咱们嵌入式工程师打交道最多的就是两个:
| 协议 | 全称 | 用途 | 典型设备 |
|---|---|---|---|
| CSI‑2 | Camera Serial Interface 2 | 图像传感器 → 处理器 | 摄像头模组、ISP |
| DSI | Display Serial Interface | 处理器 → 显示屏 | LCD 屏、OLED 屏 |
CSI‑2 的核心特点:
- 分层架构:应用层、协议层、物理层。
- 支持多数据流:同一链路上可以传 RAW、YUV、JPEG 等多种格式。
- 内建 ECC 和 CRC:传输可靠性有保障。
DSI 的核心特点:
- 支持命令模式和视频模式。
- 命令模式适合小尺寸屏(手表、IoT),视频模式适合大尺寸屏(手机、平板)。
- 低功耗模式(LP)和高速模式(HS)动态切换。
避坑指南:我曾经在一个项目里把 CSI‑2 的 Lane 映射配反了——Sensor 输出 4 Lane,但 SoC 端只配了 2 Lane 的映射表。结果图像花屏,查了三天才发现是协议层的 Lane 分配没对齐。所以,CSI‑2 的 "Virtual Channel" 和 "Data Type" 一定要和 Sensor 端严格对应。
1.3 D‑PHY 物理层架构:信号长什么样?
D‑PHY 是 MIPI 最常用的物理层标准。它定义了信号如何在线路上传输。咱们调试时拿示波器抓的波形,就是 D‑PHY 的电气表现。
D‑PHY 的关键概念:
- Lane:一条差分对(Dp/Dn)。CSI‑2 最少 1 Lane,最多 4 Lane。
- Clock Lane:差分时钟,始终存在。
- Data Lane:差分数据,可以单向或双向。
- 两种模式:LP(低功耗,1.2V 单端)和 HS(高速,200mV 差分)。
D‑PHY 的传输状态:
| 状态 | 电平 | 用途 |
|---|---|---|
| LP‑00 | Dp=0, Dn=0 | 停止 / 空闲 |
| LP‑01 | Dp=0, Dn=1 | HS 请求 |
| LP‑10 | Dp=1, Dn=0 | LP 请求 |
| LP‑11 | Dp=1, Dn=1 | 控制 / 停止 |
注意:HS 模式下信号摆幅只有 200mV 左右,共模电压约 200mV。示波器探头要用差分探头,或者用 AC 耦合 + 50Ω 端接。普通 10× 探头直接测,波形会严重失真。
1.4 D‑PHY 的 Lane 结构图
下面这张图是我自己画的一个 D‑PHY Lane 的典型连接结构。你可以看到 Clock Lane 和 Data Lane 如何连接到 SoC 和 Sensor。
1.5 小结:这三块怎么串起来?
MIPI 联盟定标准,CSI‑2/DSI 定协议格式,D‑PHY 定电气传输。咱们调试时,从上往下查:
- 协议层:检查 Virtual Channel、Data Type、帧格式对不对。
- 物理层:看 Lane 数、速率、端接、共模电压。
- 电气层:用示波器抓 HS 和 LP 状态,确认信号完整性。
我的经验:很多新手一上来就调驱动代码,其实先拿示波器看一眼 Clock Lane 有没有波形,能省一半时间。Clock 没有,后面全是白费。