KDocs 研发资料库
  • 手表穿戴技术应用文档入口汇总
  • JL707N穿戴客述问题FAQ
  • 彩屏仓 硬件开发指南 与 量产作业流程规范
  • 彩屏仓 AC98N和JL701烧录升级注意事项
  • JL707 硬件开发资料
  • JL707 手表硬件设计注意事项 总结
  • 穿戴生产烧录OTA和key文件添加使用说明
  • JL707N-入门到进阶开发指导文档
  • 彩屏仓982相关
  • 彩屏仓耳机介绍
  • 杰理701_707双屏demo介绍
  • 707电子吧唧开发资料
  • GPIO相关
  • UART串口相关
  • SPI相关
  • nandflash相关
  • norflash相关
  • IIC相关
  • PWM相关
  • SD卡相关
  • 定时器TIMER
  • 文件系统接口设计说明文档
  • 音视频录像开发流程
  • rdec编码器
  • 穿戴功耗数据标准
  • 手表蓝牙开发文档
  • 701蓝牙PAN联网demo
  • BLE开发使用说明
  • 701手表2.0.0版本SDK EQ在线调试和离线调试方法 V1.1
  • JL707 手表喇叭输出声音大小评估方法 V1.0
  • JL707 手表音频EQ调试方法 V1.0
  • AC707N 手表通话写卡 软件配置方法
  • 录音功能
  • 701手表2.X.X系列SDK调试EQ配置方法及音频调试技巧V1.1
  • 701手表104版本SDK EQ在线调试和离线调试方法 V1.1
  • mic2dac示例
  • P11 SensorHub相关
  • 手表升级操作文档
  • AC707NGPU
  • DBI模块介绍
  • GPU模块介绍
  • 701N屏幕驱动配置说明
  • 701N_UI编辑工具用户手册
  • 支付宝资料
  • 支付宝硬件接入资料
  • 支付宝乘车码接入资料
  • CAT1 接入文档
  • 701N_WATCH_CAT1开发说明
  • Findmy功能
  • music模式相关
  • 707电池曲线
  • 707N内置FLASH挂载FAT文件系统251112_v1.2
  • AC707N_本地视频播放demo(AVI-MJPEG-PCM)
  • 光波导屏幕调试
  • 耳机研发和生产流程 指南
  • 707-NandFlash 代码和UI资源独立烧录方案
  • 彩屏仓时间同步补丁
  • 彩屏仓抖音点赞移植
  • 707LVGLv8双屏开发
  • 707N蓝牙互传图传demo
  • AVIPCM数据流接入AIVOICE
  • Flash分区操作demo
  • 手表发射问题
  • 701_707 双备份升级DEMO
  • 707_乘车码刷码失败问题_共性

杰理707 LVGL双屏异触DemoV1.0技术文档

📎 原始文档:https://www.kdocs.cn/l/cv5n4aOXSLlu 杰理707 LVGL双屏异触DemoV1.0技术文档

杰理707 LVGL双屏异触Demo V1.0技术文档

Demo下载:杰理707 LVGL双屏异触Demo V1.0

第一章 Demo内容与移植步骤

1.1 Demo内容

.c文件:
新增:ui_double_eye.c
以及images文件夹下四个文件夹内的图片资源(已转为C数组格式)
image 改动:main.c ui.c ft3x68.c(触摸驱动) board_ac707n_demo.c lcd_drive.c
.h文件:
改动:ui.h lv_conf.h board_ac707n_demo_cfg.h sdk_config.h
imageimage

1.2 移植步骤

第一步:修改sdk_config.h
修改两屏幕iic引脚,使用软件iic。
image 修改LCD引脚配置。
image

第二步:修改board_ac707n_demo_cfg.h
添加双屏Demo使能宏。
image 修改tp驱动以及屏驱配置,若使用的触摸以及屏幕的驱动不一致,需要自行移植适配。
此处搜索相关的宏即可找到对应的触摸和屏幕驱动并进行修改移植。
imageimageimage 关闭自动熄屏。
image

第三步:修改board_ac707n_demo.c
修改软件iic配置。
image

第四步:修改lcd_drive.c
添加屏幕的spi引脚强驱,增加引脚驱动强度。
image

第五步:修改lv_conf.h
关闭镜像、fps以及cpu使用率显示。
image

第六步:修改触摸驱动,本demo使用的是ft3x68.c,考虑到使用的触摸驱动可能不一致,因此此处主要以触摸驱动的流程逻辑展开叙述。
上层调用fts_ts_init();创建触摸任务。
imageimage 两个屏幕使用两个触摸的te中断引脚,利用中断判断当前触摸的是哪个屏幕。
imageimageimage 使用软件iic。
image

第七步:加入ui_double_eye.c
将ui_double_eye.c添加到该目录下:
image

第八步:添加图片资源
包括左右眼,两种样式,共四个文件夹。
image

第九步:修改main.c
imageimageimageimage

第十步:修改ui.c
image 添加全局指针。
image

第十一步:修改ui.h
添加全局指针。
imageimage

第二章 双屏异触技术原理

2.1 Demo描述

本双屏Demo基于707n_LVGL SDK开发,支持双屏双眼动画播放并实时切换眼睛样式(眼睛样式数量上限取决于资源空间大小),支持双屏异触。

2.2 硬件架构

双屏采用两块sh8601进行开发。分辨率为466*466,两个LCD共用QSPI时钟数据线,CS脚分离,两CS引脚是控制双屏显示的核心,本Demo不考虑TE的帧同步,两屏背光引脚连接IOVDD即可。
在硬件接线上,由于共用时钟以及数据线,需增强对应的时钟以及数据IO口的输出强度,并确保两个屏幕与主控之间的连接足够稳定,能够尽可能减少硬件线路的损耗及干扰,否则很容易会出现信号质量下降导致的花屏、画面撕裂等情况,以及两个屏幕都无需接TE引脚,如果两个屏幕共用TE脚会因为两个TE信号影响屏幕的数据时序从而导致显示不正常。
屏1 与屏2分离的引脚字体已加粗。
屏1 lcd接线:LCD_BAT-PAVDD,LCD_3V3-IOVDD,BL_PWM-IOVDD,LCD_RST-PC3,LCD_CS-PA7,LCD_CLK-PA12,SpiD0-PA8,SpiD1-PA9,SpiD2-PA10,SpiD3-PA11。
屏1触摸接线:TPVDD-PC1,TP_RST-PA2,TP_INT-PB7,TP_SCL-PA6,TP_SDA-PA5。
屏2 lcd接线:LCD_BAT-PAVDD,LCD_3V3-IOVDD,BL_PWM-IOVDD,LCD_RST-PC3,LCD_CS-PA13,LCD_CLK-PA12,SpiD0-PA8,SpiD1-PA9,SpiD2-PA10,SpiD3-PA11。
屏2触摸接线:TPVDD-PC1,TP_RST-PA2,TP_INT-PB8,TP_SCL-PB2,TP_SDA-PB1。

2.3 软件架构

2.3.1 异触逻辑流程

使用软件iic。
image fts_ts_init();创建触摸任务。
imageimage 初始化两个屏幕使用的两个触摸中断,核心是利用中断判断当前触摸的是哪个屏幕。并使用一个全局flag记录。
imageimage 此处为触摸驱动层流程的核心。
image 应用层绑定并轮询触摸数据获取传递函数。
image 应用层触摸流程核心。
image

2.3.2 双屏切屏、推屏逻辑流程

主要实现原理是依赖于3个信号量,信号量A在gpu任务渲染完一帧后发送,信号量B等待到信号量A到达后进行切屏以及推屏完成这一帧的显示,两个屏的切屏推屏流程走完后会发送信号量C,信号量B和信号量C通过任务组合控制实现对推屏次数的控制从而实现对帧率的控制。
下图为初始化双屏ui。
image 创建两核心任务。
imageimageimage 屏幕cs片选线控制函数。
image

第三章 Demo使用指南

3.1 添加动画组

3.1.1 将需要添加的图片进行C数组格式转换

可参考使用网址:点击打开图片格式转换网址
image

3.1.2 参考Demo中已配置好的.c格式的图片资源文件去配置新增的图片

需要修改的地方:
第一步:将转换的得到的.c文件放入Demo的images路径下
image 第二步:修改资源配置:
imageimage 第三步:修改ui_double_eye.c中的图片资源数组
此处4个数组包含左右眼、两种样式共4组图片。数组中每一个元素都是一张/一帧图片,按新增的图片资源.c文件末尾的结构体名称修改即可。
image

第四章 注意事项

4.1 资源空间

707相较于701内存空间较少,Demo的两个样式的眼睛图片资源均已经过裁剪才可放入,如要新增动画则需要先删除一部分Demo中原有的眼睛图片资源。本Demo的图片资源尺寸为240*240,若需要增大图片尺寸需注意内存空间是否充足。

4.2 推屏切屏时cs片选线的注意事项

需要先取消另外一个屏幕的片选并等待cs线稳定。
若在上电后的短时间内出现左右屏的图片帧有某一帧推反了,如:右屏的图片推到了左屏上,可尝试稍微增加udelay的时间确保cs片选线稳定(与硬件线路的损耗以及干扰有关),或尝试对cs线进行强驱处理。注意,在本Demo的硬件环境下经验证cs片选线的强驱在选择PORT_DRIVE_STRENGT_2p4mA以上的最大驱动电流后会黑屏。
imageimageimage

其他

V1.0版本Demo 效果展示

点击按钮即可在两种眼睛样式之间切换。
imageimage