启扬i.MX8M Plus开发板适配LVDS屏幕的调试思路
i.MX 8M Plus是NXP推出的一款具有高可靠性,适合用于机器学习和视觉、高级多媒体和工业物联网的处理器。为发挥其强大的多媒体性能,启扬在i.MX8M Plus配套底板上引出1 路 4 通道 MIPI-DSI 显示接口、1 路双通道 LVDS 显示接口、1 路 HDMI 显示接口(内含 eARC 功能),支持三屏同显和三屏异显。
今天小编将简单分享一下启扬IAC-IMX8MP-Kit开发板在连接LVDS屏幕的过程中所进行的一系列调试过程。
注意:本文不着重于硬件的适配过程,只从软件角度分析,默认LVDS屏幕连接正确,背光等连接正常。
工具:启扬IAC-IMX8MP-Kit开发板、1920x1080@60双通道LVDS屏幕
1、 分析屏幕手册
首先,我们需要查看LVDS屏幕的datasheet,然后从中找出屏幕引脚图说明,如图所示:
从上图我们可以看出该屏幕是一个双通道的LVDS屏幕,一般来说这种屏幕的颜色模式是3x8bit。
从数据手册中我们能看到LVDS接口类型和信号格式。一般来说LVDS显示屏有VESA和JEIDA两种接口标准,两种接口标准的区别在于每对低压差分信号上传输的R、G、B三色的位数和HS、VS、DE位置不同。8bit液晶屏需要4对差分对传输R、G、B三色和HS、VS、DE控制信号,如下图所示
根据下面数据手册中内容与上图接口标准的对照,我们可以看出本次调试使用的LVDS屏幕的接口标准属于VESA标准。
除了上述信息外,我们还需要timing参数,这个参数能够详细地表述屏幕的显示区域,在数据手册中显示如下图所示
一般来说,我们需要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)。
这里为适配多屏而单独新建了一个设备树文件,这样就可以加载不同的设备树点不同的屏幕,避免了在同一个设备树上持续更改的繁琐。
首先,#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节点去匹配屏幕。
启扬i.MX8M Plus开发板适配LVDS屏幕的调试思路相关推荐
- 基于stm32物联网开发板(2)--LCD屏幕
基于stm32物联网开发板(2)–LCD屏幕 LCD应用展示: LCD屏幕应用 1.概述 屏幕尺寸为1.3寸,分辨率240*240,颜色格式RGB565,驱动IC:ST7789VW: 超大可视角度:大 ...
- I.MX8M mini物联网开发板框架及屏幕接口详解
本文由用户robe.zhang发表于电路城论坛试用板块 主要内容: 1.imx8m mini 框架 2.核心板系统框架 3.开发板系统框架 4.屏幕接口详解 5.总结 1.imx8m mini 框架 ...
- 【安信可ESP32语音开发板专题②】ESP32-Audio-Kit 开发板适配百度dueros例程实现在线语音功能,与开发板对话聊天。
文章目录 前言 一.准备工作 1.硬件准备 2.软件准备 二.验证ESP-ADF是否正常 1. 代码简单修改 2.播放MP3测试 三.dueros 例程适配 1.替换连接文件 2.内存卡准备 3. 代 ...
- 【HaaS Python适配】AliOS-Things HAAS-Python ESP32-C3开发板适配和编译
AliOS-Things HAAS-Python ESP32-C3适配和编译 版本:v1.0 作者:乔楚.李志清 日期:2022-04-26 主要处理说明: 引用esp-idf v4.4 独立espr ...
- 海凌科7621开发板适配新版openwrt
最近在海凌科买了一块7621的开发板,flash是32M的,ddram是256M的,性价比感觉不错,海凌科提供的openwrt是比较旧的版本,在openwrt最新的19.07版本里已有的硬件都有一定的 ...
- 迅为i.MX8M mini开发板Andaoid9系统测试4G
可以看出来,我的系统上目前有一个网络设备,如下图所示: 关闭以太网.wifi(防止干扰,非必须) ifconfig wlan0 down ifconfig etho down 然后开发板连接屏幕,点击 ...
- imx8系列-迅为i.MX8M Mini开发板Android9如何编译驱动到内核
迅为I.MX8MM 开发平台是基于恩智浦的 NXP i.MX 8M Mini 处理器设计开发的一款产品.NXP i.MX 8M Mini 处理器致力于提供出色的视频和音频体验,将媒体的特定功能与针对低 ...
- ESP32开发板连接TFT屏幕
前言 esp32连接tft屏幕踩了很多坑,也查阅了很多资料,这里简单总结一下,希望能为像我一样的小白排一下坑. ESP32的引脚 关于esp32的引脚功能,官方给出的文档写的比较多,官方文档如下: E ...
- 基于VC709开发板的光纤收发的调试与实现,以及过程中遇到的问题与解决。
VC709是xilinx旗下的一款开发板,搭载了强大的Virtex-7芯片.有着丰富存储资源,时钟资源与高速接口.具体可参考xilinx官网的ug887手册,本次主要是想记录一下自己的学习过程与遇到的 ...
最新文章
- 百度Q3财报里的“大生意”
- Object类的用法(三)
- UIBezierPath 的使用介绍
- 从一个数组中提取出第start位到第end位
- Django入门教程(二)
- 使用named_mutex实现读写锁,实现进程之间读共享写独占
- Lync Server 2010的部署系列_第六章 安装配置拓扑生成器、前端Server、前端池
- 浅谈js中的this
- 使用VS2008在windows平台上试用Kinect
- 网络安全实验四 防火墙技术的具体应用
- tomcat 的 catalina.out 日志文件,禁用
- BottomNavigationView的基本使用
- phP imageMagic抠图,使用 Lua + ImageMagick 轻松批量抠图
- idea用JAVA连接mysqlAccess denied for user ‘root‘@‘localhost‘ (using password: YES)错误
- 写在清明(2007年)
- 2017暑期实习招聘-产品经理-微软WDGAE(2)-第3轮面试
- matlab响应曲面设计,响应曲面法与设计
- VCN中文编程平台的优势(二)——产品的价格
- CUDA--延迟隐藏
- 火山视窗文件框基本操作介绍
热门文章
- python对word文档内容进行批量替换_python 使用win32com实现对word文档批量替换页眉页脚...
- 虚幻引擎_材质+后处理实现中国风水墨渲染
- int与Bigdemical的转换
- 京瓷2010复印a4内容不全_京瓷复印机问题集
- 观《科幻概论》有感(下)
- 你是如何成为 Lisp 程序员的(转)
- 苹果手机数据恢复软件|易我iOS恢复大师免费下载
- 彻底丢失的电子数据怎么恢复
- 在Web页上模拟(QQ)魔法表情
- 【Excel】复制的时候,只选择筛选的部分,不选择隐藏的部分