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

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

[复制链接]
STMCU小助手 发布时间:2022-8-7 18:05
1. 引言+ H; B/ V  \( k2 B9 h& _# a# O0 [
移动、工业和消费应用的发展使得对图形用户界面(GUI)的需求更强,并且所需硬件资源也有所增加。这些应用需要更高质量的图形、更多的硬件和软件资源以及更高的处理性能。为了应对这些要求,STM32 MCU 提供了丰富的图形产品组合。由于采用了嵌入式LCD-TFT 显示控制器(LTDC),STM32 MCU 可以直接驱动高分辨率显示面板,无需任何 CPU 干预。+ [: y( c9 O* [! m' J
对于使用 LTDC 来开发图形应用的案例,客户经常有以下问题:STM32 MCU 的LTDC 最大支持的屏幕分辨率是多少?STM32F4 或者 F7 能支持 1280×720 的屏幕分辨率,达到 60Hz 的刷新率吗?SDRAM 的位宽如何选取性价比最高,是选择 16 位还是 32? 如何判断当前的设计应用产生了 SDRAM 带宽不足问题?针对这些问题,本文档从问题产生的原理、LTDC 控制器的组成出发,介绍了 STM32 GUI LTDC 最大像素时钟评估的方法,通过最大像素时钟间接可以判断支持的最大屏幕分辨率。2 c. K. j( {, B6 E$ z

1 f; T, H6 a7 N$ E! c. i2. 带宽不足产生的 FIFO underrun% M2 S$ r% m# |. `+ k
对于使用 LTDC 控制器的 GUI 应用,如果参数设置不合理,可能会出现显示屏幕抖动的问题,这个问题有时就是由于带宽不足导致的 LTDC FIFO underrun 现象。例如,对于同样的硬件配置,使用的是 STM32H750DK 开发板,帧缓冲存放在外部 SDRAM, SDRAM 是 16 位,显示屏是 1024×600 分辨率,帧缓冲的颜色格式分别设置为 RGB565和 RGB888,颜色格式为 16bpp(RGB565)的配置视频流畅,而颜色格式为 24bpp 的配置视频出现明显抖动,有花屏,如图 1、图 2 所示。这就是由于 SDRAM 带宽不足,产生了 LTDC FIFO underrun 的现象。 , X% U- P. D5 O+ B. b# F
4 ~2 W" n$ @7 o3 K; H+ ?
)K1PS[0]$CM_OVV8(INCA}I.png , \  G1 @5 V2 i& W+ t
) N+ l+ A" w3 H( w5 K& ^

5 O- @% t+ X$ O$ i% p3 H% I! P/ X$ o6 K2 u" T5 E1 y

" H- u; s* c! R' o1 d; B3. LTDC 控制器
% [% Q0 L. z, V7 O# Z1 G8 |3.1. LTDC FIFO underrun 产生的机理" @" v( @. C, p4 Z3 y9 M
要了解 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。
# S4 D. \7 b/ h4 Y; R1 P" ULCD-TFT 控制器外设使用 3 个时钟域:AHB 时钟域(HCLK),用来将数据从存储器传输到 FIFO 层。 APB 时钟域(PCLK),用来访问配置和状态寄存器。像素时钟域(LCD_CLK),用来生成 LCD-TFT 接口信号。
; \* x7 B! E6 h4 _- Y  p) X" H4 Q可以看出,在像素时钟比较高的情况下,由于 LTDC 没有及时从帧缓冲区提取图形数据,导致 FIFO 里边空了,如果发生请求像素的情况,就产生了 FIFO underrun。在正常的 GUI 开发中,我们应该避免 FIFO underrun 的产生,从而保证视频显示的流畅。
" t' R9 C. K, G( o
  w( g! w! c/ \

* v5 [' o1 I8 q7 |( f6 c  R7 }+ j' p- [ AR7MOE$Z_QV4~VM[SC8EB)O.png   ^$ c( l9 h; `8 |  s

& f# V( E) W0 d0 x9 R, H; ~
  f% B6 }' C4 s. h' m完整版请查看:附件
& G+ V; a  h6 k6 s, V# _1 _) a/ b0 C* k$ [
7 f- Y& K1 {; K2 h8 A) K' U9 {

2 v; k' e0 \; p

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

下载

571.84 KB, 下载次数: 9

收藏 评论0 发布时间:2022-8-7 18:05

举报

0个回答

所属标签

相似分享

官网相关资源

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
STM32N6 AI生态系统
STM32MCU,MPU高性能GUI
ST ACEPACK电源模块
意法半导体生物传感器
STM32Cube扩展软件包
关注我们
st-img 微信公众号
st-img 手机版