基于CAN总线的星载软件测试系统设计

2014-12-31 11:57宋雷军
上海航天 2014年5期
关键词:下位遥测软件测试

云 颖,宋雷军

(上海航天软件测评中心,上海 201109)

0 引言

随着航天技术的发展,卫星需要完成的任务越来越复杂,卫星的姿态控制和轨道控制精确度也越来越高,星载计算机与外部设备间的数据量交换越来越大,为此,CAN总线通信更多地被用于卫星设计中,以满足卫星通信控制系统的高实时性、高传输速率和高可靠性等要求。以往,针对星载软件的CAN总线测试主要采用商业化CAN通信产品和配套软件,硬件实时性和软件便捷性较差,存在难以满足某些软件CAN通信的时间性能,以及不能进行故障模拟测试等缺点。为更有效地测试和诊断星载软件CAN通信功能,本文对一种基于PXI工控机、CAN高速板卡和虚拟仪器技术编程的星载软件测试系统设计进行了研究。

1 硬件结构

卫星CAN总线通信系统中有多个下位机,包括测控单元、总体下位机、GPS下位机、SAR下位机、数传下位机、姿轨控计算机、电源下位机、热控下位机等,如图1所示卫星的CAN总线通信外部接口。

图1 卫星的CAN总线通信外部接口Fig.1 Satellite CAN bus communication external interface

星载软件测试系统需模拟所有的下位机,以实现与星载计算机的A/B总线备份通信、单项和双向通信、故障模拟通信等功能。测试系统的硬件包括PXI工控机和CAN高速板卡,结构如图2所示。其中:PXI工控机采用NI公司的PXI多槽控制机箱,是测试系统的主控器;CAN高速板卡采用NI公司的PXI-8464,可同时实现双线通信,最高速率1Mb/s,完全满足此测试系统的CAN通信要求,并有一定的扩展空间。

图2 星载软件测试系统硬件结构Fig.2 Hardware structure of satellite onboard software test system

测试系统的工作流程为:主控器控制CAN高速板卡实时接收和应答来自星载计算机的指令或数据信息,实现对各下位机的模拟,从而实现星载计算机与各下位机的正常和故障模拟通信。在正常通信情况下,测试系统接收来自星载计算机的广播,进行数据显示等操作,但不进行回复应答;接收来自星载计算机的数据或指令,在规定时间内进行正确的回复应答。在故障模拟情况下,测试系统接收到来自星载计算机的数据或指令后,不进行回复应答,或在规定时间内进行错误的回复应答,以观察星载计算机的运行状态。

2 软件设计

测试系统的软件结构不是根据下位机的数量划分,而是根据测试系统与星载软件的主要通信功能划分,因为这更符合测试需求和软件设计的完整性。测试系统的软件结构主要包括下位机状态检测、遥测数据分析、注数数据监测和计算机内存下卸四个模块,如图3所示。4个模块采用虚拟仪器技术图形化语言LabVIEW编程实现,有良好的人机交互界面。

图3 星载软件测试系统软件结构Fig.3 Software structure of satellite onboard software test system

在整个CAN总线通信网络中,星载计算机为上位机,与多个下位机通信所采用的是11位标识符的标准格式 CAN2.0A协议,采用传输速率500kb/s进行数据帧和远程帧的传输。因采用A/B总线备份通信,故同一下位机在CAN A、B中的标识符有区分。

当测试系统接收到星载计算机的CAN数据时,先由软件判断其ID号,不同的ID表示了不同下位机的不同功能,从而判断出该CAN数据针对的下位机及相应的总线来源A或B。无论何CAN数据,在软件界面上都可看到此条CAN数据的信息,包括接收时间、帧ID、帧类型、数据字节数、数据值和备注信息。

2.1 下位机状态检测模块

下位机状态检测模块汇集了8个下位机的状态检测功能。首先,测试系统软件判断收到的帧ID是否为某下位机的状态检测指令,如不是就进入后续判断,如是就实现相应的状态检测应答功能。因测试系统软件对各下位机实行单独编程,故各下位机的功能互不影响,且回复数据可根据测试用例自行设置,能实现故障数据回复。

以测试系统运行后A总线收到遥控单元的状态检测指令为例,该模块主要功能如下。

a)遥控单元下位机A总线对应的“收到数据否”指示灯会闪烁以提示已接收到此命令(“清除灯闪烁”按钮可使界面上所有灯恢复常暗状态)。

b)当遥控单元下位机对应的A总线“是否回复”按钮为“是”时,测试系统软件自动将其后的“回复数据”回复给星载计算机(此“回复数据”可由用户自行更改正确或错误数据)。

c)当遥控单元下位机所对应的A总线“是否回复”按钮为“否”时,测试系统软件不回复星载计算机任何数据。

2.2 遥测数据分析模块

遥测数据分析模块集成了8个下位机的遥测数据分析功能。测试系统软件判断收到的帧ID是否为某下位机的遥测数据分析指令,不是则进入后续判断,是则实现相应的应答功能。测试系统模拟的各下位机遥测数据分析功能互不影响,回复数据可根据测试用例自行设置,以实现正常数据回复和故障数据回复。

以测试系统运行后A总线收到总体下位机的遥测数据分析指令为例,模块主要功能如下。

a)总体下位机A总线对应的“收到数据否”指示灯会闪烁表示已接收到此命令(“清除灯闪烁”按钮可使界面上所有的灯恢复常暗状态)。

b)当总体下位机对应的A总线“是否回复”按钮为“是”时,测试系统软件自动回复数据给星载计算机。系统软件会自动判别卫星遥测模式字,当卫星遥测模式字为EA时,回复数据取自“遥测-总体下位机(EA)”输入控件;当卫星遥测模式字为C9时,回复数据取自“遥测-总体下位机(C9)”输入控件。“遥测-总体下位机(EA)”和“遥测-总体下位机(C9)”是A总线和B总线的共用回复数据,可由用户自行更改。

c)当总体下位机对应的A总线“是否回复”按钮为“否”时,测试系统软件不回复星载计算机任何数据。

d)在“回复数据”输入控件名称上未标明卫星遥测模式字(EA或C9)的,说明其回复的数据与此模式字无关。

2.3 注数数据监测模块

注数数据监测模块集成了8个下位机的注数数据监测功能。测试系统软件判断收到的帧ID是否为某下位机的注数数据,不是则进入后续判断,是则实现相应的显示功能。

以测试系统运行后A总线收到遥控单元的注数数据为例,该模块主要功能如下。

a)记录收到数据的总帧数和字节数信息。

b)当测试系统接收完所有的遥控单元注数数据帧时,通过A总线自动回复注数数据的总帧数和字节数给星载计算机,以完成一次完整的注数数据监测功能。

2.4 计算机内存下卸模块

计算机内存下卸模块集成了5个下位机的内存下卸功能。测试系统软件判断收到的帧ID是否为某下位机的内存下卸数据,不是则进入后续判断,是则实现相应的应答功能。如接收到的帧ID不是测试系统所能识别的指令或数据,软件会对此错误帧进行界面显示,并作丢弃处理。各下位机的内存下卸应答功能互不影响,均可实现正常应答和故障模拟应答,且满足多字节的大量数据回复。

以测试系统运行后A总线收到总体下位机的内存下卸数据为例,该模块主要功能如下。

a)总体下位机A总线对应的“收到数据否”指示灯会闪烁来提示已接收到此数据(“清除灯闪烁”按钮可使界面上所有的灯恢复常暗状态)。

b)当总体下位机对应的A总线“是否回复”按钮为“是”时,测试系统软件自动将“回复数据”回复给星载计算机。此“回复数据”是A总线和B总线的共用回复数据,可由用户自行更改。

c)当总体下位机所对应的A总线“是否回复”按钮为“否”时,测试系统软件不回复星载计算机任何数据。

3 关键技术

3.1 柔性化系统设计

本测试系统采用柔性化设计,用PXI工控机及PXI板卡,以简单的硬件组成构建了星载计算机的外围CAN通信环境,结构简单、构建周期短。此外,该系统具有多个PXI插槽,可扩展插入多个功能性板卡,实现多功能扩展。

3.2 虚拟仪器

本测试系统在一台工控机上虚拟了多个真实的下位机,即用虚拟的仪器实现了与星载计算机的真实CAN通信;应用LabVIEW编程将各下位机的真实功能转化到虚拟界面上,通过界面操作实现了真实下位机的所有正常及故障功能。应用等同真实设备的虚拟设备完成各项功能,是虚拟仪器技术的最大亮点。与传统测试设备的开发相比,应用虚拟仪器技术的测试系统的优点有成本低、扩展性好、灵活性强、仿真测试方便、用户界面直观等。

4 测试与应用

测试系统调试完成后,对本测试系统进行了单元测试、比对测试和第三方确认测试。单元测试中确定了各模块均实现的功能,在同类测试设备的比对测试中确定了此设备的性能指标,在某星载软件的第三方测试中应用此测试系统进行了确认测试,对本测试系统进行了功能、性能、安全性、人机交互测试。测试结果为:在CAN传输速率500kb/s下,测试系统能与星载计算机保持良好的数据通信,各模块功能正常,帧数据未出现误码,远程帧和数据帧均可自动应答;测试系统在其他CAN通信速率下不能与星载计算机通信,满足要求;在各模块的故障模拟测试中,测试系统没有在单帧或多帧误码回复下出现停止运行等安全性故障;在测试系统运行的界面上,数据清晰、布局合理、修改方便,具有良好的人机交互能力;与广州周立功单片机公司的CAN进行了比较测试,该公司CAN设备的部分应答指令不能按时送达星载计算机会造成超时错误,而本测试系统的通信响应速度良好,未出现任何超时错误。

本测试系统模拟各下位机实现的功能见表1。由表可知:该系统不仅实现了各下位机的正常功能,并且优于各下位机实现了其各种故障情况,完全满足了星载软件CAN总线通信测试的各项要求。

表1 测试系统模拟各下位机的功能Tab.1 Function of lower computer simulated by test system

5 结束语

本文对基于CAN总线的星载软件测试系统设计进行了研究。设计的星载软件测试系统已成功进行了某星载软件的第三方测试任务,完成了百余个用例的执行工作,实现了各下位机双总线的备份通信、功能模拟、故障模拟、数据自动应答等多项功能,有良好的人机交互界面。测试应用表明:此基于CAN总线的星载软件测试系统完全满足各项系统需求和指标,在星载软件测试系统研究中有一定的意义。

[1] 陈锡辉,张银鸿.LabVIEW8.20程序设计从入门到精通[M].北京:清华大学出版社,2008.

[2] 杨乐平,李海涛,赵 勇.LabVIEW高级程序设计[M].北京:清华大学出版社,2003.

[3] 龙华伟,顾永刚.LabVIEW 8.2.1与DAQ数据采集[M].北京:清华大学出版社,2008.

[4] 唐明南,董云峰,牛跃听.CAN总线在卫星半物理实施仿真中的设计与应用[J].计算机测量与控制,2008,16(1):124-127.

[5] 熊剑平,尤 政,陆建华.微小卫星平台公共总线技术-CAN总 线 网 络 应 用 [J].航 天 器 工 程,2000,9(1):29-36.

[6] 杨希祥,张为华,肖 凯.基于CAN总线的控制系统地面仿真测试平台研究[J].中国空间科学技术,2009,29(4):38-45.

猜你喜欢
下位遥测软件测试
软件测试方向人才培养“1+X”融合研究
前馈复合控制在提高遥测跟踪性能中的应用
基于UDS协议的CAN BootLoader的开发与验证
基于OBE的软件测试课程教学改革探索
航天软件测试模型构建与应用
远程控制式遥测地面站关键技术研究
基于WPF的遥测CAS信息实时监控系统设计开发
自适应模糊PID控制的遥测方舱温度调节方法
发射机房监控系统之下位机
EXCEL和VBA实现软件测试记录管理