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