?

無人值守嵌入式設備的看門狗監控系統

2013-09-27 09:26福建師范大學光電與信息工程學院福州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在電鍍生產流程控制系統中的應用
把它叫醒
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合