a一级爱做片免费观看欧美,久久国产一区二区,日本一二三区免费,久草视频手机在线观看

新聞中心

EEPW首頁 > 嵌入式系統 > 設計應用 > 提高單片機應用系統可靠性的軟件技術

提高單片機應用系統可靠性的軟件技術

作者: 時間:2012-03-21 來源:網絡 收藏

1 設計模型與概述

本文引用地址:http://www.j9360.com/article/171822.htm

設計模型表達了從激勵到響應的唯一性過程。設計模型如圖1所示,按照可靠性設計模型,軟件設計的主要任務是保證在過程空間中,程序按照給定順序有序地運行。軟件設計的可靠性保障是軟件設計中的本質可靠性與可靠性控制。它保障了最少的軟件錯誤以及在軟件出錯后仍保證系統能正常運行或安全運行。

2 本質可靠性的軟件設計

2.1 最大限度地減少錯誤及缺陷

在應用軟件中,唯一的有序性(編程指定的)與無限的激勵因素,導致了軟件測試仿真的不完全性,其結果是軟件的缺陷與軟件并存。軟件的缺陷與錯誤通常可分為顯性與隱性兩大類。顯性缺陷與錯誤發生在程序正常運行中。這些缺陷和錯誤大部分都可通過仿真調試進行糾正;隱性缺陷與錯誤通常都在系統非正常運行中顯露出來。容錯能力弱的系統存在較多的隱性錯誤。

2.2 要有足夠的時序余度

時序是程序設計中必須考慮的問題。在應用程序設計應考慮的時序有系統復位時序、狀態時序、器件工作時序及總線運行時序。

(1)系統復位時序

①MCU復位時序要求。MCU有上電復位(冷啟動復位,如開機)與信號復位(熱啟動,如按鍵復位)。上電復位有電源建立及時鐘系統起振過程和電路狀態復位。信號復位是在MCU工作狀態下的復位,沒有電源建立及時鐘起振過程的時序要求。

中多個復位端的時序要求。當一個系統中,除外,還有其他可編程外圍器件,如8155有復位要求時,系統中便出現了多個復位控制要求。解決系統中多個器件復位時序的原則是:保證MCU在系統中最后復位或MCU對外圍可編程器件的初始化,必須確保在該器件復位后進行。

③程序設計中的復位處理原則。

·MCU上電后延遲片刻,確保外圍器件復位完畢,再對外圍器件初始化。

·在確保MCU對有復位控制端口的外圍器件初始化是完全初始化操作時,可將外圍器件的復位端接成非復位狀態。

(2)器件工作時序

器件工作時序是器件應用程序設計的基礎。程序設計中必須保證時序工作的正確性,而且要有足夠的余度。在考慮器件運行時序時,MCU的操作必須保證時序信號的銜接控制和時序信號的時序余度。

(3)狀態轉換時序

在狀態轉換的程序設計中,應根據狀態轉換的時序特點,進行精心的時序控制設計。通常,MCU本身的狀態轉換,如復位、ID、PD方式的進入或退出,片內外圍集成電路單元的關斷與運行,都有自動監視、自動運行管理功能。程序設計只須按MCU數據手冊及指令系統的操作要求進行即可。對于有較長過渡時間的外圍狀態轉換過程,可采取足夠的延時等待或設置提前轉換狀態的辦法。

(4)總線時序

應用系統中,有并行總線與串行總線。串行總線中又有通信總線和擴展總線。這些總線在規范化操作時,其時序由數據通信協議保證。在非規范運行,例如在虛擬總線方式下,其虛擬總線運行的可靠性在于時序的準確模擬。在并行總線中要保證讀、寫操作指令運行下的讀、寫時序;同步串行總線要保證時鐘線控制下的同步運行時序;串行異步時序則要考慮波特率對數據傳送的影響。

2.3 足夠的容錯設計

(1)超時管理的容錯設計

在系統程序中,除了專門設置的循環等待程序外,系統中的許多操作都是時間有界的。由于非正常激勵的入侵,導致任務操作無法結束,形成超時現象。解決措施:在程序設計中采用超時管理辦法,使程序從非正常激勵造成的“死機”中退出。

(2)超界管理的容錯設計

系統中實際運行的參數都是有界的。系統運行中要考慮的超界管理參數有:

①物理參數。這些參數主要是系統的輸入參數,它包括激勵參數、采集處理中的運行參數和處理結束的結果參數。合理設定這些邊界,將超出邊界的參數都視為非正常激勵或非正常響應進行出錯處理。

②資源參數。這些參數主要是系統中的電路、器件、功能單元的資源,如存儲器容量、存儲單元長度、堆棧深度。在程序設計中,對資源參數不允許超界使用。

③應用參數。這些應用參數常表現為一些器件、功能單元的應用條件。如E2PROM的擦寫次數與數據存儲時間等應用參數界限。

④過程參數。指系統運行中的有序變化的參數。

(3)有序化的容錯設計

有序化是程序正常運行的重要標志,是程序設計人員賦予的。有序化的容錯設計是要保證在眾多的非正常激勵和出現非正常響應時,要最大限度地保證原來程序設計時給定的有序的正常程序操作。

3 可靠性控制的軟件設計

3.1 噪聲失敏控制技術

(1)噪聲失敏與噪聲失敏率

噪聲失敏是利用CPU停止運行或關閉MCU外圍電路,使其對外界噪聲干擾失去響應能力的可靠性控制技術。噪聲失敏率NTOUT是在實際系統中,采取噪聲控制后,系統或電路對噪聲失敏的時間概率,

NTOUT可由下式估算:

TLOP為系統運行總時間,通常為系統開機時間;TOP為MCU中CPU的運行時間或電路系統的工作狀態時間;

TLOP-TOP為單片機CPU停止運行或外圍電路被關斷的時間。

(2)噪聲失敏控制的

①按噪聲失敏設計最有效的程序結構。盡量減少應用程序中的循環等待;盡量集中安排任務和任務中的有效運行時間;及時關斷不在有效運行的電路單元。

②MCU的休眠與掉電。通常,與CPU停止運行的低功耗方式主要有關斷CPU時鐘的休閑ID方式和關斷系統時鐘的掉電PD方式。

③外圍電路關斷。外圍電路可通過電源供電的關斷控制。具有關斷功能的外圍電路,可采取引腳控制關斷或編程控制的辦法,使之進入失敏狀態。

3.2 程序失控的回復技術

(1)程序失控后的快速凍結與回復

①WDT(Watch Dog Timer)的失控回復。如圖2所示。在程序失控后,程序跳逸出正常路徑,無法對WDT清零,致使WDT溢出。溢出端輸出信號使MCU復位。

②指令的失控恢復。如89C51中采用LJMP0000H的軟件陷阱時,將輸入陷阱的失控程序強行跳轉到復位入口0000H處。

(2)失控回復后的處理

①回復狀態檢測。回復是指程序失控后又轉回到正常路徑的起點,即復位入口地址。程序失控回復后要進行回復狀態檢測,以判斷是上電復位還是WDT復位或指令拉回。通常采用的檢測方法是利用上電標志。有些單片機內沒有上電標志,可利用上電復位時SRAM的隨機態與信號復位或程序拉回時,SRAM中數據不變的特點來判別。系統上電后,在SRAM區寫入特殊上電標志數據。待回復后先檢查上電標志是否存在,若存在即為WDT復位或指令拉回。

②回復后的初始化處理。圖3是上電復位與程序失控回復初始化處理框圖。0000H是MCU的復位入口,程序啟動后,首先判斷是上電復位(冷啟動),還是程序失控回復(熱啟動)。上電復位是開機操作,要建立上電標志,并進行系統的完全初始化。程序失控回復應進行相關資源的檢查與修復,以防止運行出錯。另外根據系統的特點,需要保留一些過程數據。

不得進行完全初始化時,只進行部分初始化。

3.3 安保、自檢與修復技術

在高可靠性等級的單片機應用系統中,軟件設計中應有安保、自檢與自修復軟件。

(1)安保程序設計。安保設計要求有非正常響應時,對象的完全性保障和系統的可持續運行。為了能在系統出現非正常響應時,立即獲得安全保護,應設置關鍵部位的失控檢測,如I/O口輸出狀態實時檢測;機器人軌跡檢測等。檢測到非正常響應后,應快速進入安保狀態設置,首先使系統進入安全態,然后保護系統的關鍵資源不受侵害,以保證系統具有后續運行的操作的能力。

(2)實際系統中的自檢。在實際的單片機應用軟件中,應充分利用其智能化特點,設置各種自檢程序以其可靠性與安全性。通常,應用系統中的自檢程序有自診斷,失控后的回復檢查和程序關鍵處的查驗。程序自診斷通常是開機后對系統的例行檢查;失控回復后的檢查重點是數據區,I/O狀態,SFR狀態,外圍電路的狀態等。程序關鍵處的查驗有界限檢查、冗余性檢查與邏輯性檢查。

3.4 系統的結構冗余

由于系統結構的簡化,電路的集成趨勢,器件成本的下降,邏輯控制能力的,在關鍵部位可采取冗余的備份結構來系統的可靠性。圖4為實際應用中某監控系統的具有獨立仲裁器的雙機冗余系統。仲裁器的輸入邏輯接收兩個系統的輸出數據與故障信息;輸出邏輯接收比較器A、B的比較結果和故障處理信號發生器的切換信號。仲裁器的故障判斷原理如下:對兩個同步工作系統輸出的數據進行比較,比較結果一致表明兩個系統均無故障;比較結果不同表明,必有一個系統出現故障,然后強令兩個系統進入自檢程序,用預先設定的參數進行測試,并與預定結果比較,相符者為正常開機,不符者為故障機。若為暫時性故障,重新復位即可排除,若為永久性故障則輸出故障信號并進入單機運行。

4 結束語

可靠性是一個綜合性、經驗性較強的問題,是單片機控制器能否成功應用的關鍵問題。上述提高單片機應用系統可靠性的與方法應用于多項應用工程,使多項工程在高可靠性硬件基礎上,保障了最少的軟件錯誤以及在軟件出錯后仍保證系統正常運行或安全運行。

參考文獻:
[1]楊華舒,復濤.單片計算機系統抗干擾的軟件途徑[J].電子技術應用,2001,(3).
[2]何立民.單片機高級教程[M].北京:北京航空航天出版社,2001.



評論


相關推薦

技術專區

關閉