基于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)中(说
- 在采用FPGA设计DSP系统中仿真的重要性 (06-21)
- 基于 DSP Builder的FIR滤波器的设计与实现(06-21)
- 达芬奇数字媒体片上系统的架构和Linux启动过程(06-02)
- FPGA的DSP性能揭秘(06-16)
- 用CPLD实现DSP与PLX9054之间的连接(07-23)
- DSP+FPGA结构在雷达模拟系统中的应用(01-02)