1 / 20

[1205] Lecture 9

[1205] Lecture 9. WDT 認識 WDT 認識 WDT 的用途與使用方法 操作 WDT 的兩種模式. WDT. WDT 模組 WDT = Watch Dog Timer 看門 狗計時器 主要的功能為確保系統不會因為軟體因素而死當、凍結. WDT. WDT 模組 作動原理為是透過一個計時器設定一段時間區間 在時間區間內,程式必須要將 Watch Dog Timer 計數器歸零 一旦在時間區間內沒有將計數器歸零,系統將自動進行 Reset 、 PUC(Power Up Clear). WDT. WDT 模組

Télécharger la présentation

[1205] Lecture 9

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. [1205]Lecture 9 • WDT • 認識WDT • 認識WDT的用途與使用方法 • 操作WDT的兩種模式

  2. WDT • WDT模組 • WDT=Watch Dog Timer • 看門狗計時器 • 主要的功能為確保系統不會因為軟體因素而死當、凍結

  3. WDT • WDT模組 • 作動原理為是透過一個計時器設定一段時間區間 • 在時間區間內,程式必須要將Watch Dog Timer 計數器歸零 • 一旦在時間區間內沒有將計數器歸零,系統將自動進行Reset、PUC(Power Up Clear)

  4. WDT • WDT模組 • WDT 在不用作看門狗功能時,也可當作一個32-bit的計時器使用 • WDT作為計時器使用時,提供一個WDT_VECTOR 中斷向量可以使用 • WDT也支援暫停模式,配合達到省電目的

  5. WDT • WDT設定 • WDT 的大部分設定皆操作在一個16-bit 暫存器WDTCTL中 • 除了WDTIEbit 和WDTIFG 是設置在SFR系列暫存器中 • WDTCTL暫存器是一個受到密碼保護的暫存器寫入時需要在高位元寫入密碼,否則也會導致系統重置(reset-PUC)

  6. WDT • WDT設定 • WDTCTL的高8位元是WDTPW,被設計成讀取時為069h • 在寫入WDTCTL時,高位元皆必須寫入05Ah,否則會導致reset

  7. WDT • WDT設定 • WDTHOLD(BIT7): 暫停WDTCNT,不使用WDT時設定此位元為1,減少耗能,同時避免WDT動作 • 每一次課程中主程式的第一行程式碼的動作即是暫停WDT的動作

  8. WDT • WDT設定 • WDTSSEL(BIT5-6): 選擇WDT的時脈來源,預設是00=SMCLK • 01=ACLK=10=VLOCLK11=X_CLK=VLOCLK

  9. WDT • WDT設定 • WDTTMSEL(BIT4): 選擇WDT模式,預設是0= Watchdog Mode • 1=間格時間計時器

  10. WDT • WDT設定 • WDTCNTCL(BIT3): WDTCNTClear,在此bit寫入1能夠清除WDTCNT中的數值

  11. WDT • WDT設定 • WDTTIS(BIT2-0): WDTTime interval selection,WDT的計時區間只能透過TIS設定,不能直接修改WDTCNT,因此只有固定8種組合。

  12. WDT • WDT設定 • WDTTIS(BIT2-0):預設為 • 因此,在預設的WDT設定中,32ms內沒有設定WDT,則會自動reset系統

  13. WDT • WDT設定 • WDTTIS(BIT2-0)的時間區間: • (65536sec at 32kHz) • (4096sec at 32kHz) • (256sec at 32kHz) • (16sec at 32kHz) • (1sec at 32kHz) • (250ms at 32kHz) • (15.625ms at 32kHz) • (1.95ms at 32kHz)

  14. WDT • WDT設定 • WDTIE 設置於SFRIE1的BIT0 • WDTIFG設置於SFRIFG1的BIT0 • 在Interval Timer模式下,設置WDTIE和GIE,即可令系統回應來自WDT的中斷訊號,進入專屬的WDT_VECTOR執行中斷向量副程式

  15. WDT • WDTClock Fail-Safe Feature • 當WDT設置在看門狗模式時,為了確保時脈供應,在SMCLK或ACLK無法正常提供時脈時,會自動選擇VLOCLK作為備用時脈。

  16. Example • 範例1 • 配置WDT為Interval Timer,並設置中斷副程式切換D1的狀態 • 選用ACLK作為時脈來源 • 選用時間區間為250ms • 範例程式下載

  17. Example • 範例2 • 配置WDT為Watch Dog,觀察其在一定時間後重置。 • 選用ACLK作為時脈來源 • 選用時間區間為1000ms • 程式起始會亮起D1一下然後熄滅 • 接著閃爍D2 • 範例程式下載

  18. Exercise • 練習1 • 配置WDT為Interval Timer,並設置中斷副程式切換D1的狀態 • 選用ACLK作為時脈來源 • 選用時間區間為1000ms • 除了範例中的指令字,有沒有其他的指令字也可以達到一樣的效果?

  19. Exercise • 練習2 • 配置WDT為Watch Dog,但不讓其重置系統(不使用WDTHOLD) • 選用ACLK作為時脈來源 • 選用時間區間為1000ms • 程式起始前要閃一下D1代表程式開端 • 持續閃爍D2不重置

  20. Exercise • 完成後,找到專案裡面的source file,以附檔形式寄到 kchu@ares.ee.nchu.edu.tw,並在主旨中註明姓名、系級與學號,source檔名稱請利於辨識。EX: • 主旨: 微處理機實習 LAB3 王大明 電機碩二 7101064123

More Related