工业化进程的快速推进,人机交互应用的覆盖面也越来越广泛,像3d打印行业会专门为3d打印机配备上智能化的操作屏幕,汽车仪表盘和中控盘也开始往智能平板的方向发展,传统的工业hmi面板也在寻求升级转型。
ok113i-s开发板在显示接口方面具有较多的选择,其支持lvds单8、双8显示,最大分辨率1280x800,也支持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,下方的目录下有同名的链接文件,都指向同一个文件
device/config/chips/t113_i/config/ok113i/
根据屏幕说明书,找到屏幕的关键参数,如下图
default 注释的是原来的内容,1024x600是我的屏幕分辨率,这里面有许多参数,具体的说明如下:我们这里只关心几个即可
lcd_if: hv模式,见lcd屏幕说明lcd_lvds_if: 0:single link; 1:dual linklcd_lvds_mode: 0:ns mode; 1:jeida mode;这里是jeida显示序列lcd_x 分辨率xlcd_y 分辨率ylcd_width 物理尺寸lcd_height 物理尺寸lcd_hbp: hsync back porch(pixel) + hsync plus width(pixel);lcd_ht: hsync total cycle(pixel)lcd_vbp: vsync back porch(line) + vysnc plus width(line)lcd_vt: vysnc total cycle(line)lcd_hspw: hsync plus width(pixel)lcd_vspw: vysnc plus width(pixel)
uboot的配置文件在这里:
kernel/linux-5.4/arch/arm/boot/dts/uboot-board-lvds.dts
这里看到有看到其他的不同屏幕的配置文件,根据我的屏幕类型lvds,uboot-board-lvds.conf;
修改完后,./build.sh 修改编译选项,重新烧录即可
实现效果
最后我们截屏看看,使用这个命令可以截屏
root@ok113i:/# echo 0 >/sys/class/disp/disp/attr/disproot@ok113i:/# echo /home/forlinx/ok113-screen.bmp >/sys/class/disp/disp/attr/
适配过程问题总结:
buidl前需要整体编译一遍,有问题可以群里提问。
buidl内核前先clean,减少修改后不生效的问题。
修改后不生效,需要查看uboot启动的默认选项。
CJT分析怎么选择LED连接器
美国社交巨头Facebook将在明年推出数字货币
CNC设备的构成
FPGA控制CLC5958型A/D转换器实现的高速PCI数据
利用非完全补偿技术实现超高增益带宽,并降低输入电压噪声
基于飞凌OK113i-S开发板适配10寸LCD显示
运营商加速数字化转型 如何构建和融入新的数字生态圈
KRC内部安全如何控制
中小型芯片代理商生存危机迫在眉睫,路在何方?
干货分享|基于HPM6750 CAN2.0 及 CAN- FD 操作指南
怼华为Mate8、蹭傅园慧热度,中兴“国礼”旗舰如今2100元甩了
网络寻呼话筒的功能和作用?
微雪电子4.2寸电子纸裸屏简介
C2000 CLA的使用与常见CLA内存问题的解决方案
为何买冰箱都认海尔?320项专利守护,一根羽毛就能看到差距
直线电机模组与丝杆模组的优缺点对比
华为P10明日发布 三成用户购买意愿强烈
光衍射相对光强分布的测量
瑞萨与台积电将合作开发28nm纳米嵌入式闪存制程技术
2018年全球半导体支出将超千亿美元 三星占两成