您的位置 首页 产品

AM335x 渠道在全彩LED 显现墙异步控制卡的使用

摘要全彩LED显示墙异步控制卡以成本低,集中管理等特点,逐渐成为全彩LED显示墙控制卡的主流。AM335x具有丰富的硬件外设,基于Linux的软件方案,包含GPU Composition模块能提供完整

摘要

全彩LED显现墙异步操控卡以本钱低,会集办理等特色,逐步成为全彩LED显现墙操控卡的干流。AM335x具有丰厚的硬件外设,依据Linux的软件计划,包括GPU Composition模块能供给完好的多图层叠加缩放等功用,非常合适全彩LED显现墙异步操控卡运用。本文将从硬件和软件两个方面介绍依据AM335x供给的相应解决计划。

1 全彩LED显现墙操控卡简介

全彩LED显现显操控卡依据操控方法,能够分显两大显:同步操控卡和异步操控卡

1.1 同步操控卡

全彩LED同步显现墙首要由PC,同步操控卡和LED显现模块组三部分组成,其衔接方法如下:

图1 同步操控模块图

同步操控卡将DVI信号转成LED显现模组所需求的视频信号格局,并且用以太网的方法传输给LED显现模组。同步操控卡自身不做视频解码等处理,仅做格局转化。因而,一般选用FPGA完成该功用。

1.2 异步操控卡

全彩LED异步显现墙由异步操控卡和LED显现模组组成,其衔接方法如下:

图2 异步操控卡模块图

由上图,异步操控卡首要由两个大的部分组成:

视频处理模块。

在此模块中,SOC从网口得到视频流以及UI的材料,进行视频解码和UI 制作,终究经过LCD接口传送给 FPGA。

视频信号转化模块。

在此模块中,FPGA将视频信号转化成LED显现模组所需的信号,并经过网口输出,该功用和同步操控卡的 功用相同。

比照两种计划,可见异步操控卡详细有本钱低,便于会集办理的特色。

2 异步操控卡体系剖析

下面从硬件和软件两个方面剖析其主芯片的体系需求。

2.1 硬件部分

从硬件上看,视频处理模块部分首要由最小体系和外围模块两大部分组成。

最小体系

最小体系由主芯片,电源体系,DDR和存储四部分组成。

不同等级的全彩屏对SOC的处理才能有不同要求,详细的要求在软件部分有阐明。

外围模块

音频接口,LCD接口。即LED显现墙的根本需求。

网络接口。百兆乃至千兆网口能够有用确保显现内容更新的高效性。

USB接口。便于体系升级,以及扩展依据USB各种外设。

SD卡/TF卡支撑。便于体系升级以及内容的本地更新。

此外,异步卡一般和LED显现墙一同放置于室外,所以需求可作业在宽温度规模的工业级芯片。

2.2 软件部分

软件部分首要由操作体系和运用软件两大部分组成。

2.2.1 操作体系

在异步操控卡职业中,干流体系挑选了Linux。

2.2.2运用软件

运用软件首要包括三个部分:

多媒体部分。

用于对音视频码流的解码。

全彩屏首要分为高端和中低端两个层次:

高端,视频分辨率以及显现分辨率要求在720p分辨率以上。

中低端,视频分辨率以及显现分辨率在640×480以内。

因为LED墙一般显现物理面积大,并且亮度高,所以对视频流的帧率要求较高,要求在每秒25帧以上。因而,关于高端产品,一般需带有视频硬解码模块的主芯片,其价格一般较高;关于低端产品,运用软解码可完成,所以需求运算功用较强的主芯片,本钱优势较好。

UI 部分。

用于显现字幕,图片等,并处理UI 元素和视频层的叠加。叠加部分。因为触及到通明度,尺度改换等,运 算需求也很大,所以需求主芯片具有相关的硬件加快模块。

长途操控部分。

该部分首要完成上位机对各操控卡的长途操控,内容更新等功用。该部分一般经过网络运用层完成,各控 制厂家有自己的协议。

3 AM335x的解决计划

AM335x是TI新近推出的依据ARM Cortex-A8 的SOC,外设丰厚,首要针对工业运用领域。针对异步操控卡运用,TI也供给了依据Linux的解决计划。下面将从硬件和软件两方面别离介绍该计划。

3.1 硬件计划

AM335x具有一个微弱的中心Cortex-A8,该核的运算才能可达2.0DMIPS/MHz, 并且AM335x的主频可到1GHz,即运算总的才能可达2000DMIPS,可流通解码640×480的MPEG4视频流,并且有满足的运算余量制作各种UI。

此外,AM335x还有一个3D图形加快核,SGX530,可支撑OpenGL ES2.0。TI 在OpenGL ES2.0之上供给了相应的软件计划,将SGX530用于视频帧的尺度缩放以及完成对UI 层和视频层的通明叠加的加快,后边软件部分会详细介绍该计划。

一起,AM335x具有丰厚的外设,如下图所示:

图3 AM335x异步操控卡硬件模块图

由上图可见AM335x可彻底包括一切异步操控卡的外设需求,不需求其他扩展。因而,整体本钱具有很强竞争力。

TI的开发板GP EVM(可查阅参阅文档[1])都能够很便当的进行LED运用的评价和开发,下文中的软件计划是以GP EVM为渠道进行开发的。

3.2 软件计划

软件计划首要分为操作体系和运用软件两大块,详细介绍如下。

3.2.1 操作体系

如前所述,Linux是异步操控卡的干流操作体系,因而,本计划也挑选了Linux作为渠道。AM335x EZSDK供给了Linux的完好开发包,包括板级支撑包,穿插编译器,文件体系等,可查阅参阅文档[2]。

3.2.2 软件模块

UI

在依据Linux的异步操控卡渠道上,QT以免费,开源,开发材料全以及在嵌入式体系上运转功率高级特 点,已经成为异步操控卡厂商开发UI首要的渠道。在EZSDK中已包括对QT4的移植,可查阅参阅文档[3]。 QT在开源网站上也有很丰厚的资源,可查阅参阅文档[4]。

多媒体

在EZSDK中供给Gstreamer+ffmpeg的多媒体解决计划,可查阅参阅文档[5]和参阅Gstreamer文档(参阅文档 [6])。在多媒体中,因为格局比较多,各种编码的复杂度以及编码质量差异较大是一个难点。而在LED显现 墙的运用场景中,多媒体码流可接受转码方法,所以可指定码流的格局。这儿,引荐的多媒体格局 MP4(MPEG4+AAC),其间MPEG4挑选simple profile,对此种码流,若分辨率为640×480,AM335x可流通解 码每秒25帧以上。

显现后端

AM335x只要一个功用简略的LCD操控器,该操控器只支撑RGB格局,其在Linux中的驱动为framebuffer,可 查阅参阅文档[7] 。相应的上述两个模块的显现后端也以framebuffer为根底:

Gstreamer的后端显现插件选用fbdevsink。因为视频解码后的格局为YUV格局,而AM335x自带的LCD操控器只支撑RGB格局,因而此处可运用Gstreamer的插件ffmpegcolourspace进行色度空间的转化

QT 默许以framebuffer为显现后端。

Framebuffer会接纳来自QT和Gstreamer的图画帧数据,然后进行OSD的叠加和缩放等操作,数据流如下图所示:

图4 默许软件计划数据流程图

3.2.3软件复杂度剖析

在图4中,深色模块为运算较密布模块,详细剖析如下:

Gstreamer的解码和ffmpegcolourspace(CSC plugin)两个模块。ARM虽然有较强的运算才能,但关于较大分辨率的视频解码,视频解码的宏块运算等需较大运算量。别的,色度空间触及浮点运算,并且为逐点运算,所以运算量需求也不小。以640×480分辨率的MP4(MPEG4 simple profile+AAC)为例,若帧率为30fps时,ARM核的loading在91%左右,其间ffmpegcolourspace模块约占运算量的50%。

Framebuffer模块。在该模块中的OSD叠加指的是UI图层和视频图层之间的叠加,并且是包括带通明度的叠加,而图层的缩放是指对原图等比例的缩放,因而需对每一帧数据的每个像素点进行浮点乘加运算,参阅ffmpegcolourspace的运算量,该部分运算量也应较大。可见,ARM核无法单独担任体系所需的悉数运算。

3.2.4 依据GPU的优化计划–GPU Composition

GPU Composition软件模块,调用SGX530模块进行颜色空间转化,OSD叠加,图层缩放功用,分管A8的运算负载使其专心于QT,视频解码等运用,下面将详细介绍。

GPU Composition模块的编译和装置。在TI Wiki上有清晰阐明,可查阅参阅文档[8]。

GPU Composition规划剖析

A.各功用模块

图5 GPU Composition软件模块图

SGX530完成的功用模块标记为深色,详细功用如下:

a. gpuvsink该模块规划为Gstreamer视频显现后端插件,将视频解码器解出的YUV 数据帧,传送给SGX530模块。依照规范的Gstreamer视频显现后端插件规划,可选用规范的显现后端接口编程。关于视频输入的尺度,要求其宽(width)为4个像素点的倍数。其输出视频帧数据这儿可称为Video Plane。

b. linuxfbofs该模块规划为QT架构中的显现后端,将QT的帧数据发送到SGX530模块中处理。linuxfbofs和framebuffer有相同的接口,关于QT运用开发是通明的。其输出界面帧数据为Graphics Plane。

GPU Composition

该模块依据Open GL ES 2.0接口规划,对输入的Video plane和Graphics Plane进行颜色空间转化,图层缩放,OSD叠加等操作,将终究的帧数据推送到Framebuffer中显现。

B. 模块间的数据流

模块间的数据以Plane的方式传递,详细介绍如下:

a. Plane格局

Video Plane可支撑YUV422,NV12,I420和YUV420 格局帧数据。

Graphics Plane可支撑RGB565,RGB888和ARGB8888帧数据。

GPU Composition接纳这些格局的帧数据,并将其转化为RGB格局,进行图层缩放,OSD叠加等操作。

b. Plane的内存分配

SGX530输入内存(Buffer),只支撑物理地址接连的Buffer。因而,在gpuvsink和linuxfbofs中,运用cmem(详细可查阅参阅文档[9])据此要求分配内存Pool来存储帧数据,需在Linux启动时经过命令行参数 ”mem=”装备预留给Kernel的内存,而剩余的内存便是给cmem所预备,用于分配物理接连的内存。

其巨细的计算公式如下:

Pool size for Graphics Plane = width * height * Bytes Per Pixel

Pool size for Video Plane = video frame width * height * 2 (Bytes Per Pixel) * 8 (buffers)

关于一个Video Plane或许需求多个Buffer,其详细个数界说在

gpu-compositing/gpuvsink/src/gst_render_bridge.

#define PROP_DEF_QUEUE_SIZE 8

c. Pool传递

Graphics Plane和Video Plane以指针的方式将Pool传递给GPU Composition。

C. 模块间的操控流

a. 装备信息数据结构

关于Graphics Plane,经过命名管道“/opt/gpu-

compositing/named_pipes/video_cfg_and_data_plane_X”其装备信息在下面数据结构中

关于此装备信息中,比较重要的有如下几点:

关于QT而言,对入的对对参数来自Linux的FB对对,即对LCD屏的对示分辨率。

关于通明度(Alpha),Video plane在底部,因而,Graphics Plane决议Video Plane的可对度。Alpha 可分对:大局Alpha,整个Plane运用同一的一个Alpha对;以像素点(Pixel)对对位的Alpha, 即像素的数据格局对ARGB8888,能够在部分对置Alpha。

能够通对对置对出的对构体out_g对对对出Plane的对放。

关于Video Plane, 装备信息如下:

此装备结构体中的输入信息,会经过Gstreamer的规范接口,经过前级的Gstreamer Plugin进行装备。如前所述,输入视频帧的宽(width)的像素点数,需为4的倍数;关于输出信息,和Graphics Plane相同,能够经过装备输出数据结构out,完成缩放功用。

b. 命名管道(named pipe)装备信息

上述装备信息,经过存放于文件体系中的命名管道,传递到GPU Composition模块。关于linuxfbofs,命名管道文件为/opt/gpu-compositing/named_pipes/gfx_cfg_plane_X。关于gpuvsink,命名管道文件为/opt/gpu-compositing/named_pipes/video_cfg_and_data_plane_X。

4 计划试验

笔者依据GPU Composition计划,在AM335x EVM板上,开发了Gstreamer和QT运用程序,以验证整个异步LED显现墙计划的功用。

4.1 代码及编译

代码分红两个运用:

Gstreamer部分,可在参阅文档[10]下载,为一个视频播映器,可循环播映MP4视频

QT部分,能够在参阅文档[11]下载,包括一个时钟和翻滚字幕。

能够依据参阅文档[8]进行编译。

4.2 代码运转

在AM335x EVM(AM3358 主频为720MHz)上,运转命令行如下:

这儿播映的视频流为mp4格局,其包括有分辨率为640×480的MPEG4 simple profile码流以及AAC音频流。

运转效果图如下:

图6 示例运转效果图

能够从截图中看到,OSD层和视频层的通明度叠加很清楚。

4.3 功用剖析

关于GPU Composition计划的功用进步,能够参阅下面两个截图。

图7中,没有运用GPU Composition计划,CPU除了要做解码,也需求做颜色空间转化,其CPU占用率到达91%。

图8中,运用了GPU分管了视频叠加,颜色空间转化等运算,在整个体系的总运算量显着大于只是Gstreamer播映视频的情况下,ARM核的CPU占用率只是只要58%,仍给运用程序留下运转的空间。更多的示例可查阅参阅文献[8]。

图7 单Cortex-A8软解视频流的体系负载

图8 GPU Composition计划视频播映的体系负载

5 总结

本文首要介绍了依据AM335x的全彩LED显现墙异步操控卡计划,要点介绍了依据GPU 的软件解决计划,在完成LED显现墙所需的视频层和OSD层叠加,缩放等功用的根底上,仍给客户定制的运用程序供给了满足的开发空间。期望该计划能加快客户进行异步操控卡的开发。

声明:本文内容来自网络转载或用户投稿,文章版权归原作者和原出处所有。文中观点,不代表本站立场。若有侵权请联系本站删除(kf@86ic.com)https://www.86ic.net/xinpin/chanpin/281504.html

为您推荐

联系我们

联系我们

在线咨询: QQ交谈

邮箱: kf@86ic.com

关注微信
微信扫一扫关注我们

微信扫一扫关注我们

返回顶部