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

下載本文檔

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

文檔簡(jiǎn)介

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

溫馨提示

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

最新文檔

評(píng)論

0/150

提交評(píng)論