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

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

3天内不再提示

英创信息技术ESM6802双屏显示(LVDS+HDMI)设置

英创信息技术 来源:英创信息技术 作者:英创信息技术 2020-02-05 10:32 次阅读

1、ESM6802显示简介

ESM6802根据显示接口的不同分为两种版本,一种支持RGB显示接口,主要用于低分辨率显示;另外一种同时支持LVDS和HDMI显示接口,可以单独使用任意接口或者搭建LVDS+HDMI的双屏显示系统。用户购买时可根据自己的需要选择支持RGB的单屏显示型号或者支持LVDS+HDMI的双屏显示型号。

双屏显示设置包括:

●双屏运行不同的程序(Qt5程序)

●双屏运行相同的程序,程序自身负责同步

●双屏播放不同的视频

●双屏同步播放相同的视频

●一个屏幕运行程序,一个屏幕播放视频

●一个屏幕分块显示多个视频(单屏/双屏通用)

下面先简单介绍一下显示接口的设置。

设置显示接口需要设置U-Boot,我们已有默认设置可以满足大部分用户需求,目前我们的出厂设置是将LCD或者LVDS屏幕作为主屏(mxcfb0),HDMI屏幕作为附屏(mxcfb1),且HDMI屏幕设置为1920x1080M@60,if=RGB24,由于HDMI屏幕显示协议中有一个协商的部分,HDMI显示输出会根据我们的设备以及显示屏幕支持的分辨率进行选择,使用双方都支持的最大分辨率,所以用户一般不需要修改此配置。而修改LCD或者LVDS的配置可以用过我们提供的修改开机画面的命令flash_opt烧写正确分辨率的bmp图片,我们的系统就会在下一次开机自动修改LCD/LVDS屏幕的分辨率设置了。如此设置可以方便用户进行快速修改屏幕设置。

对于需要自行修改设置的用户,下面对设置方法进行简单介绍。开机调试串口显示Hit any key to stop autoboot时按下任意键进入U-Boot环境,输入命令 printenv video 查看默认设置:

=> printenv video

video=video=mxcfb0:dev=ldb,800x600M@60,if=RGB666 video=mxcfb1:dev=hdmi,1920x1080M@60,if=RGB24

输入命令setenv video video=设置 来设置显示输出,如:

=> setenv video video=mxcfb0:dev=ldb,800x600M@60,if=RGB666 video=mxcfb1:dev=hdmi,800x600M@60,if=RGB24

设置的格式为($数字表示变量,需要根据实际情况配置):

video=mxcfb$1:dev=$2,$3x$4M@$5,if=RGB$6

●$1可以取值0或1,单屏显示只需要设置为0, 双屏显示时0为主屏,会输出开机画面,1屏默认开机没有开启,输出显示时会自动打开。

●$2表示输出设备,可选值为lcd—RGB屏,ldb--LVDS屏,hdmi--HDMI屏。

●$3和$4表示屏幕分辨率。

●$5为屏幕刷新频率。

●$6为屏幕输出接口,常用接口为RGB565、RGB666、RGB24。

用户根据自己的实际情况设置此参数后,运行命令saveenv保存,然后运行命令boot开机。开机之后可以运行命令ls /dev/fb* 查看设置是否成功,其中fb0、fb2表示屏幕,fb1是fb0代表屏幕的左上部分。默认fb2没有开启,可以输入下面命令打开:

echo 0 > /sys/class/graphics/fb2/blank

用户在使用中可以让双屏显示不同应用程序或者一个屏幕运行图形界面程序,另外一个屏幕进行视频播放等,具体设置方法将在下面两章节(QT 5支持 和 多媒体音视频 )中分别进行介绍。用户阅读完下面的内容之后可以进行随意组合使用双屏显示不同或相同内容。

2、Qt5支持

ESM6802 文件系统已经移植好了Qt 5.5.1 版本,支持qml等Qt5新特性,并且已经移植好了tslib库来支持工业上比较常见的电阻触摸屏,用户可以方便的使用Qt 5来开发图形界面应用程序。ESM6802 文件系统中的Qt 5 使用 eglfs 平台,我们默认已经设置了环境变量 QT_QPA_PLATFORM=eglfs, 如果用户发现Qt 5 程序无法运行,请首先检查此环境变量是否被改变。ESM6802文件系统里面也提供了qmlscene程序用于运行qml文件,qmlscene程序在/usr/bin/qt5/文件夹下面。关于eglfs 以及更多Qt 5程序开发的相关知识请参考Qt 官网或其他资料,关于Qt 5开发环境的搭建请参考《ESM6802开发工具安装》文档,我们在此只简单展示qml运行效果。示例用的qml文件可以从光盘中获取,运行命令:

/usr/bin/qt5/qmlscene example_billborad.qml

运行效果如下图:

双屏设置:

Qt5运行于eglfs平台,与屏幕设置有关的环境变量为QT_QPA_EGLFS_FB,用户在运行Qt程序之前设置此环境变量就可以实现控制Qt程序在哪个屏幕上进行显示了,如下例在LVDS和HDMI屏幕上运行两个不同的Qt程序:

export QT_QPA_EGLFS_FB=/dev/fb0//第一个程序显示在fb0(LVDS)上

/usr/bin/qt5/qmlscene example_billborad.qml &

export QT_QPA_EGLFS_FB=/dev/fb2 //第二个程序显示在fb2(HDMI)上

./smarthome

运行效果如下图:

目前无法支持将一个应用程序的界面同时显示在两个屏幕上,如果用户需要实现此功能,需要在两个屏幕上同时运行相同的程序(以不同的QT_QPA_EGLFS_FB设置运行两次程序),然后在程序中使用Linux提供的进程同步机制来控制两个程序,从而达到两个屏幕同步显示相同内容。

3、多媒体音视频

ESM6802支持多种格式的音视频多媒体文件的播放,提供的函数接口是基于gstreamer的,运行命令gst-inspect-1.0 就可以查看系统支持的所有gstreamer plugins。

关于gstreamer 编程请参考官网文档及其他相关资料:

https://gstreamer.freedesktop.org/documentation/

ESM6802文件系统中的gst-launch-1.0 可以进行简单的播放展示,如果用户不需要对音视频播放进行暂停快进等特殊操作,也可以在应用程序中调用gst-launch-1.0进行简单的多媒体播放。ESM6802支持AVI、MP4、FLV、MPG2、MKV、RMVB常见视频格式最大分辨率1920x1080(1080p)的播放,以及常见音频格式如MP3、WMA和图片格式JPEG、PNG、GIF、BMP。

简单的视频播放可以使用如下命令:

gst-launch-1.0 playbin uri=file:///mnt/cloudy720p.mkv

播放效果如下图:

控制视频在不同屏幕上播放或这同时在两个屏幕上播放需要用到overlaysink插件(系统已经安装),配置overlaysink的文件为/usr/share/imx_6q_display_config , 配置格式如下:

[Display NAME]

必须配置,指明显示名称

device=

必须配置,指明设备文件,如/dev/video17(默认为LVDS/RGB)或/dev/video18(默认为HDMI)

fmt=

可选配置,设置显示格式,如RGBP、RGB565等,默认为RGBP

width=

height=

可选配置,设置显示分辨率

alpha=

可选配置,设置alpha(透明)值,默认0

color_key=

可选配置,颜色配置,默认关闭

具体配置示例如下:

# LVDS display

[master]

device = /dev/video17

fmt = RGBP

width = 1024

height = 768

alpha = 0

# HDMI display

[slave]

device = /dev/video18

fmt = RGBP

width = 1920

height = 1080

根据以上配置在不同屏幕(LVDS+HDMI)上同时播放不同视频的可用命令:

gst-launch-1.0 playbin uri=file:///mnt/cloudy720p.mkv playbin uri=file:///mnt/xpg.mp4 video-sink=”overlaysink display-master=false display-slave=true”

播放效果如下图所示:

如需在不同屏幕上播放相同视频可以运行如下命令:

gst-launch-1.0 playbin uri=file:///mnt/cloudy720p.mkv video-sink=”overlaysink display-master=true display-slave=true”

结合上一章Qt的介绍,可以在一个屏幕上运行程序,在另外一个屏幕上播放视频:

./smarthome &

gst-launch-1.0 playbin uri=file:///mnt/cloudy720p.mkv video-sink=”overlaysink display-master=false display-slave=true”

运行效果如下图:

视频播放还支持一个屏幕播放多个视频,可以使用如下命令:

gst-launch-1.0 playbin uri=file://$FILE1 video-sink=”overlaysink overlay-width=960 overlay-height=540” playbin uri=file://$FILE2 flags=0x41 video-sink=”overlaysink overlay-left=960 overlay-width=960 overlay-height=540” playbin uri=file://$FILE3 flags=0x41 video-sink=”overlaysink overlay-top=540 overlay-width=960 overlay-height=540” playbin uri=file://$FILE4 flags=0x41 video-sink=”overlaysink overlay-left=960 overlay-top=540 overlay-width=960 overlay-height=540”

运行效果如下图:

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

    关注

    87

    文章

    11191

    浏览量

    208622
  • 嵌入式主板
    +关注

    关注

    7

    文章

    6084

    浏览量

    35137
收藏 人收藏

    评论

    相关推荐

    中科达荣获2024年软件和信息技术服务优秀企业

    及前百家企业”名单。中科达凭借非凡的技术实力与持续的创新能力,成功入选“2024年度软件和信息技术服务竞争力百强企业”以及“2024年软件和信息技术服务优秀企业”。
    的头像 发表于 10-30 11:44 249次阅读

    如何将LVDS/OLDI桥接到HDMI/DVI

    电子发烧友网站提供《如何将LVDS/OLDI桥接到HDMI/DVI.pdf》资料免费下载
    发表于 09-27 09:35 1次下载
    如何将<b class='flag-5'>LVDS</b>/OLDI桥接到<b class='flag-5'>HDMI</b>/DVI

    MIPI和LVDS显示屏的区别

    MIPI和LVDS显示屏的区别
    的头像 发表于 09-23 10:02 1666次阅读

    DS90CR216A、SN65LVDS84A、DS90CR286A、SN75LVDS83x

    DS90C216A TSSOP48,MS90C386B设计参考原理图如下:深圳市亿旸科技有限公司是一家成立于2010年的集成电路分销商及技术服务类公司,专注于显示屏桥接、TTL/RGB/LVDS
    发表于 08-27 10:13

    显示hdmi接口有什么用

    随着科技的不断发展,显示器的功能和性能也在不断提升。其中,HDMI接口作为一种常见的视频传输接口,已经成为了显示器的标配。而在一些高端显示器上,我们会发现它们配备了
    的头像 发表于 08-01 15:21 2448次阅读

    网线单双屏区别

    网线单屏蔽(简称单)和双屏蔽(简称双屏)的主要区别体现在以下几个方面。
    的头像 发表于 07-31 10:13 1153次阅读

    异显案例分享,基于全国产RK3568J工业平台!

    具体说明,将评估板HDMI OUT接口连接至HDMI显示屏,将10.4英寸LVDS显示屏(厂家:群
    发表于 07-17 10:53

    全志T3+Logos FPGA开发板——双屏异显开发案例

    案例功能:实现TFT LCD(主) + CVBS OUT(副双屏异显功能。程序通过指定参数在不同类型的显示屏显示一帧图像,具体功
    发表于 07-12 17:27

    Led显示屏控制系统怎么使用 led显示屏控制器怎么设置

    Led显示屏控制系统是一种用于控制LED显示屏的硬件设备,通过它可以实现对LED显示屏的亮度、颜色、显示内容等参数的设置和控制。在使用LED
    的头像 发表于 02-03 14:03 7113次阅读

    HDMI2.0到端口MIPI DSI/CSI &amp; LVDS LT6911UXC

    LT6911UXC是一个高性能的HDMI2.0到MIPI DSI/CSI & LVDS转换器。HDMI2.0输入支持高达6Gbps的数据速率,这为60Hz的视频提供了足够的带宽。同时,还支持
    的头像 发表于 01-16 16:07 802次阅读
    <b class='flag-5'>HDMI</b>2.0到<b class='flag-5'>双</b>端口MIPI DSI/CSI &amp; <b class='flag-5'>LVDS</b> LT6911UXC

    带你玩转AM62x开发板的显示接口

    白色端口分别接入两块飞凌嵌入式的10.1寸LVDS显示屏,右侧黑色端口同样是接到OK6254-C开发板的LVDS接口上,这样即可实现双屏同显。   (3)
    发表于 01-11 09:09

    【ElfBoard】LVDS顺口溜:单八单六六到底是啥?

    一、接口定义 LVDS是一种低压差分信号技术接口,低压差分信号传输:输出接口利用非常低的电压摆幅(约350mV)在两条PCB走线或一对平衡电缆上通过差分进行数据的传输,采用LVDS输出接口,可以
    发表于 12-11 13:21

    kde配置独立模式双屏显示

    在KDE配置独立模式双屏显示,可以按照以下步骤进行: 进入系统设置,并选择“显示”选项。 在显示设置
    的头像 发表于 11-13 16:50 1009次阅读

    求助,关于i.MX8MQ中是否支持同显的问题

    疑问: 1 我们的方案理论上,能够lvdshdmi同显吗?即运行一个QT app,然后在上面2个屏幕上显示同样的内容 2 如果1不行,那i.mx8mq支持双屏同显吗? 3 如果2不行
    发表于 11-13 06:31

    【手册上新】迅为RK3588开发板多显示手册

    iTOP-RK3588开发板采用四核Cortex-A76处理器和Cortex-A55架构,芯片内置VOP控制器,最多可以支持7个屏幕显示,支持HDMILVDS、MIPI、EDP四种显示
    发表于 11-07 10:37