基于X25045的新型看門(mén)狗電路
發(fā)布時(shí)間:2008/5/28 0:00:00 訪問(wèn)次數(shù):278
看門(mén)狗(watchdog)電路是嵌入式系統(tǒng)需要的抗干擾措施之一。本文用x25045芯片設(shè)計(jì)了一種新的看門(mén)狗電路,具有體積小、占用i/o口線少和編程方便的特點(diǎn),可廣泛應(yīng)用于儀器儀表和各種工控系統(tǒng)中。
前言
工控系統(tǒng)在運(yùn)行時(shí),通常都會(huì)遇到各種各樣的現(xiàn)場(chǎng)干擾,抗干擾能力是衡量工控系統(tǒng)性能的一個(gè)重要指標(biāo)?撮T(mén)狗(watchdog)電路是自行監(jiān)測(cè)系統(tǒng)運(yùn)行的重要保證,幾乎所有的工控系統(tǒng)都包含看門(mén)狗電路。在8096系列單片機(jī)和增強(qiáng)型8051系列單片機(jī)中,該系統(tǒng)已經(jīng)做在芯片內(nèi)部,用戶(hù)只要用軟件開(kāi)放它就可以,使用很方便。但目前工控系統(tǒng)仍在使用廉價(jià)的普通型8051系列單片機(jī),則看門(mén)狗電路必須由用戶(hù)自己建立。
看門(mén)狗電路一般有軟件看門(mén)狗和硬件看門(mén)狗兩種。軟件看門(mén)狗不需外接硬件電路,但系統(tǒng)需要出讓一個(gè)定時(shí)器資源,這在許多系統(tǒng)中很難辦到,而且若系統(tǒng)軟件運(yùn)行不正常,可能導(dǎo)致看門(mén)狗系統(tǒng)也癱瘓。硬件看門(mén)狗是真正意義上的“程序運(yùn)行監(jiān)視器”,如計(jì)數(shù)型的看門(mén)狗電路通常由555多諧振蕩器、計(jì)數(shù)器以及一些電阻、電容等組成,分立元件組成的系統(tǒng)電路較為復(fù)雜,運(yùn)行不夠可靠。
x25045芯片簡(jiǎn)介
x25045是美國(guó)xicor公司的生產(chǎn)的標(biāo)準(zhǔn)化8腳集成電路,它將eeprom、看門(mén)狗定時(shí)器、電壓監(jiān)控三種功能組合在單個(gè)芯片之內(nèi),大大簡(jiǎn)化了硬件設(shè)計(jì),提高了系統(tǒng)的可靠性,減少了對(duì)印制電路板的空間要求,降低了成本和系統(tǒng)功耗,是一種理想的單片機(jī)外圍芯片。x25045引腳如圖1所示。
其引腳功能如下。cs:片選擇輸入;
so:串行輸出,數(shù)據(jù)由此引腳逐位輸出;
si:串行輸入,數(shù)據(jù)或命令由此引腳逐位寫(xiě)入x25045;
sck:串行時(shí)鐘輸入,其上升沿將數(shù)據(jù)或命令寫(xiě)入,下降沿將數(shù)據(jù)輸出;
wp:寫(xiě)保護(hù)輸入。當(dāng)它低電平時(shí),寫(xiě)操作被禁止;
vss:地;
vcc:電源電壓;
reset:復(fù)位輸出。
x25045在讀寫(xiě)操作之前,需要先向它發(fā)出指令,指令名及指令格式如表1所示。
x25045看門(mén)狗電路設(shè)計(jì)及編程
x25045硬件連接圖如圖2所示。x25045芯片內(nèi)包含有一個(gè)看門(mén)狗定時(shí)器,可通過(guò)軟件預(yù)置系統(tǒng)的監(jiān)控時(shí)間。在看門(mén)狗定時(shí)器預(yù)置的時(shí)間內(nèi)若沒(méi)有總線活動(dòng),則x25045將從reset輸出一個(gè)高電平信號(hào),經(jīng)過(guò)微分電路c2、r3輸出一個(gè)正脈沖,使cpu復(fù)位。圖2電路中,cpu的復(fù)位信號(hào)共有3個(gè):上電復(fù)位(c1、r2),人工復(fù)位(s、r1、r2)和watchdog復(fù)位(c2、r3),通過(guò)或門(mén)綜合后加到reset端。c2、r3的時(shí)間常數(shù)不必太大,有數(shù)百微秒即可,因?yàn)檫@時(shí)cpu的振蕩器已經(jīng)在工作。
看門(mén)狗定時(shí)器的預(yù)置時(shí)間是通過(guò)x25045的狀態(tài)寄存器的相應(yīng)位來(lái)設(shè)定的。如表2所示,x25045狀態(tài)寄存器共有6位有含義,其中wd1、wd0和看門(mén)狗電路有關(guān),其余位和eeprom的工作設(shè)置有關(guān)。
wd1=0,wd0=0,預(yù)置時(shí)間為1.4s。
wd1=0,wd0=1,預(yù)置時(shí)間為0.6s。
wd1=1,wd0=0,預(yù)置時(shí)間為0.2s。
wd1=1,wd0=1,禁止看門(mén)狗工作。
看門(mén)狗電路的定時(shí)時(shí)間長(zhǎng)短可由具體應(yīng)用程序的循環(huán)周期決定,通常比系統(tǒng)正常工作時(shí)最大循環(huán)周期的時(shí)間略長(zhǎng)即可。編程時(shí),可在軟件的合適地方加一條喂狗指令,使看門(mén)狗的定時(shí)時(shí)間永遠(yuǎn)達(dá)不到預(yù)置時(shí)間,系統(tǒng)就不會(huì)復(fù)位而正常工作。當(dāng)系統(tǒng)跑飛,用軟件陷阱等別的方法無(wú)法捕捉回程序時(shí),則看門(mén)狗定時(shí)時(shí)間很快增長(zhǎng)到預(yù)置時(shí)間,迫使系統(tǒng)復(fù)位。
以下是c語(yǔ)言編寫(xiě)的看門(mén)狗程序部分。
#include "reg51.h"
sbit cs=p1^2;/*片選信號(hào)由p1.2產(chǎn)生*/
sbit sck=p1^3; /*時(shí)鐘信號(hào)由p1.3 產(chǎn)生*/
sbit si=p1^0; /*si由p1.0產(chǎn)生*/
sbit so=p1^1; /*so由p1.1產(chǎn)生*/
sbit c=acc^7; /*定義位變量*/
bdata unsigned char com;
void tran() /*發(fā)送一字節(jié)數(shù)據(jù)子函數(shù)*/
{
unsigned char i;
for(i=0; i<8; i++)
{ acc=com; /*將數(shù)據(jù)放入a中*/
si=c;
sck=0; /*sck產(chǎn)生一個(gè)上跳變*/
sck=1;
com=com<<1; /*左移一位*/
}
return;
}
main()
{
com=0x06; /*發(fā)寫(xiě)讀使能命令*/
cs=0
看門(mén)狗(watchdog)電路是嵌入式系統(tǒng)需要的抗干擾措施之一。本文用x25045芯片設(shè)計(jì)了一種新的看門(mén)狗電路,具有體積小、占用i/o口線少和編程方便的特點(diǎn),可廣泛應(yīng)用于儀器儀表和各種工控系統(tǒng)中。
前言
工控系統(tǒng)在運(yùn)行時(shí),通常都會(huì)遇到各種各樣的現(xiàn)場(chǎng)干擾,抗干擾能力是衡量工控系統(tǒng)性能的一個(gè)重要指標(biāo)?撮T(mén)狗(watchdog)電路是自行監(jiān)測(cè)系統(tǒng)運(yùn)行的重要保證,幾乎所有的工控系統(tǒng)都包含看門(mén)狗電路。在8096系列單片機(jī)和增強(qiáng)型8051系列單片機(jī)中,該系統(tǒng)已經(jīng)做在芯片內(nèi)部,用戶(hù)只要用軟件開(kāi)放它就可以,使用很方便。但目前工控系統(tǒng)仍在使用廉價(jià)的普通型8051系列單片機(jī),則看門(mén)狗電路必須由用戶(hù)自己建立。
看門(mén)狗電路一般有軟件看門(mén)狗和硬件看門(mén)狗兩種。軟件看門(mén)狗不需外接硬件電路,但系統(tǒng)需要出讓一個(gè)定時(shí)器資源,這在許多系統(tǒng)中很難辦到,而且若系統(tǒng)軟件運(yùn)行不正常,可能導(dǎo)致看門(mén)狗系統(tǒng)也癱瘓。硬件看門(mén)狗是真正意義上的“程序運(yùn)行監(jiān)視器”,如計(jì)數(shù)型的看門(mén)狗電路通常由555多諧振蕩器、計(jì)數(shù)器以及一些電阻、電容等組成,分立元件組成的系統(tǒng)電路較為復(fù)雜,運(yùn)行不夠可靠。
x25045芯片簡(jiǎn)介
x25045是美國(guó)xicor公司的生產(chǎn)的標(biāo)準(zhǔn)化8腳集成電路,它將eeprom、看門(mén)狗定時(shí)器、電壓監(jiān)控三種功能組合在單個(gè)芯片之內(nèi),大大簡(jiǎn)化了硬件設(shè)計(jì),提高了系統(tǒng)的可靠性,減少了對(duì)印制電路板的空間要求,降低了成本和系統(tǒng)功耗,是一種理想的單片機(jī)外圍芯片。x25045引腳如圖1所示。
其引腳功能如下。cs:片選擇輸入;
so:串行輸出,數(shù)據(jù)由此引腳逐位輸出;
si:串行輸入,數(shù)據(jù)或命令由此引腳逐位寫(xiě)入x25045;
sck:串行時(shí)鐘輸入,其上升沿將數(shù)據(jù)或命令寫(xiě)入,下降沿將數(shù)據(jù)輸出;
wp:寫(xiě)保護(hù)輸入。當(dāng)它低電平時(shí),寫(xiě)操作被禁止;
vss:地;
vcc:電源電壓;
reset:復(fù)位輸出。
x25045在讀寫(xiě)操作之前,需要先向它發(fā)出指令,指令名及指令格式如表1所示。
x25045看門(mén)狗電路設(shè)計(jì)及編程
x25045硬件連接圖如圖2所示。x25045芯片內(nèi)包含有一個(gè)看門(mén)狗定時(shí)器,可通過(guò)軟件預(yù)置系統(tǒng)的監(jiān)控時(shí)間。在看門(mén)狗定時(shí)器預(yù)置的時(shí)間內(nèi)若沒(méi)有總線活動(dòng),則x25045將從reset輸出一個(gè)高電平信號(hào),經(jīng)過(guò)微分電路c2、r3輸出一個(gè)正脈沖,使cpu復(fù)位。圖2電路中,cpu的復(fù)位信號(hào)共有3個(gè):上電復(fù)位(c1、r2),人工復(fù)位(s、r1、r2)和watchdog復(fù)位(c2、r3),通過(guò)或門(mén)綜合后加到reset端。c2、r3的時(shí)間常數(shù)不必太大,有數(shù)百微秒即可,因?yàn)檫@時(shí)cpu的振蕩器已經(jīng)在工作。
看門(mén)狗定時(shí)器的預(yù)置時(shí)間是通過(guò)x25045的狀態(tài)寄存器的相應(yīng)位來(lái)設(shè)定的。如表2所示,x25045狀態(tài)寄存器共有6位有含義,其中wd1、wd0和看門(mén)狗電路有關(guān),其余位和eeprom的工作設(shè)置有關(guān)。
wd1=0,wd0=0,預(yù)置時(shí)間為1.4s。
wd1=0,wd0=1,預(yù)置時(shí)間為0.6s。
wd1=1,wd0=0,預(yù)置時(shí)間為0.2s。
wd1=1,wd0=1,禁止看門(mén)狗工作。
看門(mén)狗電路的定時(shí)時(shí)間長(zhǎng)短可由具體應(yīng)用程序的循環(huán)周期決定,通常比系統(tǒng)正常工作時(shí)最大循環(huán)周期的時(shí)間略長(zhǎng)即可。編程時(shí),可在軟件的合適地方加一條喂狗指令,使看門(mén)狗的定時(shí)時(shí)間永遠(yuǎn)達(dá)不到預(yù)置時(shí)間,系統(tǒng)就不會(huì)復(fù)位而正常工作。當(dāng)系統(tǒng)跑飛,用軟件陷阱等別的方法無(wú)法捕捉回程序時(shí),則看門(mén)狗定時(shí)時(shí)間很快增長(zhǎng)到預(yù)置時(shí)間,迫使系統(tǒng)復(fù)位。
以下是c語(yǔ)言編寫(xiě)的看門(mén)狗程序部分。
#include "reg51.h"
sbit cs=p1^2;/*片選信號(hào)由p1.2產(chǎn)生*/
sbit sck=p1^3; /*時(shí)鐘信號(hào)由p1.3 產(chǎn)生*/
sbit si=p1^0; /*si由p1.0產(chǎn)生*/
sbit so=p1^1; /*so由p1.1產(chǎn)生*/
sbit c=acc^7; /*定義位變量*/
bdata unsigned char com;
void tran() /*發(fā)送一字節(jié)數(shù)據(jù)子函數(shù)*/
{
unsigned char i;
for(i=0; i<8; i++)
{ acc=com; /*將數(shù)據(jù)放入a中*/
si=c;
sck=0; /*sck產(chǎn)生一個(gè)上跳變*/
sck=1;
com=com<<1; /*左移一位*/
}
return;
}
main()
{
com=0x06; /*發(fā)寫(xiě)讀使能命令*/
cs=0
熱門(mén)點(diǎn)擊
- 基于CD4060的硬件看門(mén)狗技術(shù)
- 用NCP1200代換脈寬調(diào)制控制UC3842
- 建筑智能化系統(tǒng)設(shè)計(jì)任務(wù)書(shū)的編制
- 視頻安防監(jiān)控系統(tǒng)技術(shù)要求
- 多路溫度采集及監(jiān)控系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)
- 太原科技大學(xué) 劉立群 孫志毅
- 用ROM實(shí)現(xiàn)組合邏輯函數(shù)
- ESD知識(shí)
- 城市軌道交通電力綜合監(jiān)控系統(tǒng)的結(jié)構(gòu)與網(wǎng)絡(luò)通信
- TI新一代OMAP2處理器支持WMV9與H.
推薦技術(shù)資料
- 羅盤(pán)誤差及補(bǔ)償
- 造成羅盤(pán)誤差的主要因素有傳感器誤差、其他磁材料干擾等。... [詳細(xì)]
- AI加速器(NPU)圖像處理(
- 智能電池壽命增強(qiáng)器IC應(yīng)用解釋
- SUSE Enterpris
- 微軟Azure Marketplace應(yīng)用探
- 驅(qū)動(dòng)程序CUDAKMD和CUD
- NV-RISCV64(RV64
- 多媒體協(xié)處理器SM501在嵌入式系統(tǒng)中的應(yīng)用
- 基于IEEE802.11b的EPA溫度變送器
- QUICCEngine新引擎推動(dòng)IP網(wǎng)絡(luò)革新
- SoC面世八年后的產(chǎn)業(yè)機(jī)遇
- MPC8xx系列處理器的嵌入式系統(tǒng)電源設(shè)計(jì)
- dsPIC及其在交流變頻調(diào)速中的應(yīng)用研究