當前位置:首頁 > 嵌入式 > 嵌入式硬件
[導讀]基于微機主要部件的抗擾性能試驗,提出了幾種在單片微機上行之有效的軟件抗干擾對策,探索了抗干擾程序的原理及設(shè)計方法。

對于研制微機工控系統(tǒng)的科技人員而言,系統(tǒng)自身及應(yīng)用環(huán)境產(chǎn)生的各種電磁噪聲仍是普遍的困擾因素。許多應(yīng)用系統(tǒng)在進行仿真調(diào)試和實驗室內(nèi)的聯(lián)機試運行時都是成功的,然而一旦進入現(xiàn)場使用,系統(tǒng)則會產(chǎn)生預(yù)料以外的誤動作或誤顯示,嚴重時甚至導致前期研制成果基本失效,浪費了寶貴的時間和人力物力。因此,如何在系統(tǒng)研制的過程中對干擾源進行正確的分析,如何提高系統(tǒng)各部分及整體抗電磁干擾的能力,已經(jīng)日益引起人們的高度重視。以往對于電磁干擾的抑制主要側(cè)重于采取硬件措施,例如電磁隔離、去耦濾波、噪聲補償、CPU“看門狗”等。

筆者在研制數(shù)控設(shè)備的過程中對單片機受到的常見干擾進行了試驗分析,采用了相應(yīng)的軟件抑制及補償措施,室內(nèi)模擬噪聲測試和現(xiàn)場使用均證明了這些方法的有效性。

1 單片機的各部分對干擾信號的反應(yīng)

單片機屬于數(shù)字系統(tǒng),各邏輯元件都有相應(yīng)的閾電平和噪聲容限,外來噪聲只要不超過邏輯元件的容限值,整個系統(tǒng)就能維持正常。然而一旦侵入系統(tǒng)的噪聲超過了某種容限,此干擾信號就會被邏輯器件放大、整形,成為產(chǎn)生誤動作的重要原因。倘若干擾改變了觸發(fā)器或存儲器的信息,則在噪聲消失后系統(tǒng)也不能恢復正常運行。因此,在分析計算機系統(tǒng)受干擾的原因時,應(yīng)當注意其對噪聲信號的存儲或滯留特性。

我們借鑒美國電器制造商協(xié)會(NEMA)提出的工控微機抗擾度試驗標準,將放電干擾電壓提高到2kV,檢測常用的MCS—51系列芯片各部分的超??箶_能力和受擾結(jié)果,以分析確定相應(yīng)的軟件對策。試驗原理及觸點的放電波形、電纜感應(yīng)的干擾電流波形分別如圖1~圖3所示,試驗時將圖1中剩余的電纜芯線分別接到集成電路的受試引腳上,每次干擾試驗持續(xù)6min。

1.1 中央處理器CPU

CPU屬于高速數(shù)字器件,易受干擾的有運算器、控制器和控制寄存器。當電磁干擾信號竄入時,CPU將錯誤地執(zhí)行指令,引起誤動作或者錯誤的結(jié)果;而控制寄存器中的信息如果被噪聲修改,將導致初始化錯誤、尋址失敗乃至系統(tǒng)癱瘓。試驗表明,干擾信號大多數(shù)由總線導入CPU內(nèi);其中與外界聯(lián)系最頻繁、因而最容易受干擾的是程序指針PC,這種干擾往往引發(fā)致命錯誤,屬于重點防范和重點糾錯的對象。

1.2 特殊功能寄存器SFR

SFR包括各種I/O端口的寄存器、各種片內(nèi)部件的工作方式寄存器,以及堆棧指針、數(shù)據(jù)指針等等,其特點是傳遞數(shù)據(jù)的速度高,能夠與CPU的運行密切配合。如果某個SFR被干擾信號改寫,則意味著程序運行的結(jié)果異常,輕者改變單片機內(nèi)各部件的操作控制,重則導致整個系統(tǒng)的輸出紊亂,引發(fā)故障或安全事故。因此,對于與程序有關(guān)的SFR內(nèi)容必須提供及時有效的保護。

1.3 存儲器MEM

微處理機的存儲器包括片內(nèi)存儲器及片外擴展的存儲器。為了增強抑制噪聲的能力,工控計算機的數(shù)據(jù)存儲器和程序存儲器一般分屬兩個器件。噪聲試驗表明:程序存儲器(EEPROM或者EPROM)的抗擾度最高,經(jīng)過引腳噪聲超常耦合試驗后芯片內(nèi)容毫無變化;單片機內(nèi)部的數(shù)據(jù)存儲器(片內(nèi)RAM)抗擾度也較為滿意,經(jīng)過9次試驗后僅有兩個字節(jié)的內(nèi)容發(fā)生了改變,累積變化率不到1%;片外RAM(6264)的抗擾性能相對較差,在6次試驗后,其內(nèi)容的累計變化率已達8.05%。因此,在干擾信號較強的環(huán)境中運行的工控微機,其較持久的和重要的數(shù)據(jù)應(yīng)當保存在片內(nèi)RAM之中,在擴展的RAM中只宜保存臨時數(shù)據(jù)(中間變量),否則應(yīng)當采用后述方法在應(yīng)用程序中實施數(shù)據(jù)恢復。

2 軟件補償措施

對于已經(jīng)侵入微處理機的噪聲,必須采取能夠維持系統(tǒng)功能的對應(yīng)措施,以免出現(xiàn)意外停機或意外啟動,甚至引起惡性事故。對CPU的誤動作和各種存儲器內(nèi)容的誤修改,在應(yīng)用軟件中插入相應(yīng)的程序模塊,進行主動補償是一種簡便而可靠的方法。

2.1 主動初始化

這里的“初始化”泛指在各段程序中,對單片機及片外擴展器件的各種功能、端口或者方式、狀態(tài)等采取的永久性的或者臨時的設(shè)置。我們不僅要保證上電或復位后軟件能夠正確地實現(xiàn)各種級別的初始化,而且在程序中每次使用某種功能前,都要再一次對相應(yīng)的控制寄存器設(shè)定動作模式。實踐證明,這一措施可以大大提高系統(tǒng)對于入侵干擾的自恢復性能。

2.2 數(shù)據(jù)冗余化

在噪聲幅度較大的環(huán)境中,采用冗余數(shù)據(jù)法可以明顯地增加系統(tǒng)的可靠性,這種方法對于傳輸系統(tǒng)的永久性硬件故障或者干擾引入的數(shù)據(jù)錯誤都具有明顯的糾錯效果。采用的主要措施是給重要的數(shù)據(jù)添加冗余位,延長數(shù)據(jù)—代碼之間的漢明(hamming)距離以增強檢測和糾正錯誤的能力。圖4表明了這種方式的原理,完全無冗余性的代碼漢明距離為1。

冗余化碼系在遠距離數(shù)字通訊傳輸技術(shù)中應(yīng)用較為普遍,但在工業(yè)控制中的應(yīng)用尚不多見。圖4A代表工控技術(shù)中的一般數(shù)據(jù)碼,無檢測錯誤的能力。奇偶校驗則是在數(shù)據(jù)中增加1位冗余位(圖4B),使?jié)h明距離變?yōu)?,因此可以檢測奇數(shù)位錯誤。若再增加冗余位使碼系間的漢明距離延長為3(圖4C),還可具有校正1位錯誤的能力。在干擾信號特別強烈的場合中,控制或采集終端與上位機之間的串行傳送還可以考慮采用循環(huán)冗余校驗(CRC)手段來增加數(shù)據(jù)的可靠性。

2.3 重復執(zhí)行

程序指令在執(zhí)行的過程中或者保持(鎖存)之后,都有可能被噪聲修改而導致控制失效乃至引發(fā)事故,為此應(yīng)當盡量增加重要指令的執(zhí)行次數(shù)以糾正干擾造成的錯誤。對于頻率較低的傳感器數(shù)據(jù),建議在有效時間內(nèi)多次采集并比較;對于控制外部設(shè)備的指令,則需要多次重復執(zhí)行以確保有關(guān)信號的可靠性。為達此目的,可把重要的指令設(shè)計成定時掃描模塊,使其在整個程序的循環(huán)運行過程中反復執(zhí)行。如此即使干擾信號改寫了指令內(nèi)容,也能在受控設(shè)備的反應(yīng)時間內(nèi)自動恢復正常。

2.4 重要數(shù)據(jù)的保護和恢復

編寫專門的數(shù)據(jù)保護子程序,是提高工控微機系統(tǒng)可靠性的有效途徑。在編寫程序的過程中,對于由指令改變結(jié)果性質(zhì)的數(shù)據(jù),可以考慮在每次改變后都盡可能地保護起來,以便在需要時能夠恢復正確值。 對于大多數(shù)工控微處理機而言,在運行錯誤而強制“復位”之后,I/O端口和特殊寄存器SFR中的內(nèi)容都將變成芯片出廠時的設(shè)定值[4],這很可能會引起整個系統(tǒng)的運行混亂。因此計算機在重新啟動后,應(yīng)當首先執(zhí)行數(shù)據(jù)恢復程序,把控制端口等重要寄存器被保護的內(nèi)容恢復還原?;谇笆龅脑囼灲Y(jié)果,保護數(shù)據(jù)最可靠的地址位于微處理機的片內(nèi)RAM;若數(shù)據(jù)的保護量較大,則建議擴展非易失性的SRAM作為片外數(shù)據(jù)存儲器。這種新型芯片具有很高的抗干擾性能,其缺點是目前的價位較高。

3 片內(nèi)軟WDT監(jiān)控

“看門狗”(WDT)已經(jīng)成為工控微機必不可少的成員之一,其通常采用軟件與片外專門電路相結(jié)合的技術(shù),來防止CPU程序的“跑飛”。我們在課題的研究過程中注意到,利用微處理機內(nèi)部閑置的定時/計數(shù)器,配合以適當?shù)某绦蚓涂梢苑奖愕貥?gòu)成WDT,在PC異常時能夠及時有效地強制“軟復位”而恢復系統(tǒng)的正常運行。

3.1 基本原理

與前面提及的軟件補償措施相配合,此WDT可以有效地防止由于CPU的PC“飛出”正常運行的程序區(qū)域而導致的系統(tǒng)癱瘓。用微處理機片內(nèi)的一個定時器單元接收內(nèi)部時鐘提供的穩(wěn)定脈沖,當此定時器溢出(加法型)或者為零(減法型)時提出中斷請求;對應(yīng)的中斷服務(wù)程序使PC回到初始化程序的第一行,從而實現(xiàn)強制性“軟復位”。 程序正常運行時,軟件每隔一定的時間(小于定時器的溢出周期)給定時器清零或置數(shù),即可預(yù)防溢出中斷而引起的誤復位。

3.2 設(shè)計示例

下面以常用的MCS-51系列單片機的T0為例,介紹軟WDT的設(shè)計思路。

首先,在初始化程序塊中設(shè)置T0的工作方式,并開啟其中斷和計數(shù)功能。設(shè)主頻為12MHz,T0為8位計數(shù)器,則:

最大計數(shù)值為 28-1=255

計數(shù)速率是主頻的112(1次/μs),故:

溢出周期為(255+1)÷1=256μs

其次,計算各條指令的執(zhí)行耗時,以適當?shù)拈g隔設(shè)置 T0=0。由于MCS—51系列單片機的指令集中只有“乘”、“除”兩條指令耗用4個機器周期,其它均只耗用1~2個機器周期,為保險起見簡化為“每條指令均耗用2個機器周期”,即每執(zhí)行一條指令耗用2μs。據(jù)此可以推算出“清零定時器T0”的指令執(zhí)行間隔應(yīng)當少于:

256÷2=128(條)

即每執(zhí)行不多于128條程序指令(計入多次循環(huán)執(zhí)行的指令),就應(yīng)當執(zhí)行一條清零T0的指令,以防止軟復位被誤執(zhí)行。

第三,設(shè)計T0溢出所對應(yīng)的中斷服務(wù)程序。此子程序只須一條指令,即在T0對應(yīng)的中斷向量地址(000BH)寫入“無條件轉(zhuǎn)移”命令,把PC 拖回整個程序的第1行,對單片機重新進行初始化并獲得正確的執(zhí)行順序。由于這條中斷指令并沒有結(jié)束中斷子程序就轉(zhuǎn)出去了,為了能夠繼續(xù)響應(yīng)其它的中斷請求,可以在程序的初始化功能塊中把SP定高2字節(jié),在此2字節(jié)中寫入“中斷返回” (RETI)之后應(yīng)執(zhí)行指令的地址,以便RETI執(zhí)行后自動彈棧裝入PC,并在初始化程序結(jié)束前寫上RETI指令。

在工業(yè)控制系統(tǒng)的研制過程中,微機的抗干擾性能是系統(tǒng)成敗的關(guān)鍵之一。數(shù)十年來,人們已經(jīng)研究出了許多抗干擾的硬件措施,包括采用凈化電源、接地、屏蔽、光電耦合、數(shù)據(jù)濾波及延時除顫等等。本文針對微處理機易受干擾的部件提出了軟件抗干擾的一些方案,實用表明具有較高的經(jīng)濟性和可靠性,很容易將其結(jié)合進工業(yè)控制程序之中,不失為一類簡便而有效的抗擾手段。

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

9月2日消息,不造車的華為或?qū)⒋呱龈蟮莫毥谦F公司,隨著阿維塔和賽力斯的入局,華為引望愈發(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)意到認證的所有需求的工具,可用于創(chuàng)建軟件定義汽車。 SODA V工具的開發(fā)耗時1.5...

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

北京2024年8月28日 /美通社/ -- 越來越多用戶希望企業(yè)業(yè)務(wù)能7×24不間斷運行,同時企業(yè)卻面臨越來越多業(yè)務(wù)中斷的風險,如企業(yè)系統(tǒng)復雜性的增加,頻繁的功能更新和發(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 半導體

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

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

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

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

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺與中國電影電視技術(shù)學會聯(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ù)(集團)股份有限公司(以下簡稱"軟通動力")與長三角投資(上海)有限...

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