整理野火stm32 hal 库 开发ltdcdam2d 液晶显示

it2025-08-12  7

什么是ltdc,dam2d,tftlcd?

ltdc:液晶控制器,stm32h750不需要额外的液晶控制器,芯片内部集成了液晶控制器。

dam2d:图形加速器

tftlcd:薄膜晶体管

液晶的显示原理:

液晶是一种介于固体和液体之间的特殊物质,它是一种有机化合物,常态下呈液态, 但是它的分子排列却和固体晶体一样非常规则,因此取名液晶。如果给液晶施加电场,会 改变它的分子排列,从而改变光线的传播方向,配合偏振光片,它就具有控制光线透过率 的作用,再配合彩色滤光片,改变加给液晶电压大小,就能改变某一颜色透光量的多少, 

 

可控红、绿、蓝光输出强度的显示结 构,把三种显示结构组成一个显示单位,通过控制红绿蓝的强度,可以使该单位混合输出 不同的色彩,这样的一个显示单位被称为像素。 

 

液晶显示器基本参数:

像素:成像最小单位

分辨率:行像素值*列像素值

色彩深度:每个像素点能显示多少种颜色

点距:像素点之间距离

 

液晶控制面板:

RGB 信号线:

rgb信号线各有八根,可以表示rgb888;rgb888 表示一个像素点红绿蓝颜色分量位数总共为24位。

24位数据线,可以表示颜色2^24种;

 

什么是hsync,vsync?

行同步信号

帧同步信号

 

同步时钟信号作用:

一个时钟传递一个像素点数据。

 

数据使能信号DE作用:

高电平时,rgb数据信号线表示数据有效。

 

显存:

像素点数据缓存的区域是显存。

显存至少要存放一帧的图像数据,一帧图像数据大小举例子:

rgb888(像素格式),分辨率300*400,

 

液晶数据传输时序:

液晶屏有一个显示指针,它 指向将要显示的像素。显示指针的扫描方向方向从左到右、从上到下,一个像素点一个像 素点地描绘图形。这些像素点的数据通过 RGB数据线传输至液晶屏,它们在同步时钟 CLK的驱动下一个一个地传输到液晶屏中,交给显示指针,传输完成一行时,水平同步信 号 HSYNC电平跳变一次,而传输完一帧时 VSYNC电平跳变一次。 

什么是VBP?VFP?

vertical back porch

vertical front porch

HBP.HFP,VSW,HSW?

horizontal back porch

vertical sync width

显存存放一帧图像数据的大小取决于tftlcd 的分辨率和  rgb 格式,例子:

如分辨率为 800x480的液晶屏,使用 RGB888格式显示,它的一帧显示 数据大小为:3x800x480=1152000 字节;若使用 RGB565 格式显示,一帧显示数据大小为: 2x800x480=768000字节。 

 

实际使用 LTDC控制器控制液晶屏时,使 LTDC正常工作后,往配置好的显存地址 写入要显示的像素数据,LTDC就会把这些数据从显存搬运到液晶面板进行显示。

 LTDC 负责不断刷新液晶屏, DMA2D 用于图像数据搬运、混合及格式转换, RAM 存

储器作为显存。其中显存可以使用 STM32 芯片内部的 SRAM 或外扩 SDRAM/SRAM,只 要容量足够大即可(至少要能存储一帧图像数据)。

 

 

配置完 LTDC_LayerCfgTypeDef层级初始化结构体后,调用库函数 LTDC_LayerInit可 把这些配置写入到 LTDC的层级控制寄存器中,完成初始化。初始化完成后 LTDC会不断 把显存空间的数据传输到液晶屏进行显示,我们可以直接修改或使用 DMA2D修改显存中 的数据,从而改变显示的内容。

 

字模:

本质是一个个的像素点数据。?是否把传输进单片机的数据转换为rgb形式的数据就可以在tftlcd 屏上显示

 

LCD屏

这种一般是常用的屏幕模块,彩屏有大有小,有软有硬,牵涉到显示的话,一般是和屏幕的显示驱动通信就ok了.在例程里都会有对应api,直接调用这行,具体过程的话,上电初始化,然后就是把图片rgb值在对应像素点写到显存里(有遇到iic接口),再底层控制刷新显示即可.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

最新回复(0)