高精度直流微電阻測試儀的研究與開發-----軟件系統設計
4.9軟件方面的可靠性設計
在提高硬件系統抗干擾能力的同時,還要進行軟件抗干擾的設計。
軟件方面的可靠性設計通常有以下幾種方法:
1.數字濾波
(1)算術平均法對某一點的數值連續多次采樣,取其算術平均值,這種方法可以減小系統的隨機干擾對數據采集的影響;
(2)比較取舍法對某一點數據連續采樣多次,剔除較大偏差;
(3)中值法對某一點數值連續采樣多次,依次排序,取其中間值作為采樣結果;
(4)一階遞推數字濾波法
這種方法是利用軟件完成Rc低通濾波器的算法,代替硬件實現Rc濾波.本系統在數字濾波方面采用了算術平均法,即對某一點的數值連續多次采樣并且剔除最大值和最小值,然后取其算術平均值,這種方法的好處就是取值能夠比較的符合實際電阻值,偏差較小,可以減小系統的隨機干擾對數據采集的影響和濾波方面的誤差。
2.設置軟件陷阱
當系統受到干擾后可能引起程序計數器PC值的改變,使系統程序沒有按照預定的順序執行,而是執行其他程序區的程序,或使PC值超出程序區,將非程序區的隨機數作為指令碼運行,影響了系統的正常運行。
為此,本系統也采用了設置軟件陷阱的方法來確保系統的軟件可靠性。在本軟件系統中,在非程序區安排指令強迫系統復位,不論PC失控后飛到非程序區的哪個字節,都能使系統復位。
3.應用“看門狗”技術
設置軟件陷阱能解決一部分程序失控的問題,但當程序進入某種非正常的死循環時,軟件陷阱可能不起作用。本軟件系統同時也設置了軟件“看門狗”,應用“看門狗”技術能夠使程序從死循環中恢復到正常狀態,“看門狗”就是一個時間監視器,軟時鐘是利用片內定時/計數器,定時時間比正常執行一次程序循環所需時間要長。
程序正常運行未受干擾時,CPu每隔一段時間就對軟時鐘重置時間常數并使其復位,復位時間應比設定的定時時間要短,使系統不受影響地正常工作。當受到干擾使程序不能正常運行陷入死循環時,因不能及時發出復位脈沖,軟時鐘運行至既定的定時時間,軟時鐘可產生中斷,在中斷服務子程序中進行相應處理。
軟件“看門狗”應用一個內部定時器來定時,此時應將它的溢出中斷設定為高級中斷。
啟動軟件“看門狗”以后,在系統運行正常時,程序必須在定時器的定時間內重新設定定時器的定時時間常數,從而使定時器不產生溢出中斷;當程序陷入死循環后,不能在定時器的定時時間內重新設其定時時間常數,使得定時器產生溢出中斷,程序通過執行中斷處理而退出死循環。在中斷處理程序中要進行錯誤處理并用軟件使系統復位。
在本系統中應用了“看門狗”軟件,目的就是為了保證軟件運行的可靠性,這也是眾多測試測量儀器所通用的防止系統出現非正常死循環時的方法。
評論