看門狗工作原理及定時器操作
S3C44B0X看門狗定時器用于在諸如噪聲和系統(tǒng)錯誤干擾的情況下,繼續(xù)進行控制操作,還可以用做16位的內部定時器,來請求中斷服務。看門狗定時器每隔128個MCLK周期便產生一個復位信號,在程序正常執(zhí)行時,需不斷地清0看門狗定時器,即“喂狗”操作,以防止復位信號的發(fā)生。這樣當系統(tǒng)程序受到外部干擾而“跑飛”時,由于不能及時“喂狗”,而使整個系統(tǒng)復位,使得系統(tǒng)程序重新啟動,保證了系統(tǒng)的安全可靠性。
2.看門狗定時器操作
如圖所示是看門狗定時器的功能框圖。
圖 看門狗定時器的功能框圖
S3C44B0X看門狗定時利用MCLK作為時鐘源,經過8位的預分頻和4選1的2位分割之后得到所需頻率。預分頻值和頻率分割值在看門狗定時器控制寄存器WTCON中配置,有效的預分頻值范圍為0~28-1,頻率分割系數可選為16、32、64或128。使用下列公式計算看門狗定時頻率和每個定時器時鐘周期值。
twatchdog=1/MCLK/(預分頻值+1)/分頻系數
看門狗定時器使能后,WTDAT(看門狗定時器數據寄存器)不能自動裝入WTCNT(看門狗定時計數寄存器)。因此,在看門狗定時器開始工作前,初值必須寫到看門狗定時計數寄存器WTCNT中。
評論