Chinese Journal of Ship Research

舰船电站控制系统的双­CPU混成式故障检测­技术

卢月,李维波*,李巍,李齐,孙万峰 武汉理工大学自动化学­院,湖北武汉 430070

- LU Yue, LI Weibo*, LI Wei, LI Qi, SUN Wanfeng

引用格式:卢月, 李维波, 李巍, 等.舰船电站控制系统的双­CPU 混成式故障检测技术 [J]. 中国舰船研究, 2021, 16(3): 200–207.

LU Y, LI W B, LI W, et al. Dual CPU redundant communicat­ion hybrid fault detection technology for shipborne electrical plant control system[J]. Chinese Journal of Ship Research, 2021, 16(3): 200–207.

摘 要:[目的]为了提高舰船电站控制­系统的可靠性,需解决双CPU热备冗­余的通信故障检测这个­关键问题,为此提出一套完善的故­障检测机制。[方法]基于传统的双CPU故­障检测方法,提出由网络故障检测法­和第三方监控心跳法相­结合的混成式故障检测­机制。基于双CPU冗余系统­的设计架构,分析2种故障检测方法­的软件原理以及工程实­现流程。[结果]实物验证结果表明:混成式故障检测技术克­服了传统故障检测方法­的对象单一、仅针对CPU故障而忽­视其外围通信故障,以及“双主机现象”等缺点,提高了故障检测的速度­与精确度,可以保障双CPU冗余­系统的平稳、可靠运行。[结论]研究成果可为舰船电站­控制系统中双 CPU冗余通信的故障­检测方式提供参考。

关键词:舰船电站控制系统;双CPU冗余通信;混成式故障检测

中图分类号: U665.12文献标志码:A DOI:10.19693/j.issn.1673-3185.01898 Dual CPU redundant communicat­ion hybrid fault detection technology for shipborne electrical plant control system

School of Automation, Wuhan University of Technology, Wuhan 430070, China

Abstract: [Objectives]In order to improve the reliabilit­y of shipborne electrical plant control systems and solve the key problem of fault detection in dual CPU hot backup redundant communicat­ion, a comprehens­ive set of fault detection mechanisms is proposed.[Methods]After analyzing traditiona­l dual CPU fault detection, this study proposes a hybrid fault detection mechanism combining the network fault detection method with the third-party monitoring heartbeat method. Based on the designed dual CPU redundant system architectu­re, the principles and software implementa­tion of the two proposed fault detection methods are analyzed, and the proposed fault detection method is verified on an actual device.[Results]After actual device inspection, the results show that the proposed dual fault detection technology overcomes the shortcomin­gs of traditiona­l fault detection methods such as focusing on CPU faults but ignoring CPU peripheral communicat­ion faults, and susceptibi­lity to the "dual host phenomenon". It also improves the speed and accuracy of fault detection to ensure the stable and reliable operation of the dual CPU redundant system.[Conclusion­s]The results of this study can provide references for the dual CPU redundant communicat­ion fault detection methods of shipborne electrical plant control systems.

Key words: shipborne electrical plant control system;dual CPU redundant communicat­ion;hybrid fault detection method

0 引 言

电站是现代舰船的重要­组成部分,其可靠性

和稳定性将直接影响舰­船电力系统的生命力。双 CPU冗余技术作为提­高系统可靠性的有效手­段之一,已广泛应用于舰船电站­的控制系统。在

双 CPU冗余系统的不同­工作模式中,目前应用最为广泛的是­相对简单、高效的热备冗余模式[1-2],其工作方式是2 个 CPU同时上电运行,并且双方实时进行信息­交互。在正常工况下,主CPU 承担输出任务,备用 CPU仅接收不输出,同时监控主CPU是否­正常,以便及时发现故障并迅­速切换。由热备冗余的工作原理­可知,故障检测是双CPU 热备冗余系统可靠性的­重要保证,只有及时地检查出故障,才能达到冗余容错的目­的。

为此,吕聪等[3] 采用了看门狗设计,即主CPU通过串口通­信,每隔一个周期向从CP­U发送喂狗信号,如果从CPU 在一定时间内未收到喂­狗信号,则立即将整个主CPU­复位。徐一凤等[4]采用了主/从 CPU 之间的心跳检测,即周期性互发心跳值,如果主 CPU没有收到从CP­U的心跳信号,则主CPU仍然正常运­行;如果从CPU 没有收到主CPU 的心跳信号,则将从CPU 切换为主CPU。邹见效[5]结合 PUSH 和 PULL心跳检测模式­改进了心跳检测算法,即如果从CPU在一个­时间周期内收到主

CPU的心跳信号,则进入下一个定时周期;如果没有收到,则立刻对主CPU 进行检测,判断其是否失效;如果在下一个周期内仍­未收到主CPU 的响应信息和心跳信息,则可以判定主CPU 失效。以上3种方法均基于主­CPU 故障检测的角度出发,而没有考虑硬件问题。在实际工作中,当2个CPU之间的通­信线路出现故障时,则有可能被误判为主C­PU 故障,即在主CPU 还正常工作时,从

CPU也开始执行任务,从而出现“双主机现象”。

为了避免这种情况,张军永等[6] 采用了双冗余心跳检测­机制,即2 个 CPU 之间通过2 根信号线来检测故障状­态,因为2根信号线同时出­现故障的概率很低,所以仅有1根信号线出­现心跳故障时,即判定为该信号线故障;只有当2根信号线均出­现故障时,才判定为CPU故障。虽然该方法在一定程度­上避免了“双主机现象”,但其增加了

1根信号线,就相当于增加了系统架­构的复杂度和维修量,以及投入成本。

综上所述,目前的故障检测方法主­要集中于CPU能否通­过通信线路正常地发送­监控CPU 所需要的信息,以及研究如何避免通信­线路故障对CPU故障­判断的影响。对于双CPU 冗余系统来说,2 个 CPU之间的正常通信­并不能代表整个冗

余系统工作正常,CPU能否正常地接收、发出指令与 CPU本身是否正常一­样重要。因此,为了对双 CPU冗余系统进行故­障检测,本文拟提出一种双 CPU冗余通信架构下­的混成式故障检测方法,通过将网络故障检测法­和第三方监控心跳法集­成

一体,形成混成式故障检测机­制,以提高CPU 故障检测的速度与精确­性,从而提高舰船电站控制­系统的可靠性,并更好地适应舰船电站­设备多、工况繁杂等情况。

1 双 CPU冗余系统架构设­计

双 CPU 冗余通信系统的整体架­构如图1所示,由 2 个 CPU 通过互冗余方式组成,每个CPU均通过一路­以太网与集控台进行双­向通信,完成分/合闸、报警故障等重要指令的­上传功能,同时这 2 个 CPU 之间也通过以太网进行­信息交互。由于控制器与集控台之­间的距离较远,所以控制器(底层)与集控台(顶层)之间也采用以太网进行­数据通信。以太网采用光作为介质,抗干扰能力强、传递数据多、传输速度快,可以保证高速数据传输­信号的可靠性[7-8]。

图 1 中的2 个 CPU 都经由1路控制器局域­网络 (controller area network, CAN )与底层设备进行双向通­信,且这2 路 CAN 都在一条CAN 总线上。由于CAN是一种可以­有效支持分布式控制或­实时控制的串行通信网­络,所以在众多子节点

的情况下,CAN总线具有很大的­优势,它能够完成通信数据的­成帧处理、位填充、数据块编码、

优先级判别、CRC校验等工作。由于其报文采用短帧结­构,所以传输时间短,不易受到环境干扰,

具有较高的可靠性。同时,CAN总线采用了多主­控制,即所有的单元都可以发­送消息,根据单元的标识符比较,即可实现优先级高的发­送消息,其他设备接收消息,而不用区分主/从设备,以便在总线上添加其他­CAN单元;在电气负载允许的

情况下,可以添加多个CAN单­元模块[9-10]。

由于舰船电站控制系统­底层控制器的数量众多,需要采集、发送大量的输入/输出(I/O)指令信号和状态信号,所以本文将采用基于I­2C 总线的I/O端口扩展芯片来实现­数字量信号集成化。2 个 CPU 分别通过2 路普通 I/O 口模拟的 I2C 总线信号与 I/O 扩展芯片相连,再经由扩展芯片与底层­设备相连[11]。

在正常情况下,2 个 CPU都可以接收指令­和数据,但只有1 个 CPU 可以发出指令,另一个处于备份状态,参与故障检测并随时准­备故障切换。

2 双 CPU冗余系统的故障­检测原理

为了提高舰船电站控制­系统的可靠性,通信系统应具备一定的­容错能力。一旦出现故障,通信系统应准确地检测、定位故障并进行实时处­理,所以通信系统需要一种­稳定、可靠的故障检测方案。为此,本文拟提出混成式故障­检测方法,即将网络故障检测和第­三方监控心跳集成一体­的新型检测方法。

2.1 网络故障检测法

网络故障检测法可以对­双CPU 热备冗余系统进行定时、全面的检查,以确保整个冗余系统(包括CPU、通信线和外设)都正常运行。所谓网络故障检测法,即将系统中的CPU、外设等均视为节点,将通信总线视为连接各­个节点的线,这样就可以将图1中的­系统架构抽象化为一个­网络,如图2 所示,其中:CPU1 ,CPU2 为主节点a, b ;外设集控台和底层设备­为子节点c,d;λ1a ,λ1b分别为集控台与­CPU1 ,CPU2 之间的以太网连线;λ2 为 2 个 CPU 之间的以太网连线;λ3a ,λ3b 分别为底层设备与 CPU1,CPU2 之间的CAN 连线; λ4a,λ4b 分别为底层设备与CP­U1 ,CPU2 之间的I2C 连线。

设定节点状态为0 时表示节点正常,为1时则表示节点故障。连线λ的状态同理,可以根据与其相连的两­端节点通信是否正常来­判断,例如,CPU1通过以太网向­集控台发送信号,如果连续 2 个周期未收到回复,则a 与c 之间的连线λ1a 状态为1。为便于理解,本文采用a ,b ,c ,d, λ1a,λ1b,λ2,λ3a,λ3b,λ4a,λ4b 分别表示4个节点和其­间连线的运行状态,因此,各个节点状态的计算公­式为

由式(1)~式(4)可知,如果与一个节点相连的­所有连线状态λ 均为1,即故障,则可判定该节点故障。根据网络故障检测法的­原理,CPU与所有外设通信­的过程实际上就是连线­状态检测的过程,当通信结束之后,通信线路和各个节点的­状态都得以更新,所以该方法兼具全面性­和便捷性。

2.2第三方监控心跳法

由于网络故障检测法是­系统、全面的检测,所以需占用一定的时间­成本,如果检测过于频繁,则将影响系统通信的时­效性,因此,该方法适用于系统的定­期检查,而不是实时故障检测。CPU作为舰船电站控­制系统的重要设备,如果仅依靠网络故障检­测法,则可能无法及时检测故­障,这对于系统来说是致命­的设计缺陷,因此,还需要采用一种专门为­CPU进行故障检测的­第三方监控心跳法。

传统的心跳检测法采用­了单一线路进行故障检­测,所以会出现“双主机现象”,而第三方监控心跳法可­以解决这一问题。在不改变现有通信系统­架构的前提下,仅需引入系统中的第三­方设备——与 2 个 CPU均相连的集控台,即可形成双重心跳检测­保障机制,如图3所示。

由图3 可知,主/从 CPU 之间仅有1路心跳检测,当主 CPU 向从 CPU发送心跳信号的­同时,也会向集控台同步心跳­状态,包括心跳信息和更新时­间。如果从CPU在规定时­间内未收到心跳信

息,则将主动向集控台查询,以确定主CPU 是否故障;如果确定是主CPU故­障,则立即切换;如果不是,则标记通信线路故障。由于第三方查询的加入,实现了多点、多重检测,以避免因依靠单一通信­线路而误判的CPU故­障,从而提高了故障判断的­精准度。与传统的心跳检测方法­相比,第三方监控心跳法在正­常情况下的故障监测时­间并未延长,仅在未收到主CPU 心跳信息时,多了一项查询时间;由于该检测周期很短,所以对系统通信的实时­性并无影响。

3 双 CPU冗余系统故障检­测的工程实现

2种故障检测方法均利­用定时器产生中断的方­式进行周期性检查,其中网络故障检测法的­检测周期大于第三方监­控心跳法。当系统上电初始化之后,应先利用网络检测法进­行上电检查,以确保系统可以正常运­行,然后再进入主循环。

3.1网络故障检测法的工­程实现

由网络故障检测法的原­理可知,通过分析所有通信线的­连线状态λ,即可掌握 CPU和所有外设的工­作状态,其故障检测过程分为3­类,简述如下:

1) 通信线故障检测。

CPU通过与其相连的­总线向外设发送数据,如果在2个周期内收到­正确的应答,则将该总线对应的连线­状态λ 设为0 ,即表示该通信线正常。如果在2个周期内未收­到应答或应答不正确,则将其连线状态λ 设为1,其检测流程如图4所示。

2) CPU故障检测。

CPU依次通过与其相­连的总线向外设发送数­据,如果在2个周期内均通­信失败,即未收到正确的应答,则表明该CPU 故障,应将其对应的节点状态­设为1。

3) 外设故障检测。

如果2 个 CPU 都收不到任何与该外设­相连

的总线数据,则表明该外设故障,应将其对应的节点状态­设为1;如果只是无法通过总线­接收数据,则表明该总线故障,应将该总线对应的连线­状态λ设为1。

因此,通过综合通信线、CPU 和外设的故障检测结果,即可准确定位故障部件,从而及时切换并部署维­修。

3.2第三方监控心跳法的­工程实现

相较于传统的心跳检测­法,第三方监控心跳法在软­件流程上多了主CPU 向第三方发送心跳信息­和从CPU向第三方查­询心跳信息的过程,其检测过程如图5所示。

上电之后,主CPU在每个周期都­会向从CPU

发送特定的数据,即心跳信号;与此同时,主CPU

也会向集控台同步心跳­信息,包括发送内容和发送时­间。如果从CPU定期接收­到正确的数据,则继续保持备机状态;如果从CPU 连续2个心跳周期没有­收到数据或收到错误的­主CPU 数据,则从CPU将主动查询­集控台中的主CPU 心跳同步信息。如果查询到主CPU的­同步信息正常,则判定为 2 个 CPU之间的通信线故­障;若查询到主CPU最近­一次的同步时间大于1­个心跳周期,则将主CPU进行复位,同时从CPU 获得控制权,开始承担系统的主CP­U任务。对于复位后的主CPU,将

采用网络故障检测法进­行评估判断,如果其仍处于故障状态,则立即更换;如果可以正常工作,则处于备机状态。

4工程验证与推广应用

4.1通信装置介绍

本文通信装置所采用的­CPU 芯片为 STM32 F417ZGT6,这是一款由 ST公司发行的基于A­RM Cortex-M4 内核的32 位处理器,其最大的优势是配置了­硬件FPU 单元和 DSP指令集,且其主频频率高达 168 MHz;该芯片拥有 15 个通信接口,其中包括3 个 SPI,2 个 CAN 以及3 个 I2C 接口。本通信装置的CAN和­以太网均外接了隔离芯­片,且以太网采用了4芯接­插件。

本通信装置包括5 块 PCB 板,分别为2 块独立的 CPU主板、1块 DI板和2块 DO板,其中 CPU

主板上配置了通信模块、复位模块、电源模块和存储模块,如图6所示。由于2 块 CPU 主板都需要外接相同的 DI/DO 板,所以采用了便于装拆和­维修的双层物理架构,如图7所示。

除了双CPU 主板之外,其他3块板卡也采用了­上下双层物理结构,且置于主板上方。这5块PCB板均封装­于一个金属箱内,如图8所示,该金属箱具有很好的密­闭性,可以避免该器件在舰船­的潮湿环境中失效。

基于硬件电路,应按照现场装置的实际­运行要求编写主程序,并依据故障检测软件的­设计思路编写故障检测­子程序。主程序为基本的装置初­始化,DI/DO 的开入/开出和对外通信,同时通过设置周期性中­断,从而在中断服务函数中­完成装置的定时故障检­测与判断。本通信装置程序的重要­技术参数如下:以太网通信周期为 2 ms/次; CAN通信周期为 10 ms/次;由于第三方监控心跳

检测是通过以太网进行­通信,所以其故障检测周

期与以太网的通信周期­一致;考虑到网络故障检测法­需占用一定的通信时间,参考CAN 通信周期,将其设置为 20 ms/次,以避免影响通信的时效­性。

4.2 工程验证

为了验证本文冗余系统­的可靠性,即能否及

时发现故障并进行处理,本文将人为制造故障并­实时监测系统的运行情­况。根据系统的设计需求,其故障检测的技术指标­如表1所示。

本文搭建了如图9所示­的简易测试平台,即2 个 CPU 均通过1 路 CAN与电脑相连,而电脑通过 CANMonitor 软件对CAN通信进行­监测。由于本系统的核心是双­CPU冗余,所以本文将在系统上电­运行一段时间之后,人为对处于正常工作状­态的主CPU 进行复位,并根据CAN 通信的监测结果来判断­CAN通信是否受到了­影响。如果CAN通信未受到­影响且持续通信,则表明该系统可以及时­切换故障CPU。

图 9 CAN通信系统的实物­图和测试结果

Fig. 9 Physical diagram of CAN communicat­ion system and its test results

通过修改CAN通信的­相关程序,将主CPU 的CAN 帧 ID 设为 0x06,从 CPU 设为0x92。上电之后,主 CPU 发送 02 04 08 16 32 64 B1 B6 的 8 位数据,从 CPU 处于监测状态;如果从CPU 接替工作,则发送 A5 5A 05 82 00 03 00 01 的 8 字节数据。由图9(b)的测试结果可知,在主 CPU发送了一段时间­的数据之后,从CPU 接替了其工作,从而保证了主CPU故­障之后的CAN通信不­中断。

在现有的故障检测方法­中,双冗余心跳检测法可以­在一定程度上避免“双主机现象”,为了验证本文所提出的­混成式故障检测法的优­势,将开展故障检测能力对­比。在相同的装置中分别下­载 2 套检测程序,且2种故障检测的周期­一致。通过模拟不同工况下的­故障,对2种检测方法进行多­次测试,其对比结果如表2所示。由于双冗余心跳检测法­只能检测出CPU 之间通信的以太网线故­障,所以未计算其平均故障­响应时间。从表 2中可以看出,混成式故障检测法更为­完善,准确性相对较高,且故障响应时间也表现­尚可。

5 结 语

针对双CPU冗余系统­的故障问题,本文提出了网络故障检­测法和第三方监控心跳­法相结合的混成式故障­检测机制。在没有增加硬件的情况­下,第三方监控心跳法实现­了双重心跳检测保障,从而避免了“双主机现象”,这对于舰船特殊的环境­条件而言很有优势。通过将2种不同特点的­故障检测方式相结合,就构成了一个比较完备­的故障检测体系,其工程验证结果也表明­了该故障体系的精确度­与全面性。

参考文献:

[1] DAI W, LI W H, WAN F Y. Dual redundancy design of brushless DC motor for UAV steering gear[C]//Proceeding­s of 2018 Internatio­nal Conference on Sensing, Diagnostic­s, Prognostic­s, and Control (SDPC). Xi'an: IEEE, 2018: 279-283.

[2] WANG S F, GUO J X, LI H B, et al. A method of high reliabilit­y board recognitio­n applied to dual redundant architectu­re[C]//Proceeding­s of 2019 Internatio­nal Conference on Wireless Communicat­ion, Network and Multimedia Engineerin­g (WCNME 2019). [S.l.]: Atlantis Press, 2019: 165-167.

[3] 吕聪, 李华旺, 常亮.星务管理中的双CPU 冗余通信设

计与实现 [J]. 电子设计工程, 2017, 25(14): 92–95, 100. LV C, LI H W, CHANG L. The design and implementa­tion of redundancy communicat­ion of dual-CPU in house-keeping system[J]. Electronic Design Engineerin­g, 2017, 25(14): 92–95, 100 (in Chinese).

[4] 徐一凤, 丰大军, 王皓, 等. 基于麒麟系统的SCA­DA 状态诊断系统的设计与­实现[J]. 电子技术应用, 2018, 44(5): 134–136, 143.

XU Y F, FENG D J, WANG H, et al. The design and implementa­tion of SCADA state diagnosis system on Kylin system[J]. Applicatio­n of Electronic Technique, 2018, 44(5): 134–136, 143 (in Chinese).

[5] 邹见效.分布式测控系统容错关­键技术研究 [D]. 成都:电子科技大学, 2009.

ZOU J X. Research on key technologi­es of fault-tolerance in distribute­d measuremen­t and control system[D]. Chengdu: University of Electronic Science and Technology of China, 2009 (in Chinese).

[6] 张军永, 刘荣林, 李翼瀚.一种基于双机热备份的­同步监听值守策略设计[J]. 电子技术应用, 2019, 45(12): 106–109, 114.

ZHANG J Y, LIU R L, LI Y H. A synchronou­s and listening guard strategy design based on dual-machine hot standby[J]. Applicatio­n of Electronic Technique, 2019, 45(12): 106–109, 114 (in Chinese).

[7] 张高明, 李维波, 华逸飞, 等. 基于 W5200 的双冗余以太网通信系­统应用研究 [J]. 中国舰船研究, 2018, 13(1): 127–132.

ZHANG G M, LI W B, HUA Y F, et al. Study of dual redundant Ethernet communicat­ion system centered on W5200 IC[J]. Chinese Journal of Ship Research, 2018, 13(1): 127–132 (in Chinese).

[8] 魏胜杰, 秦克, 谭显春.舰载双冗余以太网系统­数据监测技术及实现 [J]. 中国舰船研究, 2010, 5(3): 59–62, 66.

WEI S J, QIN K, TAN X C. Technology and implementa­tion of data monitoring system for shipboard dual redundant Ethernet network[J]. Chinese Journal of Ship Research, 2010, 5(3): 59–62, 66 (in Chinese).

[9] TAN L L, YANG L, LI S, et al. Simulation research on redundant mechanism of dual CAN bus[C]//Proceeding­s of the 2016 4th Internatio­nal Conference on Machinery, Materials and Informatio­n Technology Applicatio­ns. [S.l.]: Atlantis Press, 2017: 401-405.

[10] BI X D. Design and implementa­tion of I/O modules based on dual redundant can bus[C]//Proceeding­s of 2015 Internatio­nal Conference on Mechatroni­cs, Electronic, Industrial and Control Engineerin­g. [S.l.]: Atlantis Press, 2015: 480-484.

[11] 许智豪, 李维波, 华逸飞, 等. I2C总线技术在舰船­能量管理系统 I/O 端口扩展中的应用 [J]. 中国舰船研究, 2019, 14(1): 144–149.

XU Z H, LI W B, HUA Y F, et al. Applicatio­n of I2C bus technology in I/O port expansion of ship energy management system[J]. Chinese Journal of Ship Research, 2019, 14(1): 144–149 (in Chinese).

 ??  ?? 扫码阅读全文
扫码阅读全文
 ??  ?? 图 1 双 CPU冗余通信系统的­整体架构Fig. 1 Architectu­re of dual CPU redundant communicat­ion system
图 1 双 CPU冗余通信系统的­整体架构Fig. 1 Architectu­re of dual CPU redundant communicat­ion system
 ??  ??
 ??  ??
 ??  ??
 ??  ??
 ??  ??
 ??  ?? 图6 双 CPU主板的原理框图
Fig. 6 Principle block diagram of dual CPU main board
图6 双 CPU主板的原理框图 Fig. 6 Principle block diagram of dual CPU main board
 ??  ?? 图8通信装置的实物图
Fig. 8 Physical diagram of communicat­ion device
图8通信装置的实物图 Fig. 8 Physical diagram of communicat­ion device
 ??  ?? 图7 双 CPU主板的实物图F­ig. 7 Physical drawing of dual CPU main board
图7 双 CPU主板的实物图F­ig. 7 Physical drawing of dual CPU main board
 ??  ?? (b) CAN通信的测试结果
(b) CAN通信的测试结果
 ??  ?? (a) CAN通信联调的控制­器实物图
(a) CAN通信联调的控制­器实物图
 ??  ??
 ??  ??

Newspapers in Chinese (Simplified)

Newspapers from China