APP下载

小卫星载荷CAN总线翻转故障恢复方法

2019-04-24

无线电通信技术 2019年3期
关键词:寄存器总线载荷

杨 璋

(中国西南电子技术研究所,四川 成都 610036)

0 引言

现场总线在分布式控制系统和实时控制系统中的应用非常广泛,CAN总线作为现场总线中的重要代表,最早由Bosch公司提出并成功应用在汽车领域[1-2],CAN总线的组网简单、性能可靠、实时性好及功耗较低,并自带校验机制和纠错机制,使其逐渐在航天领域得到广泛应用,国内成熟的小卫星平台上普遍采用CAN总线作为数据通信的主要手段[3-4]。

地球辐射带、银河宇宙射线及太阳质子等空间环境因素产生的辐射会对星载设备工作有较大影响[5],其中单粒子翻转是造成星载设备故障的主要因素[6-7]。国内小卫星主要选用工业级器件SJA1000作为CAN总线控制器,本身抗辐照指标不高,进行防翻转设计非常必要。目前,小卫星平台已提出了一些防翻转的整体方法[8],并进行了一些试验验证[9-13],但载荷仍需要根据其自身特点设计总线故障自动恢复方法,以减轻卫星平台设计的压力,提高通信稳定性。载荷主控计算机(以下简称载控机)作为卫星平台和载荷分系统数据交换的枢纽,又是载荷分系统的设备控制中心,是载荷发挥作用的关键设备,其CAN总线出现故障会导致整个载荷分系统无法正常工作,严重时可能干扰卫星通信总线,影响平台安全,所以载控机的总线翻转自动恢复功能设计成为载荷设计的重点。本文首先分析了空间单粒子效应对总线寄存器的影响,结合载荷CAN总线结构和工作特点,设计了载荷CAN总线翻转故障自动恢复方法,最后通过实验验证了方法的有效性。

1 总线工作模式及故障影响

1.1 载控机CAN总线网络结构

小卫星载荷的CAN总线采用分层多区的多级网络结构,每一级CAN总线都采用热备份的双冗余总线形式,包括A、B两条总线互为备份,由星务主机和各种类型的下位机组成第一层CAN总线节点,下位机和各种类型的载荷主控机组成第二层CAN总线节点,每类载荷分系统组成第三层CAN总线节点,网络结构示意图如图1所示。

图1 载荷CAN总线网络结构

1.2 载控机CAN总线工作模式

载控机负责管理载荷分系统的总线通信,与2个级别的CAN总线存在数据交互,主控计算机通过二级CAN总线与下位机通信,接收星务主机下发的数据包、控制指令和遥测轮询,并将载荷分系统的遥测数据上报;主控计算机通过三级CAN总线与分系统内部设备通信,下发指令、任务参数,并查询、收集载荷设备的遥测数据。国内成熟的小卫星平台二级CAN总线普遍采用BasicCAN模式,载荷分系统内部的三级CAN总线一般采用PeliCAN模式,以获得更好的节点扩展性。

1.3 翻转异常影响

空间单粒子主要影响CPU寄存器、SRAM、总线控制器的数据缓冲区和寄存器等具有数据存储能力的部件,造成其逻辑状态翻转,导致工作状态为非期望值,从而影响正常工作[14-17]。总线异常后不仅自身不能正常工作,还会干扰其他节点工作,最终导致总线瘫痪,根据载荷CAN总线网络结构,按照总线故障影响范围对翻转进行分类,如图2所示。

图2 寄存器翻转异常类别

2 载控机总线故障恢复方法

载控机在二级和三级CAN总线上承担的节点任务不同,在二级CAN总线上作为下位机类型节点,受星务控制,接收星务下发的数据,一般采用BasicCAN模式工作;在三级CAN总线上作为上位机类型节点,控制其他载荷设备,是数据的发起节点,一般采用PeliCAN模式工作,需要针对二级和三级CAN总线特点,设计总线故障自动恢复方法。

2.1 二级CAN总线故障恢复

影响单次数据收发的故障,此类型故障发生时会导致载控机需要接收的数据丢失或收到错误数据,下次通信寄存器重新置位能自动恢复正常,载控机无需启动故障恢复措施,但要使上位机知晓本次通信失败,解决措施为:载控机与上位机之间设计握手机制,未收到合法数据时不响应上位机的握手信息,接收上位机在备份总线上重发的数据。另外,上位机可在A,B总线上皆发送相同信息,降低通信故障的概率(A,B总线同时翻转概率很小)。

长期影响数据收发的故障,此类型故障发生后不能自动恢复,需要载控机采取相应措施恢复故障,否则有拉垮总线的风险,一般来说,通过复位CAN总线控制器即可解决翻转导致的故障。故障恢复的策略为:载控机定期查询CAN总线状态寄存器,若长时间连续出现总线错误标识则对相应的控制器进行复位操作。对于波特率及滤波器错误等没有指示的故障,需利用系统工作特点设计故障恢复方法,卫星平台的遥测指令和广播数据在二级CAN总线上是长期存在且定时发送的,若载控机在长时间内都无法接收到正确的信息帧,则认为载控机的总线控制器可能出现故障,需进行复位操作。二级总线故障自动恢复流程如图3所示。

图3 二级总线故障自动恢复流程

2.2 三级CAN总线故障恢复

影响单次数据收发的故障,此类型故障发生时会导致载控机需要发送的数据丢失或发送错误数据,同二级总线类似,故障在下次通信时重置恢复,只需在载控机与载荷设备之间设计握手机制,由载控机根据握手情况决定重发数据或切换备份总线发送数据,确保通信数据不丢失。

长期影响数据收发的故障,作为控制端载控机不但要恢复自身故障,还需协助其他载荷设备恢复故障,对于自身总线故障可通过复位总线控制器恢复,对于总线其他节点的故障恢复只能通过对故障设备复位解决。故障恢复策略为:载控机定期查询RX/TX错误计数寄存器,若总线发送或接收错误计数超过阈值,则对控制器进行复位操作,防止故障影响扩大;载控机与某节点通信时若出现握手失败,首先对自身总线控制器进行复位,若与该节点通信连续多次皆失败,则认为该节点总线故障且不可自动恢复,对此节点进行复位重启操作,并记录节点故障,若总线上所有节点均出现节点故障,则认为总线被拉垮,需重启所有节点。三级总线故障自动恢复流程如图4所示。

图4 三级总线故障自动恢复流程

3 故障恢复方法验证

小卫星二级、三级总线故障自动恢复方法验证在载荷分系统测试网中执行,星务主机采用PC机替代,载荷设备故障通过仿真器运行错误注入代码进行,实验连接框图如图5所示。

实验1:二级总线单次故障模式,针对可改写寄存器翻转,通过载控机执行错误注入代码,修改寄存器值造成接收数据错误。载控机在故障情况下能丢弃错误数据,并正确接收星务重发的数据,且不影响后续数据的接收和发送。

实验2:二级总线长期故障模式,在载控机运行过程中执行错误注入代码,重新初始化相关寄存器为错误值,模拟翻转后不能正常接收数据,模拟翻转后波特率错误。载控机在故障情况下能自动复位故障总线,恢复总线正常通信;

实验3:三级总线单次故障模式,针对可改写寄存器翻转,通过载控机执行错误注入代码,修改寄存器值造成发送数据错误,与其他节点握手失败。载控机在故障情况下能自动重发数据,并能切换到备份总线通信。

实验4:三级总线长期故障模式,在载荷节点1运行过程中执行错误注入代码,重新初始化总线控制器寄存器为错误值,模拟翻转节点故障,载控机在故障情况下能自动复位总线控制器和节点1。使节点1长时间故障,拉垮总线,造成所有节点通信故障,载控机能复位所有节点,最终恢复总线正常通信。

图5 总线故障恢复验证实验框图

4 结束语

本文分析了空间单粒子翻转对小卫星载荷主控机CAN总线的影响,单粒子主要造成总线控制寄存器值翻转,从而造成总线节点之间数据通信失败,严重时会拉垮整条总线,导致所有节点无法正常通信。针对载荷CAN总线单次和长期2种故障模式,结合载控机CAN总线组网和工作特点,分别设计了二级CAN总线和三级CAN总线翻转自动恢复方法,在总线故障发生后无需地面操作,载控机能自主恢复单粒子翻转导致的CAN总线故障,提高载荷总线恢复效率,降低载荷在轨维护的压力。本故障自动恢复方法便于工程实现,且通过实验验证了方法的有效性,已成功应用到小卫星平台工程项目中。

猜你喜欢

寄存器总线载荷
交通运输部海事局“新一代卫星AIS验证载荷”成功发射
高速列车构架载荷解耦降维标定方法及试验验证
压缩载荷下钢质Ⅰ型夹层梁极限承载能力分析
飞行载荷外部气动力的二次规划等效映射方法
MVB冗余总线故障模式分析
Lite寄存器模型的设计与实现
常用电子测速法在某数字信号处理器中的应用*
移位寄存器及算术运算应用
基于CAN/LIN总线的LED车灯控制研究
宝马F02车总线系统