基于ARM支持实现MCU的视频图形功能-设计应用_第1页
基于ARM支持实现MCU的视频图形功能-设计应用_第2页
基于ARM支持实现MCU的视频图形功能-设计应用_第3页
基于ARM支持实现MCU的视频图形功能-设计应用_第4页
基于ARM支持实现MCU的视频图形功能-设计应用_第5页
已阅读5页,还剩4页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

精品文档-下载后可编辑基于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位并行数据组成,支持高达2048x2048的分辨率。完整的输入数据路径如下图1所示。

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

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

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

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

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

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

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

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

视频图形处理

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

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

图3:飞思卡尔i.MX53xxMPU嵌入式2DGPU框图(由飞思卡尔提供)。

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

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

视频图形输出

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

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

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

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

基于ARM的生态系统支持

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

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

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论