三屏异显案例分享,基于全国产RK3568J工业平台!
在工业领域中,能否更灵活、更高效地在主屏幕进行主要任务,并在其他副屏幕上进行其他次要任务(例如查看参考资料、监控其他应用程序),一直都是许多工业领域客户面临的刚需,而“多屏异显”功能便为此而生。
在过去,由于性能、成本、技术等诸多问题,许多工业处理器并不支持多屏异显。但随着工业处理器尤其是国产工业处理器的不断迭代升级,实现多屏异显已不再困难。而作为国产工业处理器中的佼佼者,瑞芯微RK3568J处理器可实现三屏异显,较好地满足当下的客户需求。
RK3568J多屏显示系统说明
RK3568J处理器支持3个VOP(Video Output Processor,以下分别称为"VP0"、"VP1"、"VP2"),可同时支持三个显示屏显示功能。其中,VP0最高支持4K分辨率(4096x2304@60fps),VP1最高支持2K分辨率(2048x1536@60fps),VP2最高支持1080P分辨率(1920x1080@60fps)。RK3568J处理器与各显示接口连接关系如下图所示。
RK3568J三屏异显应用场景
RK3568J三屏异显方案演示
创龙科技提供的LinuxSDK安装包已包含支持三屏显示的设备树文件,位于"kernel/arch/arm64/boot/dts/rockchip/"目录下,具体说明如下。
表1
设备树文件名称 |
说明 |
tl3568-evm.dts |
LinuxSDK默认编译的设备树。 支持HDMI(VP0)、MIPI LCD(VP1)、LVDS LCD(VP2)显示,不支持eDP、TFT LCD显示。 |
tl3568-evm-edp-tft.dts |
支持eDP(VP0)、TFT LCD(VP1)、MIPI LCD(VP2)显示,不支持HDMI、LVDS LCD显示。 |
下文主要介绍基于瑞芯微RK3568J(硬件平台:创龙科技TL3568-EVM工业评估板)的三屏异显方案演示,按照创龙科技提供的案例用户手册进行操作得出测试结果。
基于官方系统的三屏异显演示
请参考创龙科技提供的《评估板测试手册》文档具体说明,将评估板HDMI OUT接口连接至HDMI显示屏,将10.4英寸LVDS显示屏(厂家:群创,型号:G104XCE-L01)连接至评估板的LVDS LCD(显示)、RES TS(触摸)、BACK LIGHT(背光)接口,将7英寸MIPI显示屏(型号:阿美林AML070WXII4006,分辨率:800x1280)连接至评估板的MIPI LCD(显示)、CAP TS(触摸)接口。将鼠标连接至评估板USB2.0 HOST(USB2)双层任一接口,硬件连接如下图所示。
评估板上电启动后,三个显示屏将会默认显示同一帧系统背景图像,如下图所示。
可通过鼠标分别点击不同显示屏下方的应用图标显示相关画面,亦可通过鼠标拖动画面至不同显示屏,实现三屏异显,如下图所示。
基于Qt的三屏异显演示
案例说明
本章节使用led_control_multi_screen案例演示三屏异显功能,可指定任一显示屏上显示LED控制按钮图像,并可通过点击界面按钮控制LED亮灭。
案例位于产品资料“4-软件资料\Demo\qt-demos\”目录下,其中案例src目录下包含Qt工程源码,bin目录下包含ARM端Qt程序镜像。
显示屏校准说明
基于Qt案例的三屏异显测试需进行LVDS显示屏校准,校准完成可通过手动触摸控制显示界面。请将10.4英寸LVDS显示屏(厂家:群创,型号:G104XCE-L01)连接至评估板的LVDS LCD(显示)、RES TS(触摸)、BACK LIGHT(背光)接口,其余显示接口不接入显示屏。
备注:目前仅LVDS LCD显示屏需校准(MIPI LCD显示屏无需校准),且仅支持单个显示屏接入至评估板进行校准,若评估板连接多个显示屏则无法正常校准。
执行如下命令,设置LVDS LCD为主显示,然后进行LVDS LCD屏校准。
Target#echo "output:LVDS-1:primary" > /tmp/.weston_drm.conf //设置LVDS LCD为主显示
执行完命令后,进入如下显示屏校准界面,根据提示点击屏幕依次弹出的4个红色校准点,校准完成后,校准界面会自动退出并打印校准数值。请记下校准数值,分别为:0.017822、1.048701、-0.012603、-1.092437、0.021308、1.048612。
LVDS显示屏校准完成,请将评估板断电,将评估板HDMI OUT接口连接至HDMI显示屏,将7英寸MIPI显示屏(型号:阿美林AML070WXII4006,分辨率:800x1280)连接至评估板的MIPI LCD(显示)、CAP TS(触摸)接口。将鼠标连接至评估板USB2.0 HOST(USB2)双层任一接口。
评估板重新上电,进入评估板文件系统,执行如下命令,查看评估板LVDS LCD与MIPI LCD的输入与输出设备名称。其中"ADS7846 Touchscreen"为LVDS LCD输入设备名称,"card0-LVDS-1"为输出设备名称;"Goodix Capacitive TouchScreen"为MIPI LCD输入设备名称,"card0-DSI-1"为输出设备名称。
Target#cat /proc/bus/input/devices
Target#ls /sys/class/drm/
执行如下命令创建udev规则文件,写入相关内容绑定输入与输出设备。第一条语句为LVDS LCD的输入与输出设备绑定,其中"0.017822 1.048701 -0.012603 -1.092437 0.021308 1.048612"为LVDS LCD校准时获取的数据;第二条语句为MIPI LCD的输入与输出设备绑定,由于MIPI LCD不需要校准,因此无需绑定校准数据。
Target#vi /lib/udev/rules.d/99-weston-touch-calibrator.rules
udev规则文件内容如下:
ATTRS{name}=="ADS7846 Touchscreen",ENV{WL_OUTPUT}="LVDS-1",ENV{LIBINPUT_CALIBRATION_MATRIX}="0.017822 1.048701 -0.012603 -1.092437 0.021308 1.048612"
ATTRS{name}=="Goodix Capacitive TouchScreen",ENV{WL_OUTPUT}="DSI-1"
执行如下命令,删除weston-calibration.sh配置文件,并断电重新启动评估板。
Target#rm /etc/profile.d/weston-calibration.sh
Target#sync
案例测试
本次测试使用系统默认的tl3568-evm.dts设备树文件,支持HDMI(主屏) + LVDS LCD(副屏) + MIPI LCD(副屏)三屏显示方案。请将案例bin目录下的led_control_multi_screen可执行程序拷贝至评估板文件系统root目录下,执行如下命令设置LVDS LCD显示Qt界面。
Target#./led_control_multi_screen 0
参数解析:
0:表示指定LVDS LCD显示。
1:表示指定HDMI显示。
2:表示指定MIPI LCD显示。
备注:若打印警告信息"QStandardPaths: runtime directory…",忽略即可,不影响测试。
程序运行成功后,可观察到LVDS LCD显示LED控制界面,并可通过鼠标或手动触摸方式点击LVDS LCD显示屏控制界面控制评估板对应LED亮灭。同时HDMI显示屏与MIPI LCD将显示系统默认界面,如下图所示。