隨著工業技術的不斷發展,對單片機控制的要求也越來越高,需要單片機具備更高的反應速度和更強的數據處理能力,各種高性能的新型單片機得到了迅猛的發展和應用。單片機上主要是高速的數字信號,弱信號很容易受到外界的電磁干擾,同時,單片機系統也會發生掉電、死循環等問題。在工業控制場合,一旦控制發生錯誤,將會造成難以估計的損失。因此,如何提高控制的可靠性是長期以來的一個重要問題。本文介紹了應用32位高性能單片機MC68HC376的一種實際開發方案,同時重點討論了提高系統可靠性的設計和實現方法。 MC68HC376 是Motorola 公司推出的一種新型的32 位高性能單片機,具有極強的數據處理、邏輯運算和信息存儲能力,且支持BDM(Background Debug Mode)模式。通過簡易的專用電纜接口,可以直接對微控制器系統進行仿真開發和燒錄程序。此外,由于MC68HC376 內部集成度高,外部擴展工作少,因此本身具有較強的抗干擾能力;同時通過外部硬件電路以及軟件的抗干擾設計,控制系統可以實現較高的可靠性。 1 控制系統的基本結構設計 MC68HC376 的集成度高,其主要功能模塊包括32位CPU;系統集成模塊(SIM);4K備用RAM;8K 片內ROM;10位隊列式的模數轉換器(QADC);隊列式串行通信模塊(QSM);可構造時鐘模塊(CTM4);時間處理單元(TPU);3.5K靜態TPURAM;CAN 控制模塊(TOUCAN)。其基本性能如下: (1) 24位地址總線、16位數據總線結構,支持32位數據操作。 (2) 2個8位雙功能I/O,1個7位雙功能I/O,16~44個模擬量輸入通道。 (3) 具有系統保護邏輯,同時可進行時鐘監視和總線監視。 (4) 速度快,在4.194MHz的晶振下系統時鐘可達20.97MHz。 (5) 功耗低,具備低功率休眠功能。 (6) 支持高級語言和背景調試。 系統擴展的基本結構 MC68HC376 內部集成度較高,因而其所需的外圍擴展工作較少。基本結構包括外部Flash ROM、RAM、模擬量輸入通道、數字量輸入通道、鍵盤、液晶顯示、RS-232電平轉換器MAX232和CAN 控制器CAN250等,其結構框圖如圖1 所示。本文重點討論系統的可靠性設計。 2 系統的可靠性設計 微處理器硬件監控電路 本文采用監控器MAX705 芯片構成外部監控電路,電路外部接線如圖2 所示。該電路具有看門狗定時器、自動和手動復位功能,以及電壓門限監測功能。 由于在系統上電、掉電以及供電電壓不足時, CPU 和總線邏輯狀態不確定,因此應該將微控制器維持在復位的狀態,以避免控制錯誤。對于MAX705,復位門限電壓為4.65V,故當Vcc低于4.65V時,系統保持在復位狀態。同時,將Vcc 與PFI 引腳相連,當Vcc低于1.25V時,由PFO 引腳輸出示警信號,若較長時間處于電源示警狀態,則可能出現電源故障,應該加以處理。當系統正常運行時,由MC68HC376 的CTM4 模塊的CTD4通道以小于1.6s 的間隔定時向MAX705的WDI 引腳提供脈沖;一旦系統不能正常運行而導致MAX705的WDI 引腳失去脈沖時,看門狗定時溢出使得/WDO為低,由于/WDO與手動復位引腳/MR相連,因此/RESET腳向MC68HC376發出低有效的復位信號,使系統恢復到復位狀態。 外部濾波電路 由于系統采用外部參考頻率源,為了提高系統頻率的穩定性和可靠性,所以需要在MC68HC376 的XFC 腳上接入濾波電路。該電路應盡可能降低XFC 腳的泄露電流,以提高時鐘的穩定性和內部鎖相環的性能。圖3所示為高穩定的濾波電路。 輸出驅動電路可靠性設計 控制裝置通過對系統狀況進行監測和分析后,向控制和調節的動作單元提供控制信號。如果輸出信號受到干擾或者由于裝置故障而發出錯誤的控制信號,那么會因產生錯誤的調節控制動作而使系統受到危害。因此,對于輸出驅動電路應該加以相應的閉鎖控制和抗干擾設計,以提高控制的可靠性。 (1) 閉鎖控制電路 這里采用可再觸發雙/單穩態多諧振蕩器74LS123 來構成輸出閉鎖電路,電路接線如圖4 所示。 將74LS123 的A 腳與MC68HC376 的CTM4 模塊的CTD4通道相連,由于在正常情況下CTD4定時提供脈沖,使得振蕩電路不能發生翻轉,此時,/Q保持為1;如果裝置故障,使得CTD4 失去脈沖,則振蕩電路使得/Q翻轉變為0,因此閉鎖信號變為0 對輸出控制信號閉鎖。同時,與門4081的另一腳接至MC68HC376 的TPU 模塊的TCH15 腳,直接由MC68HC376 控制。在正常運行中,當需要輸出控制信號時,置TCH15為1;當不需要輸出控制信號時,置TCH15為0,則使閉鎖信號為0,閉鎖輸出部分,這樣就防止了由于干擾或其他原因造成的誤動作。 (2) 控制信號輸出部分的抗干擾設計 當閉鎖信號開通時,輸出控制信號可能由于擾動而出現偏差,因此應設計相應的輸出電路形式來減小擾動的影響。輸出電路的形式如圖5 所示(這里只畫出一路輸出信號)。 采用單線控制時,一旦受到干擾就會使控制信號的電平發生變化,從而造成誤動。這里采用“0,1”控制方式,用兩根臨近的控制線,一根直接接至與門4081,另一根經過非門4069 接至4081,即當兩根控制線為“0,1”時輸出有效的電平信號1。這樣,當存在高擾動或低擾動使得控制線同時變為1或0時,輸出無效的電平信號0。本系統中,以CTM4模塊的CPWM7引腳和閉鎖信號一起控制開啟信號;開啟信號與MC68HC376的控制信號一起控制動作輸出信號。這樣就充分提高了輸出控制的可靠性。注意,單片機的I/O 控制信號應使用上拉電阻。 掉電報警電路 當系統的某一級工作電源掉電時,控制裝置將不能正常運作,或者控制信號得不到正確執行。這時應該發出報警信號,掉電報警電路如圖6 所示。將各等級的工作電源通過關隔MOC8050 串接起來,一旦發生掉電的情況,掉電報警處的電平由高變為低,啟動報警裝置。軟件可靠性設計 軟件看門狗 在MC68HC376 的SIM 模塊中,有一個軟件看門狗,在監控程序中,可以開啟軟件看門狗,配合提高系統的可靠性。該軟件看門狗由MC68HC376的系統保護控制寄存器(SYPCR)中的SWE 位控制開啟。當SWE 位為1 時,看門狗啟動,開始計時。在裝置正常工作時,程序應該在軟件看門狗溢出之前對軟件服務寄存器(SWSR)先后寫入55H 和AAH,當寫入完成之后,軟件看門狗就會清除當前計時值,重新開始計時。如果計時值溢出,則會使MC68HC376 的/RESET引腳有效,系統復位。這樣,就可以在程序死循環或者由于其它原因而導致程序跳飛時自動回復到復位狀態。看門狗的溢出時間由系統頻率以及SYPCR 寄存器的看門狗分頻位(SWP)和看門狗定時區(SWT[1:0])決定,如表1所示。選擇看門狗溢出時間時應該注意大小適中,若取值過大,則程序可能會較長時間處于死循環或跳飛狀態,從而導致控制錯誤或失效;若取值過小,則會增加程序負擔,降低裝置運行效率。 程序的區域劃分和操作級別控制 CPU32 可進行兩種優先級別的操作:監控級別和用戶級別。在監控級別下,CPU 可以對所有的內部集成資源和所有的指令進行操作,而在用戶級別下,它對一些寄存器和指令的訪問會受到限制。在程序中有效地利用這種優先級別會使內部資源和一些系統指令得到有控制的訪問,從而提高系統運行的可靠性。CPU32的狀態寄存器SR 中的S 位決定CPU 的工作級別,當S=1 時CPU 處于監控級別;S=0時CPU處于用戶級別。 一般情況下,單片機的程序區和數據區在同一個物理地址空間。對于MC68HC376,可以通過功能碼FC[2:0]來擴展和劃分外部物理空間,對FC[2:0]實現外部解碼,可以使監控級程序、監控級數據、用戶級程序、用戶級數據分別使用各自獨立的地址空間。對于MC68HC376內部的各個模塊,可以通過其相應的結構寄存器中的SUPV 位來確定該部分的通用寄存器所處的地址空間,當SUPV=1 時,將相關的寄存器放置于監控級數據地址空間,CPU只有在監控級別時才可對其訪問和操作;當SUPV=0 時,將相關的寄存器放置于數據級數據地址空間,CPU可任意對其進行訪問和操作。這樣,整個程序結構性強,按級別控制訪問,增強了運行的可靠性。 總線監視器 MC68HC376 進行內部總線操作時,數據選通應答引腳(/DSACK)和自動向量引腳(/AVEC)應該有相應的應答信號。SIM模塊中的總線監視器能對/DSACK和/AVEC信號進行監視,當響應時間超過定時值就使總線錯誤(/BERR)引腳有效。程序應對/BERR的狀態進行監視,以便及時對總線錯誤做出相應的處理。 總線監視器的定時值由系統保護控制寄存器(SYPCR)中的總線監視時間區(BMT[1:0])決定。BMT[1:0]=00時,定時值為64個系統時鐘;BMT[1:0]=01時,定時值為32 個系統時鐘;BMT[1:0]=10時,定時值為16個系統時鐘;BMT[1:0]=11時,定時值為8 個系統時鐘。程序員應根據實際的運行情況進行選擇。 其它 其它一些提高可靠性的措施還包括有配置去耦電容;系統時鐘電路采用獨立電源VDDSYN供電,減少對MCU的干擾,而且MCU 停電時系統時鐘仍可維持運行。布線時,時鐘電路設置在電路板的中央;Standby RAM采用兩個電源VDD 和VSTBY供電,正常運行時VDD 供電,發生掉電時,使其自動切換到VSTBY 供電。同時,在軟件中,將堆棧及一些重要數據存放在Standby RAM 有利于重要運行參數的保存。 3 結語 該方案采用高性能、集成度高、可靠性強的32 位新型微控制器MC68HC376為核心,同時在硬件、軟件以及制板布線等方面采用多種提高系統可靠性的設計措施。應用該方案的數字式低頻低壓控制裝置RSA800,已通過電力工業部電力設備及儀表質量檢驗測試中心的產品型式試驗。 |