☰
MIPI D-PHY示波器调试实战:从LP11到HS Burst完整抓波指南
2026/10/5 1:06:37 网站建设 项目流程

调试MIPI D-PHY最头疼的从来不是协议本身,而是你明明知道“这里有信号”,示波器却怎么都抓不到一段完整可看的波形。前阵子调一套RK平台的点屏项目,客户反馈屏偶尔亮偶尔不亮,驱动排查一圈没发现问题,最后把D-PHY波形抓出来才确认,HS Burst前面有一段LP状态退得不到位,主控已经切到高速,但屏幕端还在等LP11。那种从“全黑”到“隐约能看出内容”的瞬间,你就知道物理层信号分析到底有多重要。

这篇文章的目标很明确:让你用一台1GHz带宽左右的示波器,从头到尾把MIPI D-PHY从LP11静态态到完整HS Burst数据包抓全、看懂、量准。不论你是在调RK、MTK这种SoC平台的点屏/摄像头,还是在FPGA里自己实现了MIPI TX想验证时序,这套方法和思路都是通用的。

1. 先把MIPI D-PHY物理层彻底搞懂:两条线、三种状态、一次切换

1.1 示波器探头下的Dp/Dn差分对到底是什么

MIPI D-PHY的数据线和时钟线本质上是差分对,标示为Dp/Dn或Data+/Data-。示波器抓波形时,很多人习惯只夹一根Dp对地量,这是最容易误判的做法。D-PHY是电流型差分驱动,单端看只有100mV-300mV左右的变化,压差极小,一个噪声就能让人以为没信号。

D-PHY物理层定义了三种工作状态:

状态Dp电平Dn电平典型含义
LP-00低低高速传输前的桥接态 / EoT结束态
LP-01低高常用于SoT建立前的中间态
LP-10高低常用于EoT回收或总线竞争
LP-11高高空闲态、所有通信开始前的Waiting状态

这里要记住一个关键点:LP-11是测量的起点。因为MIPI协议规定,每一包数据在进入高速模式之前,总线必须经历一段完整的LP-11→LP-01→LP-00状态切换,然后才由发送端驱动HS信号,形成一次HS Burst。换句话说,你只要能在示波器上定位到LP-11,就一定能顺着它找到后面那串高速数据。

1.2 LP-11到HS Burst的切换时序是触发设计的核心

D-PHY定义了一组时间参数来控制LP和HS之间的过渡。以常见的DSI/CSI传输为例,完整的SoT(Start of Transmission)序列大致是这样:

LP-11等待完成 → LP-01(Dn保持高、Dp拉低)→ LP-00(Dp/Dn都拉低)→ HS-0(进入高速驱动,差分输出为0)→ HS-1(差分输出翻转为1)→ 同步序列0001_1101 → 正式数据。

这组时序里每个阶段都有最小时间要求:

参数含义典型最小量级
T_LPXLP-11保持时间50ns
T_HS-PREPARE进入HS前的准备时间40ns+4×UI
T_HS-ZEROHS-0桥接时间105ns+5×UI
T_HS-SYNC同步序列时间8个UI

读者可能会问,记这些参数有什么用?答案是——这些参数决定了示波器触发放大镜的“观察窗口”。比如你想验证主控是否按协议要求做好了进入高速的准备工作,就必须把时基放到几百纳秒每格,把从LP-11开始到HS数据段前几个比特完整拍下来。我见过很多工程师一上来就用10ns/div去抓“高速波形”,结果只能看到一大片白噪声样子的HS段,前面关键的LP切换过程全丢了。

2. 示波器与探头选型:带宽差一点,结论就差一截

2.1 到底是100MHz还是1GHz才能测MIPI

MIPI D-PHY的HS速率通常在每通道数百Mbps到2.5Gbps之间。以一个很常见的1080p DSI屏为例,4条数据通道跑RGB888,有效数据率分摊下来每条通道约890Mbps,UI约为1.12ns。根据经验法则,测这么快的信号,示波器带宽至少要有信号基频的5倍左右,也就是至少1GHz,采样率最好不低于5GSa/s。

仪器选型的底线我认为是这样:

  • 只是看LP状态和HS是否开启:500MHz带宽就勉强能用,能看到电平翻转,但看不到过冲细节。
  • 要做HS Burst参数测量、眼图分析:1GHz带宽起步,2GHz更踏实。
  • 超过1.5Gbps的车载摄像头或者高端屏:建议别省那钱,直接上2.5GHz以上。

另外,示波器的采样率档位也要主动确认。很多1GHz示波器默认在2GSa/s左右,对应抓1Gbps左右的信号,每个UI只能采到两个点,看时序可以,量眼宽眼高就不够了。手动切到最大存储深度模式去抓长包,也是MIPI波形抓取里容易忽略的一步。

2.2 差分探头和两个无源探头的A-B减法

探头这块我强烈建议优先使用有源差分探头,带宽1GHz以上那种。D-PHY的HS差分摆幅只有100mV-300mV,并且公共电平大约在150mV-250mV,用普通单端探头夹Dp对GND,不但摆幅小,共模噪声也会混进来。而差分探头直接输出Dp-Dn的纯差分信号,示波器上的波形就是协议分析器里看到的那种规整“眼睛”。

如果实验室暂时没有差分探头,退而求其次的办法是:用两个一模一样的高阻无源探头,一个夹Dp、一个夹Dn,用示波器A-B数学通道相减。这里有两个实用要点:

  1. 两个探头必须都拔掉钩子,换成接地弹簧,并且探针尖端尽量靠近被测焊点,否则地环路和引脚电感会把波形搞成一团毛刺。
  2. 两个通道的垂直档位必须一致,并且先在同一测试点校准一下,确认A-B后静态噪声在几个mV以内。我踩过这个坑,两个探头一个x1一个x10混着放,结果A-B出来的波形幅值直接对不上协议要求。

顺带把示波器探头x1/x10的事也一并说了。x1模式下示波器带宽通常被压到几MHz到十几MHz,抓MIPI这种高速信号基本就是灾难;x10模式带宽高但输入衰减也大,而且必须确认示波器菜单里的衰减比和探头开关一致,否则电压读数全部翻倍或减半。

3. 触发方案是成败关键:怎么让示波器恰好在LP11之后开闸

3.1 为什么普通上升沿触发抓不到完整的HS Burst

同事第一次抓MIPI时,直接在数据通道设了个上升沿触发,结果屏幕上全是杂乱无章的波形。原因是HS数据段本身就包含大量上升沿,示波器随机地抓住其中一个,很难完整覆盖从LP11到HS Burst全过程的整个包。

另外,如果屏已经在持续刷新,D-PHY总线上每帧图像都连续不停地发送HS Burst,两个HS Burst之间又被LP状态隔开。这时候普通边沿触发会把每个HS Burst内部某个边沿当成触发点,看起来波形是满屏的,但时间零点和协议阶段对不上,没法分析SoT和EoT。

3.2 用“模式触发”盯着LP-11到LP-01的下边沿

推荐的思路是触发在SoT的起始跳变上,也就是LP-11→LP-01的瞬间。实现方式取决于示波器型号:

  • 如果你用的是Keysight、是德或者R&S近几年的中高端机,通常带有串行触发选项,可以直接选MIPI D-PHY的SoT/EoT触发,填上通道极性,示波器会自动在LP-11后等LP-01的到来。很多机器还能直接给出SoT触发之后的“预触发”时间,把LP-11整个状态完整保留在屏幕左侧。
  • 如果没有MIPI专用触发,退一步用“模式/码型触发,Pattern Trigger”:设置Dp=H、Dn=H为条件,等这两个条件都成立后,再检测Dp出现下降沿作为实际触发。这样就能稳定地让示波器从LP-11处开始记波形。

实际操作时还要把触发电平压低一些。LP状态下Dp/Dn都在0.9-1.2V附近,而HS状态只有0.1-0.3V摆幅。如果示波器设置成自动电平,很容易被HS段较小的差分信号带偏,导致触发点漂掉。手动把触发电平设在LP-01跳变电平的一半附近会可靠很多。

3.3 实在触发不了,就借助时钟通道做延迟采样

MIPI-DSI里时钟通道和Data通道是源同步关系,时钟通道只负责给接收端提供时序。调试时可以盯着时钟通道的差分波形,用时钟通道的边沿触发,然后通过示波器的水平延迟旋钮把观测窗口整体往后挪,把对应数据通道的HS Burst拉到屏幕范围里。

这个方法虽然绕,但好处非常明显:时钟通道上HS Burst每隔几微秒就会来一次,而且边沿非常干净规则,触发抖动小。比起在数据通道上碰运气,这样抓出来的波形相对稳定。等拿到数据通道上的SoT附近波形后,再决定要不要优化触发条件。

4. 实测全流程:从生波到量参的四个标准步骤

4.1 连接与全局设置:别一上来就Auto

先说一个最常见的坏习惯:上电前就把示波器按了Auto,指望仪器自动找到一段好看波形。MIPI信号里既有LP态又有HS态,幅值差了一个数量级,Auto出来的波形不是削顶就是糊成一团。

正确顺序是先把示波器垂直档位设置成能容纳LP和HS两套电平的范围,比如Dp通道500mV/div、Dn通道500mV/div,这样1.2V的LP高电平不会削顶,后面HS小信号虽然看起来只有薄薄一层,但没有失真。时间档位从2us/div开始,先看到不同HS Burst之间的间隔节奏,再逐步缩小到200ns/div抓单包细节。

采样率和存储深度的配合要提前算好。抓一个完整HS Burst,以890Mbps速率、持续8us为例,需要存储约16000个UI,如果用5GSa/s采样,至少需要80k点,算上前后余量建议把示波器存储深度开到1M点以上,并且开启长存储模式。示波器说明书上都会写最长存储深度,实际抓包前手动确认一下即可。

4.2 第一步:静态验证LP-11电平和漏电

先把系统停在无刷屏状态,比如屏驱动里让主控不发数据,保持总线空闲。此时用示波器两个通道分别看Dp、Dn,应该稳定地趴在LP-11高电平上。用光标测一下Dp-Dn差值与单端对地电压:

  • 单端电平:一般用1.2V或1.8V逻辑,具体查主控的MIPI PHY电源配置;
  • 差分差值:0V附近,因为两条线都是高电平。

这一步看着简单,却是我每次都先做的。因为很多“点不亮”的根本原因是Dp和Dn其中一根断开、虚焊或者EMI器件选错,导致LP-11静态时单端电平就不对。如果在LP-11阶段就发现两线电平不一致,后面HS抓得再漂亮也白搭。

4.3 第二步:触发捕捉LP-11到HS Burst完整包

按第3节方式设好触发后,开启单次触发模式。大部分屏的D-PHY信号会周期性出现,所以按下“Single”之后通常一两秒就能抓到一段完整波形。此时屏幕左侧应该能看到LP-11、LP-01、LP-00的台阶变化,中段是高频的HS Burst,最后以一段LP态收尾。

抓包完成后,把时间档位放大到能看清SoT的阶段,通常50ns/div左右比较合适,然后逐一测量:

  • LP-11持续期是否符合T_LPX最小要求;
  • LP-01→LP-00之间的过渡沿是否干净,有没有回沟;
  • HS-0到HS-1的桥接区时长是否落在协议范围内。

很多FPGA实现的MIPI TX出问题,就是在这些状态切换时间上做作了“刚刚好”,温度一变就超差。示波器抓到这里恰好暴露出来。

4.4 第三步:在HS Burst内部量UI、摆幅和建立保持关系

把时基进一步缩到5ns/div左右,能看到HS Burst里交替的差分电平翻转。用示波器测量功能:

  • Vmax/Vmin之差就是HS差分摆幅,正常应该在100mV-300mV之间,低于80mV基本是PCB走线或者端接电阻的问题;
  • 在时钟通道上测量周期并换算频率,确认实际数据率是否与串口配置一致。比如配置是1Gbps,量出来1.25Gbps,多半是PLL配置错误或 Lane Rate 计算少了overhead;
  • 在数据通道和时钟通道之间量建立时间和保持时间。接收端的采样窗口很小,如果边沿挨得过近,高速时就会出现随机花屏。

如果想更直观一些,用示波器的眼图功能,把数据通道作为被测信号,时钟通道作为恢复时钟参考,叠加几百个UI后直接看眼高、眼宽和交叉点位置。D-PHY的眼图交叉点应该在50%左右,如果明显偏移到40%以下,往往说明上升沿和下降沿不对称。

5. 波形判读的常见陷阱:这些坑我基本都踩过

5.1 探头地线过长引起的振铃,最容易冒充真实过冲

MIPI HS过冲确实可能存在,但更多时候我看到的是探头带来的假振铃。很多工程师习惯用探头上那根十几厘米的鳄鱼夹地线,这在100MHz信号面前无所谓,到了1Gbps量级,地线电感加上探头电容,会在波形上产生一个幅度不小的“尾巴”,看起来像过冲,实际上是测量回路本身在振。

解决方法是短地紧贴。用探头自带的弹簧地针,尽量贴近测量点;没有弹簧地针,就找一块露出铜皮的GND铺铜,把探头地夹直接卡上去。做完这件事再看波形,所谓“过冲超过协议限制”的情况一下子就消失了大半。判断真过冲和探头振铃还有个简单技巧:把探头带宽限制切到500MHz,如果振铃幅度明显变小,说明是探头/地线回路在做怪。

5.2 测量值一会儿大一会儿小,先怀疑自动电平而不是信号

HS段信号只有200mV左右,如果示波器“自动量程”把垂直量程自动缩到很小,噪声会把波形底部抬得很高,导致Vmax/Vmin测量极不稳定。我通常把两个通道都锁定在固定量程,然后手动调偏移让波形居中,测量结果才会基本不飘。另外,把示波器的带宽限制方式从“全带宽”切到“1GHz”(如果支持)或者打开“高分辨率采集”模式,能过滤掉一部分高频噪声,让眼图轮廓更干净。

5.3 数据导出的坑:CSV文件看起来没问题,重放却对不上

热词里总有人在问“示波器报错的波形csv在电脑上可以看吗”,这事我也经历过。示波器导出的CSV里通常只有电压值,没有明确的通道属性,而点屏项目里Dp和Dn很容易被混成两个普通通道。后期做报告前,我在示波器上先把Dp-Dn数学通道保存成单独波形,再导CSV,程序里就只用判断“波形1”和“波形2”,不会再把正负关系弄反。

如果抓包是为了给上游IC原厂分析,最省事的办法是直接存成.isf、.wfm这类原始二进制格式,和原厂确认他们用哪款示波器软件能打开。不要只给CSV,CSV导出时小数位截断会丢失很多边沿细节,原厂FAE看一眼就是一句“重抓”。

5.4 万用表测不出HS信号,不代表总线没数据

还有一类高发误判:用万用表或者逻辑分析仪的低速通道去量MIPI数据通道,看到“没有变化”就认为总线没有输出。HS Burst是几百Mbps的差分小信号,普通万用表只取平均值,自然显示一个接近直流的值。正确做法是让示波器进入高采样率模式,观察时间轴上的高频密度。如果你在示波器上看到一片密集的翻转区域,那就是HS Burst在跑,并不是无信号。

最后说一个我自己的习惯:每次调通一个MIPI项目,我会把标准的LP11→SoT→HS Burst→EoT波形保存成一个“黄金模板”文件,命名里带上主控型号、分辨率和数据率。下次再遇到这个平台的问题,先把当前波形与模板叠在一起对比,哪些参数变了立刻就能看出来。这套东西配合示波器的参考波形功能,比翻多少页芯片手册都直接。

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询