1. MIPI基础与物理层:从协议到信号,把底层的门道说清楚

各位同学,咱们今天开篇先聊聊MIPI。很多刚入行的工程师,一听到MIPI就头大——什么D-PHY、C-PHY、CSI-2、DSI,一堆缩写。其实没那么玄乎。我当年刚接触高通平台时,也被这些概念绕晕过。后来调了几个模组,踩了些坑,才慢慢理清楚。

说白了,MIPI就是一套标准。它规定了摄像头、显示屏怎么和主控芯片通信。咱们做相机驱动,最常打交道的就是CSI-2(摄像头接口)和D-PHY(物理层)。今天这一章,咱们就把地基打牢。

1.1 MIPI联盟:谁定的规矩?

MIPI联盟是一个行业组织。ARM、Intel、高通、三星这些大厂都是成员。他们制定了一整套接口标准,专门给移动设备用。为什么?因为手机内部空间寸土寸金,功耗要求又苛刻。传统的并行接口(比如并口摄像头)线太多、功耗高,根本不适合。

MIPI的核心理念就两条:

  • 差分信号传输——抗干扰强,速率高
  • 低功耗设计——有省电模式,不用时能休眠

我个人习惯把MIPI联盟想象成一个“标准委员会”。他们只出文档,不生产芯片。咱们工程师要做的,就是按照他们的规范去设计硬件、写驱动。

1.2 CSI-2与DSI:一个拍,一个显

MIPI协议族里,咱们最关心两个:

协议 全称 用途 方向
CSI-2 Camera Serial Interface 2 摄像头数据传输 从Sensor到主控
DSI Display Serial Interface 显示屏数据传输 从主控到Display

咱们这门课主要讲CSI-2。DSI虽然协议不同,但物理层是一样的。所以物理层搞懂了,DSI那边也能触类旁通。

重点:CSI-2定义了数据怎么打包、怎么传。但它不关心信号怎么在线上跑。信号怎么跑,是物理层的事——也就是D-PHY或C-PHY。

1.3 D-PHY物理层:LP和HS,两种活法

D-PHY是MIPI最常用的物理层。它有两种工作模式:

  • HS(High Speed)模式:高速传输数据。差分信号,电压摆幅小(约200mV),速率高(每通道最高2.5Gbps)。
  • LP(Low Power)模式:低速控制信号。单端信号,电压摆幅大(1.2V),速率低(最高10Mbps)。

为什么会这样设计?你想想看,摄像头传图像数据时,数据量大,必须用HS模式。但平时不传数据时,用HS模式太费电。所以MIPI设计了LP模式,用来做控制、握手、休眠。

我刚开始调试时,遇到过一个问题:Sensor输出图像花屏。查了半天,发现是LP模式下信号质量不好,导致同步头没被正确识别。嗯,这里要注意——LP模式虽然速率低,但信号完整性同样重要。

D-PHY的通道结构

一个典型的D-PHY链路包含:

  • 时钟通道(Clock Lane):差分对,提供时钟参考
  • 数据通道(Data Lane):差分对,传输数据。数量可以是1、2、4条

时钟和数据通道的关系,我画了张图:

D-PHY 链路结构(以4条数据通道为例) 主控 SoC Camera Sensor 时钟通道 (CLK+) 时钟通道 (CLK-) 数据通道0 (D0+) 数据通道0 (D0-) 数据通道1 (D1+) 数据通道1 (D1-) 数据通道2 (D2+) 数据通道2 (D2-) 数据通道3 (D3+) 数据通道3 (D3-) 数据流向

注意看,时钟通道是单向的——从主控发给Sensor。数据通道是双向的,但大部分时间数据是从Sensor流向主控。LP模式下,数据通道也可以反向传控制指令。

1.4 D-PHY vs C-PHY:怎么选?

C-PHY是MIPI后来推出的物理层。它和D-PHY不兼容。我整理了个对比表:

对比项 D-PHY C-PHY
信号线 每通道2根线(差分对) 每通道3根线(三线制)
时钟 独立时钟通道 时钟嵌入在数据中
每通道速率 最高2.5 Gbps 最高2.5 Gbps(等效)
功耗 较低 略高
引脚数 少(2线/通道) 多(3线/通道)
应用场景 主流摄像头、显示屏 高端摄像头、高分辨率屏

目前市面上绝大多数摄像头模组用的还是D-PHY。C-PHY虽然速率更高,但兼容性差,调试起来也更麻烦。我个人建议,除非项目明确要求C-PHY,否则优先选D-PHY。

我的经验:有一次客户要求用C-PHY接一个4K摄像头。结果layout时没注意三线等长,信号质量一塌糊涂。后来改了两版PCB才搞定。C-PHY对PCB走线要求比D-PHY苛刻得多。

1.5 时钟与数据通道的关系:谁跟着谁?

这个问题很多新手搞混。D-PHY里,时钟通道和数据通道的关系是这样的:

  • HS模式下:数据通道以时钟通道为参考。每个时钟周期,数据通道传1个bit(DDR模式下传2个bit)。
  • LP模式下:没有时钟。数据通道自己用曼彻斯特编码传控制信号。

举个例子。假设你的Sensor输出1920x1080@30fps,10bit raw。算一下需要的带宽:

1920 * 1080 * 30 * 10 = 622,080,000 bps ≈ 622 Mbps

如果用4条数据通道,每条通道只需要传155.5 Mbps。D-PHY的HS模式轻松搞定。但如果你只用1条通道,那就需要622 Mbps,接近D-PHY的极限了。

避坑指南:我曾经遇到一个项目,Sensor输出分辨率很高,但只接了2条数据通道。结果帧率死活上不去。后来加了2条通道才解决。所以选通道数时,一定要留余量。我一般按带宽的1.5倍来选。

1.6 本章小结

这一章咱们把MIPI的底子打好了。记住几个关键点:

  • MIPI是移动设备的标准接口,CSI-2管摄像头,DSI管显示屏
  • D-PHY有HS和LP两种模式,各司其职
  • 时钟通道和数据通道是分开的,数据以时钟为参考
  • C-PHY是D-PHY的升级版,但兼容性差,目前不是主流