一区二区三区三上|欧美在线视频五区|国产午夜无码在线观看视频|亚洲国产裸体网站|无码成年人影视|亚洲AV亚洲AV|成人开心激情五月|欧美性爱内射视频|超碰人人干人人上|一区二区无码三区亚洲人区久久精品

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

你可能不知道單片機(jī)軟件抗干擾技術(shù)有多么優(yōu)秀!

jf_35136247 ? 2023-05-13 18:00 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

電子儀器設(shè)備的抗干擾技術(shù)是一門博大精深的領(lǐng)域。大部分的電子設(shè)備所在的工作環(huán)境往往比較惡劣,干擾嚴(yán)重,這些干擾會(huì)嚴(yán)重影響設(shè)備的正常工作,使其不能正常運(yùn)行,比如空調(diào)就工作在高溫、大電流、強(qiáng)干擾(電機(jī))的環(huán)境下。

因此,為了保證這些設(shè)備能在實(shí)際應(yīng)用中可靠地工作,必須要周密考慮和解決抗干擾的問題。除了在硬件上考慮抗干擾的問題,我們也可以在軟件上做一些抗干擾的措施,來(lái)提高系統(tǒng)的抗干擾能力。

下面簡(jiǎn)單介紹了幾個(gè)抗干擾的措施,起一個(gè)拋磚引玉的作用,希望各位同事可以在工作中加以應(yīng)用和完善。

一、數(shù)字量輸入輸出中的軟件抗于擾

數(shù)字量輸入過(guò)程中的干擾,其作用時(shí)間較短,因此在采集數(shù)字信號(hào)時(shí),可多次重復(fù)采集,直到若干次采樣結(jié)果一致時(shí)才認(rèn)為其有效。例如通過(guò)A/D轉(zhuǎn)換器測(cè)量各種模擬量時(shí),如果有干擾作用于模擬信號(hào)上,就會(huì)使A/D轉(zhuǎn)換結(jié)果偏離真實(shí)值。

這時(shí)如果只采樣一次A/D轉(zhuǎn)換結(jié)果,就無(wú)法知道其是否真實(shí)可靠,而必須進(jìn)行多次采樣,得到一個(gè)A/D轉(zhuǎn)換結(jié)果的數(shù)據(jù)系列,對(duì)這一系列數(shù)據(jù)再作各種數(shù)字濾波處理,最后才能得到一個(gè)可信度較高的結(jié)果值。如果對(duì)于同一個(gè)數(shù)據(jù)點(diǎn)經(jīng)多次采樣后得到的信號(hào)值變化不定,說(shuō)明此時(shí)的干擾特別嚴(yán)重,已經(jīng)超出允許的范圍,應(yīng)該立即停止采樣并給出報(bào)警信號(hào)。

如果數(shù)字信號(hào)屬于開關(guān)量信號(hào),如限位開關(guān)、操作按扭等,則不能用多次采樣取平均值的方法,而必須每次采樣結(jié)果絕對(duì)一致才行。這時(shí)可編寫一個(gè)采樣子程序,程序中設(shè)置有采樣成功和采樣失敗標(biāo)志,如果對(duì)同一開關(guān)量信號(hào)進(jìn)行若干次采樣,其采樣結(jié)果完全一致,則成功標(biāo)志置位;否則失敗標(biāo)志置位。后續(xù)程序可通過(guò)判別這些標(biāo)志來(lái)決定程序的流向。

單片機(jī)控制的設(shè)備對(duì)外輸出的控制信號(hào)很多是以數(shù)字量的形式出現(xiàn)的。單片機(jī)給出一個(gè)正確的數(shù)據(jù)后,由于外部干擾的作用有可能使輸出裝置得到一個(gè)被改變了的錯(cuò)誤數(shù)據(jù),從而使輸出裝置發(fā)生誤動(dòng)作。對(duì)于數(shù)字量輸出軟件抗干擾最有效的方法是重復(fù)輸出同一個(gè)數(shù)據(jù),重復(fù)周期應(yīng)盡量短。這樣輸出裝置在得到一個(gè)被干擾的錯(cuò)誤信號(hào)后,還來(lái)不及反應(yīng),一個(gè)正確的信號(hào)又來(lái)到了,從而可以防止誤動(dòng)作的產(chǎn)生。

在程序結(jié)構(gòu)上,可將輸出過(guò)程安排在監(jiān)控循環(huán)中。循環(huán)周期取得盡可能短,就能有效地防止輸出設(shè)備的錯(cuò)誤動(dòng)作。需要注意的是。經(jīng)過(guò)這種安排后輸出功能是作為一個(gè)完整的模塊來(lái)執(zhí)行的,與這種重復(fù)輸出措施相對(duì)應(yīng)。

軟件設(shè)計(jì)中還必須為各個(gè)外部輸出設(shè)備建立一個(gè)輸出暫存單元,每次將應(yīng)輸出的結(jié)果存入暫存單元中,然后再調(diào)用輸出功能模塊將各暫存單元的數(shù)據(jù)一一輸出,不管該數(shù)據(jù)是剛送來(lái)的,還是以前就有的。

這樣可以讓每個(gè)外部設(shè)備不斷得到控制數(shù)據(jù),從而使干擾造成的錯(cuò)誤狀態(tài)不能得以維持。在執(zhí)行輸出功能模塊時(shí),應(yīng)將有關(guān)輸出接口芯片的初始狀態(tài)也一并重新設(shè)置。

因?yàn)橛捎诟蓴_的作用可能使這些芯片的工作方式控制字發(fā)生變化,而不能實(shí)現(xiàn)正確的輸出功能,重新設(shè)置控制字就能避免這種錯(cuò)誤.確保輸出功能的正確實(shí)現(xiàn)。

二、程序執(zhí)行過(guò)程中的軟件抗于擾

前面述及的是針對(duì)輸入輸出通道而言的,干擾信號(hào)還未作用到CPU本身,CPU還能正確地執(zhí)行各種抗干擾程序。如果干擾信號(hào)已經(jīng)通過(guò)某種途徑作用到了CPU上,則CPU就不能按正常狀態(tài)執(zhí)行程序,從而引起混亂,這就是通常所說(shuō)的程序“跑飛”。

程序“跑飛”后使其恢復(fù)正常的一個(gè)最簡(jiǎn)單的方法是使CPU復(fù)位,讓程序從頭開始重新運(yùn)行。很多單片機(jī)控制的設(shè)備中都有設(shè)置人工復(fù)位電路。人工復(fù)位一般是在整個(gè)系統(tǒng)已經(jīng)完全癱瘓,無(wú)計(jì)可施的情況下才不得已而為之的。因此在進(jìn)行軟件設(shè)計(jì)時(shí)就要考慮到萬(wàn)一程序“跑飛”,應(yīng)讓其能夠自動(dòng)恢復(fù)到正常狀態(tài)下運(yùn)行。

程序“跑飛”后往往將一些操作數(shù)當(dāng)作指令碼來(lái)執(zhí)行,從而引起整個(gè)程序的混亂。采用“指令冗余”是使“跑飛”的程序恢復(fù)正常的一種措施。

所謂“指令冗余”,就是在一些關(guān)鍵的地方人為地插入一些單字節(jié)的空操作指令NOP。當(dāng)程序“跑飛”到某條單字節(jié)指令上時(shí),就不會(huì)發(fā)生將操作數(shù)當(dāng)成指令來(lái)執(zhí)行的錯(cuò)誤。對(duì)于MCS51單片機(jī)來(lái)說(shuō),所有的指令都不會(huì)超過(guò)3個(gè)字節(jié),因此在某條指令前面插入兩條NOP指令,則該條指令就不會(huì)被前面沖下來(lái)的失控程序拆散,而會(huì)得到完整的執(zhí)行,從而使程序重新納入正常軌道。通常是在一些對(duì)程序的流向起關(guān)鍵作用的指令前面插入兩條NOP指令。應(yīng)該注意的是在一個(gè)程序中“指令冗余”不能使用過(guò)多,否則會(huì)降低程序的執(zhí)行效率。

采用“指令冗余”使“跑飛”的程序恢復(fù)正常是有條件的,首先“跑飛”的程序必須落到程序區(qū),其次必須執(zhí)行到所設(shè)置的冗余指令。如果“跑飛”的程序落到非程序區(qū)(如 EPROM中未用完的空間或某些數(shù)據(jù)表格等),或在執(zhí)行到冗余指令之前已經(jīng)形成了一個(gè)死循環(huán),則“指令冗余”措施就不能使“跑飛”的程序恢復(fù)正常了。這時(shí)可以采用另一種軟件抗干擾措施,即腸胃“軟件陷阱”。

“軟件陷阱”是一條引導(dǎo)指令,強(qiáng)行將捕獲的程序引向一個(gè)指定的地址,在那里有一段專門處理錯(cuò)誤的程序。假設(shè)這段處理錯(cuò)誤的程序入口地址為ERR,則下面三條指令即組成一個(gè)“軟件陷阱”:

NOP

NOP

JR ERR

如果“跑飛”的程序落到一個(gè)臨時(shí)構(gòu)成的死循環(huán)中時(shí),冗余指令和軟件陷阱都將無(wú)能為力。這時(shí)可以采用人工復(fù)位的方法使系統(tǒng)恢復(fù)正常,實(shí)際上可以設(shè)計(jì)一種模仿人工監(jiān)測(cè)的“程序運(yùn)行監(jiān)視器”,俗稱“看門狗”(WATCHDOG)。

WATCHDOG有如下特征:

(1)本身能獨(dú)立工作,基本上不依賴于 CPU。CPU只在一個(gè)固定的時(shí)間間隔內(nèi)與之打一次交道,表明整個(gè)系統(tǒng)“目前尚屬正?!?。

(2)當(dāng)CPU落入死循環(huán)之后,能及時(shí)發(fā)現(xiàn)并使整個(gè)系統(tǒng)復(fù)位。

目前有很多單片機(jī)在內(nèi)部已經(jīng)集成了片內(nèi)的硬件WATCHDOG電路,使用起來(lái)更為方便。也可以用軟件程序來(lái)形成WATCHDOG。

例如可以采用單片機(jī)一個(gè)多于不用的定時(shí)器來(lái)形成10ms的軟件WATCHDOG。軟件WATCHDOG啟動(dòng)后,系統(tǒng)工作程序必須每隔小于10ms的時(shí)間重新設(shè)置定時(shí)器的計(jì)數(shù)初值。如果程序“跑飛”后執(zhí)行不到這條指令,則在10ms之內(nèi)即會(huì)產(chǎn)生一次定時(shí)器溢出中斷,則定時(shí)器中斷程序就可以處理系統(tǒng)“意外”的情況。

采用軟件WATCHDOG有一個(gè)弱點(diǎn),就是如果“跑飛”的程序使某些操作數(shù)變形成為了修改定時(shí)器功能的指令,則執(zhí)行這種指令后軟件WATCHDOG就會(huì)失效。因此軟件WATCHDOG的可靠性不如硬件高。

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 單片機(jī)
    +關(guān)注

    關(guān)注

    6067

    文章

    44992

    瀏覽量

    650496
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評(píng)論

    相關(guān)推薦
    熱點(diǎn)推薦

    單片機(jī)定制開發(fā)的設(shè)計(jì)思路

    。開發(fā)團(tuán)隊(duì)需與客戶充分溝通,明確設(shè)備的應(yīng)用場(chǎng)景、功能目標(biāo)、性能指標(biāo)以及成本預(yù)算等。例如,在工業(yè)控制設(shè)備中,單片機(jī)可能需要具備較強(qiáng)的抗干擾能力和實(shí)時(shí)數(shù)據(jù)處理功能;而在消費(fèi)電子領(lǐng)域,低功耗和小型化往往是重點(diǎn)考量因素
    的頭像 發(fā)表于 07-17 11:14 ?84次閱讀
    <b class='flag-5'>單片機(jī)</b>定制開發(fā)的設(shè)計(jì)思路

    單片機(jī)C語(yǔ)言入門指導(dǎo)(非常通俗易懂?。?/a>

    這一切都沒什么關(guān)系,因?yàn)槲遥ó?dāng)然也包括任何人)都是從不知道轉(zhuǎn)變成知道的,再轉(zhuǎn)變成精通的。 現(xiàn)在我只想把我學(xué)習(xí)單片機(jī)的經(jīng)歷,詳細(xì)地講敘給大 家聽聽,可能有些大蝦會(huì)笑話我,想:那么簡(jiǎn)單
    發(fā)表于 06-16 16:32

    干貨|抗干擾天線的性能怎么測(cè)試?

    前幾個(gè)章節(jié)我們介紹了衛(wèi)星導(dǎo)航抗干擾天線的選型、抗干擾天線能不能同時(shí)做RTK差分的內(nèi)容。抗干擾天線選型指南,如何選擇滿足自己需求的抗干擾天線為
    的頭像 發(fā)表于 05-14 11:23 ?779次閱讀
    干貨|<b class='flag-5'>抗干擾</b>天線的性能怎么測(cè)試?

    晶振受到電磁干擾對(duì)單片機(jī)的影響

    單片機(jī)可以正常運(yùn)行的一個(gè)因素就是晶振的穩(wěn)定性。在工作過(guò)程中,晶振可能會(huì)受到電磁干擾的影響,導(dǎo)致單片機(jī)發(fā)生故障,甚至出現(xiàn)死機(jī)的情況。
    的頭像 發(fā)表于 03-20 18:01 ?651次閱讀

    單片機(jī)程序調(diào)試黑寶書,寫得不錯(cuò)很實(shí)用!【推薦下載】

    不對(duì)”。如果提過(guò)類似問題,或者不知道程序該怎么 Debug,就請(qǐng)讀本文了。 如果剛開始學(xué)習(xí)單片機(jī),可能覺得本文不著邊際,那么請(qǐng)先死記這些
    發(fā)表于 03-04 13:31

    紅外感應(yīng)單片機(jī)在智能衛(wèi)浴的抗干擾性分析

    一、自身優(yōu)勢(shì)帶來(lái)的抗干擾潛力 自帶恒流驅(qū)動(dòng)電路 :XD08M3232單片機(jī)自帶恒流驅(qū)動(dòng)電路,這一特性可能有助于增強(qiáng)其在智能衛(wèi)浴環(huán)境中的抗干擾性。因?yàn)楹懔黩?qū)動(dòng)電路可以使相關(guān)感應(yīng)部件的工作
    發(fā)表于 12-14 15:41

    接近感應(yīng)單片機(jī)在煙霧報(bào)警器抗干擾性的總結(jié)

    一、電源干擾方面 功耗穩(wěn)定 XD08M3232單片機(jī)在8MHz@3.3V運(yùn)行時(shí)功耗典型值為5mA,穩(wěn)定的功耗使其在煙霧報(bào)警器電源波動(dòng)(如電池電量變化或外部充電設(shè)備不穩(wěn)定)時(shí),自身運(yùn)行狀態(tài)受影響
    發(fā)表于 12-10 19:14

    XD08M3232紅外感應(yīng)單片機(jī)在智能垃圾桶抗干擾性分析

    %)和16KHz低功耗振蕩器LRC(精度±10%),可以為單片機(jī)提供穩(wěn)定的時(shí)鐘信號(hào),減少因時(shí)鐘信號(hào)不穩(wěn)定而受到的電源干擾影響,因?yàn)闀r(shí)鐘信號(hào)的穩(wěn)定對(duì)于單片機(jī)正常運(yùn)行和抗干擾至關(guān)重要,特別
    發(fā)表于 11-13 19:00

    XD08M3232接近感應(yīng)單片機(jī)在智能垃圾桶抗干擾性分析

    %)和16KHz低功耗振蕩器LRC(精度±10%),可以為單片機(jī)提供穩(wěn)定的時(shí)鐘信號(hào),減少因時(shí)鐘信號(hào)不穩(wěn)定而受到的電源干擾影響,因?yàn)闀r(shí)鐘信號(hào)的穩(wěn)定對(duì)于單片機(jī)正常運(yùn)行和抗干擾至關(guān)重要,特別
    發(fā)表于 11-04 13:42

    關(guān)于陶瓷電路板不知道的事

    陶瓷電路板(Ceramic Circuit Board),又稱陶瓷基板,是一種以陶瓷材料為基體,通過(guò)精密的制造工藝在表面形成電路圖形的高技術(shù)產(chǎn)品,快來(lái)看看哪些是您還不知道的事?
    的頭像 發(fā)表于 10-21 11:55 ?1000次閱讀
    關(guān)于陶瓷電路板<b class='flag-5'>你</b><b class='flag-5'>不知道</b>的事

    又一電工不知道,施耐德變頻器怎么復(fù)位,如果不告訴,知道怎么復(fù)位嗎?

    維修 我給他說(shuō),可能以前沒接觸過(guò)施耐德的變頻器,就不知道它還有一個(gè)蓋子,要復(fù)位的話,就要把蓋子打開,第一次找不到也正常,要是經(jīng)常斷電重啟的話,對(duì)設(shè)備不好。 變頻器修理 之所以分享給大家,就是想告訴那些沒接觸過(guò)施耐
    的頭像 發(fā)表于 10-12 15:15 ?1169次閱讀
    又一電工<b class='flag-5'>不知道</b>,施耐德變頻器怎么復(fù)位,如果不告訴<b class='flag-5'>你</b>,<b class='flag-5'>你</b><b class='flag-5'>知道</b>怎么復(fù)位嗎?

    性價(jià)比高的8位單片機(jī)哪些?

    。 2. 中微SC8P系列 中微半導(dǎo)體作為國(guó)內(nèi)知名的單片機(jī)供應(yīng)商,其SC8P系列單片機(jī)同樣基于Intel 8051內(nèi)核設(shè)計(jì),具有低功耗、寬電壓工作范圍及強(qiáng)大的抗干擾能力。該系列單片機(jī)
    發(fā)表于 09-27 14:27

    請(qǐng)教大家-單片機(jī)與傳感器獨(dú)立供電如何安全穩(wěn)定地連接通信?

    現(xiàn)在工作臺(tái)上試驗(yàn)的方案是,在單片機(jī)GND,SDA,SCL分別使用1k電阻連接到傳感器INA226的GND,SDA,SCL,能正常顯示正常工作,但不知道是否穩(wěn)定可靠,會(huì)有副作用,會(huì)有什么危害還望各位大師不吝賜教,不知道還有沒有比這
    發(fā)表于 09-27 09:27

    十天學(xué)會(huì)單片機(jī)可能嗎?單片機(jī)入門需要多久?

    學(xué)習(xí)單片機(jī)的過(guò)程,就像學(xué)習(xí)任何其他技能一樣,不僅在于書本上的知識(shí),更在于實(shí)踐和應(yīng)用的能力。許多人可能會(huì)問:十天能學(xué)會(huì)單片機(jī)嗎?答案是:可以,但這取決于所定義的“學(xué)會(huì)”到什么程度。首先
    的頭像 發(fā)表于 09-05 08:00 ?2474次閱讀
    十天學(xué)會(huì)<b class='flag-5'>單片機(jī)</b><b class='flag-5'>可能</b>嗎?<b class='flag-5'>單片機(jī)</b>入門需要多久?

    單片機(jī)圖形化編程軟件哪些

    單片機(jī)圖形化編程軟件為開發(fā)者提供了一種更加直觀、易于上手的編程方式,尤其適合初學(xué)者和教育領(lǐng)域。以下是一些常見的單片機(jī)圖形化編程軟件: Arduino IDE : 雖然是基于文本的編程環(huán)
    的頭像 發(fā)表于 09-02 10:14 ?3667次閱讀