打印
[技术讨论]

纵享丝滑!全志R128+LVGL驱动多尺寸RGB LCD屏幕流畅运行

[复制链接]
554|0
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
神棍地海棠|  楼主 | 2023-12-22 09:54 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
新晋点屏神器,R128!各种屏幕都能点!
高刷、大屏、宽色域......通常来讲,显示器的配置越高,越能给使用者带来优于其它一般配置显示器的体验。但就某些特殊的使用场景来讲,选择配置合适的显示屏幕,才能更精准地匹配上实际的使用需求。
无论是工控监视设备、平板电脑、笔记本电脑等带屏产品,还是平时开发者在DIY掌机、小电脑、桌面机器人等电子设备时,都需要通过使用不同尺寸的RGB屏幕来满足特定的需求。
R128和LVGL的组合就为这一类的应用场景提供了解决方案的另一种选择,对内存及处理器性能的低要求,可以让LVGL很好的适配不同尺寸的RGB屏幕以及各种应用场景。
  • 7寸方屏(1024x600)
  • 4寸方屏(480x480)
  • 4寸圆屏RGB(480x480)

R128适配RGB LCD配置
如动图展示,其中最大的屏幕是 7寸1024x600分辨率,lvgl测试不加触摸能跑60多帧,加触摸是58帧左右,4寸480x480分辨率的屏幕时,R128的lv_benchmark跑分显示可达247fps,实现伪高刷。
R128目前以支持移植百问网的7寸(1024x600)、4寸方屏(480x480)、4寸圆屏RGB(480x480)。
不同尺寸RGB屏幕的sys_config.fex配置有微小差异,以4寸方屏RGB配置代码为例:
4寸方屏(480x480);lcd_driver_name     = "default_lcd";lcd_backlight       = 150;lcd_if              = 0;lcd_x               = 480;lcd_y               = 480;lcd_width           = 70;lcd_height          = 70;lcd_rb_swap         = 1;lcd_dclk_freq       = 9;lcd_pwm_used        = 1;lcd_pwm_ch          = 7;lcd_pwm_freq        = 500000;lcd_pwm_pol         = 1;lcd_hbp             = 20;lcd_ht              = 526;lcd_hspw            = 6;lcd_vbp             = 10;lcd_vt              = 510;lcd_vspw            = 4;lcd_lvds_if         = 0;lcd_lvds_colordepth = 1;lcd_lvds_mode       = 0;lcd_frm             = 1;lcd_io_phase        = 0x0000;lcd_gamma_en        = 0;lcd_bright_curve_en = 0;lcd_cmap_en         = 0#触摸配置4寸方屏(480x480) GT911;tp_max_x               = 480;tp_max_y               = 480;tp_addr                = 0x14
LVGL配置修改以下内容:
/*Color depth: 1 (1 byte per pixel), 8 (RGB332), 16 (RGB565), 32 (ARGB8888)*/#define LV_COLOR_DEPTH 32  /*这里可以改为16,因为de会自动转换到32位,最终显示还是32位色深*//*Swap the 2 bytes of RGB565 color. Useful if the display has an 8-bit interface (e.g. SPI)*/#define LV_COLOR_16_SWAP 0#ifndef USE_EVDEV#  define USE_EVDEV           1#endif
以上配置完成后,编译打包烧录,上电后屏幕背光亮起,屏幕为黑色,并且可以在 LOG 中看到 SPI 初始化的 LOG。
disp:[disp_device_attached_and_enable 230]attached ok, mgr0<-->dev0disp:[disp_device_attached_and_enable 243]type:1,mode:0,fmt:rgb,bits:8bits,eotf:4,cs:0 dvi_hdmi:2, range:2 scan:0 ratio:8[gt911][log] PRODUCT_ID=39:31:31:00:60:10[gt911][log] verison=00 range_x=0 range_y=0 point_num=0[gt911][log] PRODUCT_ID=39:31:31:00:60:10[gt911][log] verison=42 range_x=480 range_y=480 point_num=5开发资源
Gitee源码获取链接:https://gitee.com/weidongshan/100ask_r128_demos
GitHub源码获取链接:https://github.com/100askTeam/100ask_r128_demos
更多关于项目的详情可以前往百问网R128综合项目开发案例界面了解:https://aw-r128.100ask.net/zh/rtos/demo/part1/chapter15.html
应用拓展
在其它规格及尺寸屏幕上的LVGL运行效果对比也可以参考以下文章,文章内将对比了LVGL运行在R128平台时,SPI与DBI在不同型号屏幕下的性能差异。
相关阅读:https://r128.docs.aw-ol.com/demo/spi_vs_dbi/
能进行虚拟光渲交互的智能家居中控,基于开源项目移植的NWatch智能手表,它们的产品形态其实类似,只是在屏幕的选择规格上有明显差异。
相关阅读:https://bbs.aw-ol.com/topic/4793/
相关阅读:https://bbs.aw-ol.com/topic/4563/
在原文链接演示的链接回复中,也可以发现有的开发者基于R128+LVGL的搭配实现了普通灯珠的点阵屏控制效果图,丰富的音视频接口为R128应对不同场景的需求提供了便利。

使用特权

评论回复

相关帖子

发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

282

主题

290

帖子

1

粉丝