3. MIPI物理层(D-PHY)基础:差分信号、电压摆幅、LP-HS模式、线速

做摄像头调试这几年,我打交道最多的就是D-PHY。可以说,链路调通调稳,九成功力都花在物理层上。很多工程师一上来就盯着I2C配置、帧格式、时钟校准,结果信号质量不行,什么都白搭。今天我把D-PHY最核心的几个概念揉碎了讲,顺便说说自己踩过的坑。

3.1 差分信号:为什么MIPI非要“两根线一起走”

D-PHY的每个通道都是一对差分线——Dp(正极)和Dn(负极)。发送端在这两根线上同时送出大小相等、极性相反的电压,接收端用差分放大器取Dp - Dn。这样有两个巨大好处:

  • 抗共模噪声:地弹、电源纹波、外界电磁干扰都会在两根线上产生相同的噪声分量,差分放大器一减就抵消了。
  • 低电压摆幅:信号幅值可以降到200mV左右,功耗和电磁辐射都低。

我记得自己第一次调MIPI摄像头时,系统接地没处理好,地弹大概有300mV的毛刺。单端信号早就挂了,但差分对愣是扛住了——接收眼的张开度只损失了不到5%。这就是差分信号的硬实力。

实战小贴士:布线时尽量让Dp和Dn完全等长,间距控制在差分阻抗100Ω的宽度。我习惯在PCB设计阶段就用SI仿真确认,等板子打回来再改就麻烦大了。

3.2 电压摆幅:HS和LP根本是两个世界

D-PHY工作在两种模式:高速(HS)和低功耗(LP)。它们的电压摆幅差了一个数量级。

模式 电压范围(V) 差分摆幅(mV) 用途
HS(高速) 0.1 – 0.3 140 – 270 传输像素数据、控制命令
LP(低功耗) 0 – 1.2 单端1.2V(非差分) 总线状态控制、握手信号

HS模式的差分电压典型值是200mV,很多示波器量出来的峰峰值大概在这个范围。LP模式是单端信号,用Common Mode电压来区分逻辑0(1.2V)和逻辑1(0V)。

为啥要这么设计? 说白了,HS要快,电压摆幅小才能高速翻转(电磁辐射也小);LP要稳,高电压摆幅保证在噪声环境里也能可靠判定状态。我遇到过一位同事,把HS的终端匹配电阻焊成了100Ω而不是100Ω差分(实际两根线之间100Ω),结果摆幅直接降到80mV,链路时通时断。用示波器一量才发现的——嗯,从此我每次都先量匹配电阻。

注意:LP模式工作时,接收端必须耐受1.2V电压。如果误把LP信号灌入HS接收器,可能会烧坏输入管。我曾经在某个开发板上干过这事,板子直接不亮了……还好只是烧了一个IO口,换了个芯片才解决。

3.3 LP-HS模式:状态切换里的玄机

MIPI总线的数据线可以在LP和HS模式之间切换。整个切换过程由状态机控制,常见状态有:

  • Stop(LP-11):Dp和Dn都是1.2V,总线空闲。
  • HS-Idle:差分电压稳定在100mV左右,等待数据传输。
  • HS-Traffic:差分电压在200mV左右翻转,发送数据。
  • Escape Mode:特殊控制指令,比如进入低功耗模式、复位等。

切换时序是同步的:通常由Clock Lane发送一个“LP→HS”的序列(Mark-1),Data Lane跟着进入HS模式。重点来了——退出HS模式时一定要回到LP-11状态,不能直接切回Stop。否则接收端的状态机就跑飞了。

我刚开始做MIPI驱动时,在FPGA里写了一个简单的TX控制逻辑,HS数据发完后只把差分电平拉回0,没走标准的LP退出序列。结果摄像头隔三差五就断流,重启才能恢复。查了三天,用逻辑分析仪看到总线上最后一段波形乱糟糟的——噢,原来缺少LP-11的保持时间。补上短短几个LP-11周期后,链路再也没断过。

核心准则:HS→LP的转换,接收端必须看到“Dp和Dn同时保持高电平超过THS-EXIT时间(典型100ns)”才能确认退出。这个时间不能短,否则状态机卡在中间出不来。

3.4 线速:多少带宽才够用?

D-PHY的线速率通常指每条差分通道的数据传输率,单位Gbps。MIPI采用的是双倍数据率(DDR),时钟上升沿和下降沿各采一次数据,所以数据速率 = 2 × 时钟频率。举个例子:一个800Mbps的Data Lane,时钟频率是400MHz。

常见的线速率等级:

  • 1Gbps以下:老款传感器、低速控制链路,布线要求不高。
  • 1.5 – 2.5Gbps:主流1080P/4K摄像头,需要控制PCB走线长度差在5mil以内。
  • 4.5Gbps及以上:高端8K、多通道聚合,必须用低损耗板材,且要避免过孔阻抗不连续。

线速提高后,最主要的限制因素是信号完整性。我调试过一个4线2.5Gbps的项目,板子上的过孔导致回波损耗,眼图闭合到只有90mV。把过孔换成背钻的,并调整了耦合电容位置,眼图立刻恢复到了220mV。说白了,做高速MIPI就是跟每根走线的每一毫米较劲。

快速估算:如果摄像头输出1920×1080@60fps,10bit RAW,码率 ≈ 1920×1080×60×10 ≈ 1.24 Gbps。用2条Data Lane分担,每线速率约620Mbps。选1Gbps带宽的PHY就绰绰有余了,但要注意物理层的上升时间要够快(< 150ps),否则信号边沿会跟时钟对不齐。
D-PHY 物理层核心组件与信号状态 发送器 HS-TX / LP-TX 差分线对 Dp / Dn 100Ω 差分阻抗 接收器 HS-RX / LP-RX 总线状态切换序列(以 Data Lane 为例) LP-11(Stop) → LP → HS 序列 HS-Traffic → HS → LP 序列 必须保持 LP-11 至少 THS-EXIT (100ns) HS 摆幅:~200mV 差模 LP 摆幅:0 – 1.2V 单端 线速率 = 2 × 时钟频率(DDR) | 典型范围 80Mbps – 4.5Gbps

本章要记牢的三件事:

  1. 差分信号天生抗干扰,但必须保证Dp/Dn等长且差分阻抗100Ω。
  2. HS与LP的电压摆幅差别极大,终端匹配和切换时序是稳定性命门。
  3. 线速率越高,对PCB材料和布局越敏感,眼图实测不能省。