SM59R WDT 功能使用方法 Application Note WDT 功能使用方法 1 適用產品:SM59R16A2 / SM59R08A2 2 WDT(Watchdog Timer)使用說明: 2.1 WDT 燒錄時可在 information block 設定 WDT 禁能、致能及重置時間 2.2 WDT 禁能和致能:由 WDTENB 決定,當設定為”1”,WDT 致能,設定為”0”,WDT 禁能 2.3 WDT 重置時間:由 WDTM[3:0]決定,共有 16 組可供選擇 2.4 WDT counter 清除可由外部重置,或由軟體執行(寫入 0x55 至 SFR WDTK 即可) 2.5 WDTK 須不斷的執行清除,以確保 WDT counter 不會溢位 2.6 當 WDT counter 溢位時,WDTF 由硬體設定為”1”,並且重置 MCU,重置後 WDTF 由硬體 清除為”0” 2.7 以下為 WDT reset time 計算方式: WDTCLK = Fosc 12X 2 WDTM 256 WDTCLK 2.8 下表為 OSC 使用 22.1184MHz,計算 WDT reset time: WDTENB Fosc WDTM WDTCLK WDT reset time 22.1184 1 0 1843200 0.000138889 1 22.1184 1 921600 0.000277778 22.1184 1 2 460800 0.000555556 22.1184 1 3 230400 0.001111111 22.1184 1 4 115200 0.002222222 22.1184 1 5 57600 0.004444444 22.1184 1 6 28800 0.008888889 1 22.1184 7 14400 0.017777778 22.1184 1 8 7200 0.035555556 22.1184 1 9 3600 0.071111111 22.1184 1 10 1800 0.142222222 22.1184 1 11 900 0.284444444 1 22.1184 12 450 0.568888889 22.1184 1 13 225 1.137777778 22.1184 1 14 112.5 2.275555556 22.1184 1 15 56.25 4.551111111 Watchdog reset time = Specifications subject to change without notice, contact your sales representatives for the most recent information. IRFWX-A115 1 Ver. A 2009/02 SM59R WDT 功能使用方法 Application Note Fig. Watchdog timer block diagram 3 WDT 相關暫存器: Mnemonic WDTC WDTK Description Watchdog timer control register Watchdog timer refresh key Direct Bit 7 B6h WDTF Bit 6 Bit 5 Bit 4 Watchdog Timer - - Bit 2 Bit 1 Bit 0 RESET - - - - 00h - B7h Mnemonic: WDTC 7 6 WDTF - Bit 3 WDTK[7:0] 5 - 4 - 3 - 2 - 1 - 00h Address: B6h 0 Reset 00h WDTF: Watchdog timer reset flag. 當重置時,WDTF 由硬體設為”1” 須由軟體(WDTK)設定,或由外部重置(Reset),將 WDTF 清除為”0” Mnemonic: WDTK 7 6 5 4 3 WDTK[7:0] 2 1 Address: B7h 0 Reset 00h WDTK: Watchdog timer refresh key. 當 WDTK 寫入 0x55 時,WDTC 即可清除為”0” Specifications subject to change without notice, contact your sales representatives for the most recent information. IRFWX-A115 2 Ver. A 2009/02 SM59R WDT 功能使用方法 Application Note 4 WDT 應用的範例程式 Description Main program 1. 燒錄時先設定 information block WDT 致能及重置時間 2. 當執行 user code 時,WDTK 須不斷的執行清除 3. 量測 P2,若為 0x00 表示正確;若 P2 不斷的 Hi-Low 變化,表示 WDT counter 溢位 //==================================================================== // // S Y N C M O S T E C H N O L O G Y // //==================================================================== #include "..\h\SM59R16A2.h" void WDT_Clear() { /*WDTK: Watchdog timer refresh key. A programmer must write 0x55 into WDTK register, then the watchdog timer will be cleared to zero.*/ WDTK = 0x55; } void main() { P2 = 0; while(1) { //if WDTK has clear, P2 always low //if WDTK no clear, P2 Hi-low switch(P2 default 0xFF) WDT_Clear(); } } Specifications subject to change without notice, contact your sales representatives for the most recent information. IRFWX-A115 3 Ver. A 2009/02