0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

技术分享 | 启扬i.MX8M Plus开发板适配LVDS屏幕

启扬ARM嵌入式开发 2022-09-30 09:27 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

i.MX 8M Plus是NXP推出的一款具有高可靠性,适合用于机器学习和视觉、高级多媒体和工业物联网处理器。为发挥其强大的多媒体性能,启扬在i.MX8M Plus配套底板上引出1 路 4 通道 MIPI-DSI 显示接口、1 路双通道 LVDS 显示接口、1 路 HDMI 显示接口(内含 eARC 功能),支持三屏同显和三屏异显。

今天小编将简单分享一下启扬IAC-IMX8MP-Kit开发板在连接LVDS屏幕的过程中所进行的一系列调试过程。

注意

本文不着重于硬件的适配过程,只从软件角度分析,默认LVDS屏幕连接正确,背光等连接正常。

cbb4da7e-4010-11ed-b180-dac502259ad0.png

cbcbf538-4010-11ed-b180-dac502259ad0.pngcc1980f0-4010-11ed-b180-dac502259ad0.png

工具:

启扬IAC-IMX8MP-Kit开发板

1920x1080@60双通道LVDS屏幕

1

分析屏幕手册

首先,我们需要查看LVDS屏幕的datasheet,然后从中找出屏幕引脚图说明,如图所示:

cc9865aa-4010-11ed-b180-dac502259ad0.png

从上图我们可以看出该屏幕是一个双通道的LVDS屏幕,一般来说这种屏幕的颜色模式是3x8bit。

从数据手册中我们能看到LVDS接口类型和信号格式。一般来说LVDS显示屏有VESA和JEIDA两种接口标准,两种接口标准的区别在于每对低压差分信号上传输的R、G、B三色的位数和HS、VS、DE位置不同。8bit液晶屏需要4对差分对传输R、G、B三色和HS、VS、DE控制信号,如下图所示

ccbce844-4010-11ed-b180-dac502259ad0.png

根据下面数据手册中内容与上图接口标准的对照,我们可以看出本次调试使用的LVDS屏幕的接口标准属于VESA标准。

cce13cb2-4010-11ed-b180-dac502259ad0.png

除了上述信息外,我们还需要timing参数,这个参数能够详细地表述屏幕的显示区域,在数据手册中显示如下图所示

cd1952dc-4010-11ed-b180-dac502259ad0.png

一般来说,我们需要Vactive+vbp+vfp+vsync以及Hactive+hbp+hfp+hsync还有时钟等信息,这些参数有的屏幕手册会详细写出,而有的则给出如上图类似的信息。

这里笔者给大家简要说明一下参数的关系,具体参数的意义因篇幅原因大家可以搜专业的解说帖子。

图中V_active以及H_active就是我们屏幕实际的分辨率参数,也就是1920*1080。上图中H_active之所以显示为960,这是因为该屏幕是一个分割屏幕,由两块儿屏幕组装而成,所以Horizontal显示的参数都要乘以2。

图中TVB=bp+fp+sync,所以vbp+vfp+vsync=36、hbp+hfp+hsync=92x2=184,时钟这里直接给出是70.5Mhz,因此不需要进行计算。

以上就是数据手册中上我们需要在意的参数部分。

此外我们需要重点关注的还有电压电流以及上电时序等信息,只是这部分信息一般情况下都由硬件工程师通过硬件手段帮忙适配。如果需要参与软件控制也不属于LVDS适配层面,那么这里就不再过多的讲述,那么就期待我们下章关于代码部分的适配工作吧。

2

软件代码适配

本次启扬i.MX8M Plus开发板需要适配一款1920*1080@60 的双通道LVDS屏幕,适配流程与以往i.MX系列的适配仅需要在相关设备节点写timing不同,本次屏幕适配采用DRM驱动框架适配,因此我们需要先从设备树开始入手。

不着重分析DRM驱动以及详细的适配过程,仅从修改适配方向入手,为如何快速的适配一组LVDS屏幕提供参考。

打开设备树文件(arch/arm64/boot/dts/freescale/imx8mp-qiyang-NV156FHM.dts)。

这里为适配多屏而单独新建了一个设备树文件,这样就可以加载不同的设备树点不同的屏幕,避免了在同一个设备树上持续更改的繁琐。

cd4d01ae-4010-11ed-b180-dac502259ad0.png

首先,#include一行直接带入主设备树,将开发板周边设备一同囊括进来。

其次,lvds0_panel_pwr节点是通过适配开发板上的电源管理芯片,将电源管理芯片的输出电压拉到lvds上使用,所以lvds供电由一个电源管理芯片来控制。

lvds0_panel节点主要是描述lvds的相关属性。例如compatible属性是为了匹配DRM相关驱动,因为此次适配的是一个双通道的屏幕,所以写“regulator-fixed”属性;backlight节点是背光节点;power节点引用上面lvds0_panel_pwr节点,描述电源的部分;重要的是port节点,该节点指明LVDS屏幕是接在哪个显示通道上,需要结合下面ldb节点的内容来看。

(这里只是简单描述一下这些节点的意思,具体包含的详细信息需要查看内核资料

(Documentation/devicetree/bindings/media/video-interfaces.txt)

lvds-channel@0节点表示显示适配器开通了一个lvds的通道,然后该通道有mapping以及width两个属性,mapping表示颜色的模式,width表示数据宽度,这里我们根据屏幕数据手册的内容可以直接写spwg以及24。

port@1表示使用的是通道1。现在图形处理器日益强大,很多图形处理器可以开多通道,这里我们就开一个通道,然后将端点设置为我们上面描述的lvds,这样的话我们就把ldb部分给配通了。

(更加详细的解释可以到提供的开发板系列资料Documentation/devicetree/bindings/display/imx/ldb.txt查看。)

总结一下就是我们需要在显示适配器开通一个通道,然后这个通道是用来点lvds的,具体点哪个lvds需要endpoint节点的指引,然后再描述lvds,一般里面要写具体是哪个屏幕,电源,背光等一系列信息,还要跟ldb的内容互通,这样保证两者能够相互找到,启动之后驱动就会根据compatible节点去匹配屏幕。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 开发板
    +关注

    关注

    26

    文章

    6428

    浏览量

    120963
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    请问如何使用Flexbuild 将 Debian 镜像刷新到 i.MX8M Plus EVK 上的 eMMC?

    我正在使用 i.MX8M Plus EVK,并使用 NXP 的 Flexbuild 系统生成 Debian 映像。 到目前为止,我可以使用 flex-installer 构建、自定义映像并将其刷新
    发表于 04-24 07:33

    如何通过 FPGA 的 QSPI 接口对 MIMX8ML8CVNKZAB 进行 DMA 访问?

    We are planning access I.MX8M plus (MASTER) DMA over QSPI interface with FPGA as a Slave. 我们无法找到足够
    发表于 04-23 07:33

    将 Linux BSP 用于 i.MX8M Plusi.MX8 Quad Max 平台,遇到的几个问题求解

    我计划将 Linux BSP 用于 i.MX8M Plusi.MX8 Quad Max 平台。我有几个问题: - 对于 Linux BSP,它是否支持 1 Gbps 以太网并允许将视频流传
    发表于 04-20 10:25

    如何下载 i.MX 8M Plus SDK?

    我正在使用 i.MX 8M Plus 处理器,并想下载适用于 Cortex-A53 的适当 SDK。我在产品页面上找不到直接下载链接。 您能否引导我到正确的位置或提供下载 i.MX
    发表于 04-16 07:46

    基于运行 Yocto Kirkstone 的 i.MX8M Mini 平台上遇到以太网配置问题求解

    我在基于运行 Yocto Kirkstone 的 i.MX8M Mini 平台上遇到以太网配置问题。该在RMII模式下使用LAN8720A PHY。 具体问题是,将链路速度从 100 Mbps
    发表于 04-10 12:35

    如何在“i.MX 8M Plus EVK Board”上的网络浏览器中打开.html文件?

    i am using “i.MX 8M Plus EVK ”,我已经闪过了“lf_v6.12.34-2.1.0_images_imx
    发表于 04-10 08:56

    请问qemu 可以模拟 i.MX 8M Plus 吗?

    我们没有i.MX 8M Plus,所以我想问一下 qemu 是否可以模拟i.MX 8M
    发表于 03-05 08:10

    FRDM-i.MX 91开发板刷机指南

    FRDM-i.MX 91开发板刷机指南 在电子开发领域,开发板的刷机操作是一项基础且关键的技能。今天,我们就来详细探讨NXP的FRDM-i.MX
    的头像 发表于 12-24 11:30 1190次阅读

    探索FRDM - IMX8MPLUS开发板:开启嵌入式开发新旅程

    MPLUS开发板就是这样一款值得深入探索的产品。它为开发者提供了一个低成本、高性能的硬件平台,能够帮助我们快速熟悉i.MX 8M Plus
    的头像 发表于 12-24 11:00 521次阅读

    既要稳定性,还要性价比的工业级开发板 — 米尔i.MX91

    之前我介绍过NXPi.MX8系列的开发板,最近它的下一代产品i.MX9系列产品也有了,我就拿到了这个基于NXPi.MX9系列的米尔MYD-LMX91
    的头像 发表于 11-20 08:05 2715次阅读
    既要稳定性,还要性价比的工业级<b class='flag-5'>开发板</b> — 米尔<b class='flag-5'>i.MX</b>91

    恩智浦FRDM i.MX 8M Plus开发板详解

    开发高级HMI应用、计算机视觉系统以及边缘AI项目时,开发人员常常面临一个共同挑战:如何在不依赖昂贵且复杂的开发平台的前提下,获得足够的处理能力。这正是FRDM i.MX
    的头像 发表于 11-18 15:07 1653次阅读

    智能受邀亮相「2025恩智浦技术巡回研讨会」

    与恩智浦多年合作的过程中,基于恩智浦i.MX93、i.MX8MPlus、i.MX8MMini、i.M
    的头像 发表于 09-09 17:49 1957次阅读
    <b class='flag-5'>启</b><b class='flag-5'>扬</b>智能受邀亮相「2025恩智浦<b class='flag-5'>技术</b>巡回研讨会」

    恩智浦FRDM i.MX 8M Plus开发板上架

    i.MX 8M Plus应用处理器集成2个或4个Arm Cortex-A53核、1个专用于实时控制的Arm Cortex-M7核,以及1个算力高达2.3 TOPS的神经处理单元 (NP
    的头像 发表于 08-16 17:38 2416次阅读
    恩智浦FRDM <b class='flag-5'>i.MX</b> <b class='flag-5'>8M</b> <b class='flag-5'>Plus</b><b class='flag-5'>开发板</b>上架

    受邀参加2025瑞芯微开发者大会

    微战略合作伙伴,受邀参加本次开发者大会。本次开发者大会,智能将携全新发布的RK3576、RK3506开发板亮相。
    的头像 发表于 07-10 17:25 1405次阅读
    <b class='flag-5'>启</b><b class='flag-5'>扬</b>受邀参加2025瑞芯微<b class='flag-5'>开发</b>者大会

    NXP i.MX 91开发板#支持快速创建基于Linux®的边缘器件

    NXP Semiconductors FRDM i.MX 91开发板设计用于评估i.MX 91应用处理器,支持快速创建基于Linux ^®^ 的边缘器件。该开发板还设计用于入门级Lin
    的头像 发表于 05-19 10:55 3420次阅读
    NXP <b class='flag-5'>i.MX</b> 91<b class='flag-5'>开发板</b>#支持快速创建基于Linux®的边缘器件