硬汉嵌入式论坛

 找回密码
 立即注册
查看: 771|回复: 3
收起左侧

touchGFX解决撕裂问题

[复制链接]

13

主题

27

回帖

66

积分

初级会员

积分
66
发表于 2025-1-18 19:55:28 | 显示全部楼层 |阅读模式
1. 检查单片机的像素时钟能否支持LCD显示所需要的时钟,我使用LTDC+DMA2D+16位SDRAM+16bpp+单图层,LCD时钟范围为24.36MHz~40MHz,符合要求,但修改完后还是撕裂

Snipaste_2025-01-18_19-32-01.png

2. 检查LTDC配置,并且STM32官方的建议进行参数调整(64字节的倍数),使Total Width和Total Height能够被64整除,但修改完后还是撕裂
Snipaste_2025-01-18_19-25-37.png Snipaste_2025-01-18_19-26-31.png

注:这部分可以看哔哩哔哩的视频 7.1 GUI开发技能分享1-(LTDC撕裂优化-TouchGFX非内存映射存储-TouchGFX控件计时)_哔哩哔哩_bilibili
      也可以看手册 en.DM00287603.pdf (3.63 MB, 下载次数: 1)

3. 开启DMA2D和中断,还是撕裂

4. 开启TouchGFX双缓冲,并分配到两个不同的组(手册的4.5.3里推荐),还是撕裂感很明显
Snipaste_2025-01-18_19-45-43.png

注:getClientFrameBuffer和swapFrameBuffers应该是底层会调用,这部分详看论坛 已解决:在哪里可以找到touchgfx libra的源代码 - STMicroelectronics Community --- Solved: Where can I find the source code of touchgfx libra... - STMicroelectronics Community

5. 降低TouchGFX的调度速度,我这里使用的是LTDC时钟源,所以我从40MHz降低为30MHz后,终于解决了撕裂的问题!希望有大佬能告诉我根本原因是什么

注:降低时钟导致屏幕上电抖动属于正常现象
微信图片_20250118195506.png

回复

使用道具 举报

1万

主题

7万

回帖

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
115653
QQ
发表于 2025-1-20 06:27:31 | 显示全部楼层
撕裂问题就是需要基于垂直消隐的双缓冲或者三缓冲来解决。

降低到30MHz可以解决,说明在30MHz时钟速度下可以正常完成基于垂直消隐的双缓冲机制。



回复

使用道具 举报

13

主题

27

回帖

66

积分

初级会员

积分
66
 楼主| 发表于 2025-1-20 11:39:21 | 显示全部楼层
eric2013 发表于 2025-1-20 06:27
撕裂问题就是需要基于垂直消隐的双缓冲或者三缓冲来解决。

降低到30MHz可以解决,说明在30MHz时钟速度下 ...

还有两个问题,需要请教一下硬汉哥
1. 我看了一下底层源码,touchGFX好像已经自行实现了基于垂直消隐的双缓冲,对比了之前论坛发的工程(https://www.armbbs.cn/forum.php?mod=viewthread&tid=108102),没有发现有进行额外的处理,是我理解错了吗?
2. 要如何计算这个LCD时钟是否能够支持垂直消隐的双缓冲机制,我理解是垂直消隐是通过DMA2D的中断去实现的,只要LCD和DMA2D的总线占用符合要求就行,那理论上只要我的LCD时钟不超过45MHz不应该都是正常的吗(LTDC+DMA2D+16位SDRAM+16bpp+单图层),为什么要降到30MHz才可以?
回复

使用道具 举报

1万

主题

7万

回帖

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
115653
QQ
发表于 2025-1-21 08:23:18 | 显示全部楼层
13450334834 发表于 2025-1-20 11:39
还有两个问题,需要请教一下硬汉哥
1. 我看了一下底层源码,touchGFX好像已经自行实现了基于垂直消隐的 ...

垂直消隐是基于行中断,用DMA2D中断不行。

【实战技能】基于硬件垂直消隐的多缓冲技术在LVGL, emWin,GUIX和TouchGFX应用,含视频教程
https://www.armbbs.cn/forum.php? ... 0114&fromuid=58
(出处: 硬汉嵌入式论坛)
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|小黑屋|Archiver|手机版|硬汉嵌入式论坛

GMT+8, 2025-5-10 02:10 , Processed in 0.243400 second(s), 27 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2023, Tencent Cloud.

快速回复 返回顶部 返回列表