第4章:D-PHY物理层特性——电压与时序归纳
做D-PHY设计,最怕什么?
我最怕的一种情况是:协议通了,眼图也过了,一到量产就翻车。后来查来查去,问题都出在电压和时序的边界上。
说白了,物理层的电压与时序,就是整个D-PHY链路的"地基"。地基不稳,上层协议再漂亮也白搭。
这一章,我把D-PHY物理层最关键的电压参数和时序参数掰开揉碎讲清楚。不搞理论堆砌,只讲你画原理图、做PCB、调测试时真正用得上的东西。
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.1 | 1.2 | 1.3 | V |
| VOL(输出低电平) | 0 | 0.05 | 0.1 | V |
LP接收端(LP-RX)阈值
| 参数 | 最小值 | 典型值 | 最大值 | 单位 |
|---|---|---|---|---|
| VIH(输入高电平阈值) | 0.88 | — | 1.32 | V |
| VIL(输入低电平阈值) | 0 | — | 0.55 | V |
经验值: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时序关键参数
| 参数 | 说明 | 典型值 | 单位 |
|---|---|---|---|
| tLPX | LP传输的最小脉冲宽度 | 50 | ns |
| tTA | 总线方向反转的等待时间 | 80 | ns |
| tCLK-POST | HS传输结束后时钟保持时间 | 60 | ns |
一个容易忽略的点:tLPX是LP模式下最窄的脉冲。如果PCB上有寄生电容,这个窄脉冲会被展宽或削顶。我习惯在仿真时加入2pF~5pF的负载电容模型,看看tLPX还能不能达标。
4.5 电压与时序的可靠性边界
好,参数都讲完了。但参数是死的,板子是活的。真正决定可靠性的,是"裕量"。
电压裕量的三条底线
- HS差分电压余量 ≥ 20%:比如规范要求100mV~300mV,设计目标应锁定在180mV~220mV,留足向上下漂移的空间。
- LP VIH/VIL门槛不碰边:LP高电平不要刚好压在0.88V,低电平不要刚好0.55V。我曾经见过一块板,常温下LP高电平0.92V看似没问题,到了70℃降到0.86V——直接触发不了接收端。
- 共模电压随温度变化补偿:如果发现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%的物理层坑。
| 检查项 | 检查内容 | 通过标准 |
|---|---|---|
| 1 | HS Vdiff 设计值 | 180mV ~ 220mV |
| 2 | HS Vcm 设计值 | 230mV ~ 270mV |
| 3 | Vcm 温漂仿真 | 全温范围 ≥ 190mV |
| 4 | LP VOH 低温最差值 | ≥ 1.05V |
| 5 | tDS/tDH 裕量 | ≥ 50ps |
| 6 | Data/Strobe 等长 | ±0.5mm 以内 |
| 7 | LP 脉冲展宽仿真 | tLPX ≥ 45ns(带负载) |
| 8 | 过孔数量一致性 | 每条线过孔数相差 ≤ 1 |
我的一个小习惯:芯片回板后,第一件事不是跑协议,而是用示波器量HS差分电压和LP高低电平。电压对了再谈时序。电压都不对,时序测了也白测。这个习惯帮我省了至少三次查问题的时间。
物理层的电压和时序,说复杂也复杂,说简单也简单。
复杂在于参数多、边界条件多;简单在于——只要你抓住了"裕量"这个核心,所有参数都能找到落脚点。
下一层楼,我们再深入看看这些参数在PCB布局和仿真中怎么落地。嗯,先消化这些吧。