-
0 引言
-
试飞是在真实的环境中对飞机的功能和性能进行测试和验证的过程[1]。民用飞机在生产制造后,往往需要3~5年的时间进行大量的飞行试验,用以验证飞机设计的正确性和与某些适航条款的符合性[2]。为了保证试飞过程的安全,进行试飞的飞机会加装各类传感器、采集系统等测试设备,对表征飞机系统运行状态的参数进行实时监控,一般为机载监控和遥测监控。
-
所谓遥测监控,是将采集到的试飞参数按照IRIG 106 CH4标准[3],采用PCM(pulse code modulation,脉冲编码调制)编码,经FM(frequency modulation,频率调制)或SOQPSK(shaped offset quadrature phase shift keying,异形偏移正交相移键控)等无线传输方式遥测至地面,再通过位、帧同步,工程量转换等一系列处理后驱动监控画面等程序为地面指挥人员、试飞工程师提供决策性依据。传统模式下的遥测监控半径一般为200~300 km,并且信号容易受到飞行高度、地形的影响,在一些试飞科目开展的过程中,试飞数据会出现跳变甚至错误。随着科学技术的发展,国内外的试飞机构在遥测监控方面也不断地进行探索和研究,例如国内的试飞机构就尝试使用传统遥测和以太网相结合的方式来扩大监控半径[4];国外设备制造商则从编码的角度入手,利用LDPC(low density parity check code,低密度奇偶校验码)编码来提高数据质量[5];而一些研究机构依靠LSTM(long short term memory,长短周期记忆)算法来预测遥测数据中的异常,从而达到修复错误数据的目的[6]。
-
本文设计研制了一套基于STM32和WPF(Windows Presentation Foundation,Windows呈现基础)技术的民机试飞定位与实时监控系统,完成了机载测试系统与北斗终端的实时通信,实现了飞机定位数据、关键参数和CAS告警信息的远距离传输实时解析和可视化监控,为特殊试飞科目的安全开展奠定了基础。
-
1 系统架构
-
试飞定位与实时监控系统包含数据采集与分发设备、实时解析软件两部分。其中,数据采集与分发设备运行于机载环境,主要功能是实时接收和解析机载测试系统输出的NPD(network packet data,网络数据包),并按照既定格式将表征飞机当前位置的经度、维度、高度和其他关键数据以及CAS告警信息利用RS232接口转发至北斗终端,经短报文形式传输至地面,通过地面的实时解析软件完成数据解析并驱动实时监控终端实现试飞过程的监控,保障试飞安全,系统架构如图1所示。
-
2 数据采集与分发设备
-
2.1 STM32F107主控芯片
-
数据采集与分发设备是连接机载测试系统和北斗终端的关键设备,本文选用STM32F107作为该设备的主控芯片,并集成了网络通信、数据解析、数据封装与RS232通信等功能模块,实现试飞数据在机载测试系统和北斗卫星之间的实时传输。
-
STM32F107是意发半导体推出的互联型微控制器,采用Cortex-M3内核,CPU最高速度达72 MHz,具有较为优秀的控制性、协同性,同时具有高集成、易开发和低功耗等特点,拥有丰富的I/O接口和外部组件[7],时钟总线外设原理如图2所示。
-
图1 系统架构图
-
图2 STM32F107时钟总线外设原理图
-
STM32F107时钟总线包括:
-
1)AHB高速总线,时钟最大频率为72 MHz,时钟信号提供给存储器、DMA(direct memory access,直接存储器访问)及Cortex内核,是内核运行的时钟;
-
2)APB1低速外设总线,时钟最大频率为36 MHz,提供给挂载在APB1总线上的外设;
-
3)APB2高速外设总线,时钟最大频率为72 MHz,提供给挂载在APB2总线上的外设,如GPIO(general purpose input output,通用输入输出端口,即IO口),USART1(universal synchronous/asynchronous receiver/transmitter,通用同步/异步串行接收/发射器,即串口1)等。
-
2.2 网络通信与数据解析
-
STM32F107是互联型控制器,内部拥有MAC,只需要提供物理外设(external physical layer,简称External PHY)以及网络接口,即可实现数据的网络传输,如图3所示。
-
图3 网络通信模块
-
网络通信与数据解析模块使用中断方式实时接收机载测试系统发送的UDP组播数据,并完成试飞数据的解析,流程如图4所示。
-
图4 数据通信与解析流程
-
2.3 数据封装与RS232通信
-
试飞数据按照图4的流程完成解析后,将数据字典Values封装成如图5所示的JSON(JavaScript Object Notation)格式,其中“SerialNumber”为计数器,用以验证数据发送的连续性和完整性,“Parameters”为参数对象,维护着当前所有参数的实时值。
-
图5 试飞参数JSON编码
-
JSON文本按照ASCII编码转换成字符串通过RS232传输至机载北斗终端,实现过程如下:
-
1)调用RCC_APB2PeriphClockCmd函数使能串口(串口1)和GPIO(GPIOA端口)的时钟,并将GPIO端口的模式配置为浮空输入;
-
2)配置串口数据接收中断,设置中断的抢占优先级和子优先级,初始化中断;
-
3)设置串口属性(波特率为9 600,数据位8,停止位1,奇偶校验为偶校验),初始化和使能串口,使能串口数据接收中断;
-
4)通过串口数据接收中断发送字符串数据。
-
3 地面实时解析软件
-
地面实时解析软件以WPF平台为基础,采用MVVM模式实现,如图6所示,分为Model层、View层、ViewModel层,包括网络数据接收、数据解析、数据存储、可视化显示、数据分发和回放等功能模块。
-
图6 MVVM设计模式
-
1)Model层的主要功能是数据处理,负责从地面北斗终端设备接收报文数据,解析试飞参数,同时将解析后的试飞数据存储在时序数据库中;
-
2)View层是人机交互界面,集成了GMAP.NET、CAS信息显示、关键参数监控等自定义组件,负责加载地图图层、实时显示飞机的位置、绘制试飞航迹,以及显示CAS告警和关键试飞参数信息;
-
3)ViewModel层是用于解耦View层和Model层之间的桥梁,负责调用Model层中的方法进行业务处理和数据操作,同时向View层的显示控件自动更新信息。
-
3.1 Model层
-
Model层用于实现北斗短报文的接收、解析以及试飞数据的存储。北斗短报文长度为628 bit,参数类型均为补位二进制编码(BNR),结构如表1所示。
-
表1(续)
-
3.1.1 数据接收及解析
-
软件将表1所示的编码信息序列化为图7的XML结构,以配置文件的形式进行加载,形成字典Parameters,其主键为参数的起始位,值为参数对象(属性包括参数名称(Name)、起始位(MSB)、终止位(LSB)以及转换系数(Coefficient)等)。
-
图7 参数配置信息
-
软件按照图8所示的流程对各个参数进行解析和存储:
-
1)软件初始化UDP组播对象,侦听指定端口数据并填充字节数组recvBytes,当字节数组长度大于0时,认为接收到数据;
-
2)软件对接收到的数据进行CRC校验,校验通过后将recvBytes转换为数据位列表bitList;
-
图8 数据解析和存储流程
-
3)从Index=0开始对bitList按位轮询,并以Index作为主键提取字典Parameters中匹配的参数信息,形成长度为|MSB-LSB|的有效数据位数组payload;
-
4)将payload进行补码运算,得到中间量P1,P1乘以系数Coefficient转换为浮点数,同时写入字典Values。
-
3.1.2 数据存储
-
本软件选用IoTDB时序数据库作为存储介质,实时将解析后的试飞数据字典Values写入IoTDB时序数据库,利用其高压缩比的特性压缩数据体量,方便后续的查询及分析。在IoTDB中,每一个试飞参数就是一个时间序列,命名为“root.飞机型号.架机号.试飞任务单号.试飞地点.试飞日期.试验类型.参数名称”,其中“root.飞机型号.架机号”为存储组。
-
3.2 View层
-
View层是软件界面,用于响应用户的操作,实时更新参数信息[8]。本软件包括三大显示模块,包括电子地图、CAS告警和关键参数显示。
-
3.2.1 电子地图
-
电子地图的功能是利用解析后的经度、纬度、高度、磁航向角等参数实时显示飞机的当前位置,并绘制飞行航迹。电子地图采用GMAP.NET开源组件实现,包括地图层、叠加层和标记层等结构,如图9所示。其中地图层用于加载地图数据(支持BingMap、OpenStreetMap、ArcGISMap),叠加层作用于地图层之上,用于显示用户的自定义图形(例如试飞空域),标记层利用图标表示当前飞机的实时位置和飞行的航迹。
-
图9 GMAP.NET组件结构
-
首先在地图层为地图控件指定数据源,并在地图层添加三个叠加层用于显示试飞航迹、试飞空域和飞机图标;其次,利用经度、纬度等参数的实时值创建“点”标记,并将该点添加到试飞航迹图层,完成航迹绘制;最后,将指定叠加层上的飞机图标清除,利用经度、纬度值构建新的飞机图标,并添加在该叠加层上,完成飞机位置的实时更新,如图10所示。
-
图10 飞机位置实时更新实现过程
-
3.2.2 参数显示
-
软件集成了MVVMLight框架,参数显示界面不包含任何业务逻辑处理的内容,整个界面利用XAML语言进行维护,包括CAS信息和关键参数的显示,这里以纬度参数为例说明实现过程:
-
1) 在ViewLocator类中通过SimpleIoc.Default.Register<DisplayViewModel>()方法对DisplayViewModel进行注册,并包装为Display属性;
-
2) 在软件界面的XAML文件中通过绑定<Binding Source="{StaticResource.Locator}" Path="Display"/>将Display声明为Window的顶层资源;
-
3) 在Model层的对应类ParamsDisplay中使用Set(ref Latitude,value)方法实现纬度参数的属性封装;
-
4)在ViewModel层(DisplayViewModel)中将类ParamsDisplay实例化为InforDisplay对象;
-
5)在XAML文件中,对纬度参数文本控件的Text属性进行绑定:Text="{Binding InforDisplay.Latitude,Mode=TwoWay,UpdateSourceTrigger=PropertyChanged}"/>;
-
6)当纬度属性更新时(即调用Set方法赋值),对文本控件的Text属性进行实时更新。
-
4 系统试验测试
-
本文研制的定位与监控系统为民机试飞过程的安全监控提供了一种新的实现途径。为了验证系统的有效性和稳定性,将数据采集及分发设备安装与机载环境,通过网线与机载交换机连接,实时解析软件部署于地面,通过国产某大型客机的试飞开展试验测试工作,解析软件运行状态如图11所示。
-
图11 地面软件监控状态
-
经过5小时飞行测试,具体测试结果如表2所示:
-
1)应收北斗短报文数量为310个,实际收到报文数为307个,完整性达到99%;
-
2)单个短报文传输的参数均为33个(17个关键参数,16个CAS告警参数);
-
3)与传统遥测传输的参数数值进行比对,参数准确性和CAS告警准确性均达到100%;
-
4)地面监控软件完整地绘制出了飞行航迹。
-
验证试验表明系统可正常的完成机载测试系统于北斗卫星的通信,并且具有较高的准确性和稳定性。
-
5 结论
-
本文介绍了民机试飞定位与监控系统的设计和实现过程,通过STM32F107主控芯片,研制了数据采集及分发设备,实现了机载测试系统与北斗卫星的通信,并采用WPF技术开发了地面数据解析软件,实时完成了北斗短报文的接收、解析、存储以及飞行航迹、关键参数、告警信息的可视化展示,为民机试飞安全监控提供了新的思路。
-
参考文献
-
[1] 黄涛,王伟.大型民机试飞测试发展与挑战[J].计算机测量与控制,2016,24(9):5-7,11.
-
[2] 孙健,霍培锋.大型飞机试飞测试现状与对策[J].测控技术,2007,26(3):19-21.
-
[3] 张娟,支高飞.IRIG106第10章数据流实时及事后处理时效分析[J].信息系统工程,2017(4):112-114,116.
-
[4] 罗清华,彭宇,周鹏太,等.航空飞行试验新一代网络化遥测技术浅析[J].仪器仪表学报,2017,38(2):261-270.
-
[5] 徐文瑜.基于射频与以太网的民机试飞遥测数据传输系统设计与实现[D].上海:上海交通大学,2017.
-
[6] 董静怡,庞景月,彭宇,等.集成LSTM的航天器遥测数据异常检测方法[J].仪器仪表学报,2019,40(07):22-29.
-
[7] 张冲冲,史艳楠,姜帅帅,等.基于STM32与LabVIEW的煤矿微震采集平台设计[J].仪表技术与传感器,2021(6):50-54,94.
-
[8] 刘涛,冯灿,李成浩,等.基于WPF技术的民机遥测视频实时解析软件设计与研发[C]//中国航空工业技术装备工程协会.2022年中国航空工业技术装备工程协会年会论文集.[S.l.:s.n.],2022:60-64.
-
摘要
针对民用飞机试飞遥测监控中半径较小,信号易受到飞行高度、空域地形的影响等问题,设计了一种基于STM32与WPF技术的试飞定位与监控系统。该系统由数据采集及分发设备和实时解析软件组成,其中数据采集及分发设备以STM32F107为控制核心,配合网络传输、RS232通信等模块,实现试飞测试系统和北斗终端的通信,利用北斗短报文完成定位参数和关键试飞数据实时采集以及远距离传输;实时解析软件采用WPF技术,利用MVVM模式开发,集成GMAP.Net、IoTDB等组件,实现了飞机航迹、关键参数和告警信息的可视化展示。试验结果表明,该系统运行稳定、可靠性高,为特殊试飞科目的开展提供了解决方案。
Abstract
In this paper, a flight test positioning and monitoring system based on STM32 and WPF technology was designed for the problems of small radius in civil aircraft test flight telemetry monitoring, and signal was easily affected by flight altitude and airspace topography. This system is composed of data acquisition and distribution equipment and real-time analysis software, in which the data acquisition and distribution equipment takes STM32F107 as the control core, cooperates with network transmission, RS232 communication and other modules to realize the communication of the test flight test system and Beidou terminal, and uses Beidou short messages to complete real-time collection of positioning parameters and key flight test data and long-distance transmission. The real-time analysis software adopted WPF technology and was developed using MVVM mode. It integrated components such as GMAP.Net, IoTDB, and realized the visual display of aircraft tracks, key parameters and warning information. The test results show that the system has stable operation and high reliability, which provides a solution for the development of special flight test subjects.
Keywords
flight test ; STM32 ; WPF ; Beidou short message ; real-time monitoring