雷竞技注册
工业文章

了解i.MX RT1170 MCU的异构图形管线

3月18日,2021年经过Hugo Osornio, NXP Semiconductors

在本文中,了解i.MX RT1170单片机的异构图形管道和它的三个主要图形加速引擎。

现代消费者和专业级嵌入式设备越来越能够提供不断增长的有用功能。然而,这种功能丰富,叶设计师质疑如何使用户可以访问的所有功能,而不会使用复杂的界面压倒它们。

类似智能手机的gui可以有效地替代传统的物理按钮,因为它们在经典的物理控制上提供了一些改进。通过各种集成显示控制器和图形加速器,恩智浦使开发的功能丰富的图形用户界面更容易使用i.MX RT1170跨界MCU

图1:i.mx rt1170 mcu

图1。i.mx rt1170 mcu

i.MX RT1170单片机的三个显示引擎

虽然大多数NXP微控制器可以支持必要的GUI外围设备,但有些设备(例如i.MXTRO1170 MCU)配备内置的显示接口和图形加速器,旨在支持丰富的GUI应用程序。更具体地说,i.MX1170包括2D向量图形GPU,PXP图形加速器和LCDIFv2支持。

具有矢量图形加速功能的专用2D GPU通过支持CPU渲染可伸缩的矢量图形、组合和操作位图,有助于优化嵌入式设备的功耗和性能。2D GPU还可以在飞行中转换图像(缩放、任意角度旋转、反射、剪切)和颜色转换。

像素处理流水线(PXP)将各种图像变换操作组合成缩放,旋转和彩色空间转换成单个有效的处理引擎。

LCDIFV2支持使嵌入式设计人员能够创建和使用多达8个显示层,提供动态混合功能。

2D矢量图形GPU

与像素图形相比,矢量图形不依赖单个像素来形成完整的图像。矢量图形模型使用命令(如移动,线到,曲线到)和坐标来描述形状,然后将栅格化成最终的图像。

像素图形(如存储为JPEG文件的照片)中的每个像素的大小都是固定的,这通常意味着转换像素图形总是会导致质量下降。另一方面,矢量图形在转换时更加灵活。例如,很容易变换原始形状的点,然后在不损失质量的情况下重新绘制图像,因为矢量图像的操作独立于最终图像的分辨率。

因此,在捕捉细节丰富的图像(如照片)时,使用像素图形是有意义的。相反,矢量图形在处理简单的形状时最好用,比如书法、公司标识和图形用户界面。

渲染矢量图像通常需要渲染目标、路径数据、填充信息、转换数据、颜色信息和混合规则。渲染目标是在渲染完成后保存渲染图像的缓冲区。路径数据是矢量图像中最关键的部分,因为它包含了描述矢量图像中元素几何形状的坐标和路径段。它由成对的操作代码和随每个操作而来的参数组成:

渲染矢量图像通常需要渲染目标、路径数据、填充信息、转换数据、颜色信息和混合规则。

图2。渲染矢量图像通常需要渲染目标、路径数据、填充信息、转换数据、颜色信息和混合规则。

填充规则描述了在确定闭合形状的哪个部分填充纯色时适用的规则。此属性可以采用两种可能的值之一:非零和偶数。选择非零规则,填充算法将射线从有问题的点投射到每个方向上的无穷大。然后,它计算射线在向量图形中传递另一行的频率。如果光线从左到右击中线路,它会增加一个到最终的总和。如果线路从右到左,则该算法减去了一个。如果最终数字为零,则该点位于外部。

相比之下,偶奇算法不考虑线的方向而对每条线进行计数。如果结果和是偶数,则问题点在形状之外。否则,它就在里面。

接下来是通过操纵矩阵来代表诸如翻译,旋转和缩放等各种操作来完成的转换。仿射变换是I.MX RT1170 MCU的内置2D矢量GPU的强大功能。

当绘制产生的形状时,程序员可以将颜色信息分配给每个路径:

渲染矢量图像通常需要渲染目标、路径数据、填充信息、转换数据、颜色信息和混合规则。

图3。通过操纵矩阵来完成转换以表示各种操作。绘制形状时,程序员能够将颜色信息分配给每个路径。

混合规则,其说明如何将路径混合到扩展缓冲区内容,是构成最终矢量图像的最后一条信息。来自路径颜色参数的Alpha值和Blend函数定义了Alpha在向量路径本身和目标缓冲区上的效果。

VGLITE API - 访问I-MX RT1170的2D向量引擎的选项之一 - 实现各种混合规则NXP应用笔记AN13075更详细的讨论。除了矢量管道,VGLite API还提供了光栅图像的管道。关于API的这一部分的更多信息可以在AN13075应用说明中找到。

PxP 2D加速器

像素处理流水线(PxP)是一个强大的2D加速器,可以在发送到显示器之前处理图形缓冲或复合视频。它集成了几种常用的2D图形处理操作,如位块、alpha混合、颜色空间转换、固定角度旋转和缩放。

这个引擎的一个可能的用例是混合两个缓冲区,以形成发送到LCD的单个输出图像。例如,其中一个缓冲区可以包含背景图像,而另一个缓冲区可以保存文本标签或按钮等UI元素。这些层可以有不同的大小,PxP引擎也允许快速和容易的缩放。AN12110应用说明讨论了一个更深入的示例应用程序,其中PxP缩放内部缓冲区以适合该项目的LCD屏幕。

与在嵌入式微控制器的主CPU上实现功能相比,将普通2D操作外包给专用硬件控制器(如PxP)提供了一系列好处。软件开发人员不必重复工作,因为最常见的功能是现成的。主CPU也不需要每秒多次处理复杂的2D操作,这意味着它可以专注于其他计算,从而带来更流畅的用户体验和潜在的更高的能源效率。

LCDIFV2显示控制器

第二个版本的液晶显示接口(LCDIF)还通过从帧缓冲区获取之前创建的显示数据并将其显示在TFT LCD面板上来帮助主CPU。帧缓冲区是存储要显示的图像数据的内存空间。可以互换使用两个缓冲区。这样做允许在控制器绘制另一个缓冲区时更新其中一个缓冲区。除了LCDIFv2, i.MX RT1170 MCU还包含一个额外的eLCDIF显示控制器。

i.MX中的LCDIFv2控制器最多支持八个图层,用于编程器融合和配置在运行时。所有这一切都发生而不涉及其他加速器模块。每个层都可以使用不同的颜色格式,CANVAS大小,位置和从任何存储器位置的缓冲区获取内容。

LCDIFv2控制器还支持索引8bpp格式,允许程序员使用与其一起使用的颜色查找表和索引数组来定义32位每像素图像。该方法使得可以定义ARGB8888,而无需牺牲额外的存储器。AN13075应用笔记和官方SDK举例说明如何完成此操作。

i.MX RT1170交叉MCU及其支持的设备

i.MX RT1170的异构图形管道由三个引擎组成,每一个引擎都有自己的优点,有助于简化项目,如果协同使用,可以在节省内存的同时提高性能。一些NXP设备已经支持本文讨论的一些引擎:i.MX RT1170支持所有三种图形加速器。基于cortex - m7的i.MX RT1050和i.MX RT106x设备支持PxP和LCD控制器。i.MX RT500基于Cortex-M33内核,集成了2D GPU。

除了硬件,NXP还支持为嵌入式设备开发gui的不同api和有用工具,从而支持创建小型和快速的全功能设备。NXP公司的网站提供各种支持的API和工具和所有支持的设备的概述。它还提供不同的培训材料,如应用笔记,视频,SDK示例和按需网络研讨会。

行业文章是一种内容形式,允许行业合作伙伴以编辑内容不太适合的方式与All About Circuits的读者分享有用的新闻、消息和技术。雷竞技注册所有行业文章都遵循严格的编辑指导方针,目的是为读者提供有用的新闻、技术专长或故事。工业文章中表达的观点和意见是合作伙伴的观点和意见,不一定是All About Circuits或其作者的观点和意见。雷竞技注册