91欧美超碰AV自拍|国产成年人性爱视频免费看|亚洲 日韩 欧美一厂二区入|人人看人人爽人人操aV|丝袜美腿视频一区二区在线看|人人操人人爽人人爱|婷婷五月天超碰|97色色欧美亚州A√|另类A√无码精品一级av|欧美特级日韩特级

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

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

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

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

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

掃碼添加小助手

加入工程師交流群

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

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

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

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

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

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

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

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

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

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

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

因為由于干擾的作用可能使這些芯片的工作方式控制字發(fā)生變化,而不能實現(xiàn)正確的輸出功能,重新設(shè)置控制字就能避免這種錯誤.確保輸出功能的正確實現(xiàn)。

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

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

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

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

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

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

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

NOP

NOP

JR ERR

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

WATCHDOG有如下特征:

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

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

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

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

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

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

    關(guān)注

    6076

    文章

    45501

    瀏覽量

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

掃碼添加小助手

加入工程師交流群

    評論

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

    單片機編程對數(shù)學英語要求嗎

    辛苦學數(shù)學和英語到底是為毛?數(shù)學和英語不是單片機開發(fā)的門檻,但卻決定以后能達到的高度,如果數(shù)學和英語不行,那么月薪20K可能就是的巔峰
    發(fā)表于 02-02 06:24

    單片機抗干擾技術(shù)的常用方法

    單片機系統(tǒng)硬件抗干擾的常用方法: 影響單片機系統(tǒng)可靠安全運行的主要因素主要來自系統(tǒng)內(nèi)部和外部的各種電氣干擾,并受系統(tǒng)結(jié)構(gòu)設(shè)計、元器件選擇、安裝、制造工藝影響。這些都構(gòu)成
    發(fā)表于 01-14 06:17

    如何測試單片機MCU系統(tǒng)的可靠性

    的抗靜電ESD能力;使用突波雜訊模擬器進行快速脈沖抗干擾EFT測試等等。 還可以模擬人為使用中,可能發(fā)生的破壞情況。例如用人體或者衣服織物故意摩擦單片機系統(tǒng)的接觸端口,由此測試抗靜電的能力。用大功率電鉆靠近
    發(fā)表于 01-08 07:50

    請問單片機常見的硬件抗干擾技術(shù)哪些?

    形成干擾的基本要素有哪些? 單片機常見的硬件抗干擾技術(shù)哪些?
    發(fā)表于 01-07 07:15

    單片機系統(tǒng)設(shè)計方法

    、接地、提高信噪比、濾波以及電壓保護等軟件抗于擾主要是通過軟件的合理編制降低單片機系統(tǒng)對干擾的靈敏度。解決的技術(shù)
    發(fā)表于 01-06 06:23

    這幾個單片機技巧如果不了解,真的很難再進階

    抗干擾能力夠不夠強了。 單片機干擾最常見的現(xiàn)象就是 復位;至于程序跑飛,其實也可以用軟件陷阱和看門狗將程序拉回到復位狀態(tài);所以單片機
    發(fā)表于 01-05 07:22

    單片機IO配置不同速度啥區(qū)別

    ; 當然,如果配置成其他模式,可能是中,或高。 比如:配置UART、CAN引腳,速度會是高。 提問:你想過為什么會是低、高嗎? 測量GPIO輸出波形 不知道大家用示波器測量過GPIO輸出波形沒有
    發(fā)表于 12-29 07:45

    單片機的入門準備

    單片機入門篇 1、學好電子技術(shù)基礎(chǔ)知識,如電路基礎(chǔ)、模擬電路、數(shù)字電路和微機原理。這幾門課程都是弱電類專業(yè)的必修課程,學會這些后能保證看懂單片機電路、
    發(fā)表于 12-22 07:39

    單片機硬件設(shè)計原則,抗干擾常用方法

    產(chǎn)生噪聲的器件、小電流電路、大電流電路開關(guān)電路等,應(yīng)盡量使其遠離單片機的邏輯控制電路和存儲電路(ROM、RAM),如果可能的話,可以將這些電路另外制成電路板,這樣有利于抗干擾,提高電路工作的可靠性
    發(fā)表于 12-09 06:30

    如何巧妙甚至避免單片機干擾問題

    在電子設(shè)計中,干擾的存在一直是工程師最頭痛的,干擾會導致電路發(fā)生異常,重則導致產(chǎn)品無法正常使用,因此,必須要巧妙甚至避免干擾問題,是許多工程師的重中之重,今天本文將談?wù)?b class='flag-5'>單片機如何避免。
    發(fā)表于 11-26 06:48

    提高單片機抗干擾能力的十個細節(jié)

    信號可作為設(shè)備的響應(yīng)回答和指令信號(如行程開關(guān)、啟動按鈕等)。 數(shù)字信號接口部分是外界干擾進入單片機系統(tǒng)的主要通道之一。 在工程設(shè)計中,對數(shù)字信號的輸入/輸出過程采取的抗干擾措施
    發(fā)表于 11-25 06:12

    單片機的誤區(qū)

    1.去背寄存器 寄存器不用死記硬背,,當我們?nèi)ナ褂?b class='flag-5'>單片機外設(shè)的時候就要去配置,千萬別去記寄存器,華維單片機編程的導師做開發(fā)這么多年了,一個寄存器都記不住。 何況,單片機的寄存器非常多,
    發(fā)表于 11-14 07:46

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

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

    單片機C語言入門指導(非常通俗易懂?。?/a>

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

    晶振受到電磁干擾單片機的影響

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