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