APP下载

无人值守嵌入式设备的看门狗监控系统

2013-09-27福建师范大学光电与信息工程学院福州350007

电子器件 2013年6期
关键词:看门狗嵌入式无人

(福建师范大学光电与信息工程学院,福州350007)

(福建师范大学光电与信息工程学院,福州350007)

针对无人值守嵌入式设备应用环境复杂多变、系统可靠性要求越来越高的特点,设计了一种看门狗监控系统,它采用TINY13微控制器来实现系统的逻辑功能,并且提供超休眠时间自动唤醒功能等基于三重故障修复机制设计的冷、热启动修复方法,使无人值守嵌入式设备无需人为干预就能快速地、最大可能地恢复至正常工作状态,有助于提高系统的可靠性,对于保障无人值守嵌入式设备的长期稳定运行、降低设备维护成本等方面具有重大意义。

无人值守嵌入式设备;可靠性;看门狗;故障修复机制

可靠性是嵌入式系统的命脉,是系统能否付诸应用的关键[1]。随着计算机技术和自动控制技术的持续发展,以及劳动力成本的不断提高,在国防、遥感遥测、工农业生产等领域有大量的嵌入式设备采用无人值守方式运行,由于这些设备的应用环境复杂多变,其内部重要资源如PC指针、堆栈以及RAM/ROM数据等容易受到温湿度变化、电磁辐射、以及电源波动等因素的干扰[2-4],从而导致系统可靠性降低,而且越来越小的IC尺寸、越来越高的工作频率,也大大地提高了系统出现故障的概率[3],当无人值守嵌入式设备,如航天航空设备、航标遥测设备、无线传感网络等,发生故障时,通常需要花费大量的人力、财力以及较长的时间才能完成修复工作。因此如何提高无人值守嵌入式设备的可靠性一直是设计人员追求的目标[3,5]。

看门狗技术就是一种公认地、能有效地实现这一目标的方法,它在嵌入式系统中被广泛使用[6]。有众多学者在如何利用和改进看门狗技术以提高无人值守设备的可靠性方面进行了研究。Christopher Boelmann、Torben Weis、Michael Engel等人在他们正研究的大规模无线传感网络中采用微控制器来作为专用看门狗监控系统来提高无线传感网络设备的自稳定性[3];Suleyman Tosun为了应对日益复杂的嵌入式应用而提出了采用一块额外的微控制器以增加MPSoC系统可靠性的方法[7];Mária Pohronská通过FPGA设计了多个看门狗定时器以提高实时嵌入式系统的可靠性[8];Ashraf M El-Attar和Gamal Fahmy对传统看门狗进行了改进设计,以使卫星空间成像系统可以尽快地从瞬时性故障中恢复[9];文献[10]的作者应用常规看门狗芯片设计了一种看门狗监控系统,以保障无人值守设备在休眠低功耗、烧写编程、远程升级维护等模式时可以正常运行;Abaffy J和Krajcˇovic T为了增强软件任务的可靠性,在Linux系统中建立专用看门狗监控任务检查其他任务是否正常运行,以增加系统软件的可靠性[11]。

由于无人值守嵌入式设备的应用千差万别,其对看门狗监控系统的要求也不尽相同,比如:由于加载的操作系统或者程序的规模不同,设备从上电到启动完成所需要的时间往往都会超过常规看门狗的喂狗时间(一般在1.6 s左右),因此在设备启动的过程中也需要不断喂狗,这给实际使用带来了不便,而且为了降低功耗,无人值守嵌入式设备常常设有休眠机制,进入休眠模式时设备会将看门狗监控系统屏蔽[10],但是,在此休眠过程中如果被监控的无人值守嵌入式设备发生故障,就会出现整个设备失效的情况。

此外,目前市场上大多数看门狗监控系统主要通过控制被监控设备的复位引脚以实现复位重启,俗称热启动,但设备的启动过程会受到众多因素的影响,只要其中一个因素出现问题,都会导致设备启动异常,此时即使频繁地热启动也无法使其恢复正常。

针对以上问题,本文采用TINY13微控制器设计了一套看门狗监控系统,其喂狗时间可根据实际应用需求进行设定,被监控设备在上电到启动完成前不需要喂狗,并且提供超休眠时间自动唤醒功能等基于三重故障修复机制设计的冷、热启动修复方法,有助于进一步提高无人值守嵌入式设备的可靠性。

1 硬件设计

本看门狗监控系统的硬件原理图如图1所示,使能输入端(EN)经过一个转换电路后与微控制器U1的PB4引脚相连;喂狗信号输入端(WDI)经过一个转换电路后与微控制器U1的PB3引脚相连;微控制器U1的PB0引脚经过一个转换电路后与电源控制输出端(PCT)相连;微控制器U1的引脚PB1经过一个转换电路后与复位信号输出端(RST)相连。

VDD1为看门狗监控系统的工作电源,VDD2为被监控的无人值守嵌入式设备的工作电源。

硬件上,为了保障系统间电平的匹配,每个输入输出端都设有转换电路;为了防止因引脚悬空而出现的不确定状态,每个输入输出端都配有下拉电阻,以实现硬件的“初始化”;进一步增加了本看门狗监控系统的可靠性。

图1 看门狗监控系统功能原理图

看门狗监控系统与无人值守嵌入式设备的连接示意图如图2所示,看门狗监控系统的电源控制输出端(PCT)连接至无人值守嵌入式设备的电源输入端VCC,使能输入端(EN)与无人值守嵌入式设备的一个I/O口相连,喂狗信号输入端(WDI)与无人值守嵌入式设备的一个I/O口相连,复位信号输出端(RST)与无人值守设备的复位输入端RST相连。

图2 系统连接示意图

2 软件设计

2.1 三重故障修复机制

软件设计在本看门狗监控系统中占据着极其重要的地置,如何建立一种有效的故障修复机制、以及如何有效地控制各个模块的耗时,都会对本看门狗监控系统的可靠性产生重大影响。本文在软件设计方面采用了三重故障修复机制来保证系统的可靠性[9,12-13],其故障状态分类如表1所示,状态转移图如图3所示。

表1 故障分类

图3 系统三重故障修复机制状态转移图

当看门狗监控系统在主循环中检测喂狗,如果在设定时间内喂狗信号输入端(WDI)没有收到喂狗信号时首先进入故障状态一,由本看门狗监控系统对被监控的无人值守嵌入式设备进行复位,即为一级故障修复机制。如果无人值守嵌入式设备在休眠状态中发生故障,看门狗监控系统已被屏蔽,超过最大休眠时间喂狗信号输入端(WDI)没有收到喂狗信号,则状态机翻转至故障状态二,由超休眠时间自动唤醒机制将被监控的无人值守嵌入式设备复位,即为二级故障修复机制。当被监控的无人值守嵌入式设备连续三次复位后依然无法进入正常工作状态,则状态机翻转至故障状态三,由看门狗监控系统切断被监控的无人值守嵌入式设备的电源,之后重新开启其电源,实现冷启动,即为三级故障修复机制。

当然无人值守嵌入式设备也会存在由于器件损伤、物理失效等状况而导致其永久性故障的可能,在这种情况下,即使本看门狗监控系统采用最高等级故障修复机制,被监控的无人值守嵌入式设备仍然无法恢复正常工作状态,但看门狗监控系统依旧会采用三级故障修复机制对其进行修复,并非直接定性为永久性故障而不再做处理,确保系统无需人为干预就能够快速地、最大可能地恢复至正常工作状态。

2.2 系统流程

看门狗监控系统的整体流程如图4所示,在上电启动之后,先进行内部资源初始化,包括本微处理器自身内置的看门狗等,然后延时T1,再进入主循环。上电启动延时T1时间的目的在于等待被监控的无人值守嵌入式设备启动完成,这个过程不需要喂狗,给实际使用带来了方便,也能实现程序的在线升级。在非上电启动时会通过跳过延时T1,直接进入主循环。

图4 系统流程图

2.3 主循环流程

主循环流程如图5所示,主循环开始先执行按键处理模块,后根据使能输入端(EN)判断看门狗监控系统是否使能,使能则进入检测喂狗模块,屏蔽(非使能)则进入屏蔽处理模块。之后执行软件看门狗监控任务再回到主循环。

图5 主循环流程

2.4 按键处理模块流程

按键处理模块流程如图6所示,先检测按键S101是否按下,没有按下则将[MR标志]设为正常后退出本模块。有按下则检查[MR标志]是否正常,不正常则退出本模块;正常则检测S101按下的时长,若[S101按下时长]大于T2则将[MR标志]设为异常,后退出本模块;若[S101按下时长]小于等于T2则RST输出复位脉冲。

图6 按键处理模块流程

2.5 检测喂狗模块流程

检测喂狗模块流程如图7所示,如果[WDI喂狗间隔]大于设定时间T3则进入复位处理模块,否则退出本模块。

图7 喂狗检测模块流程

2.6 屏蔽处理模块流程

屏蔽处理模块流程如图8所示,如果[屏蔽时长]大于最大休眠时间T4则进入复位处理模块,否则退出本模块。

图8 屏蔽处理模块流程

2.7 复位处理模块流程

复位处理模块流程图9所示,如果[RST复位次数]小于等于C1则RST输出复位脉冲,实现热启动,并将[RST复位次数]加1,后延时 T1。如果[RST复位次数]大于C1则PCT输出断电脉冲,实现冷启动,并将[RST复位次数]清零,后延时T1。

图9 复位处理模块流程

2.8 定时器中断处理模块流程

定时中断处理模块流程如图10所示,在定时中断处理中,如果S101按下,则[S101按下时长]加1;否则将[S101按下时长]清零。如果使能输入端(EN)为高电平即看门狗监控系统被使能,则将[屏蔽时长]清零,否则将[屏蔽时长]加1;[WDI喂狗间隔]加1后退出本模块。

图10 定时中断处理模块流程

2.9 WDI中断处理模块流程

WDI中断处理模块流程如图11所示,在产生WDI中断之后将[WDI喂狗间隔]清零。

图11 WDI中断处理模块流程

3 自可靠性保障措施

为了保障本看门狗监控系统自身的可靠性,在硬件上,我们选择了TINY13作为本监控系统的微处理器,它可以通过编程熔丝的方式启用本微控制器内置的硬件看门狗,并且只能通过固定序列才能对内置硬件看门狗的配置进行改写,在编程熔丝之后对内置硬件看门狗的使能操作只能通过高压编程(12 V)才能进行改写。

图12 软件看门狗监控任务

软件上,我们在系统任务中增加了一个软件看门狗监控任务[11],如图12所示,看门狗监控任务定时检查对看门狗监控系统软件影响最大的定时器中断使能标志、全局中断使能标志、WDI中断使能标志,以及一些相关参数是否超过了合理范围等,如果发现相关使能标志位被关闭或者参数异常则马上重新初始化,提高系统软件的可靠性。

若看门狗监控系统自身因为故障没有喂狗会产生热启动方式的重启,重启之后会自动跳过上电启动延时T1,直接进入主循环,快速恢复到正常监控流程。同时,通过配合硬件电路上转换电路设计,使得看门狗因自身故障而不工作时或者被断电时,被监控的无人值守嵌入式设备的电源默认处于接通状态,不会对其正常运行产生影响。

4 应用与结论

该看门狗监控系统于2011年开始应用于嵌入式航标遥测监控终端中,该终端是采用NXP LPC236X设计的,第一期在长江沿线航道的宜昌航道局试用,之后逐步推广到南京航道局、东海海事局、海南海事局等地应用,达3 000多套。航标遥测监控终端多安放在江河或海面的浮桶或小船上,漂浮在航道附近,其应用环境复杂多变(昼夜温差大、湿度高、盐雾腐蚀等),对可靠性的要求较高,一旦其发生故障需要专人乘船前往维护,需要耗费大量的人力、财力和较长的时间才能完成修复工作,采用本看门狗监控系统后,有效降低了航标遥测监控终端的故障发生率和设备维护成本,达到了预期的设计目标。

本文所设计的看门狗监控系统为设计人员提高无人值守嵌入式设备的可靠性提供了一种新的思路,由它监控的系统可以更好地满足现代计算机应用领域的不确定性、复杂性和高标准性的要求。此外,由于它具备结构简单、通用性好、以及故障恢复能力强的优势,对保障无人值守嵌入式设备的长期稳定运行、降低设备维护成本等方面具有重大意义。

[1]李伯成.嵌入式系统可靠性设计[M].电子工业出版社,2006: 1-2.

[2]Mahatme N N,Chatterjee I,Bhuva B L,etal.Analysis of Soft Error Rates in Combinational and Sequential Logic and Implications of Hardening for Advanced Technologies[C]//Reliability Physics Symposium(IRPS),2010 IEEE International.IEEE,2010:1031 -1035.

[3]Boelmann C,Weis T,EngelM,etal.Self-Stabilizing Micro Controller for Large-Scale Sensor Networks in Spite of Program Counter Corruptions Due to Soft Errors[C]//Parallel and Distributed Systems(ICPADS),2012 IEEE 18th International Conference on. IEEE,2012:506-513.

[4]李辉,张钰,杨牧,等.基于CMOS图像传感器的皮卫星成像系统设计[J].传感技术学报,2010,23(1):62-67.

[5]Ozturk O.Improving Chip Multiprocessor Reliability Through Code Replication[J].Computers and Electrical Engineering,2010,36 (3):480-490.

[6]Ganssle JG.The Artof Designing Embedded Systems[M].Second Edition.Newnes,2008:298.

[7]Tosun S.Energy-and Reliability-Aware Task Scheduling onto Heterogeneous MPSoC Architectures[J].The Journal of Supercomputing,2012:1-25.

[8]PohronskáM,Krajcovic T.FPGA Implementation of Multiple Hardware Watchdog Timers for Enhancing Real-Time Systems Security[C]//EUROCON-International Conference on Computer as a Tool(EUROCON),2011 IEEE.IEEE,2011:1-4.

[9]El-Attar A M,Fahmy G.An Improved Watchdog Timer to Enhance Imaging System Reliability in the Presence of Soft Errors[C]// Signal Processing and Information Technology,2007 IEEE International Symposium on.IEEE,2007:1100-1104.

[10]吴允平,李旺彪,苏伟达,等.一种嵌入式系统的看门狗电路设计[J].电子器件,2010,33(5):579-581.

[11]Abaffy J,KrajcˇoviccˇT.Software Support for Multiple Hardware Watchdog Timers in the Linux OS[C]//Applied Electronics (AE),2010 International Conference on.IEEE,2010:1-3.

[12]Baumann R.Soft Errors in Advanced Computer Systems[J].Design and Test of Computers,IEEE,2005,22(3):258-266.

[13]HeidergottW.SEU Tolerant Device,Circuit and Processor Design[C]//Design Automation Conference,2005.Proceedings.42nd. IEEE,2005:5-10.

无人值守嵌入式设备的看门狗监控系统*

汪 培,胡文倩,李彬雅,丁 兵,李汪彪,苏伟达,吴允平*

Watchdog Guarding System for Unattended Embedded System Equipments*

WANG Pei,HUWenqian,LIBinya,DING Bing,LIWangbiao,SUWeida,WU Yunping*
(College of Photonic and Electronic Engineering,Fujian Normal University,Fuzhou350007,China)

As application environment for unattended embedded systems equipments is complex and changeable,and requirements of reliability is getting higher and higher,this paper designed a watchdog guarding system.The system uses a TINY13 MCU to achieve logic purpose of it,and it provides some features such as hot and cold restartwhich is based on a triple error handling and recoverymechanisms.As a result,system has the greatest possibility to return to normalworking condition withoutmanual intervention,which is helpful to improve system reliability,and it plays a significant role for ensuring a long-term stable operation of the unattended embedded system equipments and reducing the equipments’maintenance costs.

unattended embedded system equipments;reliability;watchdog;error handing and recoverymechanisms

10.3969/j.issn.1005-9490.2013.06.023

TP23 文献标识码:A 文章编号:1005-9490(2013)06-0854-05

项目来源:教育部科技研究重点项目(212087);福建省科技厅重大项目(2011H6009);福建省高校新世纪优秀人才支持计划项目(JA11037);福建省教育厅项目(JA10078)

2013-05-19修改日期:2013-06-09

EEACC:0170N;1250F

汪 培(1988-),男,汉族,湖南桃江人,福建师范大学通信与信息系统硕士研究生,研究方向为嵌入式系统,aa88x@qq.com;

吴允平(1971-),男,汉族,福建连江人,工学博士,福建师范大学教授,硕士生导师,主要研究方向为检测技术与自动化装置的研究与教学工作,wyp @fjnu.edu.cn。

猜你喜欢

看门狗嵌入式无人
一种嵌入式计算机系统的看门狗设计
把他叫醒
TS系列红外传感器在嵌入式控制系统中的应用
无人战士无人车
反击无人机
搭建基于Qt的嵌入式开发平台
诗到无人爱处工
无人超市会流行起来吗?
嵌入式软PLC在电镀生产流程控制系统中的应用
把它叫醒