當(dāng)前位置:首頁 > 單片機(jī) > 單片機(jī)
長久以來,計算機(jī)系統(tǒng)的抗干擾一直是人們關(guān)心的重要問題,因?yàn)橛嬎銠C(jī)用得越來越廣,可靠性越來越重要,而抗干擾本身就是可靠性的重要組成部分。為了汽車、飛機(jī)、衛(wèi)星、反應(yīng)堆的安全,人們在抗干擾問題上花費(fèi)了大量精力與金錢,盡管已經(jīng)取得了長足的進(jìn)展,但在性價比上遠(yuǎn)不能滿足要求,以致高抗干擾的要求只是在高技術(shù)領(lǐng)域才加以考慮。本文討論了干擾對錯誤的形成機(jī)制,提出了對MCU改進(jìn)的建議。這個建議如果實(shí)施,不僅有利于高技術(shù)領(lǐng)域的應(yīng)用,也會惠及一般的民用領(lǐng)域。


1 干擾源的討論
   
很久以前,還在“8031+2764+14433”的年代,我們做了一批過程監(jiān)控儀表,用于滅菌過程F0的監(jiān)控,遇到了強(qiáng)烈的干擾問題。滅菌過程約30 min,由電觸點(diǎn)壓力表控制進(jìn)氣電磁閥,間接控制溫度。F0是一個溫度函數(shù)的積分值,可以反映滅菌的效果,它綜合考慮了溫度波動的影響。當(dāng)時采取了一些抗干擾措施,例如,硬件上對信號線屏蔽,信號濾波;軟件上的智能濾波,程序復(fù)執(zhí),程序分段保護(hù),數(shù)據(jù)后備,端口等重復(fù)初始化,ROM的定時校驗(yàn)和檢驗(yàn),多種出錯報警,出錯時重新熱啟動(可使問題有所緩和,但偶然會有判為ROM校驗(yàn)和錯而停機(jī)的情況出現(xiàn))。由于當(dāng)時F0只是用作參考,問題尚不嚴(yán)重,如要掩蓋,也可以用熱啟動代替停機(jī);但很快F0要作為產(chǎn)品工藝參數(shù),用記錄紙備案,于是就重新設(shè)計了監(jiān)控儀。新的監(jiān)控儀用89C51+14433,再加上光耦和T15617 D/A轉(zhuǎn)換器,將溫度和F0變?yōu)槟M量后送到雙筆記錄儀,實(shí)現(xiàn)產(chǎn)品工藝過程的記錄與存檔。硬件上,光耦隔離后部分是D/A和模擬電路,軟件在原有基礎(chǔ)上添加與T15617有關(guān)的串行通信部分。T15617的串行通信類似I2C,由CS、DIN和SCLK三條線構(gòu)成,SCLK數(shù)據(jù)位時鐘可達(dá)到25 ns,速度很高。用于計算的周期是6 s,儀表用定點(diǎn)算法配以查表,所以留出了充足的時間做許多抗干擾的工作。在D/A用的串行通信中甚至考慮了多次重復(fù)發(fā)送的子程序,希望減少通信錯誤的影響;但結(jié)果卻很壞,記錄紙上是一片墨帶。由于不知道通信對錯,很可能最后一次傳送就是錯的,于是不得不重新處理抗干擾問題。
    經(jīng)查干擾主要發(fā)生在電磁閥動作的時候,由于不可能在現(xiàn)場為每一個簡單的小表制作一個良好的地線,一般的市售電源濾波器件根本不起作用。現(xiàn)場用的是220 V交流電磁閥,無法設(shè)計緩沖線路。分析認(rèn)為,電磁閥斷開時會在電源上產(chǎn)生很大的反向電壓。交流電源的示波器受到干擾,在無法看清干擾的情況下,就用數(shù)字萬用表觀察,可以觀察到1 300 V以上的讀數(shù)??紤]到數(shù)字萬用表輸入的濾波效果,真正的峰值還要大,因此推想,高頻的干擾穿越了變壓器繞組間電容,造成變壓器次級交流電壓瞬間反向。盡管反向波幅的衰減很大,但因方向已改變,整流二極管來不及響應(yīng),已不供電,而濾波的電解電容器動態(tài)上來不及反應(yīng),也不供電,造成穩(wěn)壓前直流電源瞬間下降。同時它通過整流二極管,78L15、78L05等低頻器件到達(dá)二組隔離的電源,造成直流電源跌落。循此思路,發(fā)現(xiàn)TI5617的SCLK可能出現(xiàn)不正確的時鐘信號,造成數(shù)據(jù)傳送的錯誤。TI5617的讀數(shù)發(fā)生在SCLK的下降沿,說明書上強(qiáng)調(diào),在非傳送時減少饋通應(yīng)使SCLK=LOW,為節(jié)省電流消耗,SCLK是從光耦的基極輸出的。因此若光耦次級電源跌落,確實(shí)會造成SCLK下降而誤讀。然后我們在基極電阻(20 kΩ)上并聯(lián)0.1μF電容,在光耦次級電源上串接高頻二極管,以防0.1μF電容器通過光耦反向放電。采取此措施后,記錄曲線不再有墨帶。對本應(yīng)用而言,干擾問題初步解決,但仍不徹底。干擾得到解決本身證實(shí)了分析是正確的——來自電源的干擾有可能進(jìn)到直流電源部分。
    國際標(biāo)準(zhǔn)ISO7637是針對汽車電子領(lǐng)域電源的傳導(dǎo)干擾問題的。它規(guī)定有#1、#2a/b、#3a/b、#4、#5a/b等多種測試波形,反映實(shí)際應(yīng)用中會遇到的情形。其中,關(guān)斷感性負(fù)載(例如雨刮器的馬達(dá))引起的電壓升高,在12 V系統(tǒng)中可達(dá)50 V,雖有瞬間超過元器件耐壓而引起損傷的可能性,但不會直接引起誤動作。而在波形#1中,關(guān)斷感性負(fù)載(例如電動座椅的馬達(dá)和座椅的加熱系統(tǒng))產(chǎn)生的脈沖,在電源為12 V的系統(tǒng)中1 μs可達(dá)到一100 V,衰減到10%的時間為2 ms。在波形#3a中,電源為12 V的系統(tǒng)里5 ns可達(dá)到-138 V,回到0 V的時間大約為100 ns。這些是典型數(shù)據(jù),實(shí)際上電源線不是匹配的傳輸線,干擾波還要來回反射,情況更為復(fù)雜。在這些場合,也可能發(fā)生直流電源的跌落干擾。
    空間的幅射干擾也是經(jīng)常遇到的問題,例如在太空或反應(yīng)堆附近,電子器件會受到重離子的轟擊而產(chǎn)生故障;又如在空港區(qū)或大電流、高電壓區(qū)域,電子器件也會受到強(qiáng)電磁輻射而發(fā)生故障。在這些場合,干擾也會引起MCU的基本門電路工作失誤。

2 Watchdog不能解決軟件可靠性問題
   
Vcc的跌落會引起MCU的誤動作。MCU里每一個讀/寫操作都是由門電路實(shí)現(xiàn)的,門的開關(guān)依賴于門的閾值和信號的時序。電源跌落時閾值發(fā)生變化,振蕩器產(chǎn)生的信號時序也會變形。下面以8051單片機(jī)為例,考察如果干擾發(fā)生在執(zhí)行指令“MOV dirl,dir2”時會產(chǎn)生什么后果。假定錯誤發(fā)生在指令的第1字節(jié),最壞的情形是每個bit都反轉(zhuǎn),而最大的概率是只有一個bit發(fā)生反轉(zhuǎn)。一個bit發(fā)生反轉(zhuǎn)的情況如表1所列。

    從表1可見,一個bit的變化完全改變了指令的意義,程序流或數(shù)據(jù)產(chǎn)生不可預(yù)測的變化。例如,表中的跳轉(zhuǎn)部分(bit 0,2或5發(fā)生變化)可能不轉(zhuǎn)入死循環(huán),不引起Watchdog動作,也有可能跳到非正常指令處,直至死循環(huán)。表中非跳轉(zhuǎn)指令則有可能改變累加器(bit 0,1,3,4,6或7發(fā)生變化),數(shù)據(jù)RAM(bit 1,3,6或7發(fā)生變化)或狀態(tài)寄存器(bit 0,1,3,4,6或7發(fā)生變化)。如果錯誤發(fā)生在指令的第2或第3字節(jié),數(shù)據(jù)的源或目的地址就錯了。因此,即使Watchdog沒動作,也不表示程序運(yùn)行正常。對8051其他指令作分析可得到類似的結(jié)果。由此可見,Watchdog至多保證系統(tǒng)不死機(jī),卻有可能掩蓋了數(shù)據(jù)的錯誤。
    F0設(shè)計中,在關(guān)鍵點(diǎn)大量采用了“MOV dirl,tmp’,“MOV tmp,dir2”的形式將數(shù)據(jù)從dirl送到dir2,而不采用“MOV A,@R1”類指令,以減小對原始數(shù)據(jù)破壞的可能性,從而為程序復(fù)執(zhí)創(chuàng)造條件。例如在備份數(shù)據(jù)Treh到Tbkh時,先將Treh送tmp1,然后將數(shù)據(jù)由tmp1送到備份Tbkh,再校驗(yàn)Tbkh與Treh是否一樣。若不一樣,就重作備份。采用的部分程序如下:

   

    其中“MOV A,tmp1”仍有破壞tmp1的可能性,但tmp1是Treh的拷貝,壞了可重做;“XRL A,Treh'’有可能破壞Treh,但已無法作其他選擇。
    在硬件抗干擾方面,有許多專用的電源監(jiān)控芯片,如TL7705等,但是它們只適合在較慢的電源擾動下使用。對于直流電源的跌落干擾,MCU根本來不及作現(xiàn)場的保護(hù)工作,所以它不是解決快速干擾問題的辦法。
    在F0中使用的辦法也不盡完善,一般單片機(jī)線路中還有很多外圍線路,例如F0中的光耦,3個光耦同時導(dǎo)通時要消耗約50 mA的電流,它們形成的動態(tài)電阻很小,發(fā)生電源跌落時,并聯(lián)于MCU的解耦電容對此電阻放電,無法保證MCU正常工作的額定電壓。如在MCU電源中串接高頻二極管,就會引起額外的電源消耗,在低功耗的應(yīng)用中也會形成新的缺點(diǎn)。有些功能強(qiáng)大的MCU本身功耗就大,容許的電源變化范圍小,能否依靠解耦電容對抗電源跌落還需要檢驗(yàn)。綜上所述,軟件解決辦法不徹底,硬件解決辦法也有很多缺點(diǎn)與限制。


3 MCU要增加的功能
   
由于干擾而使指令出錯的問題不是watchdog能解決的,特別是造成源數(shù)據(jù)錯時,程序復(fù)執(zhí)也不能糾正錯誤的結(jié)果。程序設(shè)計者要在現(xiàn)成的指令體系中找到對源數(shù)據(jù)危害性概率最小的指令不容易。即使找到,也不能保證指令在有多bit跳變時源數(shù)據(jù)不錯。另外,有些指令錯誤也可能破壞其他處的數(shù)據(jù)。利用破壞數(shù)據(jù)概率最小的指令設(shè)計程序也不是好辦法,它既耗ROM空間,又費(fèi)運(yùn)行時間。        
    增大指令的Hamming距離可以改善這一情況。例如,給指令增加一到數(shù)位校驗(yàn)位,一旦指令通不過校驗(yàn),就不執(zhí)行,并重新取指。這樣,問題就有可能在產(chǎn)生后果前解決。就目前MCU的設(shè)計與生產(chǎn)水平而言,在技術(shù)與成本上這種增加不會有很大困難。雖然這一辦法在添加的校驗(yàn)位有限時仍會有一定出錯概率,但這種概率可以小到能接受的程度。
    為了更為可靠,作校驗(yàn)的線路可有某種冗余。連續(xù)重取指可能反映有其他故障,應(yīng)通過某種方式通知應(yīng)用層。為了不打擾程序設(shè)計者,這些指令的添加位應(yīng)該在寫入ROM時自動生成,這樣就不會產(chǎn)生與現(xiàn)有產(chǎn)品的兼容性問題。
    在早期的MCU應(yīng)用中,Watchdog是外置的,后來都集成到MCU里面去了。如果實(shí)現(xiàn)上述功能,MCU的抗干擾能力會更強(qiáng),Watchdog可能就不需要了。軟件的可靠性分析就可以將程序走飛和數(shù)據(jù)的完整性問題分割出來加以處理,軟件部分更專注于邏輯分析,意義深遠(yuǎn)。

本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點(diǎn),本站亦不保證或承諾內(nèi)容真實(shí)性等。需要轉(zhuǎn)載請聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請及時聯(lián)系本站刪除。
換一批
延伸閱讀

9月2日消息,不造車的華為或?qū)⒋呱龈蟮莫?dú)角獸公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關(guān)鍵字: 阿維塔 塞力斯 華為

加利福尼亞州圣克拉拉縣2024年8月30日 /美通社/ -- 數(shù)字化轉(zhuǎn)型技術(shù)解決方案公司Trianz今天宣布,該公司與Amazon Web Services (AWS)簽訂了...

關(guān)鍵字: AWS AN BSP 數(shù)字化

倫敦2024年8月29日 /美通社/ -- 英國汽車技術(shù)公司SODA.Auto推出其旗艦產(chǎn)品SODA V,這是全球首款涵蓋汽車工程師從創(chuàng)意到認(rèn)證的所有需求的工具,可用于創(chuàng)建軟件定義汽車。 SODA V工具的開發(fā)耗時1.5...

關(guān)鍵字: 汽車 人工智能 智能驅(qū)動 BSP

北京2024年8月28日 /美通社/ -- 越來越多用戶希望企業(yè)業(yè)務(wù)能7×24不間斷運(yùn)行,同時企業(yè)卻面臨越來越多業(yè)務(wù)中斷的風(fēng)險,如企業(yè)系統(tǒng)復(fù)雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務(wù)連續(xù)性,提升韌性,成...

關(guān)鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據(jù)媒體報道,騰訊和網(wǎng)易近期正在縮減他們對日本游戲市場的投資。

關(guān)鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會開幕式在貴陽舉行,華為董事、質(zhì)量流程IT總裁陶景文發(fā)表了演講。

關(guān)鍵字: 華為 12nm EDA 半導(dǎo)體

8月28日消息,在2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會上,華為常務(wù)董事、華為云CEO張平安發(fā)表演講稱,數(shù)字世界的話語權(quán)最終是由生態(tài)的繁榮決定的。

關(guān)鍵字: 華為 12nm 手機(jī) 衛(wèi)星通信

要點(diǎn): 有效應(yīng)對環(huán)境變化,經(jīng)營業(yè)績穩(wěn)中有升 落實(shí)提質(zhì)增效舉措,毛利潤率延續(xù)升勢 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務(wù)引領(lǐng)增長 以科技創(chuàng)新為引領(lǐng),提升企業(yè)核心競爭力 堅持高質(zhì)量發(fā)展策略,塑強(qiáng)核心競爭優(yōu)勢...

關(guān)鍵字: 通信 BSP 電信運(yùn)營商 數(shù)字經(jīng)濟(jì)

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺與中國電影電視技術(shù)學(xué)會聯(lián)合牽頭組建的NVI技術(shù)創(chuàng)新聯(lián)盟在BIRTV2024超高清全產(chǎn)業(yè)鏈發(fā)展研討會上宣布正式成立。 活動現(xiàn)場 NVI技術(shù)創(chuàng)新聯(lián)...

關(guān)鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會上,軟通動力信息技術(shù)(集團(tuán))股份有限公司(以下簡稱"軟通動力")與長三角投資(上海)有限...

關(guān)鍵字: BSP 信息技術(shù)
關(guān)閉
關(guān)閉