随着现代航空电子技术飞速发展以及飞机性能的提高,使得机载图形显示系统所显示的参数越来越多,同时也对画面显示质量从人机工效学的角度提出了很高的要求。要保证图形显示的连续性,显示系统必须以每秒50帧以上的频率实时刷新。传统的EADI图形处理方法是采用软件运算实现,速度较慢,占用大量的运算时间,从而使系统很难在规定的时间内完成区域填充、字符与直线旋转、反走样运算等较为耗时的运算。本文设计了基于DSP与FPGA的系统结构,采用了软硬件填充的图形处理方法,先由DSP软件完成图形轮廓生成,然后FPGA硬件图形处理器根据图形轮廓完成耗时的图形填充,使系统在实时性方面取得了很好的效果并使得系统运算资源得到了合理的分配与利用。
1 全姿态指引仪的功能与原理
飞行仪表的综合显示系统主要包括全姿态指引仪、电子航道罗盘、导航仪和视景仪等模块化仪表设备,其中电子全姿态指引仪的显示信息包括姿态指引信息、高度信息、速度信息和工作状态信息等。它的主要任务就是以动态图形和字符的形式实时的显示飞行参数,以便飞行员准确的获取所需要的信息,并进行及时安全的操纵。全姿态指引仪区域填充运算主要针对内部天地球区域,如图1(a)所示。以中间分界线即地平线为界,上部蓝色区域代表天空,下部褐色区域代表陆地,地平线位置和角度决定两个区域的形状,在每次画面刷新时都要重新生成图形,上面叠加的字符和线段也要跟随地平线一起旋转。地平线的位置和角度是由两个飞行参数决定的:俯仰角和侧滚角。如图l(b)所示,俯仰角θ决定地平线离图形中心的垂直距离h,侧滚角α决定其倾斜角度。
2 系统硬件结构设计
电子全姿态指引仪对实时性提出了严格的要求,其硬件系统结构需要具有稳定可靠、实时数据处理能力强的特点。随着DSP与FPGA技术发展,DSP+FPGA系统结构在图形图像处理的应用场合突显出很强的优越性,两种器件分别适合复杂算法运算和硬件并行运算与控制。因而考虑将图形运算分步处理,将轮廓生成的工作交给DSP,而区域填充由FPGA硬件完成,这便是软硬件填充方法。
工作时,输入是多路传感器信号,经A/D转换为数字信号,输入到FPGAl中按照特定的算法对信号进行预处理后,存入双口RAMl中。DSP又通过双口RAMl读取预处理后的数据,按照设定好的算法生成需要显示的图形与字符的轮廓,接着通过双口RAM2传给FPGA2,在FPGA2中完成字符图形填充、反走样、显示等功能。DSP连接一个容量较大的SDRAM为全局共享外部存储器,而FPGA通过连接一组容量较小的双口RAM为局部共享存储器。
3 图形信息分层处理与显示技术
3.1 DSP画面初始化图形分层
图形区域主要分为三种类型:一是背景区域,数据量大,但在图形变化过程中不随参数变化而改变;二是填充区域,数据量大,并且在图形变化过程中随着参数变化而不断改变;三是动态的字符与刻度信息,数据量小频繁变化又不同于填充区域。根据图形的特性,系统上电后首先进行画面的初始化,将图形分为背景层、填充层和动态字符层,背景层包括不随参数改变的背景、刻度和字符等,填充层即天地球
区域,动态字符层包括动态字符和直线区域。区域填充过程对动态字符层的处理和背景层相同,因而将该层和背景层构成的区域称为非填充区域。图形的分层靠图形区域标志位来区分,为0表示为非填充区域,为1表示为填充区域,区域标志位后跟随着该点颜色信息。在画面初始化中将天地球轮廓上点的坐标存为数组,以方便根据地平线的位置和角度来标记天地球填充区域的边界。在画面初始化后的轮廓重新生成过程中,背景层便不再改动,动态字符层信息因数据量小可每次都将改变了的部分擦除和重写。DSP根据参数生成带有填充区域边界标记信息的填充层与背景层和动态字符层的叠加信息,就生成了一幅完整的图形轮廓。图2表示图1(a)所示显示画面的分层结果,(a)、(b)和(c)分别为背景层、填充层和动态字符层。
3.2 天地球区域的轮廓生成
因为天地球的位置和形状固定,跟随参数变化的是其区域的颜色信息,因而轮廓生成的任务就是根据变化的参数重新标记填充区域边界的颜色信息,以便FPGA根据边界点的颜色信息确定区域内像素点的颜色。在DSP初始化画面生成天地球边界时,建立边界数组存储边界点的位置以方便其颜色信息的标记。在DSP接收到一组飞行参数后,根据俯仰角和侧滚角重新赋给天地球的边界和地平线以颜色信息。这种方法可以节省大量时间以满足系统的实时性要求。
3.3 天地球区域的FPGA硬件填充
区域填充一般可以归为两大类:扫描转换和种子填充。其中边标志填充算法和扫描线种子填充算法分别是这两类中较为常用和高效的算法,边标志填充算法更适合于硬件和固件实现。故选用边标志填充算法完成区域填充,编程逻辑使用Verilog HDL实现。
具体思路如下:(1)DSP读取双口RAMl中存储的已经由FPGAl预处理了的信号,生成一些直线、圆弧,如线段AB、弧线AC,在DSP进行图形生成的同时,对需要填充的图形进行边标志的标定,并通过双口RAM2送至SRAMl(或SRAM2)中(说明需要参照结构原理框图),(2)填充工作由FPGA2实现,FPGA2并行地从SRAM2(或SRAMl)读入像素,并进行标志识别与操作,实现边标志填充算法。算法具体描述如下:
(1)设立边标志,该功能由DSP完成,是在生成天地球填充轮廓的过程中,同时给边界和地平线做上标记,画面除了背景色以外需要填充蓝色和褐色两种颜色(一些特殊情况,如俯仰角大于90°或者小于-90°,则只需填充蓝色或褐色)。因此天地球的填充需要设立蓝色边标志和褐色边标志。
(2)像素操作,该功能由FPGA2完成,由布尔状态量确定和输出颜色确定两部分组成。FPGA2把已打上边标志的图形数据从帧存(SRAMl或SRAM2)中读出,对每条扫描线,依从左到右的顺序,逐个访问该扫描线上的像素,对于像素具有蓝色和绿色标志的,分别定义一个布尔状态量flag_Blue和flag_Green来指示当前像素点的状态,若点在需要填充的蓝色(或绿色)区域内,flag_blue(或flag_green)为真,反之,若点在填充区域外,flag_blue(或flag_green)为假;每当当前被访问的是被打上蓝色边标志edge_blue(或绿色边标志edge_green)的像素时,fl-ag_blue(或flag_green)取反;对未打任何边标志edge_no的像素,flag_blue(或flag_green)不变。算法确定输出颜色时,对于所访问的像素,根据flag_blue(flag_green)标志把相应的颜色Blue(Green)输出显示,否则,则直接把背景色Background输出显示。
3.4 滚动刻度和字符处理
代表俯仰角的刻度和度数都在天地球区域内实时的滚动,它与填充区域外面的移动刻度和字符的区别是:刻度和字符不能超出填充区域,否则会擦除其它天地球外的重要信息。对于这个问题可以通过以下方法解决:在初始化分层时标记了的填充区域内,选择一种与填充区域外的各种颜色和填充区域内小飞机标记颜色值不同的一种颜色数据来代表填充区域内的滚动字符和刻度。每次写前判断如果在填充区域外则不要写,如果在填充区域内且非标志信息则写出该字符或刻度,也就是如果刻度滚动到区域外则不再显示,但其位置信息仍然根据参数变动。擦除时,根据位置信息判断像素点是不是移动刻度和字符的颜色,如果是就擦成填充区域的原始数值,否则保持不变。这样就实现了既不把字符写道填充区域外,也不会将填充区域外的信息元擦除。其程序流程图如图3所示。
4 结束语
通过将图形分层处理,只根据参数改变其填充层和动态字符层信息,减少了DSP轮廓生成的运算量。又按照硬件系统结构特点将图形运算由DSP软件标记轮廓,FPGA硬件完成区域填充的方法,显著加快了区域填充速度,使得画面显示取得效果良好。这种图形处理方法对其它类似的图形处理应用场合具有很好的借鉴意义。
关键字:DSP FPGA 指引仪 图形显示
引用地址:基于DSP与FPGA的全姿态指引仪图形显示系统设计
1 全姿态指引仪的功能与原理
飞行仪表的综合显示系统主要包括全姿态指引仪、电子航道罗盘、导航仪和视景仪等模块化仪表设备,其中电子全姿态指引仪的显示信息包括姿态指引信息、高度信息、速度信息和工作状态信息等。它的主要任务就是以动态图形和字符的形式实时的显示飞行参数,以便飞行员准确的获取所需要的信息,并进行及时安全的操纵。全姿态指引仪区域填充运算主要针对内部天地球区域,如图1(a)所示。以中间分界线即地平线为界,上部蓝色区域代表天空,下部褐色区域代表陆地,地平线位置和角度决定两个区域的形状,在每次画面刷新时都要重新生成图形,上面叠加的字符和线段也要跟随地平线一起旋转。地平线的位置和角度是由两个飞行参数决定的:俯仰角和侧滚角。如图l(b)所示,俯仰角θ决定地平线离图形中心的垂直距离h,侧滚角α决定其倾斜角度。
2 系统硬件结构设计
电子全姿态指引仪对实时性提出了严格的要求,其硬件系统结构需要具有稳定可靠、实时数据处理能力强的特点。随着DSP与FPGA技术发展,DSP+FPGA系统结构在图形图像处理的应用场合突显出很强的优越性,两种器件分别适合复杂算法运算和硬件并行运算与控制。因而考虑将图形运算分步处理,将轮廓生成的工作交给DSP,而区域填充由FPGA硬件完成,这便是软硬件填充方法。
工作时,输入是多路传感器信号,经A/D转换为数字信号,输入到FPGAl中按照特定的算法对信号进行预处理后,存入双口RAMl中。DSP又通过双口RAMl读取预处理后的数据,按照设定好的算法生成需要显示的图形与字符的轮廓,接着通过双口RAM2传给FPGA2,在FPGA2中完成字符图形填充、反走样、显示等功能。DSP连接一个容量较大的SDRAM为全局共享外部存储器,而FPGA通过连接一组容量较小的双口RAM为局部共享存储器。
3 图形信息分层处理与显示技术
3.1 DSP画面初始化图形分层
图形区域主要分为三种类型:一是背景区域,数据量大,但在图形变化过程中不随参数变化而改变;二是填充区域,数据量大,并且在图形变化过程中随着参数变化而不断改变;三是动态的字符与刻度信息,数据量小频繁变化又不同于填充区域。根据图形的特性,系统上电后首先进行画面的初始化,将图形分为背景层、填充层和动态字符层,背景层包括不随参数改变的背景、刻度和字符等,填充层即天地球
区域,动态字符层包括动态字符和直线区域。区域填充过程对动态字符层的处理和背景层相同,因而将该层和背景层构成的区域称为非填充区域。图形的分层靠图形区域标志位来区分,为0表示为非填充区域,为1表示为填充区域,区域标志位后跟随着该点颜色信息。在画面初始化中将天地球轮廓上点的坐标存为数组,以方便根据地平线的位置和角度来标记天地球填充区域的边界。在画面初始化后的轮廓重新生成过程中,背景层便不再改动,动态字符层信息因数据量小可每次都将改变了的部分擦除和重写。DSP根据参数生成带有填充区域边界标记信息的填充层与背景层和动态字符层的叠加信息,就生成了一幅完整的图形轮廓。图2表示图1(a)所示显示画面的分层结果,(a)、(b)和(c)分别为背景层、填充层和动态字符层。
3.2 天地球区域的轮廓生成
因为天地球的位置和形状固定,跟随参数变化的是其区域的颜色信息,因而轮廓生成的任务就是根据变化的参数重新标记填充区域边界的颜色信息,以便FPGA根据边界点的颜色信息确定区域内像素点的颜色。在DSP初始化画面生成天地球边界时,建立边界数组存储边界点的位置以方便其颜色信息的标记。在DSP接收到一组飞行参数后,根据俯仰角和侧滚角重新赋给天地球的边界和地平线以颜色信息。这种方法可以节省大量时间以满足系统的实时性要求。
3.3 天地球区域的FPGA硬件填充
区域填充一般可以归为两大类:扫描转换和种子填充。其中边标志填充算法和扫描线种子填充算法分别是这两类中较为常用和高效的算法,边标志填充算法更适合于硬件和固件实现。故选用边标志填充算法完成区域填充,编程逻辑使用Verilog HDL实现。
具体思路如下:(1)DSP读取双口RAMl中存储的已经由FPGAl预处理了的信号,生成一些直线、圆弧,如线段AB、弧线AC,在DSP进行图形生成的同时,对需要填充的图形进行边标志的标定,并通过双口RAM2送至SRAMl(或SRAM2)中(说明需要参照结构原理框图),(2)填充工作由FPGA2实现,FPGA2并行地从SRAM2(或SRAMl)读入像素,并进行标志识别与操作,实现边标志填充算法。算法具体描述如下:
(1)设立边标志,该功能由DSP完成,是在生成天地球填充轮廓的过程中,同时给边界和地平线做上标记,画面除了背景色以外需要填充蓝色和褐色两种颜色(一些特殊情况,如俯仰角大于90°或者小于-90°,则只需填充蓝色或褐色)。因此天地球的填充需要设立蓝色边标志和褐色边标志。
(2)像素操作,该功能由FPGA2完成,由布尔状态量确定和输出颜色确定两部分组成。FPGA2把已打上边标志的图形数据从帧存(SRAMl或SRAM2)中读出,对每条扫描线,依从左到右的顺序,逐个访问该扫描线上的像素,对于像素具有蓝色和绿色标志的,分别定义一个布尔状态量flag_Blue和flag_Green来指示当前像素点的状态,若点在需要填充的蓝色(或绿色)区域内,flag_blue(或flag_green)为真,反之,若点在填充区域外,flag_blue(或flag_green)为假;每当当前被访问的是被打上蓝色边标志edge_blue(或绿色边标志edge_green)的像素时,fl-ag_blue(或flag_green)取反;对未打任何边标志edge_no的像素,flag_blue(或flag_green)不变。算法确定输出颜色时,对于所访问的像素,根据flag_blue(flag_green)标志把相应的颜色Blue(Green)输出显示,否则,则直接把背景色Background输出显示。
3.4 滚动刻度和字符处理
代表俯仰角的刻度和度数都在天地球区域内实时的滚动,它与填充区域外面的移动刻度和字符的区别是:刻度和字符不能超出填充区域,否则会擦除其它天地球外的重要信息。对于这个问题可以通过以下方法解决:在初始化分层时标记了的填充区域内,选择一种与填充区域外的各种颜色和填充区域内小飞机标记颜色值不同的一种颜色数据来代表填充区域内的滚动字符和刻度。每次写前判断如果在填充区域外则不要写,如果在填充区域内且非标志信息则写出该字符或刻度,也就是如果刻度滚动到区域外则不再显示,但其位置信息仍然根据参数变动。擦除时,根据位置信息判断像素点是不是移动刻度和字符的颜色,如果是就擦成填充区域的原始数值,否则保持不变。这样就实现了既不把字符写道填充区域外,也不会将填充区域外的信息元擦除。其程序流程图如图3所示。
4 结束语
通过将图形分层处理,只根据参数改变其填充层和动态字符层信息,减少了DSP轮廓生成的运算量。又按照硬件系统结构特点将图形运算由DSP软件标记轮廓,FPGA硬件完成区域填充的方法,显著加快了区域填充速度,使得画面显示取得效果良好。这种图形处理方法对其它类似的图形处理应用场合具有很好的借鉴意义。
上一篇:红外动目标识别跟踪系统的DSP+FPGA实现
下一篇:基于MCU+FPGA模式的RFID读写器设计
推荐阅读最新更新时间:2024-05-02 23:01
如何充分利用数字信号处理器上的片内FIR和IIR硬件加速器
摘要 有限脉冲响应(FIR)和无限脉冲响应(IIR)滤波器都是常用的数字信号处理算法---尤其适用于音频处理应用。因此,在典型的音频系统中,处理器内核的很大一部分时间用于FIR和IIR滤波。数字信号处理器上的片内FIR和IIR硬件加速器也分别称为FIRA和IIRA,我们可以利用这些硬件加速器来分担FIR和IIR处理任务,让内核去执行其他处理任务。在本文中,我们将借助不同的使用模型以及实时测试示例来探讨如何在实践中利用这些加速器。 简介 图1.FIRA和IIRA系统方框图 图1显示了FIRA和IIRA的简化方框图,以及它们与其余处理器系统和资源的交互方式。 FIRA和IIRA模块均主要包含一个计算引擎(乘累
[嵌入式]
用LabVIEW FPGA模块实现不同时钟域的数据连续传输
摘要:为了解决基于LabVIEWFPGA模块的DMAFIFO深度设定不当带来的数据不连续问题,结合LabVIEWFPGA的编程特点和DMA FIFO的工作原理,提出了一种设定FIFO深度的方法。对FIFO不同深度的实验表明,采用该方法设定的FIFO深度能够比较好地满足系统对数据连续传输的要求。研究结果对深入展开研究和工程设计具有一定的指导意义。 关键词:LabVIEW FPGA模块;FIFO数据连续传输;时钟域 0 引言 20世纪80年代中期,NI公司推出了一种图形化的编程语言LabVIEW,并于2003年推出FPGA模块。该模块用于对NI公司RIO设备中的FPGA进行编译,使得工程师无需了解VHDL或其他底层硬件设计工具
[嵌入式]
使用一个FPGA便可实现的64通道下变频器
RF Engines公司的ChannelCore64使设计者能够用一个可对FPGA编程的IP核来替代多达16个DDC(直接下变频器)ASIC,可显著减少PCB面积,降低功耗而且增加灵活性。和原来的方法相比,新方法是降低成本的典型代表,随着通道数目的增加,降低成本的需求愈加突出。在提供灵活性和简化设计的同时,这种方法也能降低功耗。ChannelCore64的应用包括无线基站,卫星地面站和其它多通道无线电接收器等。在这些系统应用中,需要从一个频带非常宽的信号中提取很多具有不同带宽的通道(或者信号),然后将整个系统的其它部分与之匹配来简化设计。
ChannelCore64
几乎所有的无线接收器都要通过下变频,从一个非常宽的输入频谱
[半导体设计/制造]
基于DSP的多超声测距数据采集处理系统
摘 要: 介绍了自行设计的移动机器人CASIA-I中超声测距系统的软、硬件,以及超声测距数据与上位机通信的设计和实现过程。该系统以DSP—TMS320LP2407A作为核心处理器,以CAN总线为基础,实现了上述功能。经实验验证,测距范围为0.45m~3.5m,系统测距精度在0.7%以内,可以满足移动机器人室内导航的要求。 关键词: 移动机器人 DSP 超声测距 CAN总线通讯 移动机器人要实现在未知和不确定环境下运行,必须具备自动导航和避障功能。在移动机器人的导航系统中,传感器起着举足轻重的作用。视觉、激光、红外、超声传感器 等都在实际系统中得到了广泛的应用。其中,超声波传感器以其信息处理简单、速度快和
[工业控制]
应对中端FPGA市场的挑战
应对中端FPGA市场的挑战 在当今竞争激烈的技术行业中,成败的关键可能就在于能否率先上市。然而,快速上市也带来了挑战,尤其是系统和应用设计方面的挑战。随着人工智能、网络边缘计算和自动化的日益发展以及网络安全威胁的激增,设计师现在比以往任何时候都更需要在整个开发周期中自由更改和微调他们的设计。 系统架构师为其设计选择的组件在开发和推出最终产品的速度方面发挥着越来越重要的作用,尤其是在选择不同类型的处理器时。 以前产品的上市周期较长,设计人员经常使用ASIC组件。然而,这类处理器成本高,功能固定,难以跟上当今快速变化的技术格局。相比之下,FPGA在设计中实现后,可以在现场重新编程,满足快速更改的需要。此外,FPGA的
[嵌入式]
DSP电磁的兼容性问题简析
1 引言 自从20世纪80年代初期第一片数字信号处理器芯片(DSP)问世以来,DSP就以数字器件特有的稳定性、可重复性、可大规模集成、特别是可编程性和易于实现自适应处理等特点,给数字信号处理的发展带来了巨大机遇,应用领域广阔。但由于DSP是一个相当复杂、种类繁多并有许多分系统的数、模混合系统,所以来自外部的电磁辐射以及内部元器件之间、分系统之间和各传输通道间的窜扰对DSP及其数据信息所产生的干扰,己严重地威胁着其工作的稳定性、可靠性和安全性 。据统计,干扰引起的DSP事故占其总事故的90%左右。同时DSP又不可避免地向外辐射电磁波,对环境中的人体、设备产生干扰、妨碍或损伤。并且随着DSP运算速度的提高,能够实时处理的信
[模拟电子]
汽车音频工程师的DSP开发方法论
当“汽车”与“电子”这两个词开始出双入对,就注定了DSP成为乘客的命运,毕竟哪里有电子,哪里就大概率有数字信号,而哪里有数字信号,哪里就是DSP的舞台。如今,DSP已经广泛应用于汽车的各个功能。比如在发动机上,DSP可获取并分析各气缸内压力数据,然后输出控制信号,使发动机处在最佳点火时刻和空燃比的状态;在底盘上,DSP可获取ABS系统数据,进而保证车辆的稳定性;在安全气囊上,DSP可以实现对点火电流的反馈控制,使安全气囊在准确的时间点展开;在新能源汽车上,DSP可对电池进行管理…… 随着汽车电子的发展,DSP在汽车上的应用场景越来越多。而汽车上有一个较为传统的应用场景,也随着DSP技术的发展而不断进化,那就是影音娱乐。早在19
[汽车电子]
瑞苏盈科出席欧洲FPGA大会并发表演讲
FPGA Conference Europe 是欧洲领先的可编程逻辑器件专家会议 。在越来越受人工智能驱动的云数据中心、电信和许多其他高性能应用中,现场可编程门阵列(简称 FPGA)早已证明自己是适用于各种任务的灵活且强大的加速器解决方案。 2022年欧洲 FPGA 大会,于 7 月 5 日至 7 日在德国慕尼黑东会议中心举办,3天100%专业知识!75个来自全球顶级专家演讲。讨论嵌入式系统的开发人员必须处理新的解决方案和方法,但同时也要澄清基本问题:FPGA 是否适合他们自己的项目?使用 FPGA 的最佳方式是什么?瑞苏盈科作为参展商出席了此次会议并发表演讲! 欧洲FPGA大会现场 来自Enclustra的演讲者
[嵌入式]