基于32位單片機的高可靠性系統(tǒng)設(shè)計
軟件看門狗
在MC68HC376 的SIM 模塊中,有一個軟件看門狗,在監(jiān)控程序中,可以開啟軟件看門狗,配合提高系統(tǒng)的可靠性。該軟件看門狗由MC68HC376的系統(tǒng)保護(hù)控制寄存器(SYPCR)中的SWE 位控制開啟。當(dāng)SWE 位為1 時,看門狗啟動,開始計時。在裝置正常工作時,程序應(yīng)該在軟件看門狗溢出之前對軟件服務(wù)寄存器(SWSR)先后寫入55H 和AAH,當(dāng)寫入完成之后,軟件看門狗就會清除當(dāng)前計時值,重新開始計時。如果計時值溢出,則會使MC68HC376 的/RESET引腳有效,系統(tǒng)復(fù)位。這樣,就可以在程序死循環(huán)或者由于其它原因而導(dǎo)致程序跳飛時自動回復(fù)到復(fù)位狀態(tài)??撮T狗的溢出時間由系統(tǒng)頻率以及SYPCR 寄存器的看門狗分頻位(SWP)和看門狗定時區(qū)(SWT[1:0])決定,如表1所示。選擇看門狗溢出時間時應(yīng)該注意大小適中,若取值過大,則程序可能會較長時間處于死循環(huán)或跳飛狀態(tài),從而導(dǎo)致控制錯誤或失效;若取值過小,則會增加程序負(fù)擔(dān),降低裝置運行效率。
程序的區(qū)域劃分和操作級別控制
CPU32 可進(jìn)行兩種優(yōu)先級別的操作:監(jiān)控級別和用戶級別。在監(jiān)控級別下,CPU 可以對所有的內(nèi)部集成資源和所有的指令進(jìn)行操作,而在用戶級別下,它對一些寄存器和指令的訪問會受到限制。在程序中有效地利用這種優(yōu)先級別會使內(nèi)部資源和一些系統(tǒng)指令得到有控制的訪問,從而提高系統(tǒng)運行的可靠性。CPU32的狀態(tài)寄存器SR 中的S 位決定CPU 的工作級別,當(dāng)S=1 時CPU 處于監(jiān)控級別;S=0時CPU處于用戶級別。 一般情況下,單片機的程序區(qū)和數(shù)據(jù)區(qū)在同一個物理地址空間。對于MC68HC376,可以通過功能碼FC[2:0]來擴展和劃分外部物理空間,對FC[2:0]實現(xiàn)外部解碼,可以使監(jiān)控級程序、監(jiān)控級數(shù)據(jù)、用戶級程序、用戶級數(shù)據(jù)分別使用各自獨立的地址空間。對于MC68HC376內(nèi)部的各個模塊,可以通過其相應(yīng)的結(jié)構(gòu)寄存器中的SUPV 位來確定該部分的通用寄存器所處的地址空間,當(dāng)SUPV=1 時,將相關(guān)的寄存器放置于監(jiān)控級數(shù)據(jù)地址空間,CPU只有在監(jiān)控級別時才可對其訪問和操作;當(dāng)SUPV=0 時,將相關(guān)的寄存器放置于數(shù)據(jù)級數(shù)據(jù)地址空間,CPU可任意對其進(jìn)行訪問和操作。這樣,整個程序結(jié)構(gòu)性強,按級別控制訪問,增強了運行的可靠性。
總線監(jiān)視器
MC68HC376 進(jìn)行內(nèi)部總線操作時,數(shù)據(jù)選通應(yīng)答引腳(/DSACK)和自動向量引腳(/AVEC)應(yīng)該有相應(yīng)的應(yīng)答信號。SIM模塊中的總線監(jiān)視器能對/DSACK和/AVEC信號進(jìn)行監(jiān)視,當(dāng)響應(yīng)時間超過定時值就使總線錯誤(/BERR)引腳有效。程序應(yīng)對/BERR的狀態(tài)進(jìn)行監(jiān)視,以便及時對總線錯誤做出相應(yīng)的處理。
總線監(jiān)視器的定時值由系統(tǒng)保護(hù)控制寄存器(SYPCR)中的總線監(jiān)視時間區(qū)(BMT[1:0])決定。BMT[1:0]=00時,定時值為64個系統(tǒng)時鐘;BMT[1:0]=01時,定時值為32 個系統(tǒng)時鐘;BMT[1:0]=10時,定時值為16個系統(tǒng)時鐘;BMT[1:0]=11時,定時值為8 個系統(tǒng)時鐘。程序員應(yīng)根據(jù)實際的運行情況進(jìn)行選擇。 其它 其它一些提高可靠性的措施還包括有配置去耦電容;系統(tǒng)時鐘電路采用獨立電源VDDSYN供電,減少對MCU的干擾,而且MCU 停電時系統(tǒng)時鐘仍可維持運行。布線時,時鐘電路設(shè)置在電路板的中央;Standby RAM采用兩個電源VDD 和VSTBY供電,正常運行時VDD 供電,發(fā)生掉電時,使其自動切換到VSTBY 供電。同時,在軟件中,將堆棧及一些重要數(shù)據(jù)存放在Standby RAM 有利于重要運行參數(shù)的保存。
3結(jié)語
該方案采用高性能、集成度高、可靠性強的32 位新型微控制器MC68HC376為核心,同時在硬件、軟件以及制板布線等方面采用多種提高系統(tǒng)可靠性的設(shè)計措施。應(yīng)用該方案的數(shù)字式低頻低壓控制裝置RSA800,已通過電力工業(yè)部電力設(shè)備及儀表質(zhì)量檢驗測試中心的產(chǎn)品型式試驗。
參考文獻(xiàn)
1 MC68336/376 user's manual. Motorola.Inc.1996
2 CPU32 reference manual. Motorola.Inc.1996
3 CTM configurable timer module reference manual. Motorola.Inc.1996
4 QADC queued analog-to-digital converter reference manual. Motorola.Inc.1996
5 SIM system integration module reference manual. Motorola.Inc.1996
6 QSM queued serial module reference manual. Motorola.Inc.1996
7 王幸之等. 單片機應(yīng)用系統(tǒng)抗干擾技術(shù). 北京航空航天大學(xué)出版社. 1999
8 王福瑞等. 單片微機測控系統(tǒng)設(shè)計大全[M]. 北京航空航天大學(xué)出版社. 1999
9 李華等. MCS-51系列單片機實用接口技術(shù). 北京航空航天大學(xué)出版社. 1993
10ROMdatasheethttp://www.dzsc.com/datasheet/ROM_1188413.html.
11RS-232datasheethttp://www.dzsc.com/datasheet/RS-232_584855.html.
12MAX232datasheethttp://www.dzsc.com/datasheet/MAX232_1074207.html.
13MAX705 datasheethttp://www.dzsc.com/datasheet/MAX705+_1019153.html.
1474LS123 datasheethttp://www.dzsc.com/datasheet/74LS123+_1133144.html.
15MOC8050 datasheethttp://www.dzsc.com/datasheet/MOC8050+_486169.html.
16SR datasheethttp://www.dzsc.com/datasheet/SR+_2043330.html.
17MCS-51datasheethttp://www.dzsc.com/datasheet/MCS-51_477840.html.
評論