?

新型純硬件看門狗電路設計分析研究

2019-06-26 07:04谷智明
無線互聯科技 2019年7期
關鍵詞:看門狗死機

摘? ?要:看門狗電路是電子電路中一種非常常見的電路,常用的看門狗電路在喂狗進程工作,CPU死機的狀態時,可以重新復位CPU,防止CPU跑飛。但是在一些極端條件下,看門狗進程也會掛死,例如溫度過高等,此時看門狗無法重啟CPU,設備死機。文章提出一種全新的看門狗電路,解決軟件設備完全死機后CPU的復位問題。

關鍵詞:看門狗;死機;復位

由CPUhttps://baike.baidu.com/item/%E5%8D%95%E7%89%87%E6%9C%BA/102396構成的電子系統中,CPU的工作常常會受到外界因素的干擾,這些干擾造成各種寄存器和內存的數據混亂,導致程序跑飛,使軟件陷入死循環,此時CPU無法正常工作,整個電子系統將陷入停滯狀態,發生不可預料的后果。

1? ? 常見的看門狗電路

看門狗就是定期地查看芯片內部的情況,一旦發生錯誤就向芯片發出重啟信號的電路??撮T狗命令在程序的中斷中擁有最高的優先級。

但是現在市面上絕大多數的看門狗電路都是軟件看門狗電路,即CPU在完全死機的情況下(看門狗模塊也死機)(見圖1),無法進行看門狗復位。

圖1? 純軟件看門狗電路

后期有人改進了純軟件的看門狗電路,在CPU看門狗與CPU復位管腳之間增加了復位芯片(類似MAX706),具體如圖2所示。

圖2? 增加復位芯片的看門狗電路

增加了復位芯片MAX706后,當CPU完全死機時,CPU的WDT_RST_OUT信號不喂狗,MAX706的WDI信號接收不到喂狗信號后會通過RST_OUT輸出一個復位信號給CPU,在沒有Switch的情況下,該復位信號直接到CPU的復位管腳,完成CPU的復位。

但是CPU只有在軟件完全啟動后才會給MAX706提供喂狗信號,在設備剛上電時,MAX706要比CPU早啟動,此時,CPU無法給MAX706提供喂狗信號,在沒有Switch的情況下,MAX706會頻繁的復位CPU,造成CPU無法正常啟動。

增加Switch開關,必須在CPU未完全啟動之前保證開關關閉,CPU啟動之后再打開開關。此時,如果CPU出現死機狀態,所有控制管腳輸出紊亂,Switch開關處于關閉狀態時,MAX706仍然無法復位CPU。

2? ? 純硬件看門狗電路

我們提出的硬件看門狗電路可以解決CPU完全死機的情況下無法復位的問題,具體如圖3所示。

圖3? 純硬件看門狗電路框

它們之間的優缺點對比如表1所示。

屬性\類型 純軟件看門狗電路 增加復位芯片

看門狗電路 純硬件

看門狗電路

CPU程序跑飛復位 支持 支持 支持

CPU完全死機復位 不支持 不支持 支持

硬件看門狗電源的原理框架如圖4所示。

3? ? 原理圖中信號定義解釋

(1)CPU_GPIO_OUT:輸入信號,CPU輸出給復位看門狗芯片(D3)的喂狗信號,要求1.6 s輸出一個脈沖。

(2)CPU_RST:輸出信號,復位看門狗芯片(D3)輸出給CPU的復位信號,低有效。

(3)WDO:輸出信號,復位看門狗芯片(D3)的6腳WDI沒有接收喂狗信號時,WDO輸出為低。

(4)MR:輸入信號,該信號為低時,會將復位看門狗芯片(D3)的7腳置為低。

4? ? 原理圖中器件功能描述

(1)MAX706REPA:復位看門狗芯片。

(2)MAX4568:單刀雙擲SPST開關。

(3)6368_30E0:60 s延時IC芯片,LED1、LED2為6368_30E0的兩路輸出,一路輸出低電平,一路輸出高電平,上電不工作,一個按鍵控制,觸發一下, 兩路信號同步工作,延時60 s,時間到自動停止工作,重新觸發重新工作60 s。工作中觸發無效。

5? ? 上電階段

(1)剛上電時,WDO信號慢慢變高,U6不導通,U6對邏輯電平高的判斷要求在2.4 V以上,根據RC充電電路公式 可算出WDO需要130 ms才能達到2.4 V。備注:Vt為任意t時刻,電容上的值;V0為電容的初始值;Vu為電容充滿終止電壓值。

(2)U6不導通,KEY信號通過R11拉低,U3工作,LED1在剛上電時是低電平,持續時間60 s后變為高阻。

(3)LED1為低時,U5不導通60 s,60 s內,WDO無論怎么變化,MR不會發生變化,此時決定MR電平的是R9電阻,一直保持高,則D3的7腳輸出高,CPU正常啟動。

6? ? 工作階段

(1)D3上電后沒有被CPU喂狗,WDO在上電1.6 s后會輸出低電平,但是不會影響D3的1、7腳電平,CPU正常啟動后,對D3進行喂狗,WDO輸出為高,一切正常。

(2)WDO為高后,U6的2腳滿足導通電平,此時KEY信號強上拉弱下拉,U3的2腳為高,U3不工作。

(3)U3不工作時,LED1會由R13至高,WDO通MR,此時WDO為高,MR為高,CPU_RST為高,一切正常。

7? ? 死機

(1)CPU死機后,D3沒有被喂狗,WDO會由高變低,U6的2腳需要從3.3 V降低到2.4 V以下,U6才會關斷,在U6關斷之前,KEY仍然保持高,LED1仍然為高,WDO的低信號通過U5傳輸給MR,MR至低,CPU_RST至低,CPU重啟。

(2)70 ms后,U6的2腳電平降低到2.4 V以下,此時KEY信號沒有強上拉,只有弱下拉,U3開始工作,LED1輸出為低,關斷U5芯片,MR通過電阻R9上拉到高,CPU_RST變高,此階段會持續60 s,CPU完成重啟,重新進入上電階段。

8? ? 結語

本次設計的看門狗電路實現簡單,價格便宜,所有的BOM成本不超過10 RMB;整個電路已經打板驗證成功,可以在-20~+85℃條件下使用,且電路的延時時間可靈活調整,可以滿足絕大多數單板的硬件看門狗啟動。

作者簡介:谷智明(1987— ),男,湖北黃石人,工程師,碩士;研究方向:電子科學與技術。

Abstract:Watchdog circuit is a kind of very common circuit in electronic circuit. The commonly used watchdog circuit can reset the CPU, to prevent the CPU from running when the dog is feeding the process and the CPU is dead. However, in some extreme conditions, the watchdog process will also hang up, such as excessive temperature, etc. when the watchdog cannot restart the CPU, device crash. In this paper, a new watchdog circuit is proposed to solve the reset problem of CPU after the software device is completely dead.

Key words:watchdog; crash; reset

猜你喜歡
看門狗死機
電腦死機時在干什么
提醒
把他叫醒
一種采用FPGA實現的通用看門狗電路
硬件看門狗電路在熱泵熱水機上的應用
軟硬件看門狗技術研究
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合