APP下载

无人机综合检测与仿真系统①

2020-11-13高尚文祖家奎陶德臣

计算机系统应用 2020年10期
关键词:串口模块软件

高尚文,祖家奎,陶德臣

(南京航空航天大学 自动化学院,南京 211106)

在无人机系统的研制过程中,系统综合检测与仿真是两个重要环节.无人机系统主要由飞行控制系统、传感器系统、动力系统、执行机构、通信链路等组成,系统综合检测既包括对各分系统的测试,同时对整机系统也要进行考量.通过测试,可以及时发现机载设备存在的问题,为无人机正常飞行提供安全保证.仿真将部分机载设备接入仿真环境,通过一系列飞行科目的模拟,可以验证飞行控制律、控制逻辑,数据链路通信状态以及设备稳定性.仿真能够更真实的测试无人机系统的性能,对于提高飞控系统的设计效率、降低设计过程中可能出现的风险,发挥着重要作用[1].

在通常的研制过程中,综合检测系统与仿真系统往往作为两个独立系统,实际上两个系统在硬件资源上有很高的重复性,独立开来不仅造成资源的浪费,使用时也不太方便.本文所设计的系统充分考虑了综合检测和仿真两大功能需求:重新进行硬件资源设计,通过软件程序实现相应功能,满足综合检测和仿真的要求.

本文首先确定综合检测与仿真两大功能的共性需求,提出系统整体设计方案.接着从硬件、系统通信协议和软件3 个方面详细介绍系统的设计,最后搭建应用环境进行验证.

1 系统研制方案

1.1 技术需求与指标

考虑综合检测和仿真的实际需要,其共性的需求如下[2–4]:

1)系统的软硬件应采用模块化设计,尽量减少相互间的耦合性.

2)系统模拟量、开关量、频率/脉冲、通信接口等硬件资源应足够丰富,满足不同类型、不同数量设备的测试要求.

3)系统应有电源转换模块,在测试或仿真时向其他设备供电.

4)系统应具备数据记录功能,方便测试或仿真完毕后的数据分析.

5)系统在综合检测时不能改变被测试系统的软硬件结构;仿真时可以采用外部模型,系统具备网络通信能力.

系统对模拟量信号、开关量信号、频率/脉冲信号以及通信接口等硬件资源的需求如表1所示.

表1 系统硬件接口资源数目

1.2 总体方案

综合检测与仿真系统总体结构如图1所示,系统以仿真计算机为主体,搭配飞控计算机、地面站、仿真控制台、仿真视景、待测试设备等[5,6]实现综合检测和仿真两大主要功能.仿真计算机主要是模拟无人机各个设备的接口特性,提供无人机模型,传递无人机飞行状态信息.飞控计算机作为飞控程序实现的硬件载体,对仿真计算机传入的无人机状态信息进行解算,同时响应地面站的遥控遥测指令,发出相应控制变距控制无人机姿态.飞控计算机与仿真计算机之间按照实际设备的定义,通过串口连接,进行数据通信.仿真计算机提供无人机飞行状态信息,飞控计算机接收解算后反馈控制信息.地面站实时显示无人机飞行状态信息,发送飞行控制指令,完成预定操纵.也可对飞控机参数配置进行在线调整,飞行航线在线设计.仿真控制台实时显示仿真计算机的状态信息,控制仿真计算机的运行状态.

图1 系统整体方案图

针对综合检测功能,设计了3 个子功能:自检测、设备检测、飞控系统测试.自检测是指仿真计算机自身工作状态的测试,系统以仿真计算机为主体,工作前需判断仿真计算机工作状态.设备检测指对单个设备工作状态的测试,如舵机、惯导等设备的测试.飞控系统测试是指无人机整体系统的测试,仿真计算机与飞控计算机连接,通过控制飞控计算机对机载设备的输出信号达到系统综合检测的目的.

针对仿真功能,仿真计算机内部程序模拟出传感器设备接口特性、执行机构.无人机动力学模型可由仿真机内部实时解算模拟或采用外部动力模型,常见的有Xplane 软件[7,8]、Flightgear 软件等,这两款软件既可作为外部模型进行实时解算,也可作为仿真视景实时显示无人机运行状态.

仿真计算机的设计是本系统设计的核心,采用Power PC 处理器作为硬件平台,VxWorks 实时操作系统作为软件运行平台.Power PC 处理器因其稳定性在航空航天领域使用较多,课题组使用该处理器已经开发了飞控计算机等设备,积累了一定经验.系统采用模块化设计,每个功能模块对应一块板卡,每块板卡通过机箱上的导槽插入机箱内,通过64 芯连接器插在机箱内背板上的64 芯连接器插座上.这样设计将各个资源模块按照功能不同划分到不同的板卡,方便设备测试和维护,使用更具灵活性,扩展性能强.

1.3 系统功能

围绕综合检测与仿真的设计目标,系统具备以下功能:

1)单个设备的检测以及无人机整机系统的综合检测.根据设备的不同特性输入不同的信号源激励,观察设备状态.

2)传感器及其他设备接口特性的验证.传感器等设备主要通过串口与飞控机进行通信,仿真计算机通过模拟通信过程验证接口特性.

3)导航/制导/控制系统的验证.通过一系列飞行科目的模拟,从地面站、仿真视景以及数据记录器的数据分析,验证控制效果.

4)数据分析功能.在测试或仿真结束后,对仿真计算机内部数据记录器里的数据进行分析,对结果进行定量判断.

2 系统设计与实现

2.1 硬件设计与实现

2.1.1 仿真计算机

仿真计算机遵循模块化设计的思想,分为6 个模块:CPU 模块、频率测量模块、模拟信号模块、开关量信号模块、通信模块、电源模块.在硬件上,每个模块单独成板,板上设计一块FPGA 或CPLD,挂靠在背板上的LBC 总线上,CPU 可通过操作LBC 总线读取各模块采集到的数据,模块图如图2,实物图如图3.

各模块具体设计和包含资源如下:

1)CPU 模块:采用Power PC 处理器MPC8309,VxWorks 操作系统,包含2 个10-100 MBPS 自适应标准网络接口,1 个网口用于下载仿真程序,另一个网口用于网络通信.CPU 模块还包括数据记录器,记录仿真过程数据;2 路独立的标准RS232 串行接口,用于同仿真控制台通信和调试使用.

2)频率测量模块:板上设计一块FPGA,频率脉冲信号和PWM 输入信号由光耦芯片隔离并整形输入到FPGA 内,FPGA 由CPU 给出命令自动测量,PWM 输出信号由光耦芯片隔离输出.此模块包含12 路PWM输入,满足FUTABA 遥控器特性;12 路PWM 输出,满足航模舵机的接口特性;4 路频率测量,其中2 路输入、2 路输出,测量范围为1 Hz~1 kHz,测量的信号类型包括方波、三角波、正弦波.

图2 仿真计算机硬件模块图

图3 仿真计算机实物图

3)模拟信号模块:板上设计一块FPGA,模拟量输入通道由两片AD7608 芯片组成,模拟量输出通道由4 片AD5764 芯片组成.FPGA 根据CPU 的需求自动采集AD 变换器所有通道的数据,同时也将CPU 输入的DA 转换数据按DA 的数据和命令格式输出.此模块包含16 通道模拟量输入输出,输入输出范围为−10~10 V 或−15~15 V,可通过内部跳线设置.

4)开关量信号模块:开关量输出信号,使用两个8 位锁存器芯片74LS373 产生16 位TTL 输出数字信号,再通过光耦芯片隔离驱动成+27 V/低电平模式或地/开模式.开关量输入信号,通过光耦芯片隔离转换成TTL 电平,再由两片8 位的三态输入控制芯片74L-S245输入到LBC 的数据总线.输入输出译码控制使用一片CPLD 芯片EPM7128,CPLD 挂在背板的LBC 总线上.此模块包含16 路开关量输入输出,可通过跳线设置+27 V/低电平模式或地/开模式.

5)通信模块:包含12 路串口,其中6 路为RS232/RS422,可通过跳线选择,4 路固定为RS232,2 路固定为RS422/RS485,可通过跳线选择,还包含4 路CAN总线接口.串口控制器和CAN 控制器都采用FPGA IP 核.由于12 个串口控制器IP 核和4 个CAN 控制器IP 核需要的FPGA 资源较大,这里需选用EP3C25F25-6UBG.

6)电源模块:输入电压范围为18~36 V,内部包含DC-DC 隔离电源模块将电压转换供仿真计算机内部芯片和外部设备使用.内部使用的±15 V 和+5 V 选用10 W 小功率模块,提供给外部输出电源选用20 W模块,可输出+5 V,+12 V,+27 V 和±15 V 不同大小的电压.

2.1.2 飞控计算机

本系统所采用的机载飞行控制计算机为自行设计和研制,如图4所示.

图4 飞控计算机实物图

该型飞行控制计算机采用PowerPC 处理器,由CPU 板卡、综合信号板卡、资源扩展板卡三块板卡组成,包括1 路网络通信、12 路串口通信、2 路CAN 通信、8 路模拟量输入、4 路模拟量输出、8 路数字量输入、12 路数字量输出、2 路频率量输入,内部自带数据记录器[7].

2.1.3 辅助设备

除上述仿真计算机和飞控机外,系统硬件还包括两台PC 机,两个MOXA 设备(USB 转串口供PC 机使用),串口转接线两条,基于上述硬件配置可完成系统搭建.

2.2 系统通信协议

系统通信协议主要包括两部分,一是仿真系统与仿真控制台之间的通信,采用串行通信;二是仿真系统与仿真视景之间的通信,采用网络通信(UDP 通信).

2.2.1 仿真控制台通信协议

仿真控制台采用如下通信形式:采用RS232 串行通信;波特率不超过38400 bps、8 位数据位、1 位停止位、无校验;采用二进制码,多字节数据传送时,低字节在前、高字节在后.上行数据定义为仿真控制台软件向仿真/测试设备发送的数据流;下行数据定义为仿真/测试设备向仿真控制台软件发送的数据流.通信数据包格式如图5.

图5 通信数据包格式定义

通信数据包由5 部分组成:同步码、有效数据长度、帧识别码、有效数据区、和校验.同步码2 个字节(0xEB,0x90),作为数据包开始的标志;有效数据长度为协议第4 部分有效数据的字节数;帧识别码用于区分不同的仿真设备;有效数据包括指令信息和各设备的状态信息;和校验采用8 位和格式校验,校验数据不包括数据包同步头(0xEB,0x90)的2 个字节,从字节索引号2 至N+3 数据进行校验,校验结果的低位在N+4.

2.2.2 仿真视景通信协议

UDP 网络通信采用标准的UDP 网络通信协议,仿真计算机为客户端,IP 地址:192.168.1.1,端口号:4000.仿真视景为服务器端,IP 地址:192.168.1.2,端口号:4001.上行数据定义为仿真视景向仿真计算机发送的数据流,下行数据定义为仿真计算机向仿真视景发送的数据流.UDP 通信的数据包格式如图6所示.

图6 UDP 通信帧结构

帧同步码为4 个字节,帧识别码为1 个字节,作为下行数据帧开始发送的标志;帧数据区为固定长度字节数,帧结束标识码为1 字节,自行设定.

2.3 软件设计与实现

2.3.1 测试与实时仿真软件

测试与实时仿真软件在Workbench 平台下开发,基于VxWork6.9 操作系统.VxWorks 是一个运行在目标机上的高性能和可剪裁的嵌入式实时操作系统,具备以下特点:(1)多任务;(2)有线程优先级;(3)多种中断级别[9].软件整体可分为应用管理层、测试/仿真执行层、设备驱动层、硬件设备层.应用管理层负责与仿真控制台进行交互,根据需要调用测试/仿真执行层的各功能模块.测试/仿真执行层负责测试及仿真功能的实现,在仿真计算机的硬件资源的基础上编程模拟出各种设备接口特性,模型的实时解算等.此部分包括初始化模块、自检测及设备检测模块、传感器仿真模块、舵机仿真模块、发动机模型模块、无人机模型模块.设备驱动层包括底层硬件的驱动程序和接口,供测试/仿真执行层调用.硬件设备层包括各种信号量物理接口,依靠这些接口与其他设备连接.VxWorks 基于多任务调度,每个模块设置为一个单独任务,由操作系统调用.各模块之间除了数据交换外互相独立、自成体系,降低了程序的耦合性,便于程序调试和后期维护、扩展和修改,同时也增加了程序的可读性[10].总体模块如图7所示.

2.3.2 仿真控制台软件

仿真控制台主要功能是作为上位机在检测或仿真过程中发送指令,检测各设备状态信息,其设计同样基于模块化设计的思想,开发平台为Qt.总体分为通信处理模块、指令控制模块、激励信号注入模块、故障注入模块、数据显示模块等五部分,结构图如图8所示.

仿真控制台软件的主要功能模块如下:

1)通信处理模块:仿真控制台与仿真计算机之间采用串行通信,该部分实现两者之间信息发送和接收的建立,并对接收的数据进行解帧,解帧后的数据供其他模块使用.

2)指令控制模块:该模块主要作用是通过离散式上传指令的方式进行仿真计算机功能的控制,包括运行模式的选择,不同模式下控制指令发送等.

3)激励信号注入模块:在综合测试模式下,对不同待测设备施加不同激励信号,观察设备运行状态,采集设备回馈信号.

4)故障注入模块:在仿真模式下,模拟设备的故障状态,观察无人机系统的应对反应.故障包括:数据链路断开,传输数据频率变化、设备数据异常等.

5)数据显示模块:主要是通过表格、曲线等比较直观的形式显示测试或仿真过程中设备的数据.

图7 仿真计算机软件结构

图8 仿真控制台软件结构图

3 应用环境构建与验证

系统包含硬件设备:仿真计算机、飞控计算机、待测试设备.软件:地面站软件、仿真控制台软件、数据解码与分析软件.应用环境搭建参照图1系统整体方案图即可完成,一台PC 机运行地面站软件,通过PC 串口与飞控计算机通信.飞控计算机与仿真计算机之间的通信也通过串口进行,设备的连接需参考实际定义.另一台PC 机运行仿真控制台软件,同样通过串口与仿真计算机通信,监控仿真计算机运行状态.仿真控制台界面如图9.

3.1 综合检测系统实现与验证

综合检测系统验证方案如下:

1)将仿真计算机与飞控系统按相应设备定义连接,使用1 台PC 机运行仿真控制台软件;

2)仿真控制台选择“自检测”模式,首先测试仿真计算机工作状态;

3)仿真控制台切换至“设备测试”模式,对单个设备进行检测;

4)仿真控制台切换至“飞控检测”模式,对整体系统进行检测,测试环境搭建如图10所示.

图10 测试环境图

如图11所示为舵机测试过程中仿真控制台显示情况,通过仿真控制台将舵机的位置依次设置为“5”、“6”、“7”、“8”、“9”、“10”、“11”,可以看出反馈值与设定值相同,舵机工作状态正常.

3.2 仿真系统实现与验证

以无人直升机为例,仿真系统验证方案如下:

1)使用两台PC 机,一台PC 机运行地面站软件,另一台PC 机运行仿真视景软件和仿真控制台软件,这里仿真视景软件选用Xplane 软件;

2)根据飞控程序和仿真程序对各个设备的串口定义,飞控计算机和仿真计算机之间通过串口转接线缆以及转接头连接;

3)上电运行,仿真控制台发送“仿真”指令,系统进入仿真模式.通过地面站控制无人直升机从起飞悬停到小机动飞行来观察分析仿真效果.仿真实物搭建如图12所示.

图11 测试效果图

图12 仿真环境图

如图13所示为地面站设计的航线飞行过程,结果显示飞行轨迹基本与航线一致.

图13 地面站飞行效果图

经过测试验证,各软件以及各仿真设备运行正常,无人机飞行过程中状态信息以及各个仿真设备信息在地面站和仿真控制台中实时显示,整个仿真系统能很好地完成飞行控制系统的验证工作.

3.3 数据分析与处理

根据仿真计算机数据记录器的记录数据,进行数据解转码、数据分析,如图14和图15.

图14 数据转码软件

图15 数据分析软件

4 结论

本文立足于实际工程需要,设计出一套适用于无人机飞行控制系统验证和综合检测的系统.在分析综合检测和仿真两大功能共性需求的基础上提出以仿真计算机为主体的设计方案.着重介绍了仿真计算机的硬件结构、资源配置,测试/仿真软件设计框架和通信协议设计,最后以实际测试结果验证系统的合理性.通过最后的仿真结果可以看出,该系统性能可靠、操作灵活性强,具有很好的实际应用价值.

猜你喜欢

串口模块软件
28通道收发处理模块设计
“选修3—3”模块的复习备考
禅宗软件
工业软件 自主创新
基于EM9000工控板高性能双串口通信模型设计与实现
MCS—51单片机中的多串口通讯技术的应用
必修模块相关知识过关训练
即时通讯软件WhatsApp
微机串口的测试诊断
丰富多彩的Android软件