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