基于CPCI架构航天器测试设备的故障诊断设计与实现
2017-12-20王雪涛句美琪
陈 斌,王雪涛,杨 扬,句美琪
(北京控制工程研究所,北京100094)
基于CPCI架构航天器测试设备的故障诊断设计与实现
陈 斌,王雪涛,杨 扬,句美琪
(北京控制工程研究所,北京100094)
基于CPCI总线架构的航天器测试设备可以实现模块化、集成化和通用化设计,有利于测试系统的再次开发、直接沿用以及后续维护。某型号的综合电子和控制分系统地面测试设备采用基于CPCI总线的架构,使用VxWorks操作系统作为核心调度,采取模块化FPGA开发接口和特定功能。提出以监听任务、功能模块、板卡运行时间为检测手段,实现了对系统测试设备故障的诊断,尤其是反作用轮转速模块,软件能自主进行故障处理。在分系统及整星测试的使用过程中,此方法有效提高了设备的可靠度,提高了对星上产品的安全保护,保证整星大型试验的连续可靠运行。此方法对于其他地面测试设备的故障诊断具有一定的借鉴作用。
CPCI;故障诊断;可靠度
0 引言
Compact PCI(简称CPCI)是国际工业计算机制造者联合会(PICMG)于1994提出来的一种总线接口标准[1]。CPCI是以PCI电气规范为标准的高性能工业用总线,在电气、逻辑和软件功能方面,CPCI与PCI完全兼容,操作系统、驱动和应用程序对两种总线的使用基本没区别,可提供更高的数据传输速度[2]。CPCI具有高开放性、高可靠性、可热插拔,除了可以广泛应用在通信、网络方面,也适合实时系统控制、产业自动化、实时数据采集、军事系统等领域。基于CPCI的总线架构设备在航天领域的地面设备研制中得到了相当广泛的应用[3]。
此种架构设计应用相当广泛,但是基本上都是基于功能满足设计要求,并没有看到设计者对故障诊断方面提出相关方法。尽管CPCI架构比较成熟,但是由于功能板卡一般都是自己研制,存在不稳定因素,因此整个架构存在故障隐患[4-5]。在提出本文方法之前,作者就亲历过由于测试设备模拟量采集板上硬件器件失效,导致卫星轮控姿态时姿态发散,甚至转速失控;由于测试设备某硬件失效导致系统运行不正常,没有任何数据可支撑查找问题。
本文在设计测试设备时,充分考虑了此类因测试设备硬件失效而引起的故障类型的起因、传播途径和潜在后果,设计并实现了一种以监听任务、功能模块、板卡通信时间为诊断手段,并根据数据做出故障预测、自主处理故障的方案,做到了潜在故障预测以及根据可靠度处理故障。
1 系统架构设计
1.1 测试系统架构
控制分系统测试原理架构如图1所示,控制分系统测试设备从功能上可以划分为动力学和模拟器两部分。其中,动力学用于模拟卫星动力学特性,产生各敏感器模拟激励信号,并将激励信号发送至卫星,用于完成卫星控制系统的测试。模拟器则模拟星上单机功能,在没有其他分系统配合的时候完成控制分系统的功能模拟以及验证测试。
动力学和模拟器都采用接口电路调理箱以及工控机配合工作的模式设计。其中,接口电路调理箱的功能是负责各种输出输入信号的调理,工控机则负责信号采集、信号输出以及逻辑运算,是整套测试设备的核心模块。敏感器包括红外地球敏感器、模拟式太阳敏感器、数字式太阳敏感器、陀螺以及星敏感器,执行机构包括反作用轮、推力器、磁力矩器以及帆板驱动机构。
图1 控制分系统测试原理架构Fig.1 Principle and architecture of control subsystem
动力学工控机实现的功能包括将动力学模型计算出的姿态信息给敏感器提供电激励信号,同时还包括执行机构的信号采集。工控机采用了标准的CPCI机箱,中央处理器(CPU)采用商业通用板,其余功能模块则采用投产定制的CPCI板卡。CPU板运行VxWorks系统作为控制板,主要负责软件计算及调度各功能板卡工作,其架构组成如图2所示。
图2 动力学工控机架构Fig.2 Architecture of the dynamics
模拟器工控机实现的功能包括模拟地球敏感器、反作用轮、二浮陀螺、光纤陀螺、-Y载荷舱综合业务单元ISU-D、导航任务处理机、+Y载荷舱综合业务单元ISU-B、数据处理与路由单元DPRU、平台综合业务单元ISU-A。使用的机箱以及板卡同动力学工控机一致,由于有些模拟器接口比较多,需要多块板卡共同模拟,架构如图3所示。
图3 模拟器工控机架构Fig.3 Architecture of the simulator
1.2 设计难点
本测试系统必须具有较强的实时数据处理能力,需要处理的测试信号种类多,信号调理工作量大,同时还需要具备复杂的逻辑处理能力。在故障诊断和处理方面存在的主要难点如下:
1)系统复杂,出现问题之后难以准确快速定位;
2)整个系统对硬件依赖性强,若某个硬件出问题将导致整个系统无法正常运行;
3)每块板卡通信都是使用CPCI总线,对其依赖性很大,故此需要采取足够的防范措施保证系统正常运行;
4)有些关键单机需要考虑冗余措施以解决在设备有故障时能平稳控制。
针对此难点,本文提出两个思路来解决。1)潜在故障预测。本文使用的是实时操作系统,系统运行时间、每个任务运行时间、与板卡通信获取数据的时间都是可预测的,因此监测此类时间可以预测是否存在潜在故障。2)故障处理。在检测到故障之后,设备能自主处理故障,或者用户可以根据信息有效快速地定位并处理,保证设备正常运行。
2 故障诊断设计
2.1 故障诊断相关定义
定义1:故障等级定义如表1所示。
定义2:设备安全度,用于表征当前设备能安全使用的级别。设备安全度受可靠性等多方面因素影响,对设备的可靠度没有必要定量,只需要定性就可以表明设备当前的可用级别。在此提取出关键几项因素用于表征设备安全度,具体如下:
表1 故障等级定义Table 1 Definition of fault grade
1)设备的可靠度R(t)。从设备的设计特点出发,不考虑机柜等因素,只分析电子元器件的可靠性,故采用指数模型作为分析方法[6],设可靠度函数R(t)如式(1)所示。
2)系统监测的运行时间表征健康度A。设备运行监测每个模块的运行时间,此时间可以反应系统的健康度A,具体如式(2)所示,当实测时间与理论时间之差小于10%,则认为A是1。
综合上述分析可知,可以用式(3)表示设备的安全度q。
对于设备的可靠度定义如表2所示。
表2 设备的安全度定义Table 2 Definition of department security
2.2 故障诊断
板卡模拟接口电路,逻辑相对简单,可靠性高,故障诊断手段较少。而基于VxWorks的软件开发逻辑相对复杂,硬件操作比较多,因此故障诊断主要在于CPU中的软件开发,本文设计的故障诊断方案如图4所示。
图4 故障检测架构Fig.4 Architecture of fault realization
故障诊断架构分为3个级别进行。第1层是系统级故障检测,整个软件作为一个系统运行,按照设计每次运行必须在32ms内完成,每一次系统运行的时间能有效表征系统的健康度,为此设计时在系统级别做了故障检测。地面根据遥测数据进行设备的可靠度判断,具体采用上文提到的方法,分析设备当前的可靠度,根据可靠度采取具体的措施处理。
第2层是对任务级别进行故障检测,软件设计时按照功能划分为多个模块,每个模块包装为一个任务。VxWorks按照任务优先级进行调度,任务在完成自己功能之后就会释放掉CPU操作权[7-8],任务执行时间可以直接表征当前任务工作的可靠度。
第3层是对板卡级别进行故障检测,CPU与各板卡的交互通过CPCI总线进行。因此,对CPCI总线的操作是否成功,能间接反映功能板卡是否工作正常,操作时间能反映出该功能板卡的可靠度。
2.3 故障处理
根据诊断出的设备可靠度,选择相应方法进行处理。对于Ⅰ级可靠度,不采取任何措施,设备绝对可靠;对于Ⅱ级可靠度,需要密切关注,注意是否会有严重故障出现;对于Ⅲ级可靠度,必须停止测试,对设备进行故障排查;对于Ⅳ级可靠度,不能使用,必须立即更换。
实现同一功能时,可以采用不同的手段实现,依赖的硬件也不同。基于此,设计自主处理故障的功能,针对反作用轮设计两种不同的算法方案,系统根据硬件状态自主切换。
3 软件实现及试验验证
3.1 软件实现
对于系统级故障,在监测到异常时,若操作时间还能满足系统运行要求,则使用人员可以根据可靠度来判断采取何种对策。若操作时间已经影响到了系统运行要求,则系统自主复位,重新对设备和软件进行初始化。
图5 系统故障处理逻辑Fig.5 Logic dealing of the system fault
系统级故障健康管理流程图如图5所示,在任务开始运行时,会在固定的地方获取两次任务间的时间差。按照设计,任务运行周期是32ms,定时器的滴答精度是微秒级,因此运行周期的时间误差只允许在 100μs内。若误差比100μs大,但是小于1ms,则会增加报警次数;当误差大于1ms,软件将重新进行初始化,完成看门狗、任务的删除和重建。
针对任务级别的故障检测,方法是依托于不同任务间的相互依赖关系来实现互相检测。在整个系统运行时,很多任务相互依赖,需要使用消息实现信息交流。因此,在运行任务A时,可以检测任务B是否发出了任务A所需要的消息,具体实现如图6所示。
在启动任务A之后,先从任务B获取消息,如果能成功获取任务B的消息,则表示任务B运行正常,程序可以正常工作。如果一次获取不成功,则程序继续运行,等待下次进来之后再次读取消息。若此时能成功获取消息,则报警次数加一之后继续正常运行。若仍然不成功,则对任务B进行初始化,确保任务B对所有相关变量初始化之后再运行。
图6 任务级故障处理逻辑Fig.6 Logic dealing of the task fault
针对反作用轮设计两种不同的算法。算法1是基于模型的反作用轮力矩估计的方法,此方法需要采集任务提供的轮子控制电压模拟量和轮子转速数字量。算法2是用轮子转速差分的计算方法,此方法仅用采集任务提供的轮子转速的数字量。本文设备通过不同功能板卡实现采集模拟量与数字量。
通常情况下,由于算法1输出力矩结果平滑,可实现系统控制精度高,因此设其为优选方案。
当模拟量采集板卡出现采集异常导致通信超过设计时间,故障诊断可以立刻检测出异常情况的发生,随即软件自主树立模拟量采集异常标志,跳出对模拟量的通信等待,继续采集任务中其他物理量的采集。当动力学任务读到模拟量采集异常标志时,软件会自主调用算法2,从而使整个设备功能在本计算周期内实现平稳过渡。当模拟量采集板卡异常故障恢复后,软件会经判断清故障标志,自主恢复对算法1的调用。
对于设备采集下传的监控数据,结合本文2.1节设计的可靠度判断方法,建立一个实时判断系统,根据可靠度判断方法给出设备当前的可靠度,提供用户做决策。环境温度采用用户输入的方法实现,设备的可靠寿命由设备制造商提供。
3.2 试验验证
CPU软件运行周期都为32ms,上述监测工作所花费的时间经过本文实际测试都是在微秒级别。因此,可以在不增加任何系统负担的前提下完成上述工作。
使用本文提出的安全度检验标准,结合系统采集的运行时间,可以有效分析出设备当前的安全度。此方法可以综合考虑可靠性以及设备当前运行情况,对于设备的安全度判断有效全面。
经过试验验证,证明本文方法有效可行:
1)在没有增加本文方法的设计前,如果某板卡功能异常,则系统将无法正常运行,且无法判断出是哪个模块出现异常。在借助本文提出的设计思路之后,可以快速定位是具体哪个模块出现异常,提高排除故障的效率。
2)各任务的运行时间通过遥测数据下传到地面,通过数据可以判断整套设备具体单元的可靠度,供用户决策使用。
3)针对反作用轮设计的两套算法,经过实际测试,在设备有故障时,软件能自主实现两套算法的切换,控制过程稳定,不影响测试进行。
4 结论
基于CPCI总线架构的航天器测试设备具有模块化、集成化和通用化的优点,但是在广泛采用此架构之后,带来了系统复杂、出现问题不容易定位的难点。对此,本文提出一种评价方法和两种处理手段。
1)借鉴可靠性的评价方法,引入安全度的衡量标准。用此方法可以有效综合判断设备当前的安全度,对于用户做出下一步决策有指导性意义。
2)采用监测运行时间的方法进行故障诊断,可以得出设备当前运行的健康度。在判断出运行时间异常时,设备可以自主进行处理。
3)针对反作用轮模块,本文采用自主故障诊断以及处理。当软件判断出模拟量采集板卡功能异常时,能自主切换到只使用数字量的方法,此方法能有效提高设备的安全性。
4)本文提出的方法,对于其他测试系统具有一定的借鉴意义,可以推广使用。
[1]CPCI Introduction[EB/OL].http: //yakaal2.bokee.Eom.6037633.html.
[2]李晓莉,甘明.基于PCI总线的主板诊断卡设计[J].现代电子技术,2007,30 (3):156-158.LI Xiao-li,GAN Ming.The design of mainboard diagnose based on PCI Bus[J].Modern Electron Technology,2007,30 (3):156-158.
[3]赵娜,张磊.运载火箭大容量CPCI集成数据采集与测试系统设计[J].航天控制,2012,30 (1):66-70.ZHAO Na,ZHANG Lei.The design of large-capacity integrated data acquisition and testing system of rocket based on CPCI bus[J].Aerospace Control,2012,30 (1):66-70.
[4]刘晖,冀然然.PCI系统结构(第四版)[M].北京:电子工业出版社,2000.LIU Hui,JI Ran-ran.PCI system architecture (4th)[M].Beijing:Electronics Industry Press,2000.
[5]杜会斌,吴晓娟,周旭.自动测试在军事电子技术中的应用[J].无线电控制,2005,35 (9):61-64.DU Hui-bin,WU Xiao-juan,ZHOU Xu.Application of automatic test technology to military electronic technology[J].Radio Engineering,2005,35 (9):61-64.
[6]任立明.可靠性工程师必备知识手册[M].北京:中国质检出版社,2013.REN Li-ming.The handbook need by reliability engineer[M].Beijing:China Quality Inspection Press,2013.
[7]孙鲁毅.四种流行的嵌入式实时操作系统的比较研究—VxWorks,QNX,ucLinux,RTEMS[J].计算机应用与软件,2007,24 (8):196-197.SUN Lu-yi.The comparison&research of four popular rtos—Vxworks,QNX,Uclinux,RTEMS[J].Computer Applications and Software,2007,24 (8):196-197.
[8]胡曙辉,陈健.几种嵌入式实时操作系统的分析与比较[J].单片机与嵌入式系统应用,2007(5):5-9.HU Shu-hui,CHEN Jian.Analysis and comparison of several embedded real-time operating system[J].Microcontrollers & Embedded Systems,2007 (5):5-9.
Design and Realization of Fault Diagnosis for Spacecraft Test Equipment Based on CPCI Architecture
CHEN Bin,WANG Xue-tao,YANG Yang,JU Mei-qi
(Beijing Institute of Control Engineering,Beijing 100094)
The spacecraft systemic test equipment based on CPCI bus architecture can realize the modular,integrated,and universal design,which is more convenient to re-exploit,follow and maintain.The ground test equipment of a certain model's integrated electronic& control subsystem has adopted the CPCI bus architecture,VxWorks operating system as core dispatcher,modular FPGA interface development and specified function.By detection means of task monitor,functional module and board run time,this paper can realizes the fault diagnosis of system test equipment,and autonomic failure handling especially for the reverse wheel speed module.In the use of the subsystem and whole-spacecraft test,this method effectively improves reliability of equipment,security guard of the products on the spacecraft,and also ensures continuous and reliable operation of large scale experiment.Meanwhile,the method has certain reference on fault diagnosis of other ground test equipment.
CPCI;fault diagnosis;reliability
U666.1
A
1674-5558(2017)05-01370
10.3969 /j.issn.1674-5558.2017.06.013
2017-02-03
陈斌,男,硕士,控制科学与工程专业,工程师,研究方向为航天器控制分系统的设计及验证。