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

    文章

    589

    浏览量

    44845
  • 图像显示
    +关注

    关注

    0

    文章

    22

    浏览量

    10483
  • ltdc
    +关注

    关注

    0

    文章

    4

    浏览量

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

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    干货分享 | 功能安全常见疑难问题汇总

    安全干货SafetyQ&A“功能安全常见疑难问题解答”在智能驾驶及新能源汽车的飞速发展之下,功能安全已成为绕不开的关键领域。然而在实际应用中,一直面临着诸多问题和挑战。前不久,磐时举办了一场
    的头像 发表于 09-05 16:21 1989次阅读
    <b class='flag-5'>干货</b>分享 | 功能安全常见疑难问题汇总

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

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

    请问在k230上怎么使用opencv的imshow显示图像呢?

    已经添加了highgui的链接,成功编译并且在板子上运行 期待结果和实际结果 在hdmi屏幕上显示图像 软硬件版本信息 错误日志 hdmi屏幕黑屏无反应
    发表于 06-11 06:01

    HarmonyOS应用图像stride处理方案

    图像存储在内存中时,内存缓冲区可能在每行像素之后包含额外的填充字节。填充字节会影响图像在内存中的存储方式,但不会影响图像显示方式。stride是内存中一行像素到内存中下一行像素的字
    的头像 发表于 06-10 14:17 796次阅读
    HarmonyOS应用<b class='flag-5'>图像</b>stride处理方案

    【高云GW5AT-LV60 开发套件试用体验】SC130GScmos模块与LVDS屏和HDMI输出例程测试报告图像显示部分细节补充

    /jishu_2491350_1_1.html] 在上篇报告中,由于帖子字节限制没有说明其具体问题解决方法,在此说明。 HDMI显示例程效果类似,其模块功能框图为: cmos数据位mipi接口,通过lvds物理差分对将图像数据化传入
    发表于 06-09 09:46

    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 646次阅读

    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

    单层半导体中的新磁性:交换能量的关键作用

    本文深入探讨了交换能量的复杂性,它在铁磁性中的作用,以及在单层半导体中测量它的开创性方法。 想象一种像原子一样薄的材料,却表现出与铁一样的磁性,这就是具有铁磁性的单层半导体的迷人世界。最近发表在
    的头像 发表于 12-16 16:52 909次阅读