LCD 液晶显示器 ---------- LTDC 控制器

LTDC 液晶控制器

1. 简介

​ LCD-TFT (液晶显示器----薄膜晶体管) 显示器控制器提供并行数字 RGB 以及水平同步、垂直同步、像素时钟和数据使能信号,这些信号直接输出到不同 LCD 和 TFT 面板的接口。本文以 stm32h750 介绍 LTDC。

2. LTDC 主要特性

  • 24 位 RGB 并行像素输出
  • 2 个带有专用 FIFO 的显示层(前景背景层),利用这个特性可做出前景背景层的分离效果,比如背景播放视频,前景是弹幕
  • 可针对不同LCD屏编程时序
  • 可编程 HSYNC、VSYNC和数据使能信号的极性
  • 使用 alpha 值(每像素或常数)在两层之间灵活混合
  • 支持薄膜晶体管(TFT)彩色显示器
  • 最高 4 个可编程中断事件
  • 等等

3. 图像数据混合

​ LTDC 外设支持 2层数据混合,混合前使用 2 层数据源,分别为前景层和背景层。在输出时,实际上液晶显示屏只能显示一层预想,所以LTDC 需要在数据输出到屏幕前将两层数据混合成一层。混合时,直接用前景层的不透明像素替换相同位置的背景像素,如果前景层中存在透明像素,则显示背景的像素数据。如果想使用图像混合功能,前景层必须使用半酣透明的像素格式,比如 ARGB8888,使用8个数据位表示透明度,如果A 的值为 “0xFF”,则表示这个像素完全不透明。

​ 需要注意的是,液晶屏本身是没有透明度这个概念的,如 24 位液晶屏的像素格式是 RGB888, RGB 颜色各有8根数据线,不存在用于透明的8根数据线,因此实际上 ARGB 只是针对内部分层数据处理的格式,最终经过混合运算得出的颜色数据 RGB888 才能够交给液晶屏去显示。

​ 对于高达 24 位(RGB888)的LTDC 输出,如果使用低于 8bpp 的像素深度将RGB565 或者 RGB666 输出到 16 位或者 18位显示器,则 RGB 显示数据线必须连接到 LCD-TFT 控制器 RGB 数据线的 MSB(也就是以高位对齐相连接)

3. LTDC 可编程参数

3.1 同步时序

LCD 液晶显示器 ---------- LTDC 控制器_第1张图片
​ 上面这幅图与上章一摸一样 LCD 显示原理,这些参数可由 LTDC 控制器去配置。水平和垂直同步、数据使能和像素时钟输出信号的极性可通过 LTDC_GCR 寄存器编程为高电平有效或者低电平有效。

4. LTDC 中断

​ LTDC 提供四个可屏蔽中断,这些中断经过逻辑或运算得到两个中断向量。中断源可通过 LTDC_IER 寄存器单独使能或禁止。将相应的屏蔽位置 1 可使能相应中断。

5. LTDC 编程步骤

  • 在 RCC 寄存器中使能 LTDC 时钟
  • 按照LCD数据手册配置所需像素时钟
  • 按照LCD 数据手册配置同步时序:VSYNC、HSYNC、VBP、VFP…
  • 配置 LTDC_GCR 寄存器中的同步信号和时钟极性
  • 必要时,配置 LTDC_BCCR 寄存器中的背景色。
  • 配置 LTDC_IER 和 LTDC_LIPCR 寄存器中的所需中断 (通常配置行中断,与 TE 信号配合达到去除撕裂现象)

6. 总结

​ 说白了,LTDC 控制器就是给 LCD 显示器提供信号,控制 LCD 显示器什么时候换行、什么时候换帧,同时负责将显存中的数据通过 RGB 数据线并行的转发给 LCD 显示器。

你可能感兴趣的:(嵌入式,python,开发语言,后端)