1.概述
看門狗用于監(jiān)測CPU的運(yùn)行狀態(tài),當(dāng)CPU出現(xiàn)異常死機(jī)時(shí),發(fā)出復(fù)位信號(hào)對其進(jìn)行復(fù)位。看門狗分為硬狗和軟狗,硬狗一般由專門的看門狗芯片實(shí)現(xiàn),可靠性優(yōu)于軟狗,軟狗集成在CPU內(nèi)部。看門狗的主體是一個(gè)計(jì)數(shù)器,當(dāng)看門狗啟動(dòng)時(shí),計(jì)數(shù)器會(huì)進(jìn)行計(jì)數(shù),如果不及時(shí)重置計(jì)數(shù)器,計(jì)數(shù)器會(huì)溢出并產(chǎn)生復(fù)位信號(hào),即沒有及時(shí)喂狗導(dǎo)致看門狗復(fù)位。
SD3078是一款高精度的實(shí)時(shí)時(shí)鐘芯片,內(nèi)置諧振電容及數(shù)字溫度補(bǔ)償,包含報(bào)警、頻率輸出、倒計(jì)時(shí)等功能。本次我們利用SD3078的倒計(jì)時(shí)實(shí)現(xiàn)硬件看門狗功能。
2.實(shí)現(xiàn)方案
SD3078的INT腳通過上拉電阻和CPU的復(fù)位腳連接,當(dāng)?shù)褂?jì)時(shí)計(jì)數(shù)器溢出時(shí),INT輸出低脈沖對CPU進(jìn)行復(fù)位。
推薦商品:C916255
SD3078倒計(jì)時(shí)功能相關(guān)寄存器由24bit 的向下計(jì)數(shù)器、2bit頻率源選擇位TDS、中斷使能位INTDE、中斷標(biāo)志位INTDF、輸出控制位IM組成。通過TDS可以選擇4種計(jì)數(shù)器頻率源:
|
TDS1 |
TDS0 |
計(jì)數(shù)器頻率源 |
|
0 |
0 |
4096Hz |
|
0 |
1 |
1024Hz |
|
1 |
0 |
1/60Hz |
|
1 |
1 |
1/3600Hz |
當(dāng)INTDE=1且計(jì)數(shù)器寫入一個(gè)24 位的數(shù)值后, 計(jì)數(shù)器會(huì)按照 TDS1、TDS0 選定的頻率來減一,當(dāng)計(jì)數(shù)器的值為零時(shí),置中斷標(biāo)志位INTDF為1。設(shè)置IM=1且定時(shí)周期大于250ms時(shí),則從INT腳輸出低電平時(shí)間為 250ms,復(fù)位CPU。
倒計(jì)時(shí)定時(shí)最短為 244us,最長定時(shí)可到 31.9 年。
