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

    文章

    585

    浏览量

    44468
  • 图像显示
    +关注

    关注

    0

    文章

    22

    浏览量

    10431
  • ltdc
    +关注

    关注

    0

    文章

    4

    浏览量

    4921
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    K230上使用图层layer = Display.LAYER_OSD2显示图像后,怎么关闭这个图层不再显示

    K230上使用图层layer = Display.LAYER_OSD2显示图像后,怎么关闭这个图层不再显示,而继续显示图层一的图像
    发表于 08-08 07:53

    K230 V3.0使用Mipi显示屏无法显示图像怎么解决?

    图像 使用hdmi的例程,hdmi显示显示图像 全是紫色画面 供电正常两根usb线,网上也去找了一些其它人的代码 也都试过了 也是不行, 这是镜像的问题 还是说硬件问题?
    发表于 06-04 07:17

    电机原理及重要公式(干货

    纯分享帖,需要者可点击附件免费获取完整资料~~~*附件:电机原理及重要公式(干货).doc 【免责声明】本文系网络转载,版权归原作者所有。本文所用视频、图片、文字如涉及作品版权问题,请第一时间告知,删除内容!
    发表于 05-20 17:47

    CX3显示RAW12图像错误的原因?

    我想通过CX3065从FPGA捕获MIPI图像,我可以切换4种分辨率并通过开始捕获显示图像,但片刻之后,我的UVC_App显示图像是错误的
    发表于 05-16 07:49

    一文读懂:单层、多层、特殊材质 PCB 板加工方式全解析

    一站式PCBA加工厂家今天为大家讲讲单层、多层及特殊材质PCB板的加工方式有哪些?单层、多层及特殊材质PCB板加工方式。在电子产品制造过程中,PCB是核心组件,而PCBA则是通过贴装和焊接将电子
    的头像 发表于 05-06 08:59 ?365次阅读

    FRED应用:颜色分析

    介绍 宽光谱光源对许多光学系统都很重要,应用范围包括白光照明、分光计等。FRED中的颜色图像分析,是通过计算每个像素的色度坐标并在表面上显示生成的RGB值来生成颜色分布。此外,FRED还可以
    发表于 04-28 10:13

    FRED应用:颜色分析

    介绍 宽光谱光源对许多光学系统都很重要,应用范围包括白光照明、分光计等。FRED中的颜色图像分析,是通过计算每个像素的色度坐标并在表面上显示生成的RGB值来生成颜色分布。此外,FRED还可以
    发表于 03-28 08:51

    DMD能够显示更高位数的图像吗?

    我在使用DLP DIscovery 4100时发现上位机只能传输二进制图像到DMD中显示,我想问一下DMD能够显示更高位数的图像
    发表于 03-03 08:33

    DLP9500显示图像拉伸,并且有部分图像无法显示,是什么原因导致这种异常现象呢?

    使用ILA抓取的数据是正确的。DMD显示图像拉伸,并且有部分图像无法显示。是什么原因导致这种异常现象呢?这是因为DLP9500的管脚设置错误还是软排线呢?
    发表于 02-26 06:43

    使用DPLC410进行灰度图像显示显示时有时图像会抖动是怎么回事?

    使用DLPLCRC410EVM(DLP? Discovery? 4100 )开发板和 DLP7000 DMD器件进行灰度图像显示时,有时会出现图像抖动的现象,重启后又正常,或者使用iMPACT重新
    发表于 02-26 06:08

    百问FB显示开发图像处理 - 图像调整

    =rsin(b-a)=rsinbcosa-rcosbsina=-x0sina+y0cosa; 最后,由于我们显示图像的RGB数据还是要在坐标系A下获取的,我们最后只需要将坐标系B下的x1,y1转换回坐标系A下
    发表于 12-02 09:34

    百问FB显示开发图像处理 - BMP图像处理

    2 图像处理 ?前言:所有的图像文件,都是一种二进制格式文件,每一个图像文件,都可以通过解析文件中的每一组二进制数的含义来获得文件中的各种信息,如图像高度,宽度,像素位数等等。只是不同
    发表于 11-28 13:52

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

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

    基于 DSP5509 进行数字图像处理中 Sobel 算子边缘检测的硬件连接电路图

    合理安排数据存储和处理顺序,充分利用 DSP5509 的指令集和硬件资源。 六、电源模块设计 电源需求分析:确定整个系统的电源需求,包括 DSP5509、图像传感器、存储模块、显示模块等各个部分的电源
    发表于 09-25 15:25

    单层微芯片电容器市场份额、市场占有率、行业市场研究

    本报告主要分析全球单层微芯片电容器总体规模,主要地区规模,主要企业规模和份额,主要产品分类规模,下游主要应用规模以及未来发展前景预测。统计维度包括销量、价格、收入,和市场份额。同时也重点分析全球
    的头像 发表于 08-29 13:31 ?756次阅读