摘 要:單片機應用系統在發動機電噴中得到了廣泛的應用,然而由于發動機工作環境惡劣,提高控制系統的抗干擾性至關重要。分析了單片機干擾的主要來源,并從硬件和軟件抗干擾設計中總結了一些取得良好抗干擾性的方法。
在進行單片機應用開發的過程中,經常遇到在實驗室調整很好的單片機一到工作現場就會出現這樣或那樣的問題,這主要是由于設計未充分考慮到外界環境存在的干擾,如機械震動、各種電磁波和環境溫差都會影響硬件系統的性能,導致電控單元不能正常工作。鑒于此本文較全面分析了干擾單片機應用系統的因素并結合自己的研究課題,提出一些可增強系統抗干擾性的方法。 1單片機系統的主要干擾源
系統的干擾源對電子系統的干擾主要是電磁能量干擾。主要內外的干擾源是:
(1)無線電設施的射頻干擾;
(2)發動機上的高壓點火線圈向外輻射磁場強度大、頻帶寬的電磁波;
(3)單片機內部的晶振電路是內部干擾源之一;
(4)數字電路本身門電路頻繁的導通、截止造成電源地線電流變化,也會產生很大的高頻電磁干擾,各種開關電子設備通斷時產生的急劇變化的電流會產生較寬頻譜干擾;
(5)外界交流電路中產生的工頻干擾亦會影響模擬電路輸出信號的準確性。
2干擾的耦合方式
干擾源產生的干擾是通過耦合信道對微機測控系統產生干擾作用,因而需要隔離干擾源與控制系統之間的耦合信道。表1列出了干擾源的主要干擾方式及特征。 3單片機的硬件抗干擾設計 硬件抗干擾技術是系統設計首選的抗干擾措施,他能有效的抑制干擾源,阻斷干擾的傳輸信道。常用的措施有:濾波技術、去耦技術、屏蔽技術和接地技術。
3.1電源電路的設計 在本電控系統中,模擬電路電源與邏輯電路電源分離,一是為了去除通過電源耦合邏輯電路產生的干擾進入模擬電路,二是為了避免傳感器通過電源耦合對ECU干擾。各功能模塊供電系統如圖1所示,皆采用7812和7805三端穩壓集成芯片,且都單獨對電源進行負壓差保護,這樣不會因其中某一穩壓電源出現故障而影響整個系統電路;使用低通濾波器亦可減少以高次諧波為主的干擾源,從而改善電源波形;在輸出端采用了過壓保護電路。通過上述設計可極大提高供電的可靠性。圖中D1、D2用于負壓差保護,防止壓差擊穿穩壓器的be結使器件永久失效,穩壓管WY1、晶閘管Q1用于過壓保護,電容E1、E2、C1、C2使輸出電壓波紋限制在一定范圍內。
3.2模擬電路抗干擾設計
在硬件電路的設計中,模擬電路設計非常重要。發動機的工作環境溫度變化比較大,因此在模擬電路中應選擇低溫漂系數的集成放大器;在模擬電路里面,共模信號對電路板影響較大,故在模擬電路中采用差動放大電路,可得出兩端輸出信號;接收時,將雙端信號轉化為單端信號,可非常有效地抑制共模信號。若電路中輸入信號變化比較大,需在放大器或比較器前加輸入端保護電路以避免器件的損壞。外界交流電路產生的工頻干擾對模擬信號有較大的影響,在電路中采用有源濾波器和低通濾波器。
3.3選用時鐘頻率低的單片機
外時鐘是高頻噪聲源,除能引起對本硬件電路產生干擾外,還能對外界產生干擾。因此選用低頻率的單片機是提高抗干擾性的原則之一。其同為1 μs時,8051單片機外時鐘為12 MHz,Atmel公司單片機外時鐘為6 MHz,而Microchip和Motorola的單片機時鐘頻率為4 MHz。
3.4輸入、輸出隔離
輸入、輸出信號通過隔離可以切斷干擾信道,避免強電流對回路的沖擊。常用的隔離方法有光電隔離、繼電器隔離和變壓器隔離。變壓器隔離是傳遞脈沖輸入、輸出信號時,不能傳遞直流分量,因此常用于不要求傳遞直流分量的輸入輸出控制設備中。光電耦合器由于結構簡單,比較廣泛用于輸入、輸出隔離信道之中。
3.5屏蔽技術
屏蔽措施可以防止電子設備向外輻射干擾電磁波,也可以削弱電磁干擾源對電子設備的干擾。對于噪聲源較大的開關電源,可采用雙重屏蔽,即開關電源內部把高頻變壓器和扼流圈進行屏蔽,然后對整個開關電源進行屏蔽保護。3.6去耦電路 數字信號電平轉換在轉換過程中會產生很大的沖擊電流,并在傳輸線和供應電源內阻上產生較大壓降,形成嚴重干擾。為抑制此干擾,在電源電路、數字電路和信號處理電路中適當配置去耦電容,即形成去耦電路,這樣可旁路集成電路產生的干擾。去耦電容計算可按以下方法計算:
C≥Δi/(Δv/Δt)
其中Δi、Δv為電流、電壓的變化量,Δt為變化的時間。
3.7印刷電路板的設計
3.7.1組件的布局
在電路板上元器件按功能集中布置,各功能模塊的組件分開布局且不同模塊分別與對應的電源、地線相連,最后集中一點接地。
(1)單片機和外圍擴展電路布置在一起以縮短他們之間資料和地址總線長度,這樣能獲得較好抗干擾效果。
(2)布置邏輯電路時,原則上應在出線端子放置高速器件,稍遠處放置低速器件和內存,這樣布置可降低公共阻抗耦合和輻射耦合。
(3)降噪電容應靠近各個IC組件。
(4)為了降低外部線路引進的干擾,光電耦合器、隔離變壓器和濾波器通常放在靠近出線端子的地方。
3.7.2電路板布線
(1)電源線、地線盡可能粗一點,且電流流向與信號流向一致。
(2)晶振電路應盡量靠近單片機,石英晶體振蕩器外殼接地,時鐘振蕩電路、特殊高
速電路用地線圈起來。
(3)電路板銅模線盡量使用45°折線而不用90°折線。
(4)避免相鄰信號線的線間干擾和減少信號在傳輸導線上的延遲。
(5)模擬信號避開高頻、大電流器件,重要的模擬信號線采用地線包圍的辦法以減少電磁耦合。
3 8選擇性能良好的組件
測控系統所處的環境往往有嚴重的干擾,因此選用性能很好的產品,特別是單片機晶振、RAM等,最好選用一級品,這樣可提高系統的抗干擾性;為了提高噪聲容限可選用CMOS器件;為了抑制共模干擾可選用測量放大器。3.9提高輸出信號電壓或電流 如果輸入輸出連接線路較長,最好提高傳送電壓或電流,以減少信號的衰減或干擾引起的信號失真。較簡單的方法是在傳送端加一個1488,接收端加一個1489。
4單片機軟件的抗干擾設計
盡管采取了硬件抗干擾措施,但由于干擾信號產生的原因很復雜,且有很大的隨機性,因此在采取硬件抗干擾措施的基礎上,采取軟件抗干擾措施加以補充。常見的軟件抗干擾技術有:數字濾波、指令冗余和“看門狗”技術、系統運行狀態監視和提高開關量輸入、輸出干擾。
系統常見的出錯現象:死機、被控對象誤操作和定時不準,他們主要由于內部程序指針錯亂使程序進入“死循環”和RAM資料被沖亂或改變導致的。
4.1數字濾波
當干擾疊加輸入信道的模擬信號時,使數據采集誤差加大。特別當輸入信道模擬信號較弱時,此現象更加嚴重。為了消除數據采集的誤差,常用算術平均法、比較取舍法、一階滯后濾波法和中值法,可根據信號和干擾的規律,采用最優的設計方法。輸入模擬信號處理如圖2所示,通過數字濾波器可濾掉大部分由于輸入信號干擾而引起的輸出控制錯誤。
4.2指令冗余和“看門狗”技術
單片機受強干擾會造成程序計數器PC值改變和破壞程序正常運行。針對這一問題可在關鍵地方插入一些單字節指令NOP或有效的單字節指令并用引導指令LJMP MAIN 將捕獲的“亂飛”程序引向復位入口地址,從而避免程序“亂飛”。可是有一些“亂飛”程序會導致死循環,通常采用軟、硬件“看門狗”技術,“看門狗”技術就是不斷監視程序運行時間,當程序運行出現故障時,計數器溢出,系統復位并重新運行系統程序。
4.3提高RAM資料可靠性
電源開啟和斷電及CPU受到干擾有可能破壞RAM中的資料。只有采用資料冗余技術保護RAM中的資料。系統復位后,立即將備用的RAM對重要參數進行自我檢驗和恢復,從而保護RAM中的資料。
4.4提高開關量輸入、輸出抗干擾
控制量有效信號上疊加一系列離散尖脈沖,這種干擾不易用硬件加以抑制,可采用軟件重復檢測以提高輸入、輸出接口抗干擾性。
5總結
不同的單片機系統都有自己的系統要求和特點,在硬件和軟件抗干擾設計上也各有自己的特色。針對無線電射頻干擾和交流電路工頻干擾等5種主要的干擾源以及干擾的方式,可采用上述的硬件抗干擾措施。對于軟件抗干擾措施,應首先了解測量對象和干擾因素,分析干擾的來源,然后根據系統設計有效的抗干擾方法。 |