(完整word版)基于ARM看門狗程序設(shè)計(jì)_第1頁
(完整word版)基于ARM看門狗程序設(shè)計(jì)_第2頁
(完整word版)基于ARM看門狗程序設(shè)計(jì)_第3頁
(完整word版)基于ARM看門狗程序設(shè)計(jì)_第4頁
(完整word版)基于ARM看門狗程序設(shè)計(jì)_第5頁
已閱讀5頁,還剩4頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、課程結(jié)業(yè)實(shí)驗(yàn)報(bào)告課程名稱:嵌入式系統(tǒng)設(shè)計(jì)報(bào)告題目:基于ARM勺看門狗程序設(shè)計(jì)專業(yè)班級:通信1601班 學(xué)號: 學(xué)生姓名:指導(dǎo)教師:2017年 6月20日看門狗實(shí)驗(yàn)1 實(shí)驗(yàn)?zāi)康?1) 了解 WATCHDOG 的作用;(2) 掌握 WATCHDOG 定時(shí)器的使用方法。2 實(shí)驗(yàn)內(nèi)容(1) 編程添加看門狗功能,觀察看門狗作用;(2) 編程實(shí)現(xiàn)看門狗喂狗。3 實(shí)驗(yàn)基礎(chǔ)知識(1) 看門狗功能: 嵌入式系統(tǒng)運(yùn)行時(shí)受外部干擾或系統(tǒng)錯(cuò)誤, 程序有時(shí)會出現(xiàn) “跑飛” ,導(dǎo)致整個(gè)系統(tǒng)癱瘓。為防止這一現(xiàn)象的發(fā)生,在對系統(tǒng)穩(wěn)定性要求較高的場合往往要加入看門狗電路( WATCHDOG ) ??撮T狗的作用是當(dāng)系統(tǒng)跑飛而進(jìn)入

2、死循環(huán)時(shí),恢復(fù)系統(tǒng)的運(yùn)行。(2)看門狗工作原理:設(shè)本系統(tǒng)程序完整運(yùn)轉(zhuǎn)一周的時(shí)間是Tp,看門狗定是周期是Ti , Ti>Tp, 在程序運(yùn)行一周后就修改定時(shí)器的計(jì)數(shù)值,只要程序正常運(yùn)行,定時(shí)器就不會溢出,若由于干擾等原因是系統(tǒng)不能在Tp 時(shí)刻修改定時(shí)器的數(shù)值,定時(shí)器將在Ti 時(shí)刻溢出,引發(fā)系統(tǒng)復(fù)位,使系統(tǒng)得以重新運(yùn)行,從而起到監(jiān)控的作用在一個(gè)完整的嵌入式系統(tǒng)中或單片機(jī)小系統(tǒng)中通常都有看門狗定時(shí)器,且一般集成在處理器芯片中,看門狗實(shí)際上就是一個(gè)定時(shí)器,知識它在期滿后將自動引起系統(tǒng)復(fù)位。( 3) 看門狗定時(shí)器計(jì)數(shù)值:輸入到計(jì)數(shù)器的時(shí)鐘周期 t_watchdog =1/(PCLK/Prescale

3、r value + 1)/ Division_factor)看門狗的定時(shí)周期 T = WTCNT * t_watchdog( 4)看門狗定時(shí)器寄存器控制寄存器(WTCON )數(shù)據(jù)寄存器(WTDAT )計(jì)數(shù)器寄存器( WTCNT )4 實(shí)驗(yàn)步驟8(1)新建一個(gè)工程watchdog,添加相應(yīng)的文件,并修改 watchdog的工程設(shè)置;創(chuàng)建 watchdog.c并加入到工程watchdog中,部分參考代碼如下:/* functions */void rtc_tick_isr(void) _attribute_ (interrupt("IRQ");void rtc_int_isr(

4、void) _attribute_ (interrupt("IRQ");/設(shè)置寄存器參數(shù)#define WDT_ENABLE(0x01<<5)#define WDT_INT_ENABLE(0x01<<2)#define WDT_RST_ENABLE(0x01<<0)#define WDT_CLK_SEL#define WDT_PRE_SCALERvoid watchdog_init()rWTCNT = 8448 * 2;(0X3<<3)/* 1/128 */(PCLK/1000000-1)<<8)/* 49/* 設(shè)

5、置看門狗初始值 */rWTCON = WDT_ENABLE| WDT_RST_ENABLE | WDT_CLK_SEL | WDT_PRE_SCALER;/* 打開看門狗 */void rtc_set_date(st_date* p_date)rRTCCON = 0x01;rBCDYEAR = p_date->year;rBCDMON = p_date->mon;rBCDDAY = p_date->day;rBCDDATE = p_date->week_day;rBCDHOUR = p_date->hour;rBCDMIN = p_date->min;rBC

6、DSEC = p_date->sec;rRTCCON = 0x00;void rtc_get_date(st_date* p_date)void rtc_tick_init( char tick )Irq_Request(IRQ_TICK, rtc_tick_isr);/No reset3, Merge BCD counters2, BCD clock select/*TICK 中斷使能,周期為(1+tick)/128 秒*/rRTCCON = 0x0;XTAL1, RTC Control disable0rTICNT = (tick&0x7f)|0x80;Irq_Enable(

7、IRQ_TICK);void Main(void)int old_index ;st_date m_date;/* 配置系統(tǒng)時(shí)鐘 */ChangeClockDivider(1,1);/ 1:2:4ChangeMPllValue(0xa1,0x3,0x1);/ FCLK=202.8MHz/* 中斷初始化*/Isr_Init();/* 初始化端口*/Port_Init();/* 初始化串口 */Uart_Init(0,115200);Uart_Select(0);/* 設(shè)置告警的時(shí)間及方式, 0x41 表示使能 RTC 告警,以及使能秒時(shí)鐘告警*/ rtc_alarm_set(&m_dat

8、e, 0x41);rtc_tick_init(127)/* 打開看門狗復(fù)位功能*/watchdog_init();old_index = led_index;PRINTF(" 請?jiān)?2秒內(nèi)喂狗,否則系統(tǒng)將在約 2秒后復(fù)位 nn");while(1)*/if(old_index != led_index) /* 每隔一秒更新一次數(shù)據(jù)rtc_get_date(&m_date);old_index = led_index;void rtc_tick_isr(void)Irq_Clear(IRQ_TICK);/* 清除 TICK 中斷 */*(U8*) 0x10000006

9、) = 0x00;*(unsigned char*)0x10000004 = seg7tableled_index%10;led_index+;/* 喂狗 */rWTCNT = 8448 * 2;(2) 注意設(shè)置運(yùn)行設(shè)備,如圖 1.1 所示。Project Settings:CdwuDicftli c>n portGtneral114bli晶2r device :ARMTIasyARWTVsb AFiH91TsbX 坦c£jaU/b勺卜口國,1" devl c g ronfi £tot at i on :F USBCE圖 1.1 設(shè)置 Devices 編譯watchdog,下載程序并運(yùn)行,通過超級終端看是否復(fù)位,實(shí)驗(yàn)結(jié)果如圖1.2所示。圖1.2實(shí)驗(yàn)結(jié)果 刪除“喂狗”代碼,查看運(yùn)行結(jié)果,如圖 1.3所示圖1.3運(yùn)行結(jié)果5實(shí)驗(yàn)總結(jié)通過本次實(shí)驗(yàn)我進(jìn)一步了解了看門狗的工作原理和功能,以及看門狗寄存器定時(shí)周期 的計(jì)算方法,同時(shí)也對嵌入式系統(tǒng)設(shè)計(jì)有了更加廣泛且深刻的認(rèn)

溫馨提示

  • 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論