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节点去匹配屏幕。

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

    关注

    25

    文章

    5046

    浏览量

    97435
收藏 人收藏

    评论

    相关推荐

    IMX93开发板,颠覆入门级边缘处理市场,赋能安全、高效、智能的边缘应用

    IAC-IMX93-KIT开发板,采用双核Cortex-A55+单核Cortex-M33架构,集成ArmEthosU65microNPU,提供高效的机器学习、安全性以及高能效的边缘
    的头像 发表于 11-29 01:00 116次阅读
    <b class='flag-5'>启</b><b class='flag-5'>扬</b>IMX93<b class='flag-5'>开发板</b>,颠覆入门级边缘处理市场,赋能安全、高效、智能的边缘应用

    【迅为电子】i.MX6UL和i.MX6ULL芯片区别与开发板对比

    【迅为电子】i.MX6UL和i.MX6ULL芯片区别与开发板对比
    的头像 发表于 11-28 14:31 364次阅读
    【迅为电子】<b class='flag-5'>i.MX</b>6UL和<b class='flag-5'>i.MX</b>6ULL芯片区别与<b class='flag-5'>开发板</b>对比

    i.MX Linux开发实战指南—基于野火i.MX系列开发板

    电子发烧友网站提供《i.MX Linux开发实战指南—基于野火i.MX系列开发板.pdf》资料免费下载
    发表于 10-10 17:23 11次下载

    如何在NXP源码基础上适配ELF 1开发板的PWM功能

    本次源码适配项目是在NXP i.MX6ULL EVK评估所搭载的Linux内核源码(版本为Linux-imx_4.1.15)基础上进行的,主要目标是通过调整功能接口引脚配置,使其适应ELF 1
    的头像 发表于 09-10 10:00 929次阅读
    如何在NXP源码基础上<b class='flag-5'>适配</b>ELF 1<b class='flag-5'>开发板</b>的PWM功能

    使用TPS65219为i.MX 8M Plus供电

    电子发烧友网站提供《使用TPS65219为i.MX 8M Plus供电.pdf》资料免费下载
    发表于 08-31 10:15 0次下载
    使用TPS65219为<b class='flag-5'>i.MX</b> <b class='flag-5'>8M</b> <b class='flag-5'>Plus</b>供电

    i.MX 8M Plus中的ISP图像信号处理模块特性概述

    日常生活中,人类约80%的信息来自于视觉信息,而视觉信息的载体是数以亿万计的图片和视频流,因此如何打造高效而智能的视觉处理解决方案,是摆在开发者面前的重要课题。 恩智浦推出的i.MX 8M P
    的头像 发表于 08-02 11:39 1274次阅读

    ElfBoard技术贴|在NXP源码基础上适配ELF 1开发板的按键功能

    本次源码适配工作是在NXPi.MX6ULLEVK评估的Linux内核源码(特定版本:Linux-imx_4.1.15)基础上进行的。主要目标是调整功能接口引脚配置,以适应ELF1开发板
    的头像 发表于 07-10 09:54 608次阅读
    ElfBoard<b class='flag-5'>技术</b>贴|在NXP源码基础上<b class='flag-5'>适配</b>ELF 1<b class='flag-5'>开发板</b>的按键功能

    【正点原子i.MX93开发板试用连载体验】第一篇:开箱

    的是NXP i.MX9352处理器,适配Linux 6内核和Qt6界面。此外,该开发板支持双路RS485总线接口和双路FDCAN总线接口,并且具备数字隔离和电源隔离功能。 i.MX9
    发表于 06-20 14:06

    米尔NXP i.MX 93开发板的Qt开发指南

    1.概述Qt是一个跨平台的图形应用开发框架,被应用在不同尺寸设备和平台上,同时提供不同版权版本供用户选择。米尔NXPi.MX93开发板(MYD-LMX9X开发板)使用Qt6.5版本进行
    的头像 发表于 06-07 08:01 1737次阅读
    米尔NXP <b class='flag-5'>i.MX</b> 93<b class='flag-5'>开发板</b>的Qt<b class='flag-5'>开发</b>指南

    正点原子i.MX93开发板

    我计划申请正点原子i.MX93开发板,因为我希望利用其强大的NXP i.MX9352处理器进行中高端嵌入式Linux开发。这款处理器具备双核
    发表于 05-16 14:57

    【新品体验】正点原子i.MX93开发板免费试用

    正点原子i.MX93开发板,双核CortexA55@1.7GHz+M33@250MHz+0.5TNPU,双路RS485&amp;FDCAN&amp;千兆以太网,异核
    发表于 05-10 10:37

    智能受邀参加2024恩智浦技术巡回研讨会

    金牌合作伙伴,智能受邀出席本次研讨会,与众多行业人士进行交流研讨以及分享方案应用。本次研讨会上,智能携IMX93开发板以及基于IMX
    的头像 发表于 05-10 08:00 467次阅读
    <b class='flag-5'>启</b><b class='flag-5'>扬</b>智能受邀参加2024恩智浦<b class='flag-5'>技术</b>巡回研讨会

    技术分享 | i.MX8M Mini适配MIPI转eDP芯片

    输出,最大支持4K@60fps输出,WUXGA1080P。本方案中将采用单通道DSI输入,双通道DP输出到1080p的屏幕。HD8MMN-CORE系列工业级核心
    的头像 发表于 05-08 13:52 962次阅读
    <b class='flag-5'>技术</b>分享 | <b class='flag-5'>i.MX8M</b> Mini<b class='flag-5'>适配</b>MIPI转eDP芯片

    飞凌嵌入式i.MX8M Plus开发板的OTA远程升级方案

    的方式,可升级系统内核、文件系统和应用。接下来,将以飞凌嵌入式OKMX8MP-C开发板为例,基于Linux5.4.70版本内核,展示升级前后的切换效果。切换前,系
    的头像 发表于 04-29 08:01 730次阅读
    飞凌嵌入式<b class='flag-5'>i.MX8M</b> <b class='flag-5'>Plus</b><b class='flag-5'>开发板</b>的OTA远程升级方案

    NXP i.MX 93核心工业方案

    MYC-LMX9X核心开发板NXPi.MX93重新定义入门级嵌入式CPU模组2*Cortex-A55@1.7GHz+Cortex-M33@250MHz,满足高性能和实时性需求;集成
    的头像 发表于 04-23 11:07 1112次阅读
    NXP <b class='flag-5'>i.MX</b> 93核心<b class='flag-5'>板</b>工业方案