?

基于時鐘芯片的硬件看門狗電路設計與實現

2020-02-05 02:19李峰
電子技術與軟件工程 2020年7期
關鍵詞:看門狗低功耗間隔

李峰

(小佩網絡科技(上海)有限公司 上海市 201203)

1 引言

看門狗,又叫WatchDog Timer(WDT),從本質上來說就是一個定時器電路,一般有一個輸入和一個輸出,其中的輸入叫做喂狗,輸出一般連接到另外一個部分的復位端,復位端一般為Microcontroller Unit(MCU)。

在MCU正常工作的時候,每隔一段時間輸出一個信號喂狗——給看門狗電路清零,如果在超過規定的時間不喂狗,WDT 定時超時,就會輸出一個復位信號到達MCU,使MCU 復位重啟,從而防止MCU 死機??偟膩碚f,看門狗電路的作用就是防止程序發生死鎖或者跑飛。

WDT 的基本工作原理如下:在整個系統運行以后就啟動了看門狗的計數器,此時看門狗就開始自動計時,如果到達了一定的時間還不去給它清零,看門狗計數器就會溢出從而引起看門狗中斷,造成系統的復位。

硬件看門狗就是利用了一個定時電路,來監控主程序的運行。在主程序的運行中,要在定時時間到達之前對定時器進行復位??撮T狗的作用就是防止程序死循環和系統死機。

隨著微電子技術的發展,嵌入式系統越來越復雜,為提高電路運行的可靠性,加入硬件看門狗電路,在軟件出現異常時重啟電路,使得系統恢復正常運行。

本文在介紹了使用時鐘芯片實現硬件看門狗電路的方法,以及與普通看門狗電路實現方案的對比。

2 傳統硬件看門狗電路分析

圖1:PCF8563 內部功能框圖

圖2:PCF8563 看門狗硬件原理圖框圖

圖3:PCF8563 看門狗軟件流程圖

傳統硬件看門狗電路,一般由硬件定時器,看門狗輸入,看門狗輸出電路組成,在電路運行過程中,硬件定時器不停計時,定時器計時滿產生溢出時,觸發看門狗輸出電路輸出低電平,此低電平用于觸發處理器系統的硬重啟;當處理器正常運行時,會在定時器溢出前控制看門狗輸入引腳電平不斷變化,對定時器進行清零,從而避免溢出產生重啟信號。

隨著集成電路的發展與成熟,目前已很少使用分立器件實現硬件看門狗,多采用集成電路來實現,如SGM706、CAT823、EM6323、MAX813L 等均是常用的硬件看門狗芯片,他們的共同特點是定時器最大計時長度均為1.6 秒左右,即處理器的“喂狗”信號周期必須小于1.6 秒,才能可靠實現看門狗功能。

當前物聯網系統的飛速發展,有大量硬件終端處于遠程、低功耗工作模式,如遠程抄表,電子車鎖等,處理器多數時間處于低功耗睡眠狀態,頻繁的啟動并輸出“喂狗”信號將耗費大量電源,不利于系統長時間低功耗運行。

3 時鐘芯片看門狗電路

通用市售時鐘芯片種類繁多,其型號主要有 PCF8563、DS12887、DS1302、DS1307、DS3231 等多種型號,在實現通用的秒、分、時、日、月、年的計時功能外,各型號對外接口、鬧鐘、中斷信號等功能略有不同。鑒于看門狗電路必須有低電平信號輸出以便控制處理器硬重啟的需要,選取了帶有中斷信號輸出的PCF8563作為硬件看門狗電路的主芯片。

PCF8563 是恩智浦(NXP)公司的一款低功耗實時時鐘萬年歷芯片,采用CMOS 工藝,具備可編程時鐘輸出、中斷輸出、低電壓檢測等功能,其中可編程時鐘輸出可配置為32.768 kHz, 1.024 kHz, 32 Hz, and 1 Hz;中斷輸出為集電極開路結構,在無信號輸出時對外界電路無任何影響;對外通訊使用速度最高400kbit/s 的IIC總線。外接32.768KHz 時鐘晶體,內置起振電容,可以實現年、月、日、周、小時、分鐘、秒的計時信號存儲與輸出、鬧鐘和計時中斷功能。室溫條件下具有1.0V-5.5V 的寬工作電壓范圍和250nA 的低工作電流(關閉可編程時鐘輸出和IIC 等對外接口),具有SO8、TSSOP8、HVSON10 封裝可供不同電路面積需求使用,適用于手機,PAD 等使用電池供電的便攜電子設備使用。

其內部框圖如圖1 所示。

使用其中的TIMER FUNCTION 或ALARM FUNCTION 實現定時,ALARM FUNCTION 可實現周、日、小時、分鐘級別的定時周期,TIMER FUNCTION 的時鐘源可軟件配置為4.096kHz,64Hz,1Hz,1/60Hz,結合8 位計數器,可實現0.25 毫秒到7680秒(2 小時多)的定時周期,此定時周期間隔即是看門狗的RST 信號間隔,從上述分析可以看出,PCF8563 可實現從毫秒級到小時級,甚至天、周級的定時周期輸出,此周期的靈活性和適應性明顯比傳統看門狗電路強。

實現硬件看門狗功能的PCF8563 外圍電路連接原理如圖2 所示,其中PCF8563 的INT 引腳與MCU 的RST 引腳通常情況下可以直連;當INT 輸出時間特性與MCU 所需RST 信號不匹配時,可以做是的匹配變換,以確保功能可靠實現。

系統開機上電后,處理器芯片通過IIC 總線初始化PCF8563,根據所需看門狗電路定時間隔,設定當前時間,TIMER FUNCTION定時寄存器或ALARM FUCNTION定時寄存器,在系統正常運行時,在定時時間到之前,處理器重新設定TIMER FUNCTION 定時寄存器或ALARM FUCNTION 定時寄存器,以免其INT 引腳輸出低電平;在系統運行異常,無法按應有間隔設定TIMER FUNCTION 或ALARM FUCNTION 寄存器,定時時間到時,PCF8563 的INT 引腳輸出低電平,從而觸發系統重啟。

軟件流程圖如圖3 所示。

如上使用的硬件看門狗電路,可以實現0.25 毫秒到周級的定時“喂狗”間隔,喂狗間隔可以靈活設置,短定時間隔可以提高系統的響應速度,長定時間隔可最大限度的延長喂狗間隔,降低系統功耗。其優勢在于時間間隔程序可控,長短可調,長時間間隔有利于低功耗設備,其本身就是低功耗芯片,運行電流250nA,22uF電容可運行超過24 小時,XH414HG 電容式紐扣電池可運行數天;

此外,作為輸出復位信號的INT 引腳,除了可以連接MCU 的復位引腳外,還可以連接至系統供電電源的控制引腳,在定時器超時溢出時,短時間切斷系統電源,從而實現全系統重新上電的硬重啟,比單純復位MCU 的方法更為徹底有效。

4 結論

從文章上述內容可以看出,傳統的硬件看門狗電路最大“喂狗”間隔均在1.6秒左右,“喂狗”要求頻繁,耗費處理器資源和較多電量。使用時鐘芯片(如PCF8563)實現的硬件看門狗電路,具有自身功耗低、“喂狗”間隔跨度大(1/4096 秒——數周),成本低,通用性強等特點,尤其適用于本身就需要實時時鐘的產品,在不增加硬件成本的基礎上,實現硬件看門狗電路,提高系統運行的可靠性。

猜你喜歡
看門狗低功耗間隔
一種高速低功耗比較器設計
間隔問題
把他叫醒
間隔之謎
一種采用FPGA實現的通用看門狗電路
上樓梯的學問
ADI推出三款超低功耗多通道ADC
IDT針對下一代無線通信推出低功耗IQ調制器
低功耗加權cache替換策略
頭夾球接力
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合