0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

干货:LTDC单层图像显示案例分析

姚小熊27 来源:电路城论坛 作者:jinyi7016 2020-06-17 10:43 次阅读

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

干货:LTDC单层图像显示

主要功能:

24 位 RGB并行像素输出;每像素 8 位 (RGB888)。

2个带有专用 FIFO的显示层(FIFO 深度 64x32位)。

查色表 (CLUT) ,每层高达 256 种颜色(256x24位)。

支持高达 XGA (1024x768) 的分辨率。

可针对不同显示面板编程时序。

可编程背景色。

可编程 HSync、VSync 和数据使能信号的极性。

每层有多达 8 个输入颜色格式可供选择。

1、ARGB8888

2、RGB888

3、RGB565

4、ARGB1555

5、ARGB4444

6、L8(8位 Luminance或 CLUT )

7、AL44(4位 alpha + 4位 luminance )

8、AL88(8位 alpha + 8位 luminance )

每通道的低位采用伪随机抖动输出。红色、绿色、蓝色的抖动宽度为 2 位。

使用 alpha 值(每像素或常数)在两层之间灵活混合。

色键(透明颜色) 。

可编程窗口位置和大小 。

支持薄膜晶体管 (TFT) 彩色显示器 。

AHB 主接口支持 16个字的突发。

高达 4 个可编程中断事件。

时钟:

AHB 时钟域 (HCLK) :用于将数据从存储器传输到 FIFO层APB2时钟域 (PCLK2):用于配置寄存器像素时钟域 (LCD_CLK) :用于生成 LCD-TFT接口信号。LCD_CLK输出应按照面板要求配置。LCD_CLK通过 PLLSAI进行配置(见 RCC部分)。

时钟配置程序:

PeriphClkInitStruct.PeriphClockSelection = RCC_PERIPHCLK_LTDC; PeriphClkInitStruct.PLLSAI.PLLSAIN = 192; PeriphClkInitStruct.PLLSAI.PLLSAIR = 5; PeriphClkInitStruct.PLLSAIDivR = RCC_PLLSAIDIVR_4; HAL_RCCEx_PeriphCLKConfig(&PeriphClkInitStruct); 引脚

LCD-TFT最多可以使用28个引脚。

干货:LTDC单层图像显示

液晶时序配置

hltdc_F.Init.HorizontalSync = (RK043FN48H_HSYNC - 1); hltdc_F.Init.VerticalSync = (RK043FN48H_VSYNC - 1); hltdc_F.Init.AccumulatedHBP = (RK043FN48H_HSYNC + RK043FN48H_HBP - 1); hltdc_F.Init.AccumulatedVBP = (RK043FN48H_VSYNC + RK043FN48H_VBP - 1); hltdc_F.Init.AccumulatedActiveH = (RK043FN48H_HEIGHT + RK043FN48H_VSYNC + RK043FN48H_VBP - 1); hltdc_F.Init.AccumulatedActiveW = (RK043FN48H_WIDTH + RK043FN48H_HSYNC + RK043FN48H_HBP - 1); hltdc_F.Init.TotalHeigh = (RK043FN48H_HEIGHT + RK043FN48H_VSYNC + RK043FN48H_VBP + RK043FN48H_VFP - 1); hltdc_F.Init.TotalWidth = (RK043FN48H_WIDTH + RK043FN48H_HSYNC + RK043FN48H_HBP + RK043FN48H_HFP - 1);背景色配置:

hltdc_F.Init.Backcolor.Blue = 0; hltdc_F.Init.Backcolor.Green = 0; hltdc_F.Init.Backcolor.Red = 0;这里使用的hltdc_F 变量是一个LTDC_HandleTypeDef类型的结构体。

干货:LTDC单层图像显示

窗口配置,这里只显示了一个图层。

配置开始、结束的像素位置坐标,也就是整个屏幕。

pLayerCfg.WindowX0 = 0; pLayerCfg.WindowX1 = 480; pLayerCfg.WindowY0 = 0; pLayerCfg.WindowY1 = 272;像素格式配置成为RGB565。

pLayerCfg.PixelFormat = LTDC_PIXEL_FORMAT_RGB565;显示图像的起始地址:

pLayerCfg.FBStartAdress = (uint32_t)&RGB565_480x272;Alpha配置为255.

pLayerCfg.Alpha = 255;最后通过HAL_LTDC_ConfigLayer函数初始化TFT与配置图层。

HAL_LTDC_ConfigLayer(&hltdc_F, &pLayerCfg, 1);

显示结果。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 液晶显示器
    +关注

    关注

    11

    文章

    575

    浏览量

    43585
  • 图像显示
    +关注

    关注

    0

    文章

    22

    浏览量

    10236
  • ltdc
    +关注

    关注

    0

    文章

    4

    浏览量

    4714
收藏 人收藏

    评论

    相关推荐

    试比较单层绕组和双层绕组的优缺点及它们的应用范围

    单层绕组和双层绕组在电机和变压器中都有应用,它们各自具有独特的优缺点,并适用于不同的场景。 单层绕组的优缺点及应用范围 优点 : 结构简单 :单层绕组只在一个层面上进行绕制,因此其结构相对简单,易于
    的头像 发表于 10-08 10:44 820次阅读

    STM32H743iit6正点驱动LTDC和TFTLDC内存冲突怎么解决?

    H743iit6_002H743iit6_002.axf: Error: L6971E: freertos.o(.data) type RW incompatible with ltdc_1.o(.ARM.__AT_0xC0000000) type ZI in er RW_RAM1. tftlcd.c
    发表于 05-23 06:39

    求助,关于stm32f429igt6 sdram ltdc stemwin显示问题求解

    求助显示问题. 现在用st cube MX生成项目后1.直接通过往指定sdram中显存位置,改动数据,ltdc驱动的RGB888显示屏颜色会有相应的变化. 2.用自动生成的演示代码. 显示
    发表于 04-16 08:28

    使用STM32F429ZG上的LTDC接口,R3和R6不能输出是哪里的问题?

    使用了STM32F429ZGT中的LTDC接口驱动RGB565的显示屏,调试能基本显示图片后按个测试16位的RGB数据线,其他的数据线完好,就只有R3和R6数据线一直都没有输出,所以红色中的色阶
    发表于 04-10 06:04

    STM32H750XBH6同时使用QSPI__LTDC__SDRAM及NAND导致闪屏的原因?

    的空间时运行则正常。 如果我使用了QSPI接口挂载双片QFLASH组成的8bit带宽(速度100MHZ),并且将代码放入此QFLASH运行时会导致LTDC显示闪屏。 当我把FMC接口关于NAND驱动
    发表于 04-08 07:24

    使用STM32L4R9ZGT6移植了UCOSIII和STEMWIN,dispstringat怎么显示缓冲区没有变化?

    */ Ltdc_GPIO_Init(); //__HAL_RCC_DMA2D_CLK_ENABLE(); // 源地址-> 目的地址图像格式混合格式 __HAL_RCC_LTDC
    发表于 04-02 06:59

    使用STM32的LTDC驱动3.5寸的rgb屏幕,为什么显示三分之二的屏幕?

    使用STM32的LTDC驱动3.5寸的rgb屏幕,为什么显示三分之二的屏幕
    发表于 04-02 06:34

    如何使用STM32CubeMx配置STM32MP135的LTDC外设?

    请问一下,如何使用STM32CubeMx配置STM32MP135的LTDC外设,打开后LTDC配置项是空的
    发表于 03-11 07:37

    使用STM32CubeMX配置LTDCLTDC时钟信号没有出来的原因?

    使用openSTlinux,开发,PMIC、DDR配置成功,目前遇到的就是LTDC时钟信号没有。在线求大佬指教一下
    发表于 03-08 07:48

    PCB单层和多层的介绍

    一、单层PCB   单层pcb的构造在pcb中很简单。它是由一层层压和焊接的电介质导电材料层组成。首先,用铜层压板覆盖,然后用阻焊层覆盖。单层PCB的插图通常会显示三个颜色条带来表示该
    的头像 发表于 03-04 14:06 647次阅读

    图像放大后,图像中心显示在 ,图像框中心,

    大家好,视觉 显示 相机图像时,点击 放大工具放大后,如何将大图像的中心 对准图像显示框的中心,,
    发表于 01-24 15:49

    怎么区分单层/双面/多层FPC?

    怎么区分单层/双面/多层FPC? FPC(柔性印刷电路)是一种具有柔性基板的电路,广泛应用于各种电子设备中。根据电路板的层数,FPC可以分为单层、双面和多层三种类型。本文将详细介绍这三种FPC的区别
    的头像 发表于 12-07 09:59 1162次阅读

    二值图像分析的典型案例

    最近一直有人向我提问很多二值图像分析相关的问题,特别选择了两个典型的轮廓分析问题。进行分析与编码实现与演示,废话不多说,先看第一个问题。
    的头像 发表于 12-06 10:54 495次阅读

    SiC设计干货分享(一):SiC MOSFET驱动电压的分析及探讨

    SiC设计干货分享(一):SiC MOSFET驱动电压的分析及探讨
    的头像 发表于 12-05 17:10 1963次阅读
    SiC设计<b class='flag-5'>干货</b>分享(一):SiC MOSFET驱动电压的<b class='flag-5'>分析</b>及探讨

    浅谈图像调试之raw图像问题分析

    图像调试过程,当发现一个问题时,很多时候都要通过 dump raw 图像分析,如果raw图像上有,那就排除了是 ISP的处理导致。 下一步就是排查 sensor 或者镜头,这样可
    的头像 发表于 11-27 10:35 1559次阅读
    浅谈<b class='flag-5'>图像</b>调试之raw<b class='flag-5'>图像</b>问题<b class='flag-5'>分析</b>