第4章:D-PHY物理层特性——电压与时序归纳

做D-PHY设计,最怕什么?
我最怕的一种情况是:协议通了,眼图也过了,一到量产就翻车。后来查来查去,问题都出在电压和时序的边界上。
说白了,物理层的电压与时序,就是整个D-PHY链路的"地基"。地基不稳,上层协议再漂亮也白搭。

这一章,我把D-PHY物理层最关键的电压参数和时序参数掰开揉碎讲清楚。不搞理论堆砌,只讲你画原理图、做PCB、调测试时真正用得上的东西。

D-PHY物理层:电压与时序知识体系 LP 电压域 HS 电压域 时序参数 VOH / VOL VIH / VIL Vdiff 摆幅 Vcm 共模 UI / tDS / tDH tLPX / tTA 可靠性边界:电压裕量 + 时序裕量 量产良率保障 → 眼图余量 → 温度/电压漂移 设计余量 ≥ 20% 为佳 温度每升10℃ 时序漂移约1%

4.1 两种电压模式,两个世界

D-PHY最特别的地方,就是它同时活在两个电压世界里。

  • LP模式(低功耗):单端信号,0~1.2V摆幅。用来传输控制指令和握手。
  • HS模式(高速):差分信号,摆幅只有200mV左右。用来传真正的像素数据。

你想想看,两个模式的电压差了快6倍。所以设计时最怕什么?就是模式切换瞬间的电压毛刺。
我在项目里遇到过好几次,LP转HS的瞬间,共模电平突然跳变,直接把接收端的输入级打歪了。

核心原则:LP和HS的电压域必须独立规划退耦路径。千万别共用一颗电容,否则高速噪声会串到LP控制线上。

4.2 HS电压:小摆幅,大讲究

HS传输用的是差分信号。差分的好处大家都懂——抗共模干扰。但小摆幅也意味着噪声预算很紧张。

HS差分电压(Vdiff)

  • MIPI规范要求:100mV ~ 300mV
  • 典型设计值:200mV ± 10%
  • 我个人的习惯:设计时按180mV~220mV控,留足上下裕量。

HS共模电压(Vcm)

  • 规范范围:200mV ~ 300mV
  • 典型值:250mV
  • 这里有个坑——Vcm对温度敏感。我在-20℃低温下测到过Vcm掉到180mV,接收端直接误码。

注意:HS共模电压的温漂是隐藏杀手。PCB上的参考电阻(比如1kΩ到地)必须用低温漂系数器件,建议≤±25ppm/℃。否则量产时高温/低温批次会大面积失效。

4.3 LP电压:阈值决定成败

LP模式虽然速度慢,但它是整个链路的"指挥系统"。如果LP握手失败,HS根本启动不了。

LP发送端(LP-TX)参数

参数最小值典型值最大值单位
VOH(输出高电平)1.11.21.3V
VOL(输出低电平)00.050.1V

LP接收端(LP-RX)阈值

参数最小值典型值最大值单位
VIH(输入高电平阈值)0.88—1.32V
VIL(输入低电平阈值)0—0.55V

经验值:LP接收阈值中间有大约330mV的迟滞区(0.55V ~ 0.88V)。这个迟滞是故意设计的,用来抗噪声。但如果你PCB走线太长,地弹噪声超过300mV...嗯,迟滞也救不了你。我曾经在一块4层板上吃过这个亏,LP信号线上串了颗100pF的电容才压住毛刺。

4.4 时序参数:快与准的平衡

时序这东西,说白了就是"什么时候该干什么事"。D-PHY的时序参数很多,但真正影响可靠性的,我归纳下来就这几个。

HS时序三大件

  • UI(Unit Interval):一个数据位的时间。比如1Gbps时,UI=1ns。UI的精度直接影响误码率。
  • tDS(Data to Strobe Setup Time):数据在Strobe跳变前必须稳定的时间。典型值≥50ps。
  • tDH(Data to Strobe Hold Time):数据在Strobe跳变后必须保持的时间。典型值≥50ps。

我做过一次统计:在量产测试中,约70%的D-PHY失效案例都和tDS/tDH裕量不足有关。不是芯片不行,是PCB走线等长没控好。

LP时序关键参数

参数说明典型值单位
tLPXLP传输的最小脉冲宽度50ns
tTA总线方向反转的等待时间80ns
tCLK-POSTHS传输结束后时钟保持时间60ns

一个容易忽略的点:tLPX是LP模式下最窄的脉冲。如果PCB上有寄生电容,这个窄脉冲会被展宽或削顶。我习惯在仿真时加入2pF~5pF的负载电容模型,看看tLPX还能不能达标。

4.5 电压与时序的可靠性边界

好,参数都讲完了。但参数是死的,板子是活的。真正决定可靠性的,是"裕量"。

电压裕量的三条底线

  1. HS差分电压余量 ≥ 20%:比如规范要求100mV~300mV,设计目标应锁定在180mV~220mV,留足向上下漂移的空间。
  2. LP VIH/VIL门槛不碰边:LP高电平不要刚好压在0.88V,低电平不要刚好0.55V。我曾经见过一块板,常温下LP高电平0.92V看似没问题,到了70℃降到0.86V——直接触发不了接收端。
  3. 共模电压随温度变化补偿:如果发现Vcm温漂超标,可以在PCB上加一颗100nF的共模稳定电容,或者调整驱动端的电流源偏置。

时序裕量的两个必检项

  • 走线等长控制:D-PHY的Data Lane和Strobe Lane,PCB走线等长误差建议≤±0.5mm。1mm的差距在1Gbps下大约产生5ps的时序偏差——别小看这5ps,它可能吃掉你一半的裕量。
  • 过孔带来的时序偏移:每个过孔大约增加10ps~15ps的延迟。如果一条线打了2个过孔,另一条打了4个,那偏差就直接超标了。

避坑指南:我曾经在一个项目中,D-PHY时钟线和数据线分别走了不同的PCB层,结果因为层间介质常数差异,产生了30ps的skew。从那以后,我强制要求所有D-PHY高速信号必须在同一层走线,且等长以"引脚到引脚"为单位,不能只算走线长度。

4.6 把参数变成设计检查清单

讲了这么多,最后我给大家一张自检清单。每次做D-PHY设计时,逐条打勾,能帮你避开90%的物理层坑。

检查项检查内容通过标准
1HS Vdiff 设计值180mV ~ 220mV
2HS Vcm 设计值230mV ~ 270mV
3Vcm 温漂仿真全温范围 ≥ 190mV
4LP VOH 低温最差值≥ 1.05V
5tDS/tDH 裕量≥ 50ps
6Data/Strobe 等长±0.5mm 以内
7LP 脉冲展宽仿真tLPX ≥ 45ns(带负载)
8过孔数量一致性每条线过孔数相差 ≤ 1

我的一个小习惯:芯片回板后,第一件事不是跑协议,而是用示波器量HS差分电压和LP高低电平。电压对了再谈时序。电压都不对,时序测了也白测。这个习惯帮我省了至少三次查问题的时间。

物理层的电压和时序,说复杂也复杂,说简单也简单。
复杂在于参数多、边界条件多;简单在于——只要你抓住了"裕量"这个核心,所有参数都能找到落脚点。
下一层楼,我们再深入看看这些参数在PCB布局和仿真中怎么落地。嗯,先消化这些吧。