看門狗的作用我想大家都應該清楚,S3C2440看門狗定時器它不僅可以當作看門狗來使用,還可以當作普通的定時器來使用。S3C2440看門狗電路模塊框圖:
看門狗電路采用PCLK作為時鐘源,PCLK通過兩個分頻器之后才是看門狗定時器的工作時鐘。那看門狗定時器的時鐘到底是多少呢,有如下計算公式:
t_watchdog= 1/[ PCLK / (Prescaler value + 1) / Division_factor ]
prescaler value和division factor的取值是通過看門狗的控制寄存器WTCN來設置的,prescaler value取值范圍為0~255,division factor取值有16、32、64和128。
S3C2440看門狗定時器如果是作為普通定時器來使用的話,WTCNT降為0時它可以產生定時器中斷。如果是作為看門狗來使用的話,WTCNT降為0時它會產生128個PCLK周期的復位信號。
模塊框圖看完了,再來看寄存器定義:
WTDAT寄存器用于看門狗定時器作為普通定時器使用時,當WTCNT降為0時自動加載WTDAT值到WTCNT中。但是,剛開始這個值是不會自動加載到WTCNT中的,所以,還需要我們手動將初始值寫入WTCNT寄存器中。





