ARTICLE DETAIL

资讯详情

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

RK3588/RK3576无原生LVDS?MIPI DSI桥接方案与调试实战

RK3588/RK3576无原生LVDS?MIPI DSI桥接方案与调试实战 1. 从一块屏点亮失败说起RK3588 的 LVDS 到底去哪了第一次在 RK3588 上接一块 10.1 寸 1024×600 的工业屏我下意识地翻原理图找 LVDS 差分对结果翻遍了引脚定义也没找到一组像样的 LVDS 通道。当时第一反应是“资料没更新”换了 RK3576 的规格书再翻还是一样。后来才确认一个事实这两颗 SoC 从设计上就没有把原生 LVDS 作为主显示输出通道取而代之的是 MIPI DSI、eDP、HDMI/DP 这一套。这件事在嵌入式工业设备圈子里其实讨论了很久。很多做工业平板、医疗设备、车载中控的团队过去十年积累的屏库几乎清一色是 LVDS 接口屏线、连接器、背光方案、结构件都是围绕 LVDS 定型的。SoC 一换代发现原生 LVDS 没了第一反应往往是“厂商是不是砍过头了”。但如果你把显示接口这十几年的演进路径捋一遍再结合 RK3588/RK3576 的定位去看会发现这不是拍脑袋的决定而是一次非常典型的 SoC 取舍。这篇内容我想聊的就是这个取舍背后的逻辑LVDS 为什么从“标配”变成“可选”MIPI DSI 凭什么接管主流RK3588/RK3576 这类芯片在显示子系统上到底怎么规划的以及最关键的——手里一堆 LVDS 屏的工程师到底该怎么把屏点亮。适合正在选型、正在做硬件设计、或者被“屏点不亮”折磨过的嵌入式从业者看小白也能顺着思路理解接口演进这件事。先把结论摆前面RK3588/RK3576 不是“不能用 LVDS”而是不再把 LVDS 做成 SoC 的原生 PHY需要靠外部桥接芯片LVDS 转 MIPI 或者 MIPI 转 LVDS来完成。这个变化影响的不是能不能用而是成本结构、布线复杂度、供应链选择和技术栈。2. 显示接口演进这条线LVDS 是怎么从主角变成配角的2.1 LVDS 的黄金年代与它的历史包袱LVDS全称 Low-Voltage Differential Signaling低电压差分信号。它的核心思路很朴素用一对差分线传一个 bit靠电流方向的变化表示 0 和 1电压摆幅只有几百毫伏。差分传输天生抗共模干扰所以线可以拉得比较长速率也能上去。在 2000 年代到 2010 年代初LVDS 几乎是笔记本屏、工业屏、车载屏的默认接口。它的典型形态是一组时钟差分对加若干组数据差分对常见有单通道4 对数据 1 对时钟和双通道8 对数据 1 对时钟。分辨率越高、色深越大需要的通道就越多。比如 1920×1080 60Hz 24bpp像素时钟大约 148.5MHz单通道 LVDS 每时钟周期传 7 bit算下来带宽是不够的必须上双通道。LVDS 的问题也恰恰出在这里。它是“并行差分”的思路通道数随带宽线性增长。到了 4K 时代需要的差分对数量会让 PCB 布线变得非常痛苦等长要求严格、层数增加、连接器引脚数暴涨。而且 LVDS 本身不传控制命令屏的参数时序、背光、初始化要靠额外的 I2C 或者硬件跳线来配这在多屏、异形屏场景下很麻烦。2.2 MIPI DSI 为什么能接管主流MIPI DSI 是 MIPI 联盟为移动设备定义的显示串行接口。它和 LVDS 最大的区别在于它是高速串行 包协议。一条 lane 可以跑到 1Gbps 以上4 条 lane 就能轻松覆盖 4K 的带宽需求。更关键的是DSI 是带命令通道的屏的初始化、参数配置、背光控制都能通过协议走不需要额外的 I2C。从物理层看DSI 用的也是差分信号但它把“并行”变成了“串行 多 lane”通道数不再随分辨率线性膨胀。这对手机、平板这种寸土寸金的设备来说是决定性的优势。再加上 MIPI 生态里屏厂、桥接芯片厂、SoC 厂都在往这个方向投入DSI 的屏资源越来越丰富价格也越来越低。这里有个容易被忽略的点MIPI DSI 和 LVDS 在电气特性上其实有亲缘关系都是差分、低摆幅。所以从 LVDS 转到 DSI物理层的设计经验是可以迁移的真正需要重新学的是协议层和初始化流程。2.3 eDP 和 HDMI/DP 各自守着自己的地盘eDP 是 DisplayPort 的嵌入式版本主要用在笔记本、一体机、部分工业设备上。它的优势是带宽大、支持多流、可以直接驱动高分辨率屏而且和 DP 协议兼容调试工具链成熟。在 RK3588 这类芯片上eDP 通常作为高分辨率主屏的输出。HDMI/DP 则是外接显示器的标准接口消费电子和工控机都用得多。RK3588 支持 HDMI 2.1 输出 8K这在做多屏异显、数字标牌、会议终端时非常有用。把这几条线放在一起看你会发现一个清晰的格局LVDS 守着存量工业屏和低成本屏MIPI DSI 接管移动和嵌入式主流eDP 负责高分辨率内置屏HDMI/DP 负责外接。RK3588/RK3576 作为面向 AIoT、边缘计算、工业视觉的 SoC选择把资源投在 DSI、eDP、HDMI 上把 LVDS 交给外部桥接是符合它目标场景的。3. RK3588/RK3576 的显示子系统到底怎么规划的3.1 显示控制器VOP的能力边界RK3588 的显示子系统核心是 VOPVideo Output Processor它负责图层合成、缩放、色彩空间转换然后输出到各个显示 PHY。RK3588 有多个 VOP可以支持多屏异显。每个 VOP 的输出可以路由到不同的 PHYMIPI DSI、eDP、HDMI、DP。关键点在于VOP 输出的是并行 RGB 或者类似的内部总线信号它本身不关心外面接的是 LVDS 还是 DSI。真正决定接口类型的是 PHY 层。RK3588 集成的 PHY 有 MIPI DSI TX、eDP TX、HDMI TX、DP TX但没有 LVDS PHY。所以从芯片架构上LVDS 就没有“原生”的位置。RK3576 的定位比 RK3588 略低但显示子系统的思路是一致的DSI、eDP、HDMI 为主LVDS 不在原生列表里。这其实反映了瑞芯微对整个产品线的统一规划——把 LVDS 这种“老接口”从 SoC 里剥离交给生态里的桥接芯片去解决。3.2 为什么不做原生 LVDS成本、引脚、生态三重账先算成本账。在 SoC 里集成一个 LVDS PHY需要占用 die 面积、引脚、功耗预算。LVDS 的差分对数量多引脚占用大。对于 RK3588 这种引脚资源紧张的芯片来说把引脚留给 DSI、PCIe、USB、以太网这些更通用的接口收益更高。再算生态账。现在新出的屏尤其是高分辨率、高刷新率的屏基本都是 MIPI DSI 或者 eDP。LVDS 屏主要集中在工业、医疗、车载的存量市场而且这些市场对价格敏感、对交期敏感但不一定要求 SoC 原生支持。用一颗几块钱的桥接芯片就能解决没必要让所有 RK3588 用户都为这个 PHY 买单。最后算技术账。LVDS 的并行差分架构在高速下布线困难而 DSI 的串行架构更适合现代 PCB 工艺。SoC 厂把研发资源投在 DSI 的协议栈、PHY 的功耗优化上比维护一个逐渐边缘化的 LVDS PHY 更划算。提示这不是瑞芯微一家这么干。你去翻其他主流 SoC 厂的规格书原生 LVDS 在新一代芯片里出现的频率越来越低这是整个行业的趋势不是某颗芯片的特例。3.3 桥接方案LVDS 屏在 RK3588 上怎么活下来既然原生没有那就桥接。常见的方案有两类第一类是 MIPI DSI 转 LVDS。SoC 输出 DSI桥接芯片把 DSI 转成 LVDS 去驱动屏。这类芯片市面上不少选型时要关注几个参数支持的 DSI lane 数、最大像素时钟、是否支持双通道 LVDS、是否支持屏的初始化命令透传。第二类是 RGB 转 LVDS。有些场景下 VOP 可以直接输出 RGB 并行信号用一颗 RGB 转 LVDS 的发送器比如常见的 SN75LVDS83 系列就能驱动 LVDS 屏。这种方案成本低、延迟小但需要 SoC 侧有 RGB 输出引脚而且分辨率受限于 RGB 总线的带宽。选哪种取决于你的屏、你的分辨率、你的成本预算和 PCB 空间。下面我会详细拆解。4. 实操把一块 LVDS 屏接到 RK3588 上4.1 方案选型先看屏再看板最后看成本拿到一块 LVDS 屏第一步不是急着买桥接芯片而是把屏的规格书翻清楚。重点看这几个参数参数说明影响分辨率如 1024×600、1920×1080决定像素时钟和带宽色深18bpp 或 24bpp决定数据对数量通道数单通道或双通道决定桥接芯片选型像素时钟如 51.2MHz、148.5MHz决定 DSI lane 速率需求接口类型是否带 I2C 配置决定初始化方式背光是否集成背光驱动决定背光电路设计举个例子一块 1920×1080 24bpp 60Hz 的屏像素时钟 148.5MHz双通道 LVDS。如果走 MIPI DSI 转 LVDSDSI 侧需要的带宽是 148.5MHz × 24bit ≈ 3.56Gbps考虑协议开销至少需要 4 条 lane 跑在 1Gbps 以上。选桥接芯片时就要确认它支持 4 lane DSI 输入和双通道 LVDS 输出。如果是一块 1024×600 的屏像素时钟大约 51.2MHz单通道 LVDS 就够DSI 侧 2 lane 就能覆盖桥接芯片的选择范围就大很多成本也能压下来。4.2 硬件连接差分对、时钟、电源一个都不能马虎硬件连接这块差分对的布线是重中之重。LVDS 和 DSI 都是差分信号对阻抗、等长、参考平面都有要求。LVDS 差分阻抗通常要求 100 欧姆DSI 也是 100 欧姆。布线时要注意差分对内两根线严格等长误差控制在 5mil 以内。差分对之间保持足够间距避免串扰。参考平面完整不要跨分割。时钟差分对优先布线尽量短。电源部分桥接芯片通常需要 1.8V 和 3.3V 供电有些还需要 1.2V 核心电压。要仔细看规格书的电源时序要求有些芯片要求核心电压先上、IO 电压后上顺序错了可能起不来。背光部分如果屏是集成背光驱动的直接给背光使能和 PWM 调光信号就行。如果是外置背光驱动要单独设计升压电路注意电流匹配和开路保护。注意LVDS 屏线有几种常见接口比如 30pin、40pin、50pin引脚定义各家屏厂可能不一样。接线前一定要对照屏的规格书和桥接板的原理图一根一根核对接反了轻则点不亮重则烧屏。4.3 设备树配置把桥接芯片当成一个 I2C 设备在 Linux 下桥接芯片通常挂在 I2C 总线上通过设备树描述。以一颗常见的 DSI 转 LVDS 桥接芯片为例设备树大致长这样i2c4 { status okay; clock-frequency 400000; bridge2c { compatible vendor,dsi-to-lvds; reg 0x2c; reset-gpios gpio3 RK_PB0 GPIO_ACTIVE_LOW; enable-gpios gpio3 RK_PB1 GPIO_ACTIVE_HIGH; ports { #address-cells 1; #size-cells 0; port0 { reg 0; bridge_in: endpoint { remote-endpoint dsi_out; }; }; port1 { reg 1; bridge_out: endpoint { remote-endpoint panel_in; }; }; }; }; };同时要把 DSI 控制器和 panel 节点串起来dsi { status okay; ports { port1 { dsi_out: endpoint { remote-endpoint bridge_in; }; }; }; }; panel { compatible panel-lvds; width-mm 217; height-mm 136; >
返回列表