基于CPLD的系統(tǒng)硬件看門狗設(shè)計
摘要:基于以DSP芯片TMS320F2812為核心的數(shù)字伺服控制器,以國微電子公司的SM1032國產(chǎn)CPLD(兼容Lattice公司的ispLSI 1032)為載體,設(shè)計了專用的系統(tǒng)硬件看門狗模塊,具備識別DSP軟件初始化時序、自由定制看門狗時序等功能。通過對伺服控制器上電及工作運行時序的分析、仿真和實驗驗證,確定了硬件看門狗功能模塊的設(shè)計方案,并給出了實驗結(jié)果。
關(guān)鍵詞:看門狗;CPLD;狀態(tài)機;仿真
引言
在以單片機、DSP等處理器為核心的數(shù)字系統(tǒng)中,看門狗是不可缺少的一部分,特別是在對可靠性要求極高的系統(tǒng)中,如箭上伺服控制器,由于箭體內(nèi)強弱電交叉使用,或者地面測試環(huán)境復(fù)雜多變,會產(chǎn)生諸多干擾和輻射。它們的沖擊會使CPU在執(zhí)行指令時的地址碼或操作碼發(fā)生變化,甚至將操作數(shù)作為操作碼執(zhí)行,導(dǎo)致程序跑飛。為使系統(tǒng)在規(guī)定時間內(nèi)重新正常工作,一種有效的措施是采用硬件看門狗技術(shù)。
本設(shè)計的最初思路來源:實現(xiàn)高可靠性數(shù)字伺服控制器軟、硬件看門狗的雙冗余設(shè)計要求,目前缺少軍品級國產(chǎn)化硬件看門狗器件,在滿足系統(tǒng)要求的情況下減少元器件的種類。
1 看門狗技術(shù)的實現(xiàn)方式
看門狗實現(xiàn)方式可分為以下兩種:
硬件看門狗——采用一個獨立于CPU的定時器電路或芯片,如MAX706或TPS3823等,周期性地產(chǎn)生復(fù)位脈沖,而CPU必須及時“喂狗”(在復(fù)位脈沖發(fā)出前對此定時器進(jìn)行清零處理),否則看門狗發(fā)揮作用,復(fù)位脈沖會使CPU重啟。
軟件看門狗——利用CPU內(nèi)部的定時器中斷替代看門狗定時器電路,存中斷程序中復(fù)位CPU,這同樣發(fā)揮了看門狗的作用。但由于CPU中斷存在優(yōu)先級、屏蔽以及中斷自身故障等原因,郁可能導(dǎo)致軟件看門狗工作異常。軟件看門狗往往采用一些其他軟件設(shè)計措施提高其可靠性。
2 基于CPLD的硬件看門狗設(shè)計
2.1 硬件平臺
此設(shè)計基丁箭上數(shù)字伺服控制器,以TI公司的TMS320F2812(下面簡稱為DSP)為控制核心,SM1032則用來實現(xiàn)對A/D、D/A和1553B總線的片選信號和邏輯控制信號譯碼,并在此基礎(chǔ)上增加了硬件看門狗功能。與其相關(guān)的電路連接如圖1所示,其中看門狗使能信號EN與DSP_JTAG電路相連,在DSP下載程序或在線仿真時可通過專用的JTAG 工裝電纜禁止看門狗功能,防止看門狗的誤操作。
本設(shè)計適用于以微控制器與FPGA或CPLD聯(lián)合使用的數(shù)字控制系統(tǒng)中。利用FPGA或CPLD的剩余資源沒計看門狗模塊,相當(dāng)于硬件看門狗的一種,其基本功能和特點有:當(dāng)軟件跑飛且主控芯片內(nèi)部看門狗工作異常時,可為系統(tǒng)進(jìn)行復(fù)位操作;可關(guān)閉主控芯片內(nèi)部的軟件看門狗,優(yōu)化軟件代碼;可節(jié)省專用的看門狗芯片,且在不同時序要求上靈活修改;可根據(jù)系統(tǒng)要求增加與主控芯片的握手信號。
評論