關(guān) 閉

新聞中心

EEPW首頁 > 工控自動化 > 設(shè)計(jì)應(yīng)用 > 看門狗技術(shù)在某型相機(jī)導(dǎo)航數(shù)據(jù)接口板中的應(yīng)用

看門狗技術(shù)在某型相機(jī)導(dǎo)航數(shù)據(jù)接口板中的應(yīng)用

作者: 時間:2006-03-06 來源:網(wǎng)絡(luò) 收藏

摘要:介紹一種將軟件和硬件相結(jié)合實(shí)現(xiàn)的“狗”在某型板中的。結(jié)合實(shí)際給出硬件電路和軟件流程。實(shí)踐證明,采用該可使429板具有較高的抗干擾性及高可靠性。

關(guān)鍵詞:航空; 抗干擾性; 可靠性; “狗”

在某型航空中,通過429總線板與任務(wù)機(jī)通訊接收相關(guān)和控制指令,同時與相機(jī)主板通過并口通訊交換數(shù)據(jù),這樣一來,如果接口板程序陷入“死機(jī)”或“死循環(huán)”狀態(tài),那么整個相機(jī)系統(tǒng)將無法正常運(yùn)行,因此,必須盡早發(fā)現(xiàn)故障并采取補(bǔ)救措施。本設(shè)計(jì)系統(tǒng)中采用了軟件與硬件相結(jié)合的“狗”技術(shù)。

1 系統(tǒng)中的硬件“看門狗"

專用硬件看門狗是指一些集成化的或集成在單片機(jī)內(nèi)的專用看門狗電路,實(shí)際上它是一個特殊的定時器,當(dāng)定時時間到時發(fā)出溢出脈沖。從實(shí)現(xiàn)角度上看,該方式是一種軟件與外部專用電路相結(jié)合的技術(shù),硬件電路連接好以后,在程序中適當(dāng)?shù)夭迦胍恍┛撮T狗復(fù)位指令(即“喂狗”指令),保證程序正常運(yùn)行時看門狗不溢出;而當(dāng)程序運(yùn)行異常時,看門

狗超時發(fā)出溢出脈沖,并通過單片機(jī)的RESET引腳使單片機(jī)復(fù)位。在這種方式中,看門狗能否可靠有效地工作,與硬件組成及軟件的控制策略都有密切的關(guān)系。

該系統(tǒng)采用Maxim公司推出的內(nèi)有“看門狗”(Watchdog)定時器的MAX813L型雙列直插式微處理器,其引腳排列如圖1所示。

圖2示出MAX813L“看門狗”定時器的時序。WDI為“看門狗”的輸入端.用來啟動Watchdog使定時器開始計(jì)數(shù)。當(dāng)RESET有效或WDI輸入為高阻態(tài)時,Watchdog定時器被清零且不計(jì)數(shù)。當(dāng)復(fù)位信號變?yōu)榈碗娖角襑DI電平發(fā)生變化(上升沿變化或下降沿變化)時,定時器開始計(jì)數(shù)。Watchdog一旦被驅(qū)動。若在1.6s內(nèi)不再重新觸發(fā)WDI.或WDI不是高阻態(tài)也無復(fù)位信號時,定時器將發(fā)生計(jì)數(shù)溢出,使WDO變?yōu)榈碗娖健Mǔ?,Watchdog可使CPU擺脫“死循環(huán)”的困境,因?yàn)橄萑胨姥h(huán)后就不可能發(fā)出WDI脈沖,最多經(jīng)過1.6s后,發(fā)出WDO信號。

圖3為實(shí)際接口板時的“看門狗”硬件連接,其中MAX813L的1腳與8腳相連,7腳接CPU的復(fù)位腳,6腳與CPU的P1.7相連。在軟件設(shè)計(jì)中,P1.7不斷輸出脈沖信號(“喂狗”指令),如因某種原因CPU進(jìn)人死循環(huán),則P1.7無脈沖輸出,經(jīng)1.6s后,MAX813L的8腳輸出低電平,將該低電平加到1腳,MAX813L則產(chǎn)生復(fù)位輸出,使CPU有效復(fù)位,CPU從而擺脫死循環(huán)的困境。另外,當(dāng)電源電壓低于門限值(4.65V)時,MAX813L也產(chǎn)生復(fù)位輸出,使CPU處于復(fù)位狀態(tài),不執(zhí)行任何指令,直至電源電壓恢復(fù)正常,可有效防止電源電壓較低時CPU產(chǎn)生錯誤的動作。以下是系統(tǒng)的“喂狗”函數(shù)。

Sbit WDI=P1.7:

void WatchDog()

{

WDI=1;

delayl ms();

WDI=0;

)

2 系統(tǒng)中的軟件“看門狗"

硬件“看門狗”技術(shù)能有效監(jiān)視程序,避免CPU陷入“死循環(huán)”或“死機(jī)”故障,但對中斷關(guān)閉故障無能為力;而軟件“看門狗”技術(shù)對高級中斷服務(wù)程序陷入“死循環(huán)”無能為力,但能監(jiān)視全部中斷關(guān)閉的故障。該系統(tǒng)將硬件“看門狗”與軟件“看門狗”相結(jié)合,互相取長補(bǔ)短。獲得出色的抗干擾效果。

圖3所示的“看門狗”硬件電路足以應(yīng)對中斷服務(wù)程序出現(xiàn)的“死循環(huán)”故障,因此,設(shè)計(jì)軟件時只需考慮監(jiān)視所有的中斷關(guān)閉故障即可。這樣從而大大簡化軟件流程。系統(tǒng)要求每隔一段時間接口板要與任務(wù)機(jī)進(jìn)行一次通訊,而通訊過程是在T0中斷處理程序中完成的,同時接口板還要與相機(jī)主板完成并口通訊,而這一通訊過程是在INT0中斷處理程序中完成的。這樣,一旦由于某種原因T0中斷或INT0被關(guān)閉,那么接口板將無法完成與任務(wù)機(jī)的 429通訊及與相機(jī)主板的并口數(shù)據(jù)通訊。系統(tǒng)軟件 設(shè)計(jì)流程如圖4所示,其中的A0、A1分別為T0、INT0中斷運(yùn)行的狀態(tài)觀測器.每當(dāng)T0、I:NT0中斷1次,A0、A1就相應(yīng)加1。在主程序功能模塊的入口處給A0、A1賦初值,并在中斷處理程序中重新對A0、Al賦新值,由于整個429數(shù)據(jù)解碼程序一般足夠長.在解碼的過程中接口板至少會分別完成與429任務(wù)機(jī)及相機(jī)主板的一次通訊,因此在每個周期429數(shù)據(jù)解算完畢的出口處分別將.A0、A1與其初值進(jìn)行比較,以判斷A0、A1是否發(fā)生變化,從而觀測二個中斷是否正常執(zhí)行。若中斷因干擾而關(guān)閉,A0、A1的值不發(fā)生變化,程序可轉(zhuǎn)向相應(yīng)函數(shù)進(jìn)行出錯處理,進(jìn)而將程序納入正軌。

3 結(jié)論

用硬件電路使程序擺脫“死循環(huán)”或“死機(jī)”,用軟件“看門狗”技術(shù)解除中斷關(guān)閉故障,使程序重新納入正軌。這種軟硬件相結(jié)合實(shí)現(xiàn)“看門狗”技術(shù)的方案合理利用了硬件“看門狗”和軟件“看門狗”技術(shù)的優(yōu)點(diǎn),使429接口板獲得良好的抗干擾效果及較高的可靠性。



評論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉