雙端口RAM在單片機(jī)系統(tǒng)中的應(yīng)用
3.2 MAX813L的使用
此電路為MAX公司生產(chǎn)的程序監(jiān)控專(zhuān)用電路,用以防止程序跑死、跑飛,如圖2所
示。將MR與看門(mén)狗輸出端WDO相連,看門(mén)狗輸入端WDI接到單片機(jī)的P1.5腳,REST
端接單片機(jī)復(fù)位端RESET。平時(shí),在定時(shí)中斷子程序中對(duì)P1.5輸出一次,每次取反,則P1.5腳將輸出標(biāo)準(zhǔn)的方波,不斷觸發(fā)看門(mén)狗。當(dāng)系統(tǒng)受到干擾,出現(xiàn)“死機(jī)”現(xiàn)象時(shí),單片機(jī)將無(wú)法從P1.5給出脈沖,1.6 s后813L的REST端便給出復(fù)位信號(hào),使單片機(jī)復(fù)位。另外在掉電和上電期間,MAX813L均能產(chǎn)生可靠的復(fù)位信號(hào)。
3.3故障探測(cè)及切換系統(tǒng)
這個(gè)系統(tǒng)有兩個(gè)任務(wù):一是探測(cè)2個(gè)CPU系統(tǒng)的工作狀況;二是發(fā)現(xiàn)故障時(shí)及時(shí)進(jìn)行整個(gè)系統(tǒng)的切換。既然要檢測(cè)CPU的工作是否正常,它本身就應(yīng)該高可靠,結(jié)構(gòu)要精少,嚴(yán)格篩選。2個(gè)CPU同時(shí)給故障檢測(cè)及切換系統(tǒng)不間斷脈沖,檢測(cè)系統(tǒng)則檢測(cè)所給的脈沖間隔,由此來(lái)確定2個(gè)CPU系統(tǒng)是否正常工作。這個(gè)間隔應(yīng)大于看門(mén)狗產(chǎn)生復(fù)位所需的時(shí)間,以確定確實(shí)硬件出故障后再做切換。當(dāng)某CPU系統(tǒng)所給出的脈沖間隔大于設(shè)定值時(shí),說(shuō)明此CPU系統(tǒng)發(fā)生了故障。這時(shí)切換控制系統(tǒng)就可通過(guò)邏輯組合屏蔽掉此CPU的CE,同時(shí)放開(kāi)另一CPU端的CE,將雙端口RAM交由副CPU使用。
4 軟件
在此電路的其它部分有現(xiàn)成的8 Hz信號(hào),可將此信號(hào)作為外部中斷源,由P1.5輸出脈沖信號(hào)給故障檢測(cè)電路及看門(mén)狗電路。每發(fā)生一次中斷,將P1.5輸出取一次
反,形成了250 ms的方波信號(hào)。外部中斷子程序如圖3所示。其中03H為設(shè)定的標(biāo)志
位,它代表了上一次P1.5輸出的電平。
在主程序的初始化中,應(yīng)避免對(duì)各內(nèi)外存儲(chǔ)器置數(shù),以便出現(xiàn)故障產(chǎn)生復(fù)位后,單片機(jī)能夠不間斷按原故障處繼續(xù)運(yùn)行。
5 結(jié) 論
在以往的雙機(jī)容錯(cuò)系統(tǒng)中,為了共享存儲(chǔ)器而不得不增加大量類(lèi)似245、244的器件,反而影響了可靠性的提高,而雙端口RAM的使用可大大簡(jiǎn)化電路,從而真正保證雙機(jī)系統(tǒng)可靠性的提高。
對(duì)以上方案進(jìn)行了許多模擬故障試驗(yàn),均能可靠地進(jìn)行切換和不間斷工作。應(yīng)用在建筑塔鐘控制系統(tǒng)上以后,經(jīng)過(guò)長(zhǎng)期運(yùn)行,證明設(shè)計(jì)是成功的,運(yùn)行是可靠的。
參考文獻(xiàn)
1 趙峰.高性能雙口RAM及應(yīng)用.現(xiàn)代電子技術(shù),1997
2 李高強(qiáng)等.雙口RAMIDT7130在全數(shù)字化交流調(diào)速系統(tǒng)中的應(yīng)用.電子技術(shù)應(yīng)用,1996
評(píng)論