114、MIPI C-PHY 编码原理与测试:3-Phase 编码、眼图测量与 D-PHY 的区别
从一次诡异的“花屏”说起
去年做一款旗舰机主摄模组调试,Sensor 端输出 C-PHY 3-lane,接在自家 ISP 的 CSI 接收器上。实验室里一切正常,一上产线,批量烧录后随机出现“横条纹 + 局部偏色”——不是每台都出,但概率 3% 左右,足够让产线停线排查。
当时第一反应是 D-PHY 那套老办法:量差分电压、看共模、测上升时间。结果示波器一挂,波形漂亮得像教科书。折腾两天后,老同事路过看了一眼:“你测的是 D-PHY 的差分,C-PHY 是 3-Phase,你量错地方了。”
这句话让我意识到,C-PHY 和 D-PHY 的差异远不止“多一根线”那么简单。今天这篇笔记,就从那次踩坑开始,把 C-PHY 的编码原理、眼图测量方法,以及和 D-PHY 的本质区别掰开揉碎讲清楚。
3-Phase 编码:为什么是“三根线”而不是“差分对”
D-PHY 用一对差分线传一个 bit,时钟和数据分离。C-PHY 砍掉了专用时钟线,用三根线(A、B、C)组成一个“三线组”,每根线在三个电平状态(高、低、中间)之间跳变。这里有个关键点:三根线不能同时处于同一电平——这是协议强制约束,也是编码的核心。
每次跳变,三根线从当前状态切换到下一个状态,状态总数是 3! = 6 种(三根线排列组合)。但协议只用了其中 3