基于FPGA的机载视频图形显示系统架构设计与优化

发布者:Coboro最新更新时间:2016-11-02 来源: ofweek关键字:FPGA  机载视频  图形显示  系统架构 手机看文章 扫描二维码
随时随地手机看文章
  随着航空电子技术的不断发展,现代机载视频图形显示系统对于实时性等性能的要求日益提高。常见的系统架构主要分为三种:

  (1)基于GSP+VRAM+ASIC的架构,优点是图形ASIC能够有效提高图形显示质量和速度,缺点是国内复杂ASIC设计成本极高以及工艺还不成熟。

  (2)基于DSP+FPGA的架构,优点是,充分发挥DSP对算法分析处理和FPGA对数据流并行执行的独特优势,提高图形处理的性能;缺点是,上层CPU端将OpenGL绘图函数封装后发给DSP,DSP拆分后再调用FPGA,系统的集成度不高,接口设计复杂。

  (3)基于FPGA的SOPC架构,优点是,集成度非常高;缺点是逻辑与CPU整合到一起,不利于开发。

  经过对比,机载视频图形显示系统的架构设计具有优化空间,值得进一步的深入研究,从而设计出实时性更高的方案。

  本文设计一种基于FPGA的图形生成与视频处理系统,能够实现2D图形和字符的绘制,构成各种飞行参数画面,同时叠加外景视频图像。在保证显示质量的同时,对其进行优化,进一步提高实时性、减少内部BRAM的使用、降低DDR3的吞吐量。

  1总体架构设计

  本系统总体设计方案如图1所示。以Xilinx的Kintex-7FPGA为核心,构建出一个实时性高的机载视频图形显示系统。上层CPU接收来自飞控、导航等系统的图形和视频控制命令,对数据进行格式化和预处理后,通过PCIe接口传送给FPGA。本文主要是进行FPGA内部逻辑模块的设计和优化。

  图1机载显示系统总体设计框图

  2机载显示系统架构设计

  机载显示系统设计主要包括2D绘图、视频处理和叠加输出。2D绘图功能包括直线、圆、字符等的快速生成。视频处理功能包括输入视频选择、视频缩放、旋转、翻转等处理。叠加输出功能,将视频作为背景与图形叠加,送到两路DVI输出,一路经过预畸变校正后输出到平显上,另一路直接输出来进行地面记录。

  为了满足上述功能,FPGA逻辑设计的整体流程图如图2所示。

  图2FPGA逻辑设计的整体流程图

  2.1实时性分析

  视频处理既要实现单纯的外视频处理,同时能够实现叠加后视频处理。以旋转处理为例,若在单纯外视频旋转处理后,与图形叠加,再进行叠加后旋转处理,延迟非常大。因此为了提高实时性,考虑将图形整体和外视频分别进行旋转处理后,再相互叠加。整个流程中,帧速率提升模块延迟最大。

  2.1.1帧速率提升算法

  帧速率提升指在原有的图像帧之间插值出新的图像帧。常见的帧速率提升算法主要包括帧复制法、帧平均法和运动补偿法。综合考虑显示效果和实时性要求,最终选择帧复制法。帧复制法易于实现、计算量低。其表达式为:

  此处输入PAL视频帧速率为25帧/秒,输出DVI视频帧速率为60帧/秒,即在0.2s内将5帧图像插值到12帧。如图3所示,DDR3中开辟5帧存储空间用于存放25Hz的原始图像,在0.2内输入5帧原始图像,输出12帧图像。延迟为PAL的1.5~2.6帧,最大延迟为:

 

  图3帧速率提升示意图
 

  2.2BRAM资源占用

  本文设计的机载显示系统利用一片DDR3作为外部存储器,所有图形和视频数据都需要缓存到DDR3中。为了解决数据存储冲突,需要将数据先缓存到内部BRAM中。XC7k410T共有795个36Kb的BRAM。整个流程中,BRAM资源占用最大的是图形整体旋转和视频旋转模块。

  2.2.1视频旋转算法

  反向旋转映射优点是,旋转后坐标反向旋转,除了超出原始坐标范围的,在旋转前坐标中都能对应到浮点坐标,并可以用该坐标邻域的像素点来唯一确定该坐标的像素值,不会出现"空洞"现象。

  图4视频旋转算法示意图

  2.3DDR3吞吐量分析

  本系统处理的数据量大,FPGA内部的存储资源无法满足数据存储要求,需要配置系统外部存储器DDR3。从图2可以看出,整个系统流程最多经过DDR3共9次,下面依次介绍每次读写DDR3的必要性和数据量。

  ①图形及字符生成模块读写数据,由于图形及字符生成时,没有严格按照屏幕自上而下、自左而右的顺序,所以每一帧图形都需要存入到DDR3中,并等待一帧处理完再进行整体的其他处理。由于像素点操作会涉及到读取背景值,所以是双向的。考虑吞吐量最大的情况,即图形生成模块对每帧图形的一半像素点都进行一次读写操作,则图形生成模块读写数据量为

  ②图形缩放模块读数据及清屏操作,由于缩放模块是对整个画面的处理,所以需要从DDR3中读取出来。而由于图形及字符不是对每个像素点都进行操作的,所以取出后,需要进行清屏操作。则读写数据量为474.6。

  ③图形旋转模块写数据,由于图形处理速度和视频处理速度不完全匹配,所以先将缩放及旋转后的数据存储到DDR3,等待视频处理完后,再统一取出,写数据量为237.3MB/s。

  ④图形输出读数据,同时进行平移、翻转、镜像等坐标变换操作,写数据量为237.3MB/s。

  ⑤PAL视频输入数据,为了实现去隔行和帧速率转换,必须将数据存储到DDR3中进行变换操作,读写数据量为

  ⑥视频缩放模块读数据,从DDR3中取出进行缩放操作,读数据量为

  ⑦视频旋转模块写数据,由于视频处理速度和图形处理速度不完全匹配,所以先将缩放及旋转后的数据存储到DDR3,等待图形处理完后,再统一取出,读写数据量为237.3MB/s。

  ⑧视频输出读数据,同时进行平移、翻转、镜像等坐标变换操作,读写数据量为237.3MB/s。

  ⑨预畸变参数读数据,用64位来存储每个像素点对应的四个预畸变参数,则读数据量为

  表1为该系统数据吞吐量的计算表,其吞吐量合计为2677.6MB/s。

  表1系统数据吞吐量计算表

  本文采用DDR3作为系统外部存储器,其型号为W3H128M72E,数据宽度为72比特(64比特为数据位,8比特为校正位),采用的时钟为400MHz,由于DDR3在上升沿和下降沿都进行数据的读写操作,等效于其内部读写时钟为800MHz,即数据带宽为6400MB/s(800MHz*64bit),满足本文设计系统的数据吞吐量要求。
 

  3机载显示系统架构优化

  设计的机载显示系统架构能够满足性能要求,但是还需要进一步优化。如图5所示,改变不同模块之间的顺序来优化设计,同时改进算法。具体改变如下:

  ①图形整体相对于屏幕的缩放和旋转功能在CPU端发送命令前实现,因为CPU端旋转和缩放是针对顶点进行的,方便快速,同时减少了FPGA的BRAM资源占用,减少了进出DDR3的次数;

  ②改进帧速率提升算法,进一步减少延迟,提高实时性;

  ③改进视频旋转算法,进一步降低缓存区的大小,减少BRAM的占用率;

  ④帧速率提升和平移、翻转、镜像都需要通过读写DDR3来完成,将两者合并,同时完成,减少进出DDR3的次数。

  图5FPGA逻辑优化的整体流程图

  3.1实时性分析

  实时性是机载显示系统重要的衡量标准之一,为了确保飞机运行安全,必须确保视频处理的各个模块都有较高的实时性。视频采集、视频缩放、视频校正、视频输出延迟都是几行,延迟时间在以内。帧速率提升模块的延迟远大于其他各个模块延迟之和,需要进一步改进,在保证显示质量的同时,进一步降低延迟时间。

  3.1.1帧速率提升算法优化

  改进的帧速率提升算法仍使用帧复制法。在DDR3中开辟4个存储空间做切换用于存放帧速率为25Hz、场速率为50Hz的PAL图像。有4个场缓存区,当接收当前帧的奇场后与前一帧的偶场结合成一帧数据输出。

  帧速率改进算法示意图如图6所示。A场正好写完,B场正好读完,下一帧读取A场数据,这样延迟为PAL的1场(半帧);A场正好还差1行写完,B场已读完,下一帧继续读B场,这样延迟为PAL的1+(25/60)=1.42场。延迟为PAL的1~1.42场。最大延迟为。

  图6帧速率改进算法示意图

  3.2BRAM资源占用

  原设计的机载显示系统架构使用反向映射的方法实现旋转算法,每一行旋转后数据反向旋转时需要缓存334行视频旋转前数据,即需要279个36Kb的BRAM。相对于其它模块缓存几行相比,占用了大量的BRAM空间,因此需要改进。

  3.2.1视频旋转算法优化

  视频旋转提出了一种改进的旋转映射法,降低缓存空间。示意图如图7所示。对以行扫描的方式获取的视频图像,缓存两行就能开始旋转处理,先进行正向映射,根据当前两行对应的旋转后浮点坐标,找到两行内的整点坐标,再对其进行反向映射,利用当前两行来得到旋转后整点坐标的像素值。

  图7视频旋转改进算法示意图

  该算法涉及原始图像中的2*2大小邻域,为了提高该模块的处理速度,设计了一组由三个双端口块存储器BRAM组成的原始图像数据缓存器。每个BRAM用来存储1行原始图像的数据,3个BRAM中存储的原始图像数据包括当前旋转计算涉及的两行原始图像数据以及下一行旋转计算涉及的一行原始图像数据。因此,需要缓存3行,使用3个36Kb的BRAM。

  3.3DDR3吞吐量分析

  从图5可以看出,优化后的系统流程最多经过DDR3共5次,下面依次介绍每次读写DDR3的必要性和数据量。

  ①图形及字符生成模块读写数据,此与原模块相同,则图形生成模块读写数据量为

  ②图形输出模块读数据及清屏操作写数据,由于视频输出模块是对整个画面的处理,所以需要从DDR3中读取出来,而由于图形及字符不是对每个像素点都进行操作的,所以取出后,需要进行清屏操作。则读写数据量为474.6MB/s。

  ③视频旋转写数据,旋转后的数据没有严格按照屏幕自上而下的顺序,必须将数据存储到DDR3中进行变换操作,读写数据量为

  ④视频输出模块读数据,从DDR3中取出进行视频输出操作,取出的同时还能进行一些坐标变换操作,如平移、翻转、镜像等,读写数据量为

  ⑤预畸变参数读数据,用64位来存储每个像素点对应的四个预畸变参数,则读写数据量为

  表2为该系统数据吞吐量的计算表,其吞吐量合计为2135.7MB/s。DDR3的数据带宽为6400MB/s(800MHz*64bit),满足本文设计系统的数据吞吐量要求。

  表2优化后系统数据吞吐量计算表

  结论

  本文设计一种基于FPGA的机载显示系统架构,能够实现2D图形绘制,构成各种飞行参数画面,同时叠加外景视频图像。实时性方面,帧速率提升模块延迟最大为;BRAM资源占用方面,视频旋转算法需要279个36Kb的BRAM;DDR3吞吐量方面,系统吞吐量为2677.6MB/s。

  优化后的机载显示系统,实时性方面,帧速率提升模块延迟最大为;BRAM资源占用方面,视频旋转算法需要3个36Kb的BRAM;DDR3吞吐量方面,吞吐量为2135.7MB/s。

  经过对比分析,优化后的机载显示系统实时性提高、BRAM资源占用减少、吞吐量降低,整体性能得到了提升。

关键字:FPGA  机载视频  图形显示  系统架构 引用地址:基于FPGA的机载视频图形显示系统架构设计与优化

上一篇:汽车传感器之信号处理电路设计详解
下一篇:汽车电子电源的组成及选型指南

推荐阅读最新更新时间:2024-05-03 00:48

ARM7与FPGA相结合应用于工控和故障检测
工业控制中往往需要完成多通道故障检测及多通道命令控制(这种多任务设置非常普遍),单独的CPU芯片由于其外部控制接口数量有限而难以直接完成多路检控任务,故利用ARM芯片与FPGA相结合来扩展检控通道是一个非常好的选择。这里介绍用Atmel公司ARM7处理器(AT91FR40162)和ALTERA公司的低成本FPGA芯片(cyclone2)结合使用完成多通道检控任务的一种实现方法。 各部分功能简介 图1为此系统的结构连接框图。如图所示,ARM芯片与FPGA芯片之间通过数据总线、地址总线及读写控制线相连,而与终端PC则通过串口通信;FPGA与目标设备通过命令控制总线和故障检测总线相连。 图1 系统结构框图 1
[单片机]
基于FPGA的高速自适应格型滤波器的实现
    摘要:针对高速高灵敏度数字信号处理时对于自适应滤波器的数值特性和实时性的要求,在一种自适应格型联合滤波器的基础上提出算法改进,采用驰豫超前流水线技术和时序重构技术,在损失较小滤波性能的情况下,在FPGA中实现算法并可以达到较高的工作频率。 关键词:自适应滤波器;FPGA;梯度格型滤波器;流水线;时序重构 0 引言     在处理微弱信号的时候自适应滤波器所处的环境可能是非平稳的,输入信号的自相关矩阵和互相关向量等算法参量将随时间变化,会对滤波器的收敛跟踪性能造成较大影响。现代通信系统发展到3G,4G后,几十甚至上百兆比特每秒的数据传输速率对自适应处理技术是个极大的挑战。如何在这类高速环境中运用自适应算法处理高灵敏度信号并使
[嵌入式]
基于<font color='red'>FPGA</font>的高速自适应格型滤波器的实现
百度发布XPU:AI云计算加速芯片(基于FPGA,256核心)
△ 百度解释了FPGA上AI和数据分析工作负载的情况 刚刚在加州Hot Chips大会上,百度发布XPU,这是一款256核、基于FPGA的云计算加速芯片。合作伙伴是赛思灵(Xilinx)。百度也在这次的大会上,透露了关于这款芯片的更多架构方面的细节。 过去几年,百度在深度学习领域,尤其是基于GPU的深度学习领域取得了不错的进展。而且,百度也在开发被称作XPU的新处理器。 百度研究员欧阳剑表示,百度设计的芯片架构突出多样性,着重于计算密集型、基于规则的任务,同时确保效率、性能和灵活性的最大化。今天,他在Hot Chips大会上与来自FPGA厂商Xilinx的人士一同发布了XPU。 △ 百度去年宣布采用Xilinx Kinte
[嵌入式]
采用DSP和FPGA构建高速高精运动控制器
  数字信号处理器具有高效的数值运算能力,并能提供良好的开发环境,而可编程逻辑器件具有高度灵活的可配置性。本文描述了通过采用TMS320C32浮点DSP和可编程逻辑器件(FPGA)的组合运用来构成高速高精运动控制器,该系统通过B样条插值算法对运动曲线进行平滑处理以及运用离散PID算法对运动过程加以控制。   运动控制卡已经在数控机床、工业机器人、医用设备、绘图仪、IC电路制造设备、IC封装等领域得到了广泛运用,取得了良好的效果。目前运动控制卡大部分采用8051系列的8位单片机,虽然节省了开发周期但缺乏灵活性,难以胜任高要求运作环境,而且运算能力有限。   DSP的数据运算处理功能强大,即使在很复杂的控制中,采样周期也可
[医疗电子]
采用DSP和<font color='red'>FPGA</font>构建高速高精运动控制器
基于DSP Builder的DDS设计及其FPGA实现
直接数字合成器,是采用数字技术的一种新型频率合成技术,他通过控制频率、相位增量的步长,产生各种不同频率的信号。他具有一系列的优点;较高的频率分辨率;可以实现快速的频率切换;在频率改变时能够保持相位的连续;很容易实现频率、相位和幅度的数控调制等。目前可采用专用芯片或可编程逻辑芯片实现DDS ,专用的DDS芯片产生的信号波形、功能和控制方式固定,常不能满足具体需要 。可编程逻辑器件具有器件规模大、工作速度快及可编程的硬件特点,并且开发周期短,易于升级,因为非常适合用于实现DDS。 1 DDS的工作原理 DDS的结构原理图如图1所示,DDS以数控振荡器的方式,产生频率、相位和幅度可控的正弦波 。电路包括了相位累加器、相位
[应用]
基于DSP+FPGA+ASIC的实时图像处理系统
1.引言   随着红外焦平面阵列技术的快速发展,红外成像系统实现了高帧频、高分辨率、高可靠性及微型化,在目标跟踪、智能交通监控中得到了越来越多的应用,并向更加广泛的军事及民用领域扩展。实时红外图像处理系统一般会包括非均匀校正、图像增强、图像分割、区域特征提取、目标检测及跟踪等不同层次的实时图像处理算法,由于图像处理的数据量大,数据处理相关性高,因此实时红外图像处理系统必须具有强大的运算能力。目前有些红外图像处理系统使用FPGA实现可重构计算系统 ,运算速度快,但对于复杂算法的实现难度比较高,且灵活性差。大多数红外图像处理系统则采用DSP+FPGA的硬件架构 ,其中DSP负责实现图像处理算法,FPGA负责实现各种接口电路,但
[嵌入式]
Actel CEO预言FPGA市场将在2008年强劲增长
Actel 公司预计, FPGA 市场在年底将转强。 “我们过去几季的销售表现平平,但好于其他一些竞争对手。”Actel的总裁兼首席执行官John East表示,“多数机构预测该市场将在年底时加快增长。因此,我认为2008年的增长会很强劲。” 市场调研公司Gartner预测,由于FPGA技术被新的领域所采用,2010年PLD/FPGA市场将增长到68亿美元。 随着制程向65和45纳米前进,Actel将努力提高集成度并降低功耗。而其竞争对手则似乎在致力于提高速度,以满足电信应用的要求,尤其是在中国和印度。 凭借在宇航和军用市场的强大地位,Actel公司2006年在印度市场的销售额增长一倍以上,达到800万美元。
[嵌入式]
Achronix推出突破性的FPGA系列产品 将性能提升到全新高度
基于现场可编程门阵列(FPGA)的硬件加速器件和高性能嵌入式FPGA(eFPGA)半导体知识产权(IP)领导性企业Achronix半导体公司(Achronix Semiconductor Corporation)近日宣布:推出创新性的、全新的FPGA系列产品,以满足人工智能/机器学习(AI/ML)和高带宽数据加速应用日益增长的需求。Achronix的Speedster®7t系列基于一种高度优化的全新架构,以其所具有的如同ASIC一样的性能、可简化设计的FPGA灵活性和增强功能,从而远远超越传统的FPGA解决方案。 Speedster7t FPGA系列产品是专为高带宽应用进行设计,具有一个革命性的全新二维片上网络(2D NoC)
[嵌入式]
小广播
最新嵌入式文章
何立民专栏 单片机及嵌入式宝典

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

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