你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

STM32 GUI LTDC 最大像素时钟评估方法

[复制链接]
STMCU小助手 发布时间:2022-8-7 18:05
1. 引言
, r- a; b9 u4 N4 D4 W7 g移动、工业和消费应用的发展使得对图形用户界面(GUI)的需求更强,并且所需硬件资源也有所增加。这些应用需要更高质量的图形、更多的硬件和软件资源以及更高的处理性能。为了应对这些要求,STM32 MCU 提供了丰富的图形产品组合。由于采用了嵌入式LCD-TFT 显示控制器(LTDC),STM32 MCU 可以直接驱动高分辨率显示面板,无需任何 CPU 干预。1 T( z4 z' f2 O5 n! ]3 R* m: u
对于使用 LTDC 来开发图形应用的案例,客户经常有以下问题:STM32 MCU 的LTDC 最大支持的屏幕分辨率是多少?STM32F4 或者 F7 能支持 1280×720 的屏幕分辨率,达到 60Hz 的刷新率吗?SDRAM 的位宽如何选取性价比最高,是选择 16 位还是 32位? 如何判断当前的设计应用产生了 SDRAM 带宽不足问题?针对这些问题,本文档从问题产生的原理、LTDC 控制器的组成出发,介绍了 STM32 GUI LTDC 最大像素时钟评估的方法,通过最大像素时钟间接可以判断支持的最大屏幕分辨率。
/ C* K, w, C4 r7 z
9 Y- f8 {$ i- \: }+ m5 g, n, c2. 带宽不足产生的 FIFO underrun
' N( {; ~' K6 l0 C+ x1 t4 r; D9 J对于使用 LTDC 控制器的 GUI 应用,如果参数设置不合理,可能会出现显示屏幕抖动的问题,这个问题有时就是由于带宽不足导致的 LTDC FIFO underrun 现象。例如,对于同样的硬件配置,使用的是 STM32H750DK 开发板,帧缓冲存放在外部 SDRAM, SDRAM 是 16 位,显示屏是 1024×600 分辨率,帧缓冲的颜色格式分别设置为 RGB565和 RGB888,颜色格式为 16bpp(RGB565)的配置视频流畅,而颜色格式为 24bpp 的配置视频出现明显抖动,有花屏,如图 1、图 2 所示。这就是由于 SDRAM 带宽不足,产生了 LTDC FIFO underrun 的现象。
* F/ E2 ^$ _6 m- J

0 l1 b0 k/ P% [7 J8 V )K1PS[0]$CM_OVV8(INCA}I.png 8 h7 ]6 U$ k, e" g
) L: h0 O' Q' F; Q2 p, J3 |( G
' q6 k. {# j' B% }
0 X- E6 C2 A- V) b
" n" j, D* S' }+ Q/ j0 J4 z
3. LTDC 控制器8 s' K1 ]- I* M5 A4 ]! f$ f9 w" f
3.1. LTDC FIFO underrun 产生的机理
( G' Q3 R) C. {. E; V要了解 LTDC FIFO underrun 产生的机理,首先介绍下 LCD-TFT 显示控制器(简称LTDC)。如图 3 所示,LTDC 是 AHB 架构上的主设备,可以对内部和外部存储器进行读访问。LTDC 有两个独立的层,层 1 和层 2,每层都有自己的 FIFO,从而使显示更加灵活。LTDC 控制器以 AHB 总线速度自动从帧缓冲区提取图形数据,然后将图形数据存储在其中一个 FIFO 内部层中,随后驱动到显示器。该系统架构使图形可以在没有任何 CPU 介入的情况下构建并绘制到屏幕上。LTDC 从帧缓冲区中检索属于图像的数据,而 DMA2D则准备下一张图像。LTDC 的功能是在每个像素时钟上升沿或时钟下降沿,并在屏幕有效区域内,LTDC 层从其 FIFO 中检索一个像素数据,将其转换为内部 ARGB8888 像素格式,并将其与背景和/或其他图层像素颜色进行混合。得到的像素以 RGB888 格式编码,通过抖动单元并被驱动到 RGB 接口中,像素便会显示到屏幕上。当 FIFO 为空时,如果发生请求像素的情况,就会产生 FIFO underrun。
& g4 O4 B, R; U; {4 z* aLCD-TFT 控制器外设使用 3 个时钟域:AHB 时钟域(HCLK),用来将数据从存储器传输到 FIFO 层。 APB 时钟域(PCLK),用来访问配置和状态寄存器。像素时钟域(LCD_CLK),用来生成 LCD-TFT 接口信号。
5 ?! P& |2 Z7 K6 ~/ f可以看出,在像素时钟比较高的情况下,由于 LTDC 没有及时从帧缓冲区提取图形数据,导致 FIFO 里边空了,如果发生请求像素的情况,就产生了 FIFO underrun。在正常的 GUI 开发中,我们应该避免 FIFO underrun 的产生,从而保证视频显示的流畅。9 f& i' P9 l3 b# E! ~
9 K- @3 L( Z7 p& T0 g

2 K# D0 h1 b: Q5 `3 B AR7MOE$Z_QV4~VM[SC8EB)O.png # a) B7 A& g1 l7 f

# J' d2 _, F' J
" K! {0 ^) n% x" w完整版请查看:附件$ T% u3 Z& U! W% K

0 s3 n1 `" K6 A' W. F1 y. K& q" T/ [% `( R' ~

' u/ ?# \4 `; d) Z

LAT1169_STM32_GUI_LTDC最大像素时钟评估方法_v1.0.pdf

下载

571.84 KB, 下载次数: 21

点评

`1  发表于 2025-9-15 06:43
赞 2 收藏 评论3 发布时间:2022-8-7 18:05

举报

3个回答
jameje 回答时间:2025-6-6 12:21:46

急需

swiftxu 回答时间:2025-9-15 06:43:07

<br /> <br />

11111111111

所属标签

相似技术帖

官网相关资源

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
人形机器人运动控制、感知与智能配电
半导体创新技术与应用方向
EE架构与软件定义汽车
12V/48V 汽车智能配电(SPD)
区域控制单元(ZCU)与分区架构
关注我们
st-img 微信公众号
st-img 手机版