国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于時(shí)鐘芯片的硬件看門狗電路設(shè)計(jì)與實(shí)現(xiàn)

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

李峰

(小佩網(wǎng)絡(luò)科技(上海)有限公司 上海市 201203)

1 引言

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

在MCU正常工作的時(shí)候,每隔一段時(shí)間輸出一個(gè)信號(hào)喂狗——給看門狗電路清零,如果在超過規(guī)定的時(shí)間不喂狗,WDT 定時(shí)超時(shí),就會(huì)輸出一個(gè)復(fù)位信號(hào)到達(dá)MCU,使MCU 復(fù)位重啟,從而防止MCU 死機(jī)。總的來說,看門狗電路的作用就是防止程序發(fā)生死鎖或者跑飛。

WDT 的基本工作原理如下:在整個(gè)系統(tǒng)運(yùn)行以后就啟動(dòng)了看門狗的計(jì)數(shù)器,此時(shí)看門狗就開始自動(dòng)計(jì)時(shí),如果到達(dá)了一定的時(shí)間還不去給它清零,看門狗計(jì)數(shù)器就會(huì)溢出從而引起看門狗中斷,造成系統(tǒng)的復(fù)位。

硬件看門狗就是利用了一個(gè)定時(shí)電路,來監(jiān)控主程序的運(yùn)行。在主程序的運(yùn)行中,要在定時(shí)時(shí)間到達(dá)之前對(duì)定時(shí)器進(jìn)行復(fù)位??撮T狗的作用就是防止程序死循環(huán)和系統(tǒng)死機(jī)。

隨著微電子技術(shù)的發(fā)展,嵌入式系統(tǒng)越來越復(fù)雜,為提高電路運(yùn)行的可靠性,加入硬件看門狗電路,在軟件出現(xiàn)異常時(shí)重啟電路,使得系統(tǒng)恢復(fù)正常運(yùn)行。

本文在介紹了使用時(shí)鐘芯片實(shí)現(xiàn)硬件看門狗電路的方法,以及與普通看門狗電路實(shí)現(xiàn)方案的對(duì)比。

2 傳統(tǒng)硬件看門狗電路分析

圖1:PCF8563 內(nèi)部功能框圖

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

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

傳統(tǒng)硬件看門狗電路,一般由硬件定時(shí)器,看門狗輸入,看門狗輸出電路組成,在電路運(yùn)行過程中,硬件定時(shí)器不停計(jì)時(shí),定時(shí)器計(jì)時(shí)滿產(chǎn)生溢出時(shí),觸發(fā)看門狗輸出電路輸出低電平,此低電平用于觸發(fā)處理器系統(tǒng)的硬重啟;當(dāng)處理器正常運(yùn)行時(shí),會(huì)在定時(shí)器溢出前控制看門狗輸入引腳電平不斷變化,對(duì)定時(shí)器進(jìn)行清零,從而避免溢出產(chǎn)生重啟信號(hào)。

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

當(dāng)前物聯(lián)網(wǎng)系統(tǒng)的飛速發(fā)展,有大量硬件終端處于遠(yuǎn)程、低功耗工作模式,如遠(yuǎn)程抄表,電子車鎖等,處理器多數(shù)時(shí)間處于低功耗睡眠狀態(tài),頻繁的啟動(dòng)并輸出“喂狗”信號(hào)將耗費(fèi)大量電源,不利于系統(tǒng)長時(shí)間低功耗運(yùn)行。

3 時(shí)鐘芯片看門狗電路

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

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

其內(nèi)部框圖如圖1 所示。

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

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

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

軟件流程圖如圖3 所示。

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

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

4 結(jié)論

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

猜你喜歡
看門狗低功耗間隔
一種高速低功耗比較器設(shè)計(jì)
間隔問題
把他叫醒
間隔之謎
一種采用FPGA實(shí)現(xiàn)的通用看門狗電路
上樓梯的學(xué)問
ADI推出三款超低功耗多通道ADC
IDT針對(duì)下一代無線通信推出低功耗IQ調(diào)制器
低功耗加權(quán)cache替換策略
頭夾球接力
溧阳市| 平南县| 昂仁县| 日土县| 思南县| 霍林郭勒市| 陈巴尔虎旗| 阳曲县| 剑河县| 嘉义县| 合作市| 文安县| 盱眙县| 顺昌县| 台前县| 乐昌市| 平邑县| 遂昌县| 大城县| 金沙县| 遂平县| 桦南县| 精河县| 永川市| 齐河县| 北川| 伊川县| 定远县| 仪陇县| 四平市| 东明县| 新乐市| 治县。| 桑日县| 花莲县| 扬中市| 苍南县| 齐河县| 资溪县| 铁岭县| 高雄市|