亿迅智能制造网
工业4.0先进制造技术信息网站!
首页 | 制造技术 | 制造设备 | 工业物联网 | 工业材料 | 设备保养维修 | 工业编程 |
home  MfgRobots >> 亿迅智能制造网 >  >> Industrial Internet of Things >> 嵌入式

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

在本文中,了解 i.MX RT1170 MCU 的异构图形管道及其三个主要图形加速引擎。

现代消费级和专业级嵌入式设备越来越能够提供越来越多的有用功能。然而,这种丰富的功能让设计人员质疑如何让用户可以访问所有功能,同时又不会让复杂的界面让他们感到不知所措。

类似智能手机的 GUI 可以成为传统物理按钮的有效替代品,因为它们比经典的物理控件提供了一些改进。恩智浦通过各种集成显示控制器和图形加速器(例如 i.MX RT1170 跨界 MCU 中包含的那些)使开发功能丰富的图形用户界面变得更容易。

图 1。 i.MX RT1170 MCU

i.MX RT1170 MCU 的三个显示引擎

虽然大多数 NXP 微控制器可以支持必要的 GUI 外设,但某些设备(例如 i.MX RT1170 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 值和混合函数定义了 alpha 对矢量路径本身和目标缓冲区的影响。

VGLite API(访问 i-MX RT1170 的 2D 矢量引擎的选项之一)实现了 NXP 应用笔记 AN13075 更详细讨论的各种混合规则。除了矢量管道,VGLite API 还为光栅图像提供了管道。有关该部分 API 的更多信息,请参阅 AN13075 应用说明。

PxP 2D 加速器

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

该引擎的一个可能用例是混合两个缓冲区以形成发送到 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 控制器最多支持八层,供程序员在运行时进行混合和配置。所有这些都在没有其他加速器模块参与的情况下发生。每个层都可以使用不同的颜色格式、画布大小、位置,并从任何内存位置的缓冲区中获取内容。

LCDIFv2 控制器还支持 Index8BPP 格式,它允许程序员使用颜色查找表和与之配套的索引数组来定义每像素 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。

除了硬件之外,恩智浦还通过支持不同的 API 和用于为嵌入式设备开发 GUI 的有用工具来创建小型且快速的全功能设备。恩智浦网站概述了各种支持的 API 和工具以及所有支持的设备。它还提供不同的培训材料,例如应用说明、视频、SDK 示例和点播网络研讨会。

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


嵌入式

  1. 了解轴制造过程
  2. 了解云文化的重要性
  3. 了解预测性维护的好处
  4. 保护物联网威胁向量
  5. 了解铣床的基础知识
  6. 机器学习领域
  7. 原始技术提示:矢量和光栅图形文件的区别
  8. 了解减震器的工作原理
  9. 理解术语耦合
  10. 了解材料的柔韧性
  11. 了解柴油机的应用
  12. 了解加热器芯的工作原理