版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
項(xiàng)目十
看門狗的應(yīng)用目錄項(xiàng)目導(dǎo)入項(xiàng)目目標(biāo)項(xiàng)目分析知識儲備01030204項(xiàng)目實(shí)施拓展訓(xùn)練0506項(xiàng)目導(dǎo)入01項(xiàng)目導(dǎo)入項(xiàng)目導(dǎo)入單片機(jī)的看門狗是一種硬件定時(shí)器,用于檢測系統(tǒng)是否處于假死狀態(tài),其作用非常重要。在溫度控制系統(tǒng)中,如果異常發(fā)生,可能會導(dǎo)致系統(tǒng)遇到停機(jī)或其它嚴(yán)重問題。這時(shí)通過使用看門狗可以避免這些問題的出現(xiàn)。當(dāng)系統(tǒng)正常工作時(shí),程序會定時(shí)重置看門狗。如果程序在某些原因下停止運(yùn)行,看門狗會自動重置系統(tǒng)并重新啟動。這將確保系統(tǒng)在異常情況下可以安全地退出,并在恢復(fù)正常運(yùn)行之前進(jìn)行必要的維護(hù)。在無人機(jī)控制器中,可以通過使用看門狗來確保無人機(jī)在遙控器連接斷開時(shí)協(xié)商停止工作,以防止無人機(jī)凌空失控。同樣,在一個(gè)遙控器控制的大型機(jī)器人上,使用看門狗來確保機(jī)器人在失去控制信號時(shí)停止和旋轉(zhuǎn),保留其當(dāng)前位置。在安防應(yīng)用中,警報(bào)系統(tǒng)可以使用看門狗來檢測是否失去電源或發(fā)生任何異常情況。如果某些異常情況發(fā)生,則看門狗可以向警報(bào)系統(tǒng)管理員發(fā)送通知,并啟動一個(gè)后備電源以確保系統(tǒng)可以在緊急情況下繼續(xù)運(yùn)行。在醫(yī)療設(shè)備中故障的出現(xiàn)可能讓患者或操作者面臨生命威脅,確保設(shè)備的安全和可靠性非常重要。因而許多醫(yī)療設(shè)備都使用看門狗作為一種保護(hù)手段。例如,當(dāng)心臟起搏器的系統(tǒng)故障時(shí),看門狗可以自動關(guān)閉其電源,以保護(hù)臟器。同樣,醫(yī)學(xué)成像設(shè)備也可以在檢測到任何異常時(shí)停止,并發(fā)出相應(yīng)的警報(bào)。本項(xiàng)目設(shè)計(jì)了一個(gè)看門狗實(shí)驗(yàn),比較了有喂狗和沒有喂狗兩種情況下,CC2530單片機(jī)的運(yùn)行情況。通過實(shí)驗(yàn)可以觀察到,沒有喂狗動作,看門狗產(chǎn)生溢出,從而導(dǎo)致單片機(jī)發(fā)生重啟。項(xiàng)目導(dǎo)入項(xiàng)目分析02項(xiàng)目分析:
在系統(tǒng)運(yùn)行過程中,如果看門狗定時(shí)器未被重置,則會定期產(chǎn)生看門狗定時(shí)器中斷事件,如果系統(tǒng)程序未及時(shí)重置看門狗定時(shí)器,系統(tǒng)會被認(rèn)為處于假死狀態(tài),并執(zhí)行看門狗定時(shí)器中斷處理函數(shù)??撮T狗定時(shí)器可幫助開發(fā)者提高系統(tǒng)的可靠性和穩(wěn)定性。開發(fā)者可通過CC2530的軟件編程接口,配置看門狗定時(shí)器的時(shí)間間隔和中斷處理函數(shù)等。在系統(tǒng)正常運(yùn)行中,需要周期性地重置看門狗定時(shí)器,以保證系統(tǒng)正常運(yùn)行并避免誤判為假死狀態(tài)。項(xiàng)目要求:
通電后,喂狗函數(shù)正常工作時(shí),單片機(jī)正常工作,具體表現(xiàn)為兩個(gè)LED燈預(yù)期工作;將喂狗函數(shù)屏蔽掉,通過觀察兩個(gè)LED周期性閃爍,確認(rèn)單片機(jī)正在反復(fù)重啟。1.熟練掌握CC2530單片機(jī)看門狗定時(shí)器的使用2.熟悉看門狗的特性和作用項(xiàng)目目標(biāo)03
掌握CC2530看門狗定時(shí)器相關(guān)寄存器的配置
學(xué)會CC2530的喂狗操作知識儲備04知識儲備CC2530的看門狗(WatchDogTimer,WDT)是一種專門用于監(jiān)測單片機(jī)程序運(yùn)行狀態(tài)的功能模塊。它實(shí)際上是一個(gè)計(jì)數(shù)器,單片機(jī)上電時(shí)會給看門狗一個(gè)較大的數(shù)值,程序開始運(yùn)行后,看門狗從該數(shù)值開始倒計(jì)數(shù)。如果程序運(yùn)行正常,每隔一段時(shí)間CPU應(yīng)發(fā)出指令讓看門狗復(fù)位,然后看門狗重新開始倒計(jì)數(shù),這個(gè)動作稱為喂狗。如果看門狗倒計(jì)數(shù)期間沒有產(chǎn)生喂狗動作,而是初始值一直減到0,單片機(jī)則認(rèn)為程序沒有正常工作,將強(qiáng)制整個(gè)系統(tǒng)復(fù)位一、看門狗定時(shí)器
MCU在使用過程中可能由于某種原因產(chǎn)生死機(jī)等故障,在沒有監(jiān)視器的情況下人們很難發(fā)現(xiàn)問題,看門狗就是一種常用的恢復(fù)方法。啟用看門狗定時(shí)器(WDT)時(shí),WDT開始計(jì)數(shù),軟件設(shè)計(jì)中定時(shí)清除WDT的數(shù)值,當(dāng)軟件在一定時(shí)間間隔內(nèi)不能清除看門狗定時(shí)器WDT時(shí),WDT會自動復(fù)位系統(tǒng)??撮T狗可用于受到電氣噪音、電源故障、靜電放電等影響的應(yīng)用,或需要高可靠性的環(huán)境??撮T狗定時(shí)器的特性如下:1、四個(gè)可選的定時(shí)器間隔2、看門狗模式3、定時(shí)器模式4、在定時(shí)器模式下產(chǎn)生中斷請求CC2530單片機(jī)的看門狗喂狗模式有兩種,一種是軟件看門狗,它可以產(chǎn)生8位定時(shí)器的溢出中斷,用來模擬看門狗功能;另一種是外部看門狗,它可以把外部的看門狗的時(shí)鐘源送到內(nèi)部的定時(shí)器CLK1用來喂狗,也可以把CLK1的時(shí)鐘源輸出到外部看門狗芯片用來喂狗。本項(xiàng)目采用定時(shí)器軟件喂狗。WDT可以配置為一個(gè)看門狗定時(shí)器或一個(gè)通用的定時(shí)器。WDT模塊的運(yùn)行由WDCTL寄存器控制。看門狗定時(shí)器包括一個(gè)15位計(jì)數(shù)器,它的頻率由32kHz時(shí)鐘源規(guī)定。注意用戶不能獲得15位計(jì)數(shù)器的內(nèi)容。在所有供電模式下,15位計(jì)數(shù)器的內(nèi)容保留,且當(dāng)重新進(jìn)入主動模式,看門狗定時(shí)器繼續(xù)計(jì)數(shù)。
在系統(tǒng)復(fù)位之后,看門狗定時(shí)器就被禁用。要設(shè)置WDT在看門狗模式,必須設(shè)置WDCTL.MODE[1:0]位為10。然后看門狗定時(shí)器的計(jì)數(shù)器從0開始遞增。在看門狗模式下,一旦定時(shí)器使能,就不可以禁用定時(shí)器,因此,如果WDT位已經(jīng)運(yùn)行在看門狗模式下,再往WDCTL.MODE[1:0]寫入00或10就不起作用了。
WDT運(yùn)行在一個(gè)頻率為32.768kHz(當(dāng)使用32kHzXOSC)的看門狗定時(shí)器時(shí)鐘上。這個(gè)時(shí)鐘頻率的超時(shí)期限等于1.9ms,15.625ms,0.25s和1s,分別對應(yīng)64,512,8192和32768的計(jì)數(shù)值設(shè)置。如果計(jì)數(shù)器達(dá)到選定定時(shí)器的間隔值,看門狗定時(shí)器就為系統(tǒng)產(chǎn)生一個(gè)復(fù)位信號。如果在計(jì)數(shù)器達(dá)到選定定時(shí)器的間隔值之前,執(zhí)行了一個(gè)看門狗清除序列,計(jì)數(shù)器就復(fù)位到0,并繼續(xù)遞增??撮T狗清除的序列包括在一個(gè)看門狗時(shí)鐘周期內(nèi),寫入0xA到WDCTL.CLR[3:0],然后寫入0x5到同一個(gè)寄存器位。如果這個(gè)序列沒有在看門狗周期結(jié)束之前執(zhí)行完畢,看門狗定時(shí)器就為系統(tǒng)產(chǎn)生一個(gè)復(fù)位信號。
當(dāng)看門狗模式下,WDT使能,就不能通過寫入WDCTL.MODE[1:0]位改變這個(gè)模式,且定時(shí)器間隔值也不能改變。
在看門狗模式下,WDT不會產(chǎn)生一個(gè)中斷請求。二、喂狗操作三、項(xiàng)目中用到的SFR本項(xiàng)目用到的SFR寄存器如表10-1所示。位名稱復(fù)位R/W描述7:4CLR[3:0]0000R0/W清除定時(shí)器。在1個(gè)看門狗時(shí)鐘周期內(nèi)連續(xù)寫入0x0A、0x05寫到這些位,定時(shí)器被清除。3:2MODE[1:0]00R/W模式選擇。式。當(dāng)處于定時(shí)器模式,設(shè)置這些位為IDLE將停止定時(shí)器。00:IDLE01:未使用10:看門狗模式11:定時(shí)器模式1:0INT[1:0]00R/W定時(shí)器時(shí)間選擇。定時(shí)器工作時(shí)鐘32kHz00:定時(shí)周期×32,768(1s)01:定時(shí)周期×8192(0.25s)10:定時(shí)周期×512(15.625ms)11:定時(shí)周期×64(1.9ms)表10-1WDCTL(0xC9)–看門狗定時(shí)
器控制項(xiàng)目實(shí)施05一、準(zhǔn)備設(shè)備和資源
項(xiàng)目實(shí)施前必須先準(zhǔn)備好相應(yīng)的設(shè)備和資源,見表10-2。序號設(shè)備/資源名稱數(shù)量單位是否準(zhǔn)備到位(√)1CC2530模塊1個(gè)
2CCDebugger仿真器(帶下載線)1個(gè)
3MiniUSB供電線或5號電池1根/個(gè)表10-2設(shè)備和資源清單二、查閱實(shí)驗(yàn)?zāi)K原理圖
看門狗定時(shí)器是CC2530單片機(jī)的內(nèi)置模塊,任意選擇
帶CC2530單片機(jī)的開發(fā)板模塊均可完成看門狗定時(shí)器實(shí)驗(yàn)。由于實(shí)驗(yàn)過程需要通過LED燈將單片機(jī)正常工作和看門狗復(fù)位時(shí)的狀態(tài)區(qū)分出來,因此選擇帶LED電路的實(shí)驗(yàn)?zāi)K。LED電路如圖10-1所示。
圖10-1LED電路圖三、實(shí)施過程連接設(shè)備程序設(shè)計(jì)編寫代碼編譯運(yùn)行1.連接設(shè)備
將CCDebugger仿真器的接口與CC2530實(shí)驗(yàn)?zāi)K(實(shí)驗(yàn)?zāi)K使用“求助按鈕V1.0”)相連,仿真器另一端用USB數(shù)據(jù)線連接到PC上,如圖10-2所示。
圖10-2實(shí)驗(yàn)接線圖2.程序設(shè)計(jì)1)創(chuàng)建工程。
打開IAR新建一個(gè)CProject工程(具體步驟請參照項(xiàng)目二)2)實(shí)驗(yàn)流程圖如圖10-3所示。
圖10-3程序流程圖(1)引用相應(yīng)頭文件#include<ioCC2530.h>(2)對IO口進(jìn)行初始化:/*****************************************************函數(shù)名稱:IO_Init功能:完成IO口初始化voidIO_Init(void){P1DIR|=0x03;//P1_0,P1_1端口,定義為輸出,對應(yīng)LED1,LED2P1DIR|=0x04;//P1_2端口定義為輸出,對應(yīng)蜂鳴器LED1=1;//初始狀態(tài),熄滅LED1燈LED2=1;//初始狀態(tài),熄滅LED2燈Beeper=0;//關(guān)閉蜂鳴器3)編寫代碼。完整的程序源代碼,見課程資源。主要功能代碼如下:(1)引用相應(yīng)頭文件#include<ioCC2530.h>(2)對IO口進(jìn)行初始化:/*****************************************************函數(shù)名稱:IO_Init功能:完成IO口初始化voidIO_Init(void){P1DIR|=0x03;//P1_0,P1_1端口,定義為輸出,對應(yīng)LED1,LED2P1DIR|=0x04;//P1_2端口定義為輸出,對應(yīng)蜂鳴器LED1=1;//初始狀態(tài),熄滅LED1燈LED2=1;//初始狀態(tài),熄滅LED2燈Beeper=0;//關(guān)閉蜂鳴器}(3)對看門狗進(jìn)行初始化:/*****************************************************函數(shù)名稱:Init_Watchdog功能:完看門狗的初始化voidInit_Watchdog(void){
WDCTL=0x00;//打開IDLE才能設(shè)置看門狗
WDCTL|=0x08;//定時(shí)器間隔選擇,間隔一秒}(4)清除看門狗定時(shí)器,即進(jìn)行喂狗:/*****************************************************函數(shù)名稱:FeedDog功能:清除定時(shí)器,完成喂狗動作voidFeedDog(void){
WDCTL=0xa0;//清除定時(shí)器。當(dāng)0xA跟隨0x5寫到這些位,定時(shí)器被清除WDCTL=0x50;
LED2=0;//系統(tǒng)不復(fù)位綠燈長亮}(5)主函數(shù)通過循環(huán)讓1個(gè)LED燈閃爍,另一個(gè)LED常亮,以觀察看門狗是否生效:/*****************************************************函數(shù)名稱:main功能:喂狗函數(shù)工作則程序正常運(yùn)行,否則不斷復(fù)位voidmain(void){
IO_Init();//初始化LED燈控制IO口Init_Watchdog();while(1){
LED1=~LED1;//僅指示作用。Delayms(300);LED2=0;
FeedDog();//喂狗系統(tǒng)將不再主動復(fù)位,LED1閃爍,LED2長亮
//注釋FeedDog函數(shù)時(shí)系統(tǒng)不斷復(fù)位,LED2燈閃爍}}點(diǎn)擊工具欄中的“Compile”編譯按鈕,保存工作空間,當(dāng)下方信息框提示“0error(s)”時(shí),說明代碼正確,再點(diǎn)擊“DownloadandDebug”按鈕就可以把生成的Hex文件燒寫進(jìn)CC2530中,如圖10-4所示。4)編譯運(yùn)行。項(xiàng)目成果06項(xiàng)目成果按仿真器或者CC2530實(shí)驗(yàn)?zāi)K上的Reset復(fù)位鍵,啟動之后,D5閃爍,D6保持常亮,嘗試將FeetDog()注釋掉,你將會看到D5、D6閃爍,原因是沒有清除WDT,導(dǎo)致WDT溢出,使得CPU重啟。燒錄后板卡的運(yùn)行情況如圖10-5。圖10-5燒錄成功效果圖項(xiàng)目成果按仿真器或者CC2530實(shí)驗(yàn)?zāi)K上的Reset復(fù)位鍵,啟動之后,D5閃爍,D6保持常亮,嘗試將FeetDog()注釋掉,你將會看到D5、D6閃爍,原因是沒有清除WDT,導(dǎo)致WDT溢出,使得CPU重啟。燒錄后板卡的運(yùn)行情況如圖10-5。
圖10-5燒錄成功效果圖拓展實(shí)訓(xùn)07拓展訓(xùn)練一、訓(xùn)練描述本實(shí)驗(yàn)是對CC2530看門狗定時(shí)器的應(yīng)用,喂
溫馨提示
- 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024甲乙雙方關(guān)于銅門制造與安裝的合同協(xié)議書
- 專業(yè)漁業(yè)承包經(jīng)營協(xié)議樣本2024版B版
- 美術(shù)探索之路
- 復(fù)料廠的勞動合同(2篇)
- 大產(chǎn)權(quán)售房合同(2篇)
- 4 公民的基本權(quán)利和義務(wù)第2課時(shí)公民的基本義務(wù)(說課稿)2024-2025學(xué)年統(tǒng)編版道德與法治六年級上冊
- 《礦井主要災(zāi)害事故防治與應(yīng)急避災(zāi)》培訓(xùn)課件2025
- 工程承包居間簡單合同范本
- 金融扶貧幫扶協(xié)議書
- 2024淘寶年度合作伙伴產(chǎn)品研發(fā)合同模板2篇
- 2024年農(nóng)民職業(yè)農(nóng)業(yè)素質(zhì)技能考試題庫(附含答案)
- 妊娠期高血糖診治指南
- 2024壓鑄機(jī)安全技術(shù)規(guī)范
- 綿陽小升初數(shù)學(xué)試題-(綿中英才學(xué)校)
- 高考對聯(lián)題(對聯(lián)知識、高考真題及答案、對應(yīng)練習(xí)題)
- 數(shù)據(jù)中心數(shù)據(jù)中心建設(shè)項(xiàng)目電氣工程設(shè)計(jì)方案
- 廣東省深圳市2022年中考英語真題(含答案)
- 四川省瀘州市(2024年-2025年小學(xué)四年級語文)統(tǒng)編版期末考試(上學(xué)期)試卷及答案
- 新版《鐵道概論》考試復(fù)習(xí)試題庫(含答案)
- 4 地表流水的力量 (教學(xué)設(shè)計(jì))-2023-2024學(xué)年 六年級下冊科學(xué)人教版
- 臨床彌漫性特發(fā)性骨肥厚癥(DISH)影像表現(xiàn)
評論
0/150
提交評論