3. 车载显示系统架构
显示链路调试,说白了就是让主芯片和屏幕“说上话”。
我见过不少项目,代码编译通过、驱动加载成功,屏幕就是不亮。或者亮了,但闪屏、花屏、有水波纹。这时候,万用表帮不了你,得靠示波器和协议分析仪上场。
这一章,我把实际项目中踩过的坑和常用的调试手段拆开来讲。你跟着走一遍,心里就有底了。
3.1 LVDS信号测量与眼图分析
LVDS(低压差分信号)在车载座舱里用得特别多,尤其是分辨率在720P到1080P之间的屏幕。它的优点是抗干扰强、传输距离远。但缺点也很明显——一旦信号质量下降,排查起来很费劲。
3.1.1 测量前的准备
我个人习惯,先确认以下几点:
- 差分探头:必须用有源差分探头,带宽至少1GHz。普通单端探头测LVDS,测出来全是噪声。
- 接地方式:探头接地线越短越好。我见过有人用长地线夹子,结果测出来的眼图全是闭合的。
- 触发设置:用数据时钟作为触发源,不要用数据线本身触发。
3.1.2 眼图分析的关键指标
眼图是衡量信号质量的“心电图”。我一般盯着这几个参数看:
| 参数 | 合格范围 | 常见问题 |
|---|---|---|
| 眼高(Eye Height) | ≥ 200mV | 信号衰减、阻抗不匹配 |
| 眼宽(Eye Width) | ≥ 0.6 UI | 时钟抖动、串扰 |
| 抖动(Jitter) | ≤ 0.3 UI | 电源噪声、PCB走线过长 |
| 共模电压 | 1.2V ± 0.1V | 端接电阻虚焊、驱动芯片损坏 |
我曾经遇到一个项目,屏幕在高温下出现横纹。查了半天,发现是LVDS的共模电压在85°C时漂到了1.35V。换了一颗驱动芯片,问题解决。
3.1.3 眼图闭合的常见原因
- PCB走线等长没做好:LVDS是差分对,对内等长误差要控制在5mil以内。我见过有人用自动布线,结果一对线差了30mil,眼图直接闭合。
- 端接电阻不对:LVDS标准端接是100Ω。有些设计用了120Ω,信号反射严重。
- 电源纹波太大:LVDS驱动芯片的供电纹波要控制在50mV以内。纹波大了,抖动就大。
3.2 MIPI DSI协议抓包
MIPI DSI在车载座舱里越来越普及,尤其是2K、4K分辨率的大屏。它的调试比LVDS复杂,因为除了物理层,还有协议层。
3.2.1 抓包工具的选择
我常用的方案有两种:
- 逻辑分析仪:适合抓取LP(低功耗)模式下的命令。比如初始化序列、睡眠唤醒命令。
- MIPI协议分析仪:适合抓取HS(高速)模式下的数据。比如图像数据、视频流。
说实话,逻辑分析仪便宜,但只能看个大概。真要定位问题,还是得上协议分析仪。
3.2.2 关键抓包内容
我一般会抓这几类数据:
- 初始化序列:检查DCS命令是否发送正确。比如0x11(退出睡眠)、0x29(打开显示)。
- 视频时序:检查HSA、HBP、HFP、VSA、VBP、VFP这些参数是否和屏幕规格书一致。
- CRC校验:检查数据包是否有CRC错误。CRC错误多了,屏幕会闪。
- EoTp包:检查传输结束是否正确。有些屏幕对EoTp很敏感,少了它就不工作。
3.2.3 常见协议问题
| 现象 | 可能原因 | 排查方法 |
|---|---|---|
| 屏幕不亮 | 初始化序列错误、LP模式通信失败 | 抓取LP命令,检查DCS命令和延时 |
| 花屏 | HS模式下数据错位、CRC错误 | 抓取HS数据,检查CRC和EoTp |
| 闪屏 | 视频时序参数错误、帧率不匹配 | 抓取视频时序,对比规格书 |
| 触摸无响应 | DSI命令未正确发送到触控IC | 检查I2C或SPI通信,确认触控IC初始化 |
3.3 显示时序参数验证
显示时序参数,是屏幕能正常显示的基础。参数错了,屏幕要么不亮,要么显示异常。
3.3.1 时序参数的含义
我习惯把时序参数分成三组:
- 水平时序:HSA(水平同步开始)、HBP(水平后肩)、HFP(水平前肩)、HACT(有效像素)。
- 垂直时序:VSA(垂直同步开始)、VBP(垂直后肩)、VFP(垂直前肩)、VACT(有效行数)。
- 时钟参数:像素时钟频率、DSI时钟频率。
3.3.2 验证方法
我一般用示波器测量像素时钟,然后用逻辑分析仪抓取DE(数据使能)信号。通过DE信号,可以反推出水平时序和垂直时序。
// 伪代码:根据DE信号计算时序参数
H_total = 测量DE信号一个周期内的像素时钟数
H_act = 测量DE高电平期间的像素时钟数
H_blank = H_total - H_act
// H_blank = HSA + HBP + HFP
V_total = 测量DE信号一个垂直周期内的行数
V_act = 测量DE高电平期间的行数
V_blank = V_total - V_act
// V_blank = VSA + VBP + VFP
3.3.3 常见时序问题
- 像素时钟频率不对:频率高了,屏幕显示不全;频率低了,屏幕显示慢。
- HBP或HFP太小:会导致图像左移或右移。
- VBP或VFP太小:会导致图像上移或下移。
我记得有一次,客户反馈屏幕显示偏左。我查了时序参数,发现HBP设成了10,而规格书要求至少20。改成20后,显示就正常了。
3.4 知识结构图
下面这张图,把显示链路调试的核心内容串起来了。你可以把它当作调试时的检查清单。
3.5 调试流程总结
调试显示链路,我一般按这个顺序来:
- 先看物理层:用示波器测LVDS或MIPI的差分信号,确认眼图合格。
- 再看协议层:用协议分析仪抓包,确认初始化序列和视频时序正确。
- 最后验证时序:用逻辑分析仪测DE信号,反推时序参数,和规格书对比。
这个顺序,能帮你快速定位问题。不要一上来就怀疑驱动代码,很多时候是硬件链路的问题。
显示链路调试,说白了就是“眼到、手到、心到”。眼到——看波形、看眼图;手到——抓包、测时序;心到——理解协议、理解参数。三者缺一不可。