APP下载

航天器嵌入式软件CAN总线测试方法研究

2023-05-18翟耘萱田园史翠红张凤

机电信息 2023年9期
关键词:CAN总线测试方法可靠性

翟耘萱 田园 史翠红 张凤

摘 要:根据“硬件标准选用,软件定义功能”的设计模式,从CAN总线硬件平台架构入手,梳理航天器嵌入式软件CAN总线的测试要点,从性能、功能、可靠性和安全性等方面设计通用测试用例,为总线测试的软件测试工程师提供借鉴。

关键词:星载嵌入式软件;CAN总线;测试方法;可靠性;安全性

中图分类号:V443+.1;V556  文献标志码:A  文章编号:1671-0797(2023)09-0005-03

DOI:10.10.19514/j.cnki.cn32-1628/tm.2023.09.002

0    引言

随着航天电子技术的发展,航天电子设备综合化程度越来越高,总线技术已经开始在航天电子领域得到越来越广泛的运用。航天器工作环境恶劣,空间辐射、电磁干扰等都可能通过硬件影响软件的正常工作,为实现“一重故障保业务连续,二重故障保航天器安全”的目标,保证软件的在轨重构功能,总线可靠性和安全性成为在轨航天器的必要保障。CAN总线作为一种串行数据通信协议,因具有高位速率、高抗电磁干扰能力以及错位可查处等可靠性、实时性特点而被广泛应用于航天电子的地面、星、箭载子系统的通信功能[1-6]。

航天器嵌入式软件与硬件关系密切,硬件运行环境的特点以及硬件的多样性显著影响和制约着软件的开发[7],“硬件标准选用,软件定义功能”的设计模式被广泛应用,模式的建立为总线通用化测试提供了充分保障。为保障CAN总线方案的实施,保证软件质量,越来越多的基于CAN总线的自动化测试系统被提出[8-10],关于CAN总线的测试方法和用例却鲜有提及。

1    CAN总线通信硬件架构

星载CAN总线一般采用相双冗余的总线型网络结构,包括A、B两条CAN总线,由管理控制单元及其他下位机组成通信节点。总线各节点CAN总线处理器在上电初始化完成后等待管理控制单元发送指令、广播与轮询,并依据通信协议约定的格式完成数据的接收与响应。

根据主控芯片和芯片扩展差异,CAN总线通信架构主要包括:CUP+控制芯片+驱动芯片、FPGA+控制芯片+驱动芯片和FPGA(CAN软核)+驱动芯片三种形式。总线驱动芯片通常采用PCA82C250,控制芯片选用SJA1000系列芯片。如图1所示,CUP+控制芯片+驱动芯片架构(架构1)通过芯片的片选使复用SJA1000芯片的数据读写信号,根据外部总线的中断信号鉴别总线占用情况,预设总线优先级制定总线同时占用的通信策略。如图2所示,FPGA+控制芯片+驱动芯片架构(架构2)基于FPGA的并行运行特性实现双SJA1000芯片的独立运行,同时处理双总线发送与接收,根据总线优先级排序解析处理指令缓存寄存器。如图3所示,FPGA(CAN软核)+驱动芯片架构(架构3)中FPGA集成CAN总线控制功能,缩减了集成电路间的异步交互,软核方案架构对寄存器的冗余备份、异常通信处理策略的可靠性和安全性提出了更严格的要求。

2    嵌入式软件CAN总线测试

2.1    测试要点

CAN总线的测试需要基于需求,对产品的性能、功能、接口全面覆盖,易发、多发问题设置重点测试用例,涉及数据边界的测试用例要涵盖边界,针对星载嵌入式软件需要对软件在高频次、长时间、恶劣环境下的可靠性和安全性重点关注,CAN总线测试实施重点关注以下5点内容:

(1)测试总线接收数据长度、格式、内容异常情况下软件自纠能力;

(2)测试总线过载情况下软件接收数据缓冲区的防溢出能力;

(3)测试总線阻塞、关闭情况下总线接口自主复位初始化功能;

(4)测试满足时间性能指标的基础上保留合理的时间裕度;

(5)测试瞬时密集数据传输的强度超出软件处理能力后总线恢复正常时软件恢复正常工作的能力。

2.2    测试用例

基于CAN总线测试要点的实施,对CAN总线接口的性能、功能、可靠性和安全性等方面进行测试用例设计,通过示波器抓取的时序信号、遥测信息的指令计数情况确认软件设计的正确性。针对不方便黑盒测试的功能,利用VTEST测试平台对软件内相关寄存器监视完成灰盒测试。对CAN总线的性能测试方面主要从总线波特率、总线应答及帧间隔时间、总线控制芯片的芯片复位脉冲宽度、总线控制芯片读写时序几个方面进行测试,关于CAN总线的性能测试可以详细参考CAN2.0通用协议和外围控制芯片的使用手册,在此不多做赘述。

对于CAN总线的功能测试主要从符合协议通信、错误协议通信以及总线切换策略测试3个方面进行,功能测试针对不同架构平台的测试项目一致,测试用例如表1所示。

对于CAN总线的可靠性和安全性测试设计总线控制芯片内部寄存器的监视,通过普通的黑盒测试是无法实现的,本文通过利用VTEST构建的虚拟平台实现对所需寄存器的监视功能,测试用例如表2所示。VTEST测试工具模拟嵌入式虚拟测试平台能够模拟嵌入式软件的接口芯片,通过导入被测源代码,实现对程序目标码插桩、接口监视,统计目标码程序语句和分支覆盖信息,分析目标码的执行情况[11]。

3    结语

软件测试是软件产品的重要保证,对共性多发测试项目的梳理和总结能够有效遏制相关问题的出现,本文从CAN总线常用架构入手梳理测试要点,设计测试用例,希望能为相关工程师提供借鉴。

[参考文献]

[1] 刘志宏,翟耘萱,久元溦.FPGA的星载CAN总线通信系统的设计[J].单片机与嵌入式系统应用,2021,21(2):35-38.

[2] 谢妮慧,汪瑜,刘志宏.制冷控制软件通用化关键技术研究[J].航天返回与遥感,2021,42(1):115-124.

[3] 崔子涵,李志刚.小卫星新一代CAN FD总线应用技术研究[J].航天器工程,2020,29(4):108-114.

[4] 王彦广,王伟志,黄灿林.平流层飞行器技术的最新发展[J].航天返回与遥感,2019,40(2):1-13.

[5] 乔凯,智喜洋,王达伟,等.星上智能信息处理技术发展趋势分析与若干思考[J].航天返回与遥感,2021,42(1):21-27.

[6] 汪晓翔,马琪.CAN总线控制器IP设计[J].电子科技,2018,31(10):29-32.

[7] 张笃周,冶元菲,张璐.航天器中软件的硬功夫——航天器嵌入式软件系统的SAT+研制模式之系统篇[J].中国质量,2021(5):47-52.

[8] 王涛,杨年炯,宋李栋.基于Vector工具链车载总线自动化测试系统研究[J].广西科技大学学报,2021,32(1):60-65.

[9] 曹尚贵,张颂,田飞雄.基于网关架构的车载网络总线自动化测试系统[J].工业仪表与自动化装置,2020(4):52-56.

[10] 张小俊,暴永强,郭志刚,等.车载总线自动化测试系统的设计与应用[J].科学技术与工程,2018,18(22):287-295.

[11] 左芸,张杨.基于VTest的星载嵌入式软件目标码覆盖测试[J].数字技术与应用,2018,36(10):180-182.

收稿日期:2023-01-11

作者简介:翟耘萱(1990—),男,吉林人,工程师,研究方向:嵌入式软件。

猜你喜欢

CAN总线测试方法可靠性
基于泊松对相关的伪随机数发生器的统计测试方法
可靠性管理体系创建与实践
基于云计算的软件自动化测试方法
DLD-100C型雷达测试方法和应用
5G通信中数据传输的可靠性分析
论网络通信技术
基于嵌入式的汽车辅助制动系统研究
CAN总线通信技术在电梯监控系统中的应用
基于CANoe的J1939协议在ECU通信中的应用
对改良的三种最小抑菌浓度测试方法的探讨