基于FPGA的FlightGear通用三维视景数据显示方法

文档序号:6593807阅读:699来源:国知局
专利名称:基于FPGA的FlightGear通用三维视景数据显示方法
技术领域
本发明涉及一种数据显示方法,尤其涉及一种基于FPGA的FlightGear通用三维视景数据显示方法。
背景技术
针对传统仿真数据处理和图形显示模块的功能不足,只能通过文本数据或者曲线来反应飞行器的飞行状态,仿真试验中需要飞控设计人员花费大量的精力去监测飞行数据,对于试飞和仿真产生的大量测试数据,只能通过文本与曲线相结合的方式进行分析整理,无法直观的反映无人直升机的飞行姿态,飞行状态的直观描述比较差。

发明内容
本发明涉及一种基于FPGA的FlightGear通用三维视景数据显示方法,可用于飞行器试飞数据三维视景仿真。本发明是这样实现的,其特征方法为:采用FPGA芯片,通过对其进行VerilogHDL语言的代码编写,自定义数据传输协议1,使其完成接收特定帧格式的115200bps波特率串口数据,在FPGA内部完成自定义通信协议I数据的解析,并对数据进行相应算法处理的功能;然后再将处理过的数据以另一种自定义通信协议2,以115200bps的波特率发送给PC机上运行的Simulink软件;在PC机上同时运行着Matlab/Simulink软件和FlightGear软件(开源软件),通过构建Simulink工程,在其中使用串口模块,自定义通信协议2解析模块,Μ)Ρ网络传输模块等,完成从电脑串口以115200bps波特率接收FPGA处理过的数据,将数据在自定义通信协议2解 析模块中完成数据的解析和运算,最后将相应姿态数据经由UDP网络传输模块发送给FlightGear软件予以3D姿态实时显示。本发明的技术效果是:能够很好的实现航空航天器控制器的设计与仿真,无人机控制器的仿真,导弹控制的仿真,车辆船舶控制器的仿真,以及实际飞行器试飞数据的三维可视化再现等,用途广泛。具体实施方法
本发明是这样实现的,方法为:采用FPGA芯片,通过对其进行VerilogHDL语言的代码编写,自定义数据传输协议1,使其完成接收特定帧格式的115200bps波特率串口数据,在FPGA内部完成自定义通信协议I数据的解析,并对数据进行相应算法处理的功能;然后再将处理过的数据以另一种自定义通信协议2,以115200bps的波特率发送给PC机上运行的Simulink软件;在PC机上同时运行着Matlab/Simulink软件和FlightGear软件(开源软件),通过构建Simulink工程,在其中使用串口模块,自定义通信协议2解析模块,UDP网络传输模块等,完成从电脑串口以115200bps波特率接收FPGA处理过的数据,将数据在自定义通信协议2解析模块中完成数据的解析和运算,最后将相应姿态数据经由UDP网络传输模块发送给FlightGear软件予以3D姿态实时显示。其中在自定义通信协议2解析模块中用到了 S-FunctionBuilder,进行了协议解析和数据二次处理代码的编写。
通信协议的实现方法
FPGA中自定义通信协议I和2的实现方法:
自定义通信协议1:
传输速率:115200bps
A5|5a|i2|ai|yaw_h |yaw_l |pitch—h |pitch—L |roll_h |roll—l |xx|xx|xx|xx|xx|xx|aa|aa|
自定义通信协议I针对飞行器仿真三维可视化视景驱动所需变量而设计,具有数据容量大,传送信息精度高,传输速率快,稳定可靠等优点。此通信格式一帧共有18位,数据均用十六进制表示。其中前四位为帧头识别码:A55A为引导码;12是十六进制表示,即十进制数18,代表自定义通信协议一帧的数据位数为18位;A1用来区分不同的数据帧。接下来是视景驱动数据部分:YAW_H代表偏航角的高8位,YAff_L代表偏航角低8位;PITCH_H代表俯仰角高8位;PITCH_L代表俯仰角低8位;R0LL_H代表滚转角高8位;R0LL_L代表滚转角低8位;后面的XX用作预留位,可用作GPS定位信号,温度,高度,压强等信息使用。最后为结束似,两个AA AA。`
自定义通信协议2:
传输速率:115200bps
A5|5A|YAw |pitch Iroll |xx|xx|xx|aa~[aa自定义通协议2为此硬件接口系统内部FPGA硬件同Simulink软件间的通信协议。由于Simulink软件自带串行接口模块处理能力不足,在数据量大的情况下会造成数据阻塞、仿真结果、三维视景延迟的后果,故根据本系统通信设计需要,针对Simulink软件的缺陷,自定义了通信协议2。此通信协议更加精简,并且包含飞行器视景驱动的必要数据,经试验表明,通信协议2能够稳定高效的运行在115200bps的通信速率下。
其中前两位A5 5A为帧头识别引导码。接下来是实际驱动飞行器三维视景显示的数据,这些数据均由FPGA运算处理过得到。YAW代表真实的偏航角数据;PITCH代表真实的俯仰角数据;R0LL代表真实的滚转角数据;后三位XX为预留位,可用作GPS定位信号,温度,高度,压强等信息使用。最后为结束似,两个AA AA。
FPGA内部工作:
首先采集外部物理设备或者仿真产生的以自定义通信协议I发送的数据,在FPGA内部通过VerilogHDL语言编写硬件代码对通信协议I进行解析,得到原始姿态数据,接下来借助FPGA强大的运算能力,通过算法设计,将原始数据进行数据位拼接,算法变换等处理得到真实的姿态数据;然后依据自定义通信协议2对真实姿态数据进行编码打包发送给电脑端运行的Simulink工程。
Simulink内部工作:
建立Simulink工程,通过串行接口依据自定义通信协议2接收FPGA发送的数据,在Simulink工程内使用S-Function模块,通过C语言编程,完成对自定义通信协议2的解析,得到真实的飞行器姿态数据。接下来再通过滤波除噪,比例转换等模块处理,将真实姿态数据映射到对应驱动FlightGear软件需要的幅值范围中,最终通过Simulink同FlightGear软件的UDP网络接口模块实现对于飞行器姿态数据的三维视景驱动。形象的说就是通过软硬件编程,创造了一个数据处理的“盒子”(FPGA实现),同过配合Simulink工程, 达到将飞行器试飞或仿真数据进行3D可视化实时显示的效果。
权利要求
1.一种基于FPGA的FlightGear通用三维视景数据显示方法,其特征方法为:采用FPGA芯片,通过对其进行VerilogHDL语言的代码编写,自定义数据传输协议1,使其完成接收特定帧格式的115200bps波特率串口数据,在FPGA内部完成自定义通信协议I数据的解析,并对数据进行相应算法处理的功能;然后再将处理过的数据以另一种自定义通信协议2,以115200bps的波特率发送给PC机上运行的Simulink软件;在PC机上同时运行着Matlab/Simulink软件和FlightGear软件(开源软件),通过构建Simulink工程,在其中使用串口模块,自定义通信协议2解析模块,UDP网络传输模块等,完成从电脑串口以115200bps波特率接收FPGA处理过的数据,将数据在自定义通信协议2解析模块中完成数据的解析和运算,最后将相应姿态 数据经由UDP网络传输模块发送给FlightGear软件予以3D姿态实时显示。
全文摘要
一种基于FPGA的FlightGear通用三维视景数据显示方法,方法为采用FPGA芯片,通过对其进行VerilogHDL语言的代码编写,自定义数据传输协议1,使其完成接收特定帧格式的115200bps波特率串口数据,在FPGA内部完成自定义通信协议1数据的解析,并对数据进行相应算法处理的功能;然后再将处理过的数据以另一种自定义通信协议式2编码打包,以115200bps的波特率发送给PC机上运行的Simulink工程,在Simulink中进行一系列数据处理,最后将相应姿态数据经由UDP网络传输模块发送给FlightGear软件予以3D姿态实时显示。本发明的技术效果是能够很好的实现航空航天器控制器的设计与仿真,无人机控制器的仿真,导弹控制的仿真,车辆船舶控制器的仿真,以及实际飞行器试飞数据的三维可视化再现等,用途广泛。
文档编号G06F17/50GK103235852SQ20131013820
公开日2013年8月7日 申请日期2013年4月21日 优先权日2013年4月21日
发明者代冀阳, 应进, 潘浩曼, 辛凯 申请人:南昌航空大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1