?

嵌入式操作系統的抗干擾技術

2010-11-25 02:37何煦嵐
制造業自動化 2010年12期
關鍵詞:傳輸線總線可靠性

何煦嵐

HE Xu-lan

(南京林業大學 信息院 計算機系,南京 210037)

0 引言

嵌入式系統是計算機的一種應用形式,在物理上嵌入于宿主系統中作為整個系統的一部分,并不獨立存在;在功能上,嵌入式計算機總是針對某種特定應用,一經編程,用戶一般不再修改。它是先進的計算機技術、半導體技術、電子技術和各行業的具體應用相結合后的產物,這一點就決定了它必然是一個技術密集、資金密集、高度分散、不斷創新的知識集成系統。因此,嵌入式系統的概念可以歸納為:以應用為中心,以計算機技術為基礎,軟硬件可裁剪,適應于應用系統及對功能、可靠性、成本、體積、功耗等有嚴格要求的專用計算機系統。

1 控制總線的抗千擾電路設計

由于系統使用的單片機僅僅依靠自身功能不能滿足系統的要求,需要應用外部接口芯片對其功能進行擴展,而總線是單片機和外部各種接口芯片進行數據交換的通道,基于單片機驅動的USB總線的可靠性直接關系到系統的可靠性,系統主要采取以下措施來提高總線的抗干擾能力,以滿足接口的抗干擾要求。

1)采用三態門式總線驅動器提供總線的抗干擾能力。核心8031單片機中,P0口(數據,地址總線)可驅動8個TTL門電路;P2口(地址總線)可驅動4個TTL門電路,P3口(控制總線)可驅動4個TTL門電路。當負載超過規定時,要加驅動器??偩€驅動器使用TTL型三態緩沖門電路74LS245,它可用于雙向驅動。三態門緩沖器能減少分布電容與電感對總線工作的影響,在總線上可連接400個芯片,其總線抗干擾能力比OC(集電極開路)門大10倍,可驅動100m長的線,而OC門只能在接3-5m長的傳輸線時,才有好的抗干擾性能。

2)總線接收端加施密特電路做緩沖器抗干擾。系統印刷電路板之間的連接電纜的接收端采用門電路,由于信號經長距離傳輸后會禍合一些噪聲,加上印刷板的噪聲共同作用,危害很大,威脅到系統的穩定運行,在接收端印刷板插座附件加施密特電路做緩沖器,可以濾除外部噪聲,提高總線的抗干擾性能。

3)改善總線的負載平衡,提高系統可靠性。

4)在靜態RAM電路中,使電流均勻流過印刷線路板,使存儲器存取瞬間所產生的噪聲電壓峰值變小。

抗千擾布線描施主要有:

1)輸入輸出端用的導線避免相鄰平行,應加線間地線,以免發生反饋藕合,同時盡量縮短印刷電路板布線中,電源線和地線之間的距離。

2)印刷板導線的最小寬度主要由導線與絕緣基板間的粘附強度和流過它們的電流值決定。電路中選用的導線寬度為0.3mm,在印刷版密集度不是很高的情況下,盡可能用寬線,尤其是電源線和地線。導線的最小間距主要由最壞情況下的線間絕緣電阻和擊穿電壓動態決定。在USB總線電路中,導線間距為0.15~0.2mm。

3)印刷導線拐彎處固定成圓弧形,以免影響電路的電氣性能。由于使用大面積銅箔,在長時間受熱的情況下,易發生銅箔膨脹和脫落現象。因此,在電路板上使用柵格狀銅箔,有利于排除銅箔與基板間粘合劑受熱產生的揮發性氣體。

4)焊盤中心孔比器件引線直徑稍大即可,焊盤太大,易形成虛焊。如果引線孔徑為Dmm,則焊盤直徑為 (D+l)mm。

2 硬件電路可靠性和抗干擾性設計

通常來自供電系統和信號傳輸通道的干擾是影響整個系統可靠性的主要因素,因此硬件抗干擾設計應將重點放在這里。硬件抗干擾設計得好可將絕大部分干擾拒之門外,使系統的穩定性大幅度提高。

2.1 供電系統抗干擾設計

電源在向系統供電時,也將其噪聲耦合到系統電源上,電源耦合的干擾對電路的影響非常大,給系統提供優質穩定的電源是保證系統可靠性能的關鍵之一。為防止從電源系統引入干擾,可用隔離變壓器接入電網,防止電網干擾侵入微機系統,同時可作各種濾波器濾波。

2.2 信號傳輸通道抗干擾設計

信號傳輸通道包括系統的前向通道和后向通道,對信號傳輸通道的可靠性設計可從以下幾個方面著手:

1)利用光電耦合器及濾波器對輸入、輸出信號采用光電隔離措施,可將微處理器與前向通道、后向通道及其他部分從電氣上隔離開來,有效地防止干擾的侵入。對電路板的輸入信號及源自高噪聲區的信號加濾波器濾波進一步加強抗干擾性。

2)采用負載阻抗匹配的措施,減小信號傳輸中的畸變

采用負載阻抗匹配的措施,使傳輸線兩端的負載阻抗和源阻抗與傳輸線特性阻抗相等,或在源端和負載端加入RLC網絡來匹配傳輸線的阻抗,消除數字信號在傳輸過程中由于反射、振鈴和交叉干擾作用而產生的畸變。

3)采用雙絞線傳輸減少傳輸線特性阻抗影響

傳輸線的特性阻抗分布參數必然會影響信號傳輸。傳輸線較長時其阻抗不可忽視,他的分布參數包括寄生電容和分布電感。為減少傳輸線特性阻抗的影響,可利用阻抗匹配雙絞線,若同時與光電耦合器或者平衡輸入接受器和輸出驅動器聯合使用,效果會更好。

在微處理器運行期間,芯片的懸空引腳尤其是懸空輸入引腳常給系統帶來不可預測的控制紊亂,因此為提高系統的穩定性需處理好未用懸空的引腳。通??蓪⑽⑻幚砥魑从靡_接高電平或接地,或定義成輸出端;未用的外部中斷接高電平;未用的運放同相輸入端接地,反相輸入端接輸出端等。

2.3 抑制空間電磁場干擾設計

高頻電源、交流電源、強電設備、電弧產生的電火花,甚至雷電,都能產生電磁波,成為電磁干擾的噪聲源。對此可采取屏蔽措施,用金屬外殼將器件包圍起來,再將金屬外殼接地,這對屏蔽各種電磁感應引起的干擾非常有效。

3 軟件抗干擾措施

在嵌入式控制系統中,如能正確地采用軟件抗干擾措施,與硬件抗干擾措施構成雙道抗干擾防線,無疑將大大提高工業控制系統的可靠性。

3.1 軟件工程開發方法

軟件工程的實踐表明,要提高軟件的可靠性,必須在軟件設計的全部階段(即問題定義、需求分析、總體設計、編碼、軟件測試和維護等階段)采取一系列規范化的方法來減少錯誤,提高軟件的可維護性。軟件工程學中提出的很多方法雖然是針對大型軟件設計的,但其中的思想和一些技術仍可為小型軟件設計者采用,特別是軟件的結構化設計方法、文檔要求以及程序編寫方法等。

3.1.1 以自下而上的可靠性設計方法,取代采MTBF

進行自上而下分配方法

當產品系統構思和設計完成之后,單元的設計師們應在設計前充分了解單元、模塊的環境條件,可能發生故障的關鍵部位及故障模式、機理,在設計時重點加以解決,且自下而上可能存在的可靠性問題都得到徹底解決,不僅可以將系統可靠性建立在踏實的基礎上,而且可以確保系統的可靠性指標留有充分的余地。

3.1.2 結構化程序設計

把程序要求分成若干獨立的、更小的程序要求或模塊化的功能要求,分別提出各自的要求/規格說明,并注明如何與程序的其他部分接口,還必須指出所有的輸入與輸出,以及測試要求。

3.1.3 容錯設計

對于軟件錯誤所引起的后果特別嚴重的情況,需采用容錯軟件,其途徑有:1)加強軟件的健壯性:使程序設計能夠緩解錯誤的影響,不致造成諸如死鎖或崩潰這樣的嚴重后果,并能指出錯誤源。2)采用N(N>2)版本編程法:盡可能用不同的算法與編程語言,經不同的班組編制,以提高各版本軟件的獨立性。這N個軟件版本同時在N臺計算機上運行,各計算機問能進行高效通信,并做出快速比較。當結果不一致時,按表決或預定的策略選擇輸出。3)恢復塊法:給需要做容錯處理的塊提供備分塊,并附加錯誤檢測和恢復措施。4)選擇性控制:為一個控制系統研制兩套不同的算法,一種是正常情況控制算法,另一種是應付異常事故處理方法。若趨于危險或故障區域,用后一種算法,驅使系統脫離危險狀態,待系統恢復正常后,又按正??刂扑惴ㄟM行。

3.1.4 軟件重用

最大限度地重用現有的成熟軟件,不僅能縮短開發周期,提高開發效率,也能提高軟件的可維護性和可靠性。在項目規劃開始階段就要把軟件重用列入工作中不可缺少的一部分,作為提高可靠性的一種必要手段。

3.1.5 加強測試

為最大限度地除去軟件中的差錯,改進軟件的可靠性,就要對軟件進行完備測試。

3.2 故障自診斷技術

3.2.1 檢查CPU的運算功能

在特定的存儲區存儲一組確定的數據,其中一個數據是其余數據經過某些運算的結果。在診斷時,把參加運算的數據按預定的運算規律(如按位相加或異或等)進行計算,將運算結果與原來的存儲結果(檢查和)進行比較,如有差錯就輸出報警信號。

3.2.2 RAM的檢查

平時用奇偶效驗。定時檢查時寫入隨機數,再讀出來,檢查讀寫的一致性;然后再將各位求反,寫后讀,并檢查讀寫的一致性。

3.2.3 控制軟件及寄存器檢查

編制寄存器檢查程序,對于計算機內部應用程序逐條指令和逐個寄存器進行檢查,發現錯誤,立即停機并顯示故障點。

3.2.4 數據采集誤差的軟件對策

根據數據受干擾性質及干擾后果的不同,采取的軟件對策各不相同,沒有固定的模式。對于實時數據采集系統,為了消除傳感器通道中的干擾信號,在硬件措施上常采取有源或無源RLC網絡,構成模擬濾波器對信號實現頻率濾波。同樣,運用CPU的運算、控制功能也可以實現頻率濾波,完成模擬濾波器類似的功能,這就是數字濾波。隨著計算機運算速度的提高,數字濾波在實時數據采集系統中的應用將愈來愈廣。在一般數據采集系統中,可以采用一些簡單的數值、邏輯運算處理來達到濾波的效果。使用的方法有算術平均值法、比較取舍法、中值法、一階遞推數字濾波法等。

3.2.5 指令冗余技術

程序“跑飛”后往往將一些操作數當作指令代碼來執行,從而引起整個程序的混亂。采用“指令冗余技術”是使程序從“跑飛”狀態恢復正常的一種有效措施。所謂軟件冗余,就是在程序的關鍵地方人為地加入一些單字節指令NOP,或將有效單子節指令重寫,當程序“跑飛”到某條單字節指令上,就不會發生將操作數當作指令來執行的錯誤。這些指令在程序中是冗余的,但能提高軟件系統的可靠性。

采用軟件的抗干擾設計方法措施,大大地提高了系統的可靠性和容錯性,有效地克服了各種干擾因素造成記錄數據出錯的可能性,保證存儲數據的準確性,提高了產品在工業現場適應性。

[1]張兵強.基于S3C240的嵌入式系統抗干擾性設計[J].電子工程師,2005,06.

[2]李伯成.嵌入式系統可靠性設計[M].電子工業出版社,2006.

[3]LXI Consortium.LXI Standard v1.0.www.lxistandard.org.September 2005.

[4]Michael Barr.Programming Embedded System in C and C++.O'Reilly Publisher.1999,1.

猜你喜歡
傳輸線總線可靠性
多導體傳輸線串擾概率分布計算方法
有耗介質層上多導體傳輸線的電磁耦合時域分析方法*
合理使用及正確測試以提升DC/DC變換器可靠性
不同傳輸模式下多芯片組件串擾的建模與仿真*
一種基于CAN總線的誤碼測試方法
GO-FLOW法在飛機EHA可靠性分析中的應用
5G通信中數據傳輸的可靠性分析
論如何提高電子自動化控制設備的可靠性
CAN總線并發通信時下位機應用軟件設計
基于CAN總線的水下通信系統設計
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合