STM43F429--LTDC概述

基本嵌入式图形系统由微控制器、帧缓冲器、显示控制器和显示屏组成。

• 微控制器对要在帧缓冲器中显示的图像进行计算,以组成图标或图像等图形基元。CPU 通过运行图形库软件来执行此过程。该过程可以由图形库使用专用硬件(如DMA2D Chrom-Art Accelerator®)来加速。帧缓冲器更新的频率越高,动画越流畅(动画每秒 帧数)。

• 帧缓冲器是一个易失性存储器,用于存储要显示图像的像素数据。该存储区通常称为图形RAM(GRAM)。所需帧缓冲器大小取决于显示器的分辨率和色深。帧缓冲存储器大小要求和位置。 – 双缓冲技术使用两个帧缓冲器,可以避免显示正在写入帧缓冲器的内容。

• 显示控制器持续“刷新”显示器,以每秒60次(60Hz)的速度将帧缓冲器内容传送到显 示屏。显示控制器可以嵌入显示模块或MCU中。

• 显示屏由显示控制器来驱动,并负责显示图像(由像素矩阵组成)。 显示器特性为: – 显示尺寸(分辨率):由显示像素数定义,表示为水平(像素数)×垂直(行 数)。 – 色深:定义可以绘制像素的颜色数量。它以每像素位数(bpp)来表示。对于24 bpp的色深(也可以用RGB888表示),一个像素可以有16777216种颜色表示。 – 刷新率(以Hz为单位):显示面板每秒刷新的次数。因为刷新率较低时产生的视 觉效果不佳,所以显示器每秒钟刷新60次(60 Hz)。

显示模块类别 显示模块分为两大类,取决于它们是否嵌入了内部控制器和GRAM。

• 第一类对应于具有显示屏控制器和GRAM的显示器。

• 第二类对应的显示器,其显示屏没有主控制器,仅有低电平时序控制器。 要连接无控制器和GRAM的显示器,所用帧缓冲器可以位于MCU的内部SRAM中或位于外部存储器SDRAM中。

1)LTDC(LCD TFT Display Controller)框图:

LTDC是以逐行方式读取图像数据的控制器。其存储器访问模式的长度为64字节,但当到达一行的结尾并且剩余数据少于64个字节时,LTDC将提取剩余的数据。

在每个像素时钟上升沿或时钟下降沿,并在屏幕有效区域内,LTDC层从其FIFO中检索一个像素数据,将其转换为内部ARGB8888像素格式,并将其与背景和/或其他图层像素颜色进行混合。得到的像素以RGB888格式编码,通过抖动单元并被驱动到RGB接口中。像素便会显示到屏幕上。

2)LTDC时钟域
LCD-TFT控制器外设使用3个时钟域:
• AHB时钟域(HCLK):用来将数据从存储器传输到FIFO层,反之亦然。
• APB时钟域(PCLK):用来访问配置和状态寄存器。
• 像素时钟域(LCD_CLK):用来生成LCD-TFT接口信号。LCD_CLK输出应通过PLL按照面板
要求配置。

3)LTDC复位
LTDC可通过设置RCC_APB2RSTR寄存器中的LTDCRST位来复位

4)灵活的时序和硬件接口
由于其时序和硬件接口的灵活性,LCD-TFT控制器能够驱动多台具有不同分辨率和信号极性的监控器。

5) LCD-TFT引脚和信号接口
为了驱动LCD-TFT显示器,LTDC利用简单的3.3V信号提供了多达28个信号,包括:
• 像素时钟LCD_CLK。
• 数据使能LCD_DE。
• 同步信号(LCD_HSYNC和LCD_VSYNC)。
• 像素数据RGB888。

时间参数参数说明

VBP (vertical back porch)      表示在一帧图像开始时,垂直同步信号以后的无效的行数

VFP (vertical front porch)       表示在一帧图像结束后,垂直同步信号以前的无效的行数

HBP (horizontal back porch)    表示从水平同步信号开始到一行的有效数据开始之间的CLK的个数

HFP (horizontal front porth)     表示一行的有效数据结束到下一个水平同步信号开始之间的CLK的个数

VSW (vertical sync width)     表示垂直同步信号的宽度,单位为行

HSW (horizontal sync width)   表示水平同步信号的宽度,单位为同步时钟CLK的个数

一个典型LTDC显示帧示例:

 LTDC外设允许用户连接任意显示器尺寸,总宽度可达4096像素,总高度可达2048行

7)两个可编程LTDC层

LTDC有两层,每层都可以分别启用、禁用和配置。图层显示的顺序是固定的,因此始终是由下至上的。如果使能两个层,则层 2 为顶部显示窗口。
LTDC具有可配置的混合因数。混合始终使用alpha值来激活。混合顺序固定,即由下至上。如果使能了两层,首先第 1 层将与背景色混合,随后第 2 层与第 1 层和背景的混合颜色结果再次混合。
背景颜色可通过LTDC_BCCR寄存器进行编程。可以在RGB888格式中编程常量背景颜色,其中BCRED[7:0]字段用于红色值,BCGREEN[7:0]用于绿色值,BCBLUE[7:0]用于蓝色值。

8)显存  

液晶屏中的每个像素点都是数据,在实际应用中需要把每个像素点的数据缓存起来,再传输给液晶屏,这种存储显示数据的存储器被称为显存。显存一般

至少要能存储液晶屏的一帧显示数据,如分辨率为800x480的液晶屏,使用RGB888格式显示,它的一帧显示数据大小为:3x800x480=1152000字节;

若使用RGB565格式显示,一帧显示数据大小为:2x800x480=768000字节

9)LCD刷新率

刷新率 = LCD_CLK / (TotalW * TotalH)

TotalW  =  HSW  + HFP + HBP + ACTIVE_WIDTH;    

TotalH  =  VSW + VFP + VBP + ACTIVE_HEIGHT;

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值