ARTICLE DETAIL

资讯详情

深耕郑州网站建设与运营推广的一线实战洞察。

LVDS屏幕接口设计全攻略:从原理图到PCB布局的实战避坑指南

LVDS屏幕接口设计全攻略:从原理图到PCB布局的实战避坑指南 LVDS 屏幕接口这东西说简单也简单四对差分线加一对时钟接对了就能亮说难也难同样的原理图有人一次打样成功有人调了两周还在花屏。我前后做过七八个带 LVDS 屏的项目从工业 HMI 到车载显示踩过的坑基本能写一本小册子。这篇就把从原理图到 PCB 布局的完整链路拆开讲一遍重点放在那些文档里不会写、但实际调试时一定会遇到的地方。1. 先搞清楚 LVDS 到底在传什么1.1 差分信号的本质不是两根线是一个电流回路很多人第一次画 LVDS 的时候脑子里想的是两根线传一个信号于是走线随便拉等长也不做结果屏上出现规律性的噪点或者整屏闪烁。问题的根源在于没有理解 LVDS 的物理层本质。LVDS 全称 Low-Voltage Differential Signaling核心是一个3.5mA 的恒流源。发送端把 3.5mA 的电流按数据内容导向两根线中的一根接收端用一个约 100Ω 的终端电阻把电流转回电压。电流流过 100Ω 时产生 ±350mV 的差分电压接收端就是靠这个 350mV 的极性来判断 0 和 1。这里有几个关键推论电流必须形成回路。3.5mA 从发送端出发经过差分对穿过终端电阻再回到发送端。如果回流路径不完整电流就会找别的路走EMI 和信号质量立刻恶化。共模电压约 1.2V。这是发送端内部偏置决定的接收端通常能接受 0.2V 到 2.2V 的共模范围所以一般不需要额外做电平转换。差分阻抗必须控制在 100Ω。这是 PCB 走线设计中最核心的约束后面会详细讲怎么算。提示LVDS 的差分电压只有 350mV比常见的 3.3V 单端信号小一个数量级。这意味着它对噪声的容限其实很窄只是差分结构让它对共模噪声免疫。一旦差分对称性被破坏抗噪能力就大打折扣。1.2 一对差分线里塞了 7 个 bit串行化的魔法LVDS 接口的引脚数量少但传输的数据量并不小。以常见的单通道 LVDS 为例一对数据线在一个时钟周期内要传 7 个 bit。这是怎么做到的发送端内部有一个7:1 串行器把 7 位并行数据通常是 RGB 各 6 位或 8 位中的一部分加上行场同步和使能信号在一个像素时钟周期内按顺序串行发出去。接收端再用 1:7 解串器还原。所以你会看到 LVDS 的时钟频率通常等于像素时钟而每对数据线的实际比特率是时钟频率的 7 倍。以 1024×600 的屏为例像素时钟大约 50MHz那么每对数据线的比特率就是 350Mbps。这个速率下PCB 走线的等长和阻抗控制就开始变得重要了。常见的通道配置配置数据对数量每周期传输 bit 数典型分辨率单通道 6bit3 对数据 1 对时钟18 bit800×480单通道 8bit4 对数据 1 对时钟24 bit1024×600双通道 8bit8 对数据 1 对时钟48 bit1920×1080选屏的时候一定要看清楚是几对数据线、是 6bit 还是 8bit 色深。我见过有人买了双通道的屏结果主控只支持单通道最后只能降分辨率用白白浪费了屏幕。1.3 时钟采样边沿VESA 和 JEIDA 的格式之争这是 LVDS 调试中最容易翻车的地方。同样一对差分线数据在时钟的上升沿还是下降沿被采样以及 7 个 bit 的排列顺序存在两套标准VESA和JEIDA。两套标准的区别在于 bit 映射顺序不同。如果你的主控输出的是 VESA 格式而屏幕要求 JEIDA 格式结果就是颜色完全错乱——红色变成蓝色或者整屏偏色。更麻烦的是有些屏的 datasheet 写得不清楚只给了一个时序图需要你自己去数 bit 的位置。判断方法看屏幕 datasheet 里的 LVDS Data Mapping 表格通常会标明 VESA 或 JEIDA。如果没标看时序图里 R0-R5 或 R0-R7 在哪个 bit 位置对照标准表格反推。主控端一般可以通过寄存器配置切换格式比如 RK3566 的 VOP 就有lvds-format设备树属性。我个人的经验是先按 datasheet 写不亮再换另一个格式试。这个操作成本很低但能省下大量查资料的时间。2. 原理图设计那些容易画错的地方2.1 主控到 LVDS 发送器的接口大多数应用里主控芯片并不直接输出 LVDS 信号而是输出 RGB 并行信号再经过一颗 LVDS 发送器Serializer转换成差分信号。常见的发送器有 DS90C385、SN75LVDS83 等。原理图连接时要注意RGB 数据线的顺序不能错。R0-R7、G0-G7、B0-B7 要一一对应接到发送器的输入端。这里错一根颜色就会错位。行场同步和使能信号HSYNC、VSYNC、DE也要接对。有些发送器把这些信号也编进数据流里有些则需要单独处理。时钟极性。像素时钟的极性要和发送器要求一致有些芯片支持通过引脚配置上升沿或下降沿采样。我遇到过一次RGB 数据线里 R7 和 G0 接反了结果屏幕显示正常但颜色偏绿。查了半天才发现是原理图里两个网络标号写错了。这种错误在 PCB 上很难改只能飞线所以原理图阶段一定要仔细核对。2.2 电源和去耦别小看这几个电容LVDS 发送器和接收器的电源引脚都需要去耦电容。常规做法是每个电源引脚配一个 0.1μF 的陶瓷电容再在电源入口处放一个 10μF 的钽电容或陶瓷电容。但这里有个细节去耦电容要尽量靠近电源引脚引线越短越好。我见过有人把电容放在芯片另一侧走线绕了半个板子结果高速切换时电源纹波很大屏幕出现横条纹。另外LVDS 发送器的电源通常有多个引脚有些是给内部 PLL 供电的有些是给输出驱动供电的。datasheet 里一般会区分VCC和VCC_PLL这两组电源最好用磁珠或电感隔离一下避免数字噪声串到 PLL 里导致时钟抖动。2.3 终端电阻100Ω 放在哪一端LVDS 的终端电阻是 100Ω作用是让 3.5mA 电流转换成 350mV 差分电压。这个电阻的位置有讲究标准做法是放在接收端也就是屏幕那一侧。因为电流从发送端流向接收端在接收端形成电压最直接。但很多屏幕模组内部已经集成了 100Ω 终端电阻这时候主板上就不需要再放了。如果屏幕没有内置而你的主板也没放信号就会因为阻抗不匹配产生反射表现为屏幕上有鬼影或噪点。怎么判断屏幕有没有内置终端电阻看 datasheet 的推荐应用电路。如果上面画了一个 100Ω 电阻跨接在差分对上那就是需要外部加的如果没画通常就是内置了。注意有些设计会在发送端也放一个 100Ω 电阻这是错误的。发送端是电流源不需要终端匹配加了反而会增加功耗、降低信号幅度。2.4 背光电路别让亮度调节变成闪烁源LVDS 屏的背光通常是 LED 串需要恒流驱动。常见的方案有升压恒流驱动比如 TPS61165、MP3302 等适合 LED 串电压高于输入电压的场景。降压恒流驱动适合 LED 串电压低于输入电压的场景。PWM 调光通过调节 PWM 占空比来控制亮度。这里有个坑PWM 调光频率如果落在音频范围内电感会发出啸叫。我遇到过一次调光频率设成了 200Hz结果背光电路的电感一直在响。后来把频率提到 20kHz 以上问题就消失了。另外背光驱动的开关噪声可能会耦合到 LVDS 差分线上导致屏幕出现干扰条纹。布局时要把背光电路和 LVDS 走线隔开至少不要平行走线。3. PCB 布局布线差分线的正确打开方式3.1 差分阻抗计算100Ω 怎么来的LVDS 差分对的差分阻抗目标是 100Ω。这个值不是随便定的而是由发送器和接收器的电气特性决定的。PCB 上实现 100Ω 差分阻抗需要根据叠层参数计算线宽和线间距。以常见的四层板为例叠层通常是顶层信号层第二层地平面第三层电源平面底层信号层如果差分线走在顶层参考第二层的地平面介质厚度约 0.2mm介电常数 4.3那么线宽 6mil、线间距 6mil 时差分阻抗大约 100Ω。线宽 5mil、线间距 8mil 时差分阻抗也接近 100Ω。具体数值需要用阻抗计算工具如 Saturn PCB Toolkit或 PCB 厂提供的叠层参数来算。不要凭感觉画画完让 PCB 厂做阻抗测试否则批量生产时可能因为阻抗偏差导致信号质量问题。参数典型值说明差分阻抗100ΩLVDS 标准要求单端阻抗50Ω差分线对地的共模阻抗线宽5-6mil取决于叠层线间距6-8mil取决于叠层等长误差±5mil对内等长对间等长±50mil通道间等长3.2 等长匹配对内严格对间宽松LVDS 差分对的等长要求分两个层次对内等长一对差分线里的 P 和 N 必须严格等长误差控制在 ±5mil 以内。因为 P 和 N 上的信号是互补的如果长度差太多到达接收端的时间不一致差分信号的对称性就被破坏了共模噪声抑制能力下降。对间等长不同数据对之间、数据对和时钟对之间的等长要求相对宽松一般 ±50mil 以内即可。因为接收端会在时钟边沿采样数据只要数据在时钟边沿附近稳定就行。实际布线时对内等长可以通过蛇形绕线来补偿。但要注意蛇形绕线的幅度不要太大否则会引入额外的寄生电感和电容反而影响信号质量。一般建议蛇形段的间距不小于 3 倍线宽。3.3 参考平面回流路径不能断差分信号的回流电流走的是参考平面。如果参考平面不完整回流路径被迫绕远就会形成大的环路面积导致 EMI 辐射增加和信号完整性下降。几个关键原则差分线下方必须有完整的参考平面最好是地平面。不要跨分割不要在地平面上开槽。如果必须换层要在换层过孔附近放回流过孔让回流电流能顺利从一层平面跳到另一层平面。差分对不要走在电源平面上方除非电源平面和地平面之间有良好的高频去耦。我见过一个案例LVDS 差分线从顶层换到底层时参考平面从地平面变成了电源平面结果屏幕上出现了明显的横条纹干扰。后来在换层处加了两个回流过孔问题就解决了。3.4 走线长度不是越短越好而是要匹配LVDS 走线长度没有绝对的限制但有几个经验值单通道 LVDS走线长度控制在 30cm 以内比较稳妥。超过这个长度信号衰减和抖动会变得明显。双通道 LVDS走线长度最好控制在 20cm 以内因为通道间 skew 的要求更严格。如果走线必须很长可以考虑用屏蔽排线或者同轴电缆但成本会上升。另外所有差分对的走线长度要尽量接近。如果一组数据对走了 10cm另一组只走了 5cm接收端采样时就会有时序偏差。虽然 LVDS 有一定的 skew 容限但留余量总是好的。3.5 过孔和连接器细节决定成败差分线换层时需要打过孔。过孔会引入寄生电容和电感破坏差分阻抗的连续性。几个处理技巧过孔尽量小一般用 8/16mil 或 10/20mil 的过孔。一对差分线的两个过孔要对称放置间距和走线间距一致。过孔附近要有回流过孔最好是每个差分过孔配一个地过孔。连接器引脚的定义要仔细核对。LVDS 连接器通常有 20pin 或 30pin引脚顺序错了屏幕要么不亮要么显示异常。我踩过一次连接器引脚定义错误的坑屏幕端的连接器是上接触主板端是下接触结果 P 和 N 全部反了。LVDS 的 P 和 N 反接不会烧芯片但屏幕就是不亮。后来把连接器反过来焊才解决。所以打样前一定要确认连接器的接触方向和引脚编号。4. 调试与验证屏幕不亮时怎么排查4.1 从电源开始逐级排查屏幕不亮的时候不要一上来就怀疑差分线。按照信号链的顺序逐级排查效率最高主控是否正常输出 RGB 信号。用示波器测像素时钟、HSYNC、VSYNC、DE看有没有波形。LVDS 发送器是否工作。测发送器的电源、使能引脚、时钟输入。差分线是否有信号。用差分探头测差分对看有没有 350mV 左右的差分波形。屏幕背光是否点亮。背光不亮的话屏幕看起来是黑的但实际可能已经在工作了。屏幕是否收到正确的时序。如果主控输出的分辨率和屏幕不匹配屏幕可能不显示。这个顺序看起来简单但实际调试时很多人会跳过前两步直接去量差分线结果浪费大量时间。4.2 花屏和偏色的常见原因屏幕亮了但显示异常通常有以下几种情况现象可能原因排查方法整屏偏红/偏蓝LVDS 格式VESA/JEIDA不匹配切换主控的 LVDS 格式配置颜色错位RGB 数据线顺序接错核对原理图网络标号规律性噪点差分对等长没做好检查对内等长横条纹干扰参考平面不完整或背光噪声耦合检查回流路径隔离背光电路屏幕闪烁时钟抖动或电源纹波大测时钟抖动检查去耦电容部分区域显示异常某对差分线接触不良检查连接器和过孔我遇到最多的是格式不匹配导致的偏色。有一次用 RK3566 点一块 1024×600 的屏设备树里默认是 VESA 格式但屏幕要求 JEIDA结果整屏偏绿。改了一个设备树属性就解决了。4.3 用示波器看差分信号眼图是最直观的如果有条件用差分探头加示波器看一下差分信号的眼图。眼图张开度越大信号质量越好。几个判断标准眼高差分电压幅度应该在 350mV 左右眼高至少 200mV 以上。眼宽眼图交叉点应该在 UI 的 50% 附近抖动越小越好。上升/下降时间一般在 0.5ns 到 1ns 之间太快会导致 EMI 问题太慢会导致码间干扰。如果没有差分探头也可以用两个单端探头分别测 P 和 N然后在示波器上做数学运算P-N也能看到差分波形。虽然精度差一些但用于判断信号有无和大致质量足够了。4.4 软件配置设备树里的那些参数对于嵌入式平台如 RK3566、i.MX6 等LVDS 的配置通常在设备树里。几个关键参数分辨率width、height、hactive、vactive。时序参数hfront-porch、hback-porch、hsync-len、vfront-porch、vback-porch、vsync-len。时钟频率clock-frequency单位是 Hz。LVDS 格式lvds-format取值通常是 0VESA或 1JEIDA。通道数>
返回列表