3. MIPI物理层(D-PHY)基础:差分信号、电压摆幅、LP-HS模式、线速
做摄像头调试这几年,我打交道最多的就是D-PHY。可以说,链路调通调稳,九成功力都花在物理层上。很多工程师一上来就盯着I2C配置、帧格式、时钟校准,结果信号质量不行,什么都白搭。今天我把D-PHY最核心的几个概念揉碎了讲,顺便说说自己踩过的坑。
3.1 差分信号:为什么MIPI非要“两根线一起走”
D-PHY的每个通道都是一对差分线——Dp(正极)和Dn(负极)。发送端在这两根线上同时送出大小相等、极性相反的电压,接收端用差分放大器取Dp - Dn。这样有两个巨大好处:
- 抗共模噪声:地弹、电源纹波、外界电磁干扰都会在两根线上产生相同的噪声分量,差分放大器一减就抵消了。
- 低电压摆幅:信号幅值可以降到200mV左右,功耗和电磁辐射都低。
我记得自己第一次调MIPI摄像头时,系统接地没处理好,地弹大概有300mV的毛刺。单端信号早就挂了,但差分对愣是扛住了——接收眼的张开度只损失了不到5%。这就是差分信号的硬实力。
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,链路时通时断。用示波器一量才发现的——嗯,从此我每次都先量匹配电阻。
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周期后,链路再也没断过。
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就是跟每根走线的每一毫米较劲。
本章要记牢的三件事:
- 差分信号天生抗干扰,但必须保证Dp/Dn等长且差分阻抗100Ω。
- HS与LP的电压摆幅差别极大,终端匹配和切换时序是稳定性命门。
- 线速率越高,对PCB材料和布局越敏感,眼图实测不能省。