【 NXP i.MX RT1170 】LCDIFV2 的介绍与例程

一、LCDIFV2 概述

      LCD Interface v2 ( LCDIFv2 )是一个系统主处理器,它可以获取存储在内存中的图形,并根据芯片配置将其显示在 TFT、LCD 面板上或连接到显示接口,支持广泛的面板尺寸和接口时序的高度可配置性,图形直接从内存中读取并且实时混合图层,实现最小 CPU 占用下创建动态内容,图形可以以各种格式进行编码,以获得最佳的内存使用。

 

二、LCDIFV2 框图

      可以看出 LCDIFv2 有 8 个图层,每个层的可以独立配置,通过独立寄存器管理图层的图形内容,图形的水平和垂直大小、图形在面板上的位置、获取内存中的图形地址、图层颜色编码格式或调色板以及 Alpha 混合模式的类型,

      这些寄存器中的值可以在任何时候更改,当更新寄存器被设置使能时,新内容将在图层刷新周期中自动更新,Alpha 混合模式可以设置为全局/嵌入式的Alpha模式或 Porter Duff 模式(对于 Porter Duff 模式,所有的活动层混合应该在相同的模式)。

三、LCDIFV2功能特性

      LCDIF 模块可以从内存映射中的任何位置获取缓冲区,并将其发送给显示控制器,imxrt1170 的 LCDIFv2 模块支持多达 8 层混合。每个图层可以配置不同的颜色格式、大小和位置,支持常见编码格式如 RGB565、RGB888 等,以及带透明通道如 ARGB1555、ARGB4444、ARGB8888、ABGR8888 等。

四、Alpha 混合模式

      下图显示了在 LCDIFv2 中如何进行图像混合,Alpha 混合首先从 FIFO1 开始,然后输出结果接下来再混合 FIFO2,以此类推直到 FIFO8。

      在 LCDIFv2 中有两种 Alpha 混合模式,一种是使用单一 alpha 参数( 嵌入式 alpha 或全局 alpha )的普通混合模式,另一种是 2D 引擎中使用的 Porter Duff 混合模式。

 

五、Porter Duff 模式

5.1、混合模式

      Porter Duff混合模式包括 12 种混合模式,这些过程包括 Clear、Source Only、Destination Only、Source Over、Source In、Source Out、Source Atop、Destination Over、Destination In、Destination Out、Destination Atop and XOR,通过这些处理可以实现图像特殊功能的混合合成。

      Clear :
            清除模式,清除图像中所有像素的 Alpha 和颜色值。

      Source Only :
            只显示源图像的 Alpha 和颜色值。

      Destination Only :
            只显示目标图像的 Alpha 和颜色值。

      Source Over :
            在目标图像上绘制源图像。

      Source In
            在目标图像和源图像相交区域绘制源图像,绘制区域效果受目标图像的 Alpha 值影响。

      Source Out
            在目标图像和源图像不相交区域绘制源图像,绘制区域效果受目标图像的 Alpha 值影响。

      Source Atop :
           在目标图像和源图像相交区域绘制源图像,在目标图像和源图像不相交区域绘制目标图像,相交区域会受到源图像和目标图像 Apha 的影响。

      Destination Over :
           在源图像上绘制目标图像。

      Destination In :
            在目标图像和源图像相交区域绘制目标图像,绘制区域效果受源图像的 Alpha 值影响。
     
      Destination Out :
           在目标图像和源图像不相交区域绘制目标图像,绘制区域效果受源图像的 Alpha 值影响。



      Destination Atop :
           在目标图像和源图像相交区域绘制目标图像,在目标图像和源图像不相交区域绘制源图像,相交区域会受到源图像和目标图像 Apha 的影响。

      XOR :
          在目标图像和源图像相交区域,按公式绘制,其余区域按原样绘制。


5.2、混合流程

      下图显示了 Porter Duff alpha 源图像与目标图像的混合流程,所有的控制位都包含在层的 CTRLDESCLn_5 寄存器中。


六、应用例程实现

6.1 SDK 获取

      SDK 可再 NXP 官网根据需求添加部件自定义生成 SDK,NXP MCUXpresso SDK Builder 的链接如下 https://mcuxpresso.nxp.com/en/welcome


6.2 创建工程

      文件 -> Import SDK Examples -> evkimxrt1170 -> driver_examples -> lcdifv2 ->  选择 lcdifv2_rgb565_cm7。

      需要留意新工程中 doc -> readme.txt 中的注意事项,本次使用的开发板配套的屏幕是 RK055AHD091 屏幕,所以需要修改工程 board -> lcdifv2_support.h 中的用户 MIPI 面板宏定义为 #define USE_MIPI_PANEL MIPI_PANEL_RK055AHD091。



6.3 Porter Duff 模式

      例程图像像素编码格式采用 ARGB4444,循环显示 12 种混合模式

      像素编码格式、两个垂直相邻像素之间的字节数:

      

      Porter Duff 12种混合模式:

      

      Porter Duff  12 种模式例程显示:
      

 

七、参考资料

【 i.MX RT 驱动 LCD 详解 】
https://www.nxpic.org.cn/module/forum/forum.php?mod=viewthread&tid=616702


【i.MX RT1170 Processor Reference Manual】
i.MX RT1170 Processor Reference Manual (nxp.com.cn) 

★博文内容均由个人提供,与平台无关,如有违法或侵权,请与网站管理员联系。

★文明上网,请理性发言。内容一周内被举报5次,发文人进小黑屋喔~

评论