基于ARM支持实现MCU的高级视频图形功能

发布者:快乐舞步最新更新时间:2020-08-07 来源: elecfans关键字:ARM  MCU  高级视频图形功能 手机看文章 扫描二维码
随时随地手机看文章

需要高级视频图形功能的系统一直是实施的挑战。传统上,这些系统需要硬件功能和软件功能的复杂组合,以创建应用程序所需的必要的更高级别的视频和图形。最新的基于ARM的MCU现在提供了一套全面的高级硬件功能,通常将常见的视频和图形标准作为独立模块实现,从而最大限度地减少了对这些硬件功能进行“硬编码”的需求。此外,广泛的基于ARM的生态系统提供了大量软件支持,用于实现常见的应用程序级功能(例如,轻松构建图形用户界面或GUI的应用程序),只需极少量的低级编码。广泛的参考设计和硬件平台允许设计人员利用制造商开发的例程来简化他们自己的自定义应用程序的创建。让我们看一下基于ARM的MCU系列中现有的一些新的视频硬件和软件功能。


三个关键要素:输入,处理和显示

将三个关键视频图形元素分成输入是很方便的,处理和显示。输入功能通常允许设备通过各种标准连接到各种传感器和摄像机。处理功能支持将一个标准转换为另一个标准,创建用于显示的多层图形对象(例如,作为GUI中的元素),以及用于创建具有深度和着色属性的对象的更复杂的函数。最后,显示功能将存储在内部存储器中的图形元素转换为可以传输到平板显示器或电视的数据。现在让我们使用基于ARM的示例MCU更详细地查看每个元素。


视频图形输入

大多数基于ARM的MCU都包含一个通用图像传感器的视频输入接口。这些接口通常使用标准格式(例如RGB或YCbCr)将视频输入存储到内部存储器中,该标准格式可以被处理然后显示在标准LCD面板上。 Atmel SAMA5D3系列基于ARM的MCU是一个很好的例子,它说明了一些所需的视频输入功能。主视频输入模块是图像传感器接口(ISI),使用两种常用方法连接到图像传感器:与垂直和水平同步信号的硬件同步,或国际电信联盟建议书(ITU-R)标准(如BT)。 601/656)。 BT.601/656的使用减少了引脚数,因为不需要垂直和水平信号,但灵活性不如通用的垂直和水平硬件同步模式。图像传感器数据由最多12位并行数据组成,支持高达2048 x 2048的分辨率。完整的输入数据路径如下图1所示。

基于ARM支持实现MCU的高级视频图形功能

图1:Atmel SAMA5D3 MCU的视频输入路径(由Atmel提供)。

时序信号和图像传感器输入数据显示在图的左侧。在图的中间底部显示了两个输入路径;一个用于预览路径,一个用于编解码器路径。可以格式化预览路径,以便直接在输出LCD面板上转换然后显示输入视频(可能是RGB格式)。 2D图像缩放器和像素格式器可用于实现简单的视频缩放和剪切。可以通过中断和DMA访问来支持完整路径,而根本不涉及CPU。如果需要视频处理,输入数据可以转换(例如,从RGB转换为YCbCr),并使用图1底部显示的编解码器路径以打包格式存储在存储器中.FIFO缓冲区和带散射聚集的AHB主机功能补充了数据输入功能。


使用中断和DMA传输管理数据路径的能力对于提高视频应用的效率至关重要。这使得ARM CPU可以专注于实现管理功能并为功能区分提供定制处理。 Atmel SAMA5D3是具有重要自主操作的设备的一个很好的例子,当处理效率至关重要时,您应该注意这一点。

在许多情况下,视频数据已经过压缩处理,需要以不同的格式捕获。例如,安全摄像机通常以压缩的JPEG格式提供视频数据,以减少传输视频数据所需的带宽。这可以降低接收端的功耗要求,并简化数据带宽要求。加密通常用于保护视频数据免受网络入侵。让我们考虑使用STMicroelectronics STM32F207 MCU作为目标平台的示例安全摄像头设计。


STM32F207数码相机输入是一个同步并行接口,能够从外部CMOS摄像头模块捕获高速图像数据。它支持常见的格式,如YCbCr4:2:2,RGB656,8/10/12/14位逐行扫描视频和JPEG。 JPEG在低功耗应用中很有用,因为它是压缩的,因此传输图像所需的带宽较少。 STM32F207在视频流的水平同步部分内接收JPEG视频,如图2所示。请注意,HSYNC信号的宽度根据每个JPEG数据包所需的数据量而变化。开始和结束时的指示由VSYNC信号限制,以便于识别。

基于ARM支持实现MCU的高级视频图形功能

图2:STM32F207上带摄像头输入的JPEG捕获(由STMicroelectronics提供)。

JPEG视频捕获数据后,使用DMA控制器将数据存储在内存中以减少CPU开销。在传输之前,视频数据被加密,使得视频难以被网络入侵者捕获或篡改(你经常看到安全视频数据在黑暗电影中被“黑客攻击”)。 STM32F207具有片上加密处理器,支持流行的加密标准,如Triple-DES和AES-256。加密处理器作为32位AHB外设访问,并支持DMA传输。随机数生成器和安全散列处理器也可用于添加身份验证功能,以便安全摄像头的命令和从摄像头传输的数据可以证明来自预期的来源。


一旦数据完全处理并准备好发送时,STM32F207有一个以太网控制器,支持使用符合IEEE 802.3标准的MII接口进行10/100数据传输,以连接到外部PHY。控制器还支持LAN唤醒帧,以便在等待以太网端口上的活动时可以使用低功耗模式。双2 KB FIFO(一个用于发送,一个用于接收)提供足够的缓冲存储,以保持高效率,从而降低功耗。 DMA用于传输以太网流量以及进一步降低CPU开销。普遍使用DMA将数据从输入,处理转移到传输,是低功耗视频实现中的常用技术,并且应该是任何设计中关键因素,其中功率效率是关键考虑因素。


视频图形处理

视频图形处理是高级ARM MCU和MPU近年来增加的复杂功能之一。 MPU特别增加了用于视频处理的硬件加速,旨在创建可包括实时视频的创新用户界面。将视频数据从一种格式转换为另一种格式,裁剪,缩放和颜色校正目标显示器的属性或改变照明条件的能力可以显着增强用户体验。飞思卡尔i.MX53xx具有片上2D图形处理单元(GPU)和独立的3D GPU。 2D GPU实现了针对OpenVG 1.0.1图形API和功能集的各种图形和视频处理功能。 3D GPU的目标是DirectX9着色和纹理,用于构建高级图形图像。


2D GPU在构建视觉上引人注目的UI方面特别有用,并且可以使用由3D GPU创建的图形元素。 2D GPU支持位图图形操作,例如BitBlt,填充和光栅化器操作,帧缓冲区最高可达2048 x 2048,采用全范围的源和目标位图格式(例如,从ARGB4444到ARGB8888)。提供了三个用于掩模,图案和alpha层的独立源位图,以简化复杂图形构造的实现。矢量图形引擎结合2D单元提供多边形和几何操作。 2D GPU的框图如下图3所示。

基于ARM支持实现MCU的高级视频图形功能

图3:飞思卡尔i.MX53xx MPU嵌入式2D GPU框图(由飞思卡尔提供)。


2D GPU接受命令流,如图3顶部所示。命令被分离并发送到2D单元或矢量图形单元。 2D单元通过存储器仲裁器对图形存储器上的像素,梯度,纹理和颜色进行操作。矢量单元还使用存储器仲裁器来访问图形存储器,从而生成并操作几何形状。仲裁器通过优先考虑和组合存储器操作来最大化带宽效率。


i.MX53视频图形系统的架构,具有单独的2D,矢量和3D单元并不罕见。拥有支持不同标准的独立块可以更轻松地创建特定于功能的驱动程序,中间件和更复杂的高级应用程序接口(API),从而使设计人员能够专注于他们的关键差异化因素,而不是花时间实施低级别的“家政“功能。很多时候,这些模块还支持低功耗模式,其中未使用的元件可以断电以显着降低功耗。当视频图形处理是您设计中的重要要求时,请寻找这些类型的功能。


视频图形输出

在某些应用中,不需要直接视频输入功能;但是,拥有视频输出功能至关重要。例如,手持式测试设备可能需要图形用户界面和生成视频输出的能力,以图形方式显示实时测试结果。这些类型的功能的常见示例可以在超声医疗设备,材料检查或电信频率测试中找到。恩智浦LPC4350双ARM内核MCU是非常适合这些应用的器件类型的一个很好的例子。恩智浦LPC4530的LCD面板输出控制器如下图4所示。

基于ARM支持实现MCU的高级视频图形功能

图4:恩智浦LPC4350双ARM内核MCU上的LCD输出(由恩智浦提供)。


系统界面帧缓冲器是通过图4中左侧所示的AHB主机实现的。控制器将像素编码数据转换为各种可能的显示设备所需的格式,包括单或双超扭曲向列(STN) )面板或薄膜晶体管(TFT)彩色面板。支持320 x 240到1024 x 768的分辨率,TFT显示屏上每像素高达24位真彩色非托盘色。 245个条目乘以16位的RAM调色板可用于托盘化实现。请注意,当存在双面板时可以使用单独的DMA FIFO,或者当只有一个面板时可以组合使用单独的DMA FIFO。这有助于提高传输效率并降低CPU开销。包含硬件光标以简化图形用户界面(GUI)实现。


NXP LPC4350上提供的双ARM内核对于具有大型或复杂GUI功能的应用程序特别有用。其中一个ARM内核可专用于管理用户界面和测试数据的实时显示。这有助于将时间关键功能与不太关键的管理或处理功能分开。例如,数据处理的短暂延迟比数据显示期间的延迟(创建“参差不齐”和分散注意力的测试结果)更不明显。将CPU专用于键显示功能也有助于优化功率,因为当显示器未激活时可以将显示处理器置于低功率模式。您只需在需要更新显示器时唤醒CPU。


基于ARM的生态系统支持

ARM CPU的普及使用创建了一个非常强大的生态系统,支持与视频图形相关的功能。软件支持包括视频编解码器,用于构建GUI功能的工具,甚至高级视频处理功能。一个流行的用户界面(UI)构建器是Mentor Graphics的Inflexion UI。它支持拖放创建引人注目的用户界面,可以针对运行RTOS的应用程序,并可以使用目标设备的OpenGL硬件图形引擎来实现2D,2.5D或全3D效果。


另一个例子是来自Segger的emWin。 emWin中间件系统为图形LCD提供了高效的GUI。它以“C”源代码的形式提供,可在基于ARM的设备上轻松实现。该系统包括对小部件库,窗口管理器,渲染支持(具有图形库,基本字体和触摸/鼠标支持)以及输出和存储设备驱动程序的支持。这些只是ARM软件生态系统中许多图形和面向GUI的元素的两个例子。


硬件支持非常丰富,供应商和第三方提供可开发基于视频的应用程序的开发平台。飞思卡尔i.MX53器件具有完整的开发平台,可针对复杂的设计进行针对性的参考设计,例如无线摄像头接口,可视电话平台或更多通用开发平台。即使是用于i.MX53的简单入门套件,如MCIMX53-START-R-ND,也可用于评估i.MX53的一些高级视频图形功能,包括启动Linux,连接摄像头和驾驶LCD面板。

关键字:ARM  MCU  高级视频图形功能 引用地址:基于ARM支持实现MCU的高级视频图形功能

上一篇:恩智浦ARM微控制器的以太网吞吐量三种不同测量方案的介绍
下一篇:如何在ARM开发板上实现WEB服务器设计制作

推荐阅读最新更新时间:2024-11-18 16:53

物联网标准之争:高通、ARM、英特尔三足鼎立
物联网不是一个产品,一项技术,一个片段或者一个市场。而是很多东西,很多市场,甚至很多技术的结合。然而,目前有一个东西可以把所有的东西连接在一起,那就是从大数据到云端的设备。这可能会带来更多复杂的问题,大量数据在大量的异构设备,多种M2M协议,多种通信协议之下传输,安全问题如何保障?过程如何实现?在没有解决这些问题的情况下,物联网怎样变成下一次革命? 好吧,大数据中心可以处理大数据结构问题。技术流程和专业的低功耗、低能量、低成本的芯片正在出现,一些已经在物联网应用中开发。但是这些硬件配上合适的软件就能保证数据在世界各地之间的无缝传输和安全连接吗?我没有准确的答案,但是有很复杂的答案。每个人都在努力找到正确的解决方案,这里有多个开源的M
[嵌入式]
基于51单片机和nRF905的无线通信装置的设计
0 引言 随着当前网络通信技术的高速发展,人们对各类场合下的无线通信的需求也随之增高。在短距离低成本的无线通信的应用中,基于51单片机以及Nordic公司的nRF905无线通信芯片的应用方案被广泛采用。比如,文献设计了一种基于51单片机与nRF905收发器的无线智能控制交通灯,文献设计了一种基于AT89S52和nRF905的无线遥控系统。 本文设计了一种基于AT89S52单片机和nRF905的无线通信装置。该装置适用于小范围的室内无线点对点文字信息交换应用。 1 系统总体设计 本文设计的装置是由发送和接收两个完全相同的节点模块构成,图1所示为系统示意图。需发送的信息通过PC机上的客户端软件输入,接收的信息显示在节点模
[单片机]
基于51<font color='red'>单片机</font>和nRF905的无线通信装置的设计
基于51单片机的八路抢答器设计
一.硬件方案 本设计 利用STC89C52单片机及外围接口实现的抢答系统,利用单片机的定时器/计数器定时和记数的原理,将软、硬件有机地结合起来,使得系统能够正确地进行计时,同时使数码管能够正确地显示时间。用开关做键盘输出,扬声器发生提示。同时系统能够实现:在抢答中,只有开始后抢答才有效,如果在开始抢答前抢答为无效;抢答限定时间为60秒,倒计时为5秒时蜂鸣器报警,选手抢答成功后显示选手编号以及剩余时间。 主要由51单片机+最小系统+数码管+蜂鸣器+按键模块;如图: 二.设计功能 (1)采用4位数码管设计;下排按键一一对应八位选手。 (2)竖排三个按键,从上到下依次为:开始、暂停、复位。 (3)操作流程:上电后数码管显示“--
[单片机]
基于51<font color='red'>单片机</font>的八路抢答器设计
聚焦三方面:Arm如何赋能边缘AI
日前,在Elexcon 2024深圳电子展上,Arm 物联网事业部业务拓展副总裁马健介绍了Arm在AI时代的新机遇,以及如何赋能边缘AI的发展。通过硬件、软件以及生态系统三大方面,Arm正在从云到端地赋能AI产业的进步。 生成式AI正在从云到端 马健表示,ChatGPT大热代表了生成式AI iPhone时刻的到来,仅用5天时间便达到了100万用户,两个月内轻松突破1亿用户。这种前所未有的增长速度表明了大众对AI技术的需求和认可。 如今,随着AI技术的发展,大模型不只是在生成式语言方面广泛应用,同时也正在助力自动化转型。无论是云端部署还是在边缘设备上的应用,AI正在快速普及。从智能家居到自动驾驶,再到机器人技术,GP
[嵌入式]
聚焦三方面:<font color='red'>Arm</font>如何赋能边缘AI
8051单片机实现PWM的方法
PWM 是“脉冲宽度调制”的意思。 PWM 实际上是在单片机的某个引脚输出一系列的矩形波,其周期一般是固定的;而其高电平、低电平所占用的时间,是可以受控调整的。 高电平、低电平所占用的时间之比,称为占空比,其值为0~1之间。 PWM 的应用很广,简单的说,它可以控制灯光的亮度、可以控制直流电机的转速,甚至还可以输出语音信号。 新型的单片机,往往都含有硬件的 PWM 模块,编写程序就很简单;而老式的MCS-51系列,就不具备这个条件。 其实,在没有 PWM 硬件的单片机上实现 PWM,也并不难,只需一个定时器,令其工作在中断方式即可。 下面以网上的一个题目为例,说明实现 PWM 方法。 题目:AT89C52单片机输出可调 PWM 波
[单片机]
8051<font color='red'>单片机</font>实现PWM的方法
LG两款ARM芯片曝光:或为Intel 10nm工艺打造
日前,LG向欧盟知识产权局提交了两份商标申请文件,分别是“LG KROMAX Processor 和 LG EPIK Processor”。LG表示这将用于两款芯片产品。 不过,目前并没有证据表明这两款芯片会应用在智能手机上,它们也有可能用于物联网设备。 此外,去年Recode曾报道,Intel证实他们将为LG制造用于智能手机的ARM芯片,这些芯片将运用10nm工艺。Intel为LG代工的有可能就是这两款芯片。
[手机便携]
LG两款<font color='red'>ARM</font>芯片曝光:或为Intel 10nm工艺打造
ARM异常处理程序
实验目的: 掌握ARM异常处理过程。 理解SWI程序的结构。 掌握从应用程序中调用SWI异常的方法。 实验一:使用SWI异常设计字符串输出程序 本实验利用SWI异常输出字符串 hello world! ,采用ARMualtor方式调试,选用ARM7作为目标处理器。 序号 执行指令 指令执行后的变化情况 寄存器 存储空间 R0 R1 R2 R3 SP LR PC 0xB000 0xCFFC 0xCFF8 0xCFF4 0xCFF0 0xCFEC 0 ----
[单片机]
<font color='red'>ARM</font>异常处理程序
GD32单片机的工作原理和内部结构 GD32单片机怎么烧写程序?
GD32单片机是一种基于ARM Cortex-M3核心的嵌入式处理器,由国内芯片厂商GigaDevice公司开发和生产。它是一种高性能、低功耗、成本合理的微控制器,广泛应用于智能家居、智能穿戴、消费电子、汽车电子、电力电子、医疗设备等领域。 GD32单片机在工作原理上与其他单片机基本相同,主要包括外设控制器、CPU核心、内存、时钟、复位电路等部分组成。不同的是,GD32单片机采用了ARM Cortex-M3的高性能处理器,拥有更高的运算速度和更强的计算能力,同时具备低功耗、低噪声、高可靠性等特点。 GD32单片机的内部结构主要包括CPU核心、中断控制器、系统控制器、时钟控制器、Flash存储器、SRAM存储器、DMA控制器
[单片机]
小广播
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved