0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

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

机电信息杂志 来源:机电信息杂志 作者:翟耘萱 田 园 史 2024-01-12 14:10 次阅读

引言

随着航天电子技术的发展,航天电子设备综合化程度越来越高,总线技术已经开始在航天电子领域得到越来越广泛的运用。航天器工作环境恶劣,空间辐射、电磁干扰等都可能通过硬件影响软件的正常工作,为实现“一重故障保业务连续,二重故障保航天器安全”的目标,保证软件的在轨重构功能,总线可靠性和安全性成为在轨航天器的必要保障。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总线控制功能,缩减了集成电路间的异步交互,软核方案架构对寄存器的冗余备份、异常通信处理策略的可靠性和安全性提出了更严格的要求。

a00f090e-b110-11ee-8b88-92fbcf53809c.png

a030f3c0-b110-11ee-8b88-92fbcf53809c.png

a04617a0-b110-11ee-8b88-92fbcf53809c.png

2

嵌入式软件CAN总线测试

2.1

测试要点

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

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

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

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

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

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

2.2

测试用例

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

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

a05c755e-b110-11ee-8b88-92fbcf53809c.png

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

a08727e0-b110-11ee-8b88-92fbcf53809c.png

3

结语

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






审核编辑:刘清

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • FPGA
    +关注

    关注

    1602

    文章

    21326

    浏览量

    593216
  • CAN总线
    +关注

    关注

    145

    文章

    1812

    浏览量

    129600
  • 寄存器
    +关注

    关注

    30

    文章

    5032

    浏览量

    117741
  • 电磁干扰
    +关注

    关注

    36

    文章

    2049

    浏览量

    104748
  • 嵌入式软件
    +关注

    关注

    4

    文章

    228

    浏览量

    26384

原文标题:航天器嵌入式软件CAN总线测试方法研究

文章出处:【微信号:机电信息杂志,微信公众号:机电信息杂志】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    嵌入式软件仿真开发系统的研究

    .况且在电路规模较大、功能较复杂的情况下,用试验板进入测试已越来越难了.因为开发者总要循环往复地对嵌入式软件和电路实验板进行修改.在国外,日本NEC公司研究人员近几年试图实现
    发表于 03-07 11:08

    关于FPGA的can总线嵌入式设计

      本人FPGA菜鸟一名,想寻找关于FPGA的can总线嵌入设计资料。目前市面上大多数都是can总线
    发表于 02-06 12:24

    航天器自动化测试测试语言

    这是关于自动化方面的和航天器方面的基于自动化测试测试语言!
    发表于 04-26 19:52

    【OK210申请】航天器自动采集自动控制系统

    20亿条指令集)的高性能运算能力。同时,又具有丰富的外设接口,所以这对于航天器的控制,无疑是不二的选择。所以希望能够申请到一块这样的开发板,在自己研究之后,也能够应用到航天器上。项目描述:航天
    发表于 07-17 16:52

    怎么设计基于路径覆盖的嵌入式软件动态测试

    目前,嵌入式软件已广泛的应用在各个领域:如工业控制、通信设备、信息家电以及航空航天等领域,应用越来越广泛,复杂性也日益增加。但由于嵌入式软件
    发表于 08-26 07:45

    基于路径覆盖的嵌入式软件动态该怎么测试

    目前,嵌入式软件已广泛的应用在各个领域:如工业控制、通信设备、信息家电以及航空航天等领域,应用越来越广泛,复杂性也日益增加。但由于嵌入式软件
    发表于 08-28 07:38

    嵌入式软件动态的基本路径测试步骤是什么?

    目前,嵌入式软件已广泛的应用在各个领域:如工业控制、通信设备、信息家电以及航空航天等领域,应用越来越广泛,复杂性也日益增加。但由于嵌入式软件
    发表于 10-31 06:08

    嵌入式系统的CAN总线设计

    和物理总线之间的接口,该器件对总线提供差动发送能力并对CAN控制提供差动接收能力,有很强的抗电磁干扰(EMI)的能力,至少可挂110个节点。  2.4
    发表于 07-08 15:34

    嵌入式软件测试研究

    。大多数软件测试方法都可以直接或间接地用于嵌入式软件测试,但是由于操作系统的实时和
    发表于 10-27 07:08

    嵌入式系统测试教学实训平台的用途

    型号规格:嵌入式系统测试教学实训平台(ETest_TP)用途:培养能够系统地掌握嵌入式软件测试的相关理论、
    发表于 12-21 06:26

    嵌入式实时操作系统在航天器软件中的应用研究李化云

    嵌入式实时操作系统在航天器软件中的应用研究_李化云
    发表于 03-14 08:00 2次下载

    一种DSP软件航天器在轨动态维护

    在轨动态维护方案,并提出两种在轨注入指令码的生成方法.该在轨维部方案通过在航天器软件中预埋钩子功能,经遥控指令注入在轨维护指令码,实现在轨运行软件模块的动态替换功能.通过系统
    发表于 02-01 14:34 0次下载

    面向航天嵌入式的形式化建模

    航天嵌入式软件航天型号任务成败的关键之一.航天嵌入式软件
    发表于 02-06 16:25 1次下载

    航天器交会对接精密时间基准方法研究

    航天器交会对接精密时间基准方法研究
    发表于 06-30 15:34 7次下载

    嵌入式软件测试研究意义,嵌入式软件测试研究

    。大多数软件测试方法都可以直接或间接地用于嵌入式软件测试,但是由于操作系统的实时和
    发表于 10-20 17:20 17次下载
    <b class='flag-5'>嵌入式</b><b class='flag-5'>软件</b><b class='flag-5'>测试</b><b class='flag-5'>研究</b>意义,<b class='flag-5'>嵌入式</b><b class='flag-5'>软件</b><b class='flag-5'>测试</b>的<b class='flag-5'>研究</b>