《電子技術應用》
您所在的位置:首頁 > 嵌入式技術 > 設計應用 > X25045單片機看門狗電路介紹
X25045單片機看門狗電路介紹
摘要: 看門狗(Watchdog)電路是嵌入式系統需要的抗干擾措施之一。本文用X25045芯片設計了一種新的看門狗電路,具有體積小、占用I/O口線少和編程方便的特點,可廣泛應用于儀器儀表和各種工控系統中。
Abstract:
Key words :

看門狗(Watchdog)電路是嵌入式系統需要的抗干擾措施之一。本文用X25045芯片設計了一種新的看門狗電路,具有體積小、占用I/O口線少和編程方便的特點,可廣泛應用于儀器儀表和各種工控系統中。

前言

工控系統在運行時,通常都會遇到各種各樣的現場干擾,抗干擾能力是衡量工控系統性能的一個重要指標。看門狗(Watchdog)電路是自行監測系統運行的重要保證,幾乎所有的工控系統都包含看門狗電路。在8096系列單片機和增強型8051系列單片機中,該系統已經做在芯片內部,用戶只要用軟件開放它就可以,使用很方便。但目前工控系統仍在使用廉價的普通型8051系列單片機,則看門狗電路必須由用戶自己建立。

看門狗電路一般有軟件看門狗和硬件看門狗兩種。軟件看門狗不需外接硬件電路,但系統需要出讓一個定時器資源,這在許多系統中很難辦到,而且若系統軟件運行不正常,可能導致看門狗系統也癱瘓。硬件看門狗是真正意義上的“程序運行監視器”,如計數型的看門狗電路通常由555多諧振蕩器、計數器以及一些電阻、電容等組成,分立元件組成的系統電路較為復雜,運行不夠可靠。

X25045芯片簡介

X25045是美國XICor公司的生產的標準化8腳集成電路,它將EEPROM、看門狗定時器、電壓監控三種功能組合在單個芯片之內,大大簡化了硬件設計,提高了系統的可靠性,減少了對印制電路板的空間要求,降低了成本和系統功耗,是一種理想的單片機外圍芯片。X25045引腳如圖1所示。

X25045看門狗電路介紹--芯片框圖X25045 Application note
圖1 X25045引腳圖

其引腳功能如下。

CS:片選擇輸入;
SO:串行輸出,數據由此引腳逐位輸出;
SI:串行輸入,數據或命令由此引腳逐位寫入X25045;
SCK:串行時鐘輸入,其上升沿將數據或命令寫入,下降沿將數據輸出;
WP:寫保護輸入。當它低電平時,寫操作被禁止;
Vss:地;
VCC:電源電壓;
RESET:復位輸出。
X25045在讀寫操作之前,需要先向它發出指令,指令名及指令格式如表1所示。

X25045看門狗電路介紹X25045 Application note
表1 X25045指令及其含義

X25045看門狗電路設計及編程

X25045硬件連接圖如圖2所示。X25045芯片內包含有一個看門狗定時器,可通過軟件預置系統的監控時間。在看門狗定時器預置的時間內若沒有總線活動,則X25045將從RESET輸出一個高電平信號,經過微分電路C2、R3輸出一個正脈沖,使CPU復位。圖2電路中,CPU的復位信號共有3個:上電復位(C1、R2),人工復位(S、R1、R2)和Watchdog復位(C2、R3),通過或門綜合后加到RESET端。C2、R3的時間常數不必太大,有數百微秒即可,因為這時CPU的振蕩器已經在工作。

X25045看門狗電路介紹--應用電路X25045 Application note
圖2 X25045看門狗電路硬件連接圖

看門狗定時器的預置時間是通過X25045的狀態寄存器的相應位來設定的。如表2所示,X25045狀態寄存器共有6位有含義,其中WD1、WD0和看門狗電路有關,其余位和EEPROM的工作設置有關。

X25045看門狗電路介紹X25045 Application note
表2 X25045狀態寄存器

WD1=0,WD0=0,預置時間為1.4s。
WD1=0,WD0=1,預置時間為0.6s。
WD1=1,WD0=0,預置時間為0.2s。
WD1=1,WD0=1,禁止看門狗工作。

看門狗電路的定時時間長短可由具體應用程序的循環周期決定,通常比系統正常工作時最大循環周期的時間略長即可。編程時,可在軟件的合適地方加一條喂狗指令,使看門狗的定時時間永遠達不到預置時間,系統就不會復位而正常工作。當系統跑飛,用軟件陷阱等別的方法無法捕捉回程序時,則看門狗定時時間很快增長到預置時間,迫使系統復位。

以下是C語言編寫的看門狗程序部分。

#include "reg51.h"
sbit cs=P1^2;/*片選信號由P1.2產生*/
sbit SCK=P1^3; /*時鐘信號由P1.3 產生*/
sbit si=P1^0; /*SI由P1.0產生*/
sbit so=P1^1; /*SO由P1.1產生*/
sbit c=ACC^7; /*定義位變量*/
bdata unsigned char com;
void tran() /*發送一字節數據子函數*/
{
unsigned char i;
for(i=0; i<8; i++)
{ ACC=com; /*將數據放入a中*/
si=c;
sck=0; /*sck產生一個上跳變*/
sck=1;
com=com<<1; /*左移一位*/
}
return;
}
main()
{
com=0x06; /*發寫讀使能命令*/
cs=0;
tran();
cs=1;
com=0x01; /*發寫狀態字命令*/
cs=0;
tran();
com=0x00; /*定時1.4s*/
tran();
cs=1;
...;系統正常運行的程序部分
}

需要注意的是,在程序正常運行的時候,應該在適當的地方加一條喂狗指令,使系統正常運行時的定時時間達不到預置時間。系統就不會復位。喂狗指令如下。

main()
{
...;系統正常運行的程序部分
{
cs=0; /*產生cs脈沖*/
cs=1;
}
}

X25045的看門狗電路使用十分方便。X25045內部還集成了512BEEPROM和電壓運行監視系統,只需這樣一塊芯片,外加晶振和復位電路就可以組成單片機的應用系統,非常適合于便攜式儀器和嵌入式系統的設計。

此內容為AET網站原創,未經授權禁止轉載。
主站蜘蛛池模板: 日韩精品专区在线影院重磅| 精品少妇人妻AV一区二区三区| 大学生美女特级毛片| 久久爰www免费人成| 波多野结衣一区二区三区四区| 国产a级特黄的片子视频| 窝窝午夜色视频国产精品东北| 宅男影院在线观看| 久久精品免费全国观看国产| 波多野结衣中文丝袜字幕| 国产aⅴ激情无码久久久无码| 97热久久免费频精品99| 成人精品一区二区久久| 亚洲三级视频在线| 精品久久久久久无码中文字幕 | 伊人久久久大香线蕉综合直播| 黄色毛片电影黄色毛片| 国産精品久久久久久久| 中文字幕免费在线观看| 欧美vpswindowssex| 免费一级国产大片| 调教双乳玉势揉捏h捆绑小说| 国产精品酒店视频| 一区二区三区午夜| 日韩欧美理论片| 亚洲毛片在线免费观看| 青草青在线视频| 多人乱p欧美在线观看| 中文字幕日韩精品一区二区三区| 欧美freesex黑人又粗超长| 免费人成在线观看视频播放| 高h黄全肉一女n男古风| 国产精品无码专区| jizzjizz视频| 手机看片在线精品观看| 亚洲AV无码国产一区二区三区 | 德国女人一级毛片免费| 乱人伦视频中文字幕| 波多野吉衣在线电影| 午夜视频在线观看国产| 鲁啊鲁在线视频免费播放|