APP下载

一种多型号航空卫通嵌入式应用软件方案研究

2023-10-19奚炜弘

数字通信世界 2023年9期
关键词:卫通开发方式调试

奚炜弘

(南京熊猫汉达科技有限公司,江苏 南京 210014)

0 引言

航空卫星通信具有通信距离远、传输容量大、覆盖面积大和性能稳定等特点,是航空通信的一种重要方式。航空设备对尺寸和质量都有严格的要求,所以通常使用嵌入式的软件解决方案来实现卫星通信功能[1]。

在同一个卫星系统下,航空卫通设备与地面卫通设备相比:航空平台接口标准多,功能需求不一致,导致无法设计成通用设备;装机设备可靠性和安全性要求更加严格,使得项目的研发测试周期更长。

本文从软件模块化方法、嵌入式应用软件特点分析和实际应用等方面进行研究,提出了一种多型号航空卫通嵌入式应用软件的解决方案,有效地节约了研发成本、缩短了研发周期。

1 软件模块化

软件模块化是指将软件自顶向下、逐步分解,将一个较大的程序按照功能分成独立命名且可独立访问的模块,不同的模块通常具有不同的功能与职责,同时在这些模块之间建立必要的联系,通过模块间的相互协作完成整个软件的功能[2]。

软件模块化设计具有降低程序设计的复杂度、提高代码的复用性、易于功能维护和扩展、保证系统稳定性、有利于团队开发等优点。软件模块化可以分为类封装、库封装和分布式开发三类。

(1)类封装。通过类将模块定义为一个对象,该类里封装了一个对象所有的数据和方法。通过private关键字实现内部实现细节的隐藏,通过public关键字提供对外的访问接口。

(2)库封装。将模块的所有功能封装成一个库,库内部封装了用到的所有数据和方法,内部实现过程不可见,对外接口提供调用的库和头文件。

(3)分布式开发。将每个模块设计成可以独立运行的程序。当部署在不同的设备上时,各模块之间通过网口或串口等方式建立联系;当部署在同一个设备上时,各模块之间通过本地套接字或内存共享映射等方式实现建立联系。

2 嵌入式应用软件解决方案分析

嵌入式软件就是嵌入在硬件中的操作系统和开发工具软件,其中的嵌入式应用软件是嵌入式操作系统中的上层软件,实现嵌入式设备的主要功能和用途。与非嵌入式应用软件相比,具有以下特点。

(1)软件规模较小,开发团队规模较小。

(2)开发调试周期短。嵌入式应用软件通常仅少部分调试工作可仿真,绝大部分的调试必须等硬件系统完备后才可以进行。

(3)调试手段少,调试经验要求相对较高。嵌入式调试工具部署相对复杂,且依赖嵌入式操作系统的支持。同时受到开发初期硬件或系统不稳定性的影响,调试难度相对较大。

根据对嵌入式应用软件开发特点的分析,得出的结论是:所选择的软件模块化解决方案对额外工作量容忍的上限较低;独立性要求高,降低了开发门槛;复用性要求高,降低了开发调试周期。下面对三种软件模块方法的嵌入式适应性进行分析。

(1)类封装。该解决方案为嵌入式应用软件的常规方案。当项目单一时,该方案无额外工作量,模块间的通信采用调用对象的方法,无须额外增加双向的接口交互代码。但当项目较多时,缺点则十分明显:

①工作量线性增长。当项目较多时,如果采用每个项目采用独立软件工程的方法,一旦封装的类通用需求发生变化或出现BUG时,需要对每个软件工程进行重新修改调试。

②影响域线性扩大。当项目较多时,如果采用所有项目共用同一个软件工程,通过宏定义或“if else”的方法加以区分,一旦某个项目的需求发生变化,在修改的过程中影响域可能会扩大到其他项目。

(2)库封装。该解决方案的优点在于每个模块之间相对独立,通过对外接口提供库和头文件。对同类型模块开发,制定统一标准,需求变更时只需对库进行替换。缺点是增加了少部分对外调用接口的工作量。

(3)分布式开发方案。该解决方案的优点在于每个模块之间都非常独立,当需求变更时,只需对独立的可执行程序进行替换,无须重新编译和调试。但是缺点也非常明显,模块之间都需要开发一对或多对通信接口,增加了大量的工作量,甚至在某些功能较小的模块中,通信接口的工作量超过了本身功能的工作量。

综上所述,库封装的解决方案在嵌入式应用软件开发中明显优于另外两种。但在实际的软件开发中,受开发成本,项目复杂度等因素的制约,并不能简单选择单一的某种方案,这里提出一种CLD嵌入式应用软件解决方案,将类封装(C型)、库封装(L型)和分布式(D型)开发方式相结合。

3 CLD嵌入式应用软件解决方案的应用

3.1 软件简介

以S频段某卫星通信系统下航空卫通项目中的主控软件(简称AP软件)为例。在该系统平台下,共有6个项目,AP软件运行在嵌入式Linux系统中,使用C++语言开发,承担的主要工作是协调卫通设备之间协同工作,实现各设备间的协议转换,最终完成航空卫通的全部功能。设备连接全集如图1所示。

图1 设备连接全集

图2 工程架构

3.2 功能模块分析

根据AP软件的连接情况,将AP软件划分为10个功能模块,但这10个功能模块并不是所有的项目都使用,且单个功能模块也配置好几种ICD协议。与传统的软件开发方案相比,采用CLD嵌入式应用软件解决方案,将大幅降低工作量,缩短开发周期。下面对依次对每个功能模块进行分析。

(1)本控设备模块。该模块对应的设备为调试测试时的上位机,主要功能是提供对外调试接口,控制航空卫通设备。6个项目使用,配置ICD协议1种,复用的概率较低,采用C型开发方式。

(2)显控设备模块。该模块对应的设备为正式使用时的上位机,主要功能是提供对外控制接口,控制航空卫通设备。6个项目使用,配置ICD协议6种,需求改动频繁,复用的概率较低。采用D型开发方式,同时该模块功能为本控模块功能的子集,可采用本控设备的ICD协议与本控设备模块通信,节约了部分接口开发的工作量。

(3)S频段CP设备模块。该模块对应的设备为下位机,主要功能是控制S频段的卫星通信。6个项目使用,配置ICD协议1种,复用的概率中等,受限于开发成本,采用C型开发方式。

(4)U频段CP设备模块。该模块对应的设备为下位机,主要功能是控制U频段的卫星通信。2个项目使用,配置ICD协议1种,复用的概率中等,受限于开发成本,采用C型开发方式。

(5)超短波设备模块。该模块对应的设备为下位机,主要功能是控制超短波通信工作。1个项目使用,配置ICD协议1种,复用的概率低,采用C型开发方式。

(6)北斗设备模块。该模块对应的设备为下位机,主要功能是控制北斗设备工作。2个项目使用,ICD协议为国际标准,复用的概率高,采用L型开发方式。

(7)天线设备模块。该模块对应的设备为下位机,主要功能是控制天线设备。6个项目使用,配置ICD协议2种,复用的概率一般,采用L型开发方式。

(8)变频器设备模块。该模块对应的设备为下位机,主要功能是控制变频器设备。6个项目使用,配置ICD协议2种,复用的概率一般,采用L型开发方式。

(9)惯导设备模块。该模块对应的设备为下位机,主要功能是接收惯导数据并转发给天线。6个项目使用,ICD协议6种,复用的概率一般,对外接口较少,采用D型开发方式。

(10)声码器设备模块。该模块对应的设备为下位机,主要功能是控制声码器实现语音功能。6个项目使用,配置ICD协议2种,复用的概率高,采用L型开发方式。

3.3 工程实现

根据对A P软件功能模块的分析,完成A P 和LibModule两大工程,其中LibModule工程实现L类模块的静态库具体功能,考虑到复用性,从架构上与AP工程平级。

在AP工程中,根据每个D型模块都是独立的可执行程序的特点,分别完成3个子工程:Ias工程实现显控模块功能;Ins工程实现惯导模块功能;Main工程集成了其余模块功能。

在LibModule工程中,按照L型模块的种类进行分类,分别建立4个文件夹;根据每种不同的ICD协议分别完成各自的子工程,每个同类的子工程对外调用接口统一标准。

在Main工程中,将每个项目中功能模块的通用型分成5个部分:Ucp文件夹实现U频段CP模块的功能;Usw文件夹实现超短波模块的功能;Beidou文件夹实现了北斗库调用用的功能;Src文件夹实现本控模块、S频段CP模块、变频器库调用、声码器库调用的功能、天线库调用的功能和惯导模块内部交互的功能;Lib文件夹存放所有的库文件。

A P软件的Makef ile分为内部和外部两种。内部Makefile为6个项目所共用,通过ifeq和ifneq判断项目,选择项目所需要的功能模块参并编译;外部Makefile每个项目独立编制,先将4个L型功能模块拷贝到Mai n 工程下,再将项目名称传递到内部Makefile,最后调用内部Makefile进行编译。

4 结束语

随着卫星通信技术的不断发展,航空卫星通信逐渐成为航空通信的一种重要手段。本文对一种多型号航空卫通嵌入式应用软件的模块化解决方案进行了研究,包括软件模块化介绍、嵌入式应用软件特点分析以及该方案在实际中的应用。通过研究可以发现,该解决方案在多型号的航空平台上的应用确实可行,同时可有效地节约研发成本,提升软件的可靠性、稳定性和安全性。■

猜你喜欢

卫通开发方式调试
中国卫通首发申请获通过拟IPO募资12.8亿元用于中星18号卫星项目
基于航拍无人机的设计与调试
FOCAS功能在机床调试中的开发与应用
中国卫通集团有限公司
数字海洋的开发方式选择和研究
无线通信中频线路窄带临界调试法及其应用
车身开发中的尺寸工程技术之我见
调压柜的调试与试运行探讨
中国卫通集团有限公司
缅甸水资源开发方式及应注意的问题