用CD制作看門狗報警電路_第1頁
用CD制作看門狗報警電路_第2頁
用CD制作看門狗報警電路_第3頁
用CD制作看門狗報警電路_第4頁
用CD制作看門狗報警電路_第5頁
已閱讀5頁,還剩1頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

1、 用CD4060制作看門狗報警電路看門狗定時器(WDT,Watch Dog Timer)是單片機的一個組成部分,它實際上是一個計數(shù)器,一般給看門狗一個大數(shù),程序開始運行后看門狗開始倒計數(shù)。如果程序運行正常,過一段時間CPU應(yīng)發(fā)出指令讓看門狗,重新開始倒計數(shù)。如果看門狗減到0就認為程序沒有正常工作,強制整個系統(tǒng)復(fù)位。原理圖:CD4060芯片特性1) 電壓范圍寬,應(yīng)該可以工作在3V15V,輸入阻抗高,驅(qū)動能力差外,跟74系列的功能基本沒有區(qū)別;2) 輸入時,1/2工作電壓以下為0,1/2工作電壓以上為1;3) 輸出時,1=工作電壓;0=0V;4) 驅(qū)動能力奇差,在設(shè)計時最多只能帶1個TTL負載;5

2、) 如果加上拉電阻的話,至少要100K電阻;6) 唯一現(xiàn)在使用的可能就是計數(shù)器,CD4060的計數(shù)器可以到14級二進制串行計數(shù)。以AT89C51為例:看門狗電路由14位二進制計數(shù)器CD4060和三極管VT1、VT2等組成。       Vout接單片機AT89C51的引腳輸出口P1.7,由單片機的CPU向看門狗電路發(fā)送喂狗信號正脈沖,在兩個正脈沖間隔內(nèi),P1.7保持為低電平(此功能要結(jié)合軟件才能實現(xiàn),相應(yīng)的軟件設(shè)計在下面介紹)。我們知道,單片機AT89C51的IO口帶灌電流負載的能力比較大,每個引腳低電平時的吸入電流為20 mA,帶拉

3、電流負載的能力卻很小,實測情況是,每個引腳高電平時的輸出電流僅25A,現(xiàn)在P1.7口被設(shè)計成帶拉電流負載的方式,為了提高P1.7口帶拉電流負載的能力,所以,電路中設(shè)置了上拉電阻R3。      14位二進制計數(shù)器CD4060的計數(shù)脈沖由其內(nèi)部振蕩器和外接阻容元件R1、R2、C1組成的電路產(chǎn)生,振蕩周期為      T0SC=2.2×R1×C1=0.22 ms      振蕩器產(chǎn)生的計數(shù)脈沖(矩形波)可以直接引出,同時還可以從C

4、D4060的10個輸出端Q4Q10和Q12Q14得到不同分頻系數(shù)的方波輸出,各方波輸出信號的周期如表1所示。這樣,如果CD4060得不到CPU通過P1.7口發(fā)送來的喂狗信號正脈沖,則CD4060的輸出端Q14在1.8S內(nèi)將產(chǎn)生一個完整周期的方波信號,而且低電平在前,高電平在后,其高電平經(jīng)三極管VT1、VT2處理后形成單片機AT89C51的復(fù)位信號,使單片機AT89C51復(fù)位。由此可見,單片機AT89C51正常工作時,只要在0.9S內(nèi)從P1.7口送出一個正脈沖,便可及時清零看門狗,輸出端Q14就不會產(chǎn)生定時溢出信號,從而使看門狗電路對單片機系統(tǒng)不起作用。并且,從CD4060的10個輸出端Q4Q1

5、0和Q12Q14可以得到不同周期的方波信號,經(jīng)三極管VT1、VT2處理后形成單片機系統(tǒng)的復(fù)位信號,可以適應(yīng)不同用戶應(yīng)用程序,從而該硬件看門狗電路可以適應(yīng)不同的單片機應(yīng)用系統(tǒng)。對MCS-51系列的單片機而言,它所需要的復(fù)位信號是高電平寬度大于2個機器周期的正脈沖,例如,單片機的時鐘脈沖頻率為12 MHz時,則所需要的復(fù)位信號高電平寬度為2s以上就可以了,而由上面的分析可知,CD4060的Q14輸出的是高電平寬度為0.9 s的方波,如果讓它直接作為單片機的復(fù)位信號,則單片機的復(fù)位時間勢必在0.9 s以上,這樣盡管可以使程序跑飛的單片機復(fù)位,但是顯然沒有做到盡快地引導(dǎo)跑飛的程序到正確的軌道來,如果這

6、樣做的話,對于某些單片機應(yīng)用系統(tǒng)而言可能帶來非常嚴重的后果。圖1中的三極管VT1、VT2及其周圍阻容元件構(gòu)成波形轉(zhuǎn)換電路,把較寬的正脈沖變換為較窄的正脈沖,從而較好地解決了上述的問題。三極管VT1、VT2構(gòu)成的2級直接耦合放大器作為緩沖器使用,它是CD4060的輸出端Q14的灌電流負載,C2、R8是微分電路。      經(jīng)分析后不難看出,電路中的R7、R8、C2還具有單片機上電復(fù)位的功能。      2 上電復(fù)位與看門狗信號復(fù)位的不同處理過程    

7、60; 由于程序跑飛很可能會造成一些隨機破壞事件,對某些系統(tǒng)而言,希望盡可能從斷點處恢復(fù)運行,因此,有必要妥善解決跑飛的程序回復(fù)后的處理。      單片機應(yīng)用系統(tǒng)上電時,上電復(fù)位電路會使得單片機處于復(fù)位狀態(tài),這一般稱為冷啟動,這種情況下,單片機處于復(fù)位狀態(tài)表現(xiàn)為:      (1) 程序計數(shù)器PC的值為0000H。      (2) IO口(P0、P1、P2、P3(1)為FFH狀態(tài),即準雙向IO口的輸入狀態(tài)。   

8、   (3) 堆棧指示器SP=07H,即堆棧底為片內(nèi)RAM的07H單元。      (4) 除上述狀態(tài)外,所有特殊功能寄存器SFR的有效位均為0。      (5) 上電復(fù)位時,由于是重新供電,RAM在斷電時數(shù)據(jù)丟失,上電復(fù)位后為隨機數(shù)。      單片機應(yīng)用系統(tǒng)的程序跑飛時,看門狗產(chǎn)生復(fù)位信號,也會使得單片機處于復(fù)位狀態(tài),這一般稱為熱啟動,這種情況下,單片機處于復(fù)位狀態(tài)表現(xiàn)為:    

9、  (1) 程序計數(shù)器PC的值為0000H。      (2)IO口(P0、P1、P2、P3)為FFH狀態(tài),即準雙向IO口的輸入狀態(tài)。      (3)堆棧指示器SP=07H,即堆棧底為片內(nèi)RAM的07H單元。      (4)除上述狀態(tài)外,所有特殊功能寄存器SFR的有效位均為0。      (5)復(fù)位信號使得單片機處于復(fù)位狀態(tài)時,片內(nèi)RAM中的數(shù)據(jù)不受影響。  &#

10、160;   比較上面兩種單片機復(fù)位方式可知,上電復(fù)位與信號復(fù)位不同之處是第(5)點,這正是我們區(qū)分兩種單片機復(fù)位方式的根據(jù)。具體方法是設(shè)置上電復(fù)位標志,例如,片內(nèi)RAM的7EH單元和7FH單元分別為(7EH)=18H且(7FH)=81H時表示已完成上電復(fù)位。上面兩種單片機復(fù)位方式都使得程序從0000H入口。然而,上電復(fù)位后要進行系統(tǒng)的完全初始化,而程序跑飛回復(fù)后往往要求保留一些過程參數(shù),不允許重新初始化,而且還要對一些關(guān)鍵參數(shù)進行檢查與修復(fù)。       因此,要根據(jù)不同情況進行不同的初始化處理。圖2是上電復(fù)位與

11、程序跑飛回復(fù)初始化處理框圖。0000H是MCU的復(fù)位人口,程序啟動后,首先判斷是上電復(fù)位(冷啟動),還是程序跑飛回復(fù)(熱啟動)。上電復(fù)位是開機操作,要建立上電標志,并進行系統(tǒng)的完全初始化。程序跑飛回復(fù)應(yīng)進行相關(guān)資源的檢查與修復(fù),以防止系統(tǒng)運行出錯。另外,根據(jù)系統(tǒng)特點,需要保留一些過程數(shù)據(jù),不得進行完全初始化。 3 喂狗指令插入原理與位置      單片機應(yīng)用系統(tǒng)運行正常時,單片機的CPU應(yīng)在0.9 s內(nèi)從P1.7口送出一個正脈沖,使看門狗及時清零,也就是說,CPU要在0.9 s以內(nèi)執(zhí)行一次下面的喂狗程序段(喂狗指令):SETBP1.7

12、NOPNOPCLRP1.7      喂狗程序段插入到用戶應(yīng)用程序之中。單片機系統(tǒng)的用戶應(yīng)用程序一般由循環(huán)結(jié)構(gòu)的主程序和中斷服務(wù)子程序組成。首先,應(yīng)盡可能準確地估算各應(yīng)用功能模塊的運行時間,估算運行時間的時候,應(yīng)考慮程序可能被中斷,應(yīng)把中斷程序的運行時間也計算在內(nèi)。然后,在若干個應(yīng)用功能模塊的運行時間小于0.9 s的兩個應(yīng)用功能模塊之間插入上面的喂狗程序段。      為了防止看門狗非正常失效(即:已發(fā)生程序跑飛但看門狗不“叫”不產(chǎn)生單片機所需要的復(fù)位信號),在用戶應(yīng)用程序中插入喂狗程序段時應(yīng)注

13、意下面3點。      (1)避免在中斷服務(wù)子程序中插入喂狗程序段。      當MCU受干擾而發(fā)生程序跑飛,只要MCU片內(nèi)中斷允許控制寄存器不遭破壞,則不論程序飛到什么地方,CPU仍能像程序正常運行時一樣響應(yīng)和執(zhí)行中斷服務(wù)子程序。因此,在各中斷服務(wù)子程序中都不應(yīng)該插入喂狗程序段。      (2)避免在用戶應(yīng)用程序中的局部循環(huán)圈內(nèi)插入喂狗程序段。      這樣的話,即使程序跑飛后非正常進入該循

14、環(huán)圈內(nèi),并且跑飛后的程序在該循環(huán)圈內(nèi)“死循環(huán)”,也會因為看門狗接收不到喂狗信號,發(fā)生看門狗定時計數(shù)溢出,進而使系統(tǒng)恢復(fù)正常運行。      (3)對P1口的其它7根IO線的輸入和輸出操作全部采用位操作指令,這樣的話,對P1口的所有操作都是采用的位操作指令。因為如果對P1.0P1.6的輸入和輸出操作采用直接尋址的方式完成,則勢必會有可能影響到P1.7的輸出操作,從而可能導(dǎo)致看門狗非正常失效。      4 結(jié) 論      在用戶應(yīng)用程序中插入喂狗

15、程序段后,相當于啟動了看門狗,就無法再使用各類單片機開發(fā)系統(tǒng)或單片機仿真器對該應(yīng)用系統(tǒng)進行仿真調(diào)試。所以,單片機應(yīng)用系統(tǒng)在開始設(shè)計和調(diào)試用戶應(yīng)用程序時,通常不連接看門狗電路,也不在用戶應(yīng)用程序中插入喂狗程序段,而是在用戶應(yīng)用程序研發(fā)成功后,再將看門狗電路連接到硬件系統(tǒng)中,并在用戶應(yīng)用程序中插入喂狗程序段,并且進行系統(tǒng)的現(xiàn)場試驗,以檢驗系統(tǒng)的抗干擾能力是否滿足系統(tǒng)的設(shè)計要求。      將采用了CD4060的硬件看門狗技術(shù)的單片機應(yīng)用系統(tǒng)放置在具有較強電磁干擾的環(huán)境中工作,如果能長時間連續(xù)正常地工作,則說明系統(tǒng)具有較強的抗干擾能力。作者曾在采用了基于CD4060的硬件看門狗技術(shù)的單片機應(yīng)用系統(tǒng)的交流電源插座處,較頻繁地插撥其它用電設(shè)備的交流電源插頭,沒有發(fā)現(xiàn)系統(tǒng)程序跑飛的現(xiàn)象。相反地,把系統(tǒng)中的硬件看門狗電路拆掉,則系統(tǒng)在多次插撥其它用電設(shè)備的交流電源插頭的情況下,有時會出現(xiàn)系統(tǒng)程序跑飛的現(xiàn)象。由此可見,基于CD4060的

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論