工业化进程的快速推进,人机交互应用的覆盖面也越来越广泛,像3D打印行业会专门为3D打印机配备上智能化的操作屏幕,汽车仪表盘和中控盘也开始往智能平板的方向发展,传统的工业HMI面板也在寻求升级转型。
OK113i-S开发板在显示接口方面具有较多的选择,其支持lvds单8、双8显示,最大分辨率1280×800,也支持RGB666显示,由于手头只有lvds单8,40pin的显示屏,本文就介绍如何在T113-i开发板上适配以上这个LCD的显示,具体实现效果如下图。
设备接线
转接板是两部分,左边的是触摸线,右边的是屏幕接线,触摸的调试见另一篇文章。这里只说屏幕的适配;从图上可以看到,液晶屏的排线40pin经过转接板转为20pin接入主板。
首先根据主板使用说明,LVDS接口信息,主板是LVDS双8信号,我这里只有LVDS接口的屏幕,其他工程剩余的,是LVDS单8信号,需要做一些修改。屏幕是10寸的40pinLVDS 单8接口。40pinLVDS 接口经过转接板只有20接口线。下面是关键信息。
主板LCD接口信息
LCD的LVDS 40PIN接口信息
接口板接口信息定义
我们要做的就是把主板的接口与20pin的转接板连接起来,调整排线的线序,具体做法如下:
屏幕接口说明
代码适配修改
首先找到内核的设备树文件OK113i-C-Linux.dts和 OK113i-C-Common.dtsi,下方的目录下有同名的链接文件,都指向同一个文件
根据屏幕说明书,找到屏幕的关键参数,如下图
Default 注释的是原来的内容,1024×600是我的屏幕分辨率,这里面有许多参数,具体的说明如下:我们这里只关心几个即可
UBOOT的配置文件在这里:
这里看到有看到其他的不同屏幕的配置文件,根据我的屏幕类型lvds,uboot-board-lvds.conf;
修改完后,./build.sh 修改编译选项,重新烧录即可
实现效果
最后我们截屏看看,使用这个命令可以截屏
适配过程问题总结:
buidl前需要整体编译一遍,有问题可以群里提问。
buidl内核前先clean,减少修改后不生效的问题。
修改后不生效,需要查看UBOOT启动的默认选项。