<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

EEPW首頁(yè) > 嵌入式系統 > 牛人業(yè)話(huà) > 單片機設計過(guò)程中如何擺脫電磁干擾?

單片機設計過(guò)程中如何擺脫電磁干擾?

作者: 時(shí)間:2015-09-09 來(lái)源:網(wǎng)絡(luò ) 收藏

  三、對干擾措施的軟件處理方法

本文引用地址:http://dyxdggzs.com/article/279902.htm

  源所產(chǎn)生的干擾信號在一些特定的情況下(比如在一些電磁環(huán)境比較惡劣的情況下)是無(wú)法完全消除的,終極將會(huì )進(jìn)進(jìn)CPU處理的的核心單元,這樣在一些大規模集成電路經(jīng)常會(huì )受到干擾,導致不能正常工作或在錯誤狀態(tài)下工作。特別是像RAM這種利用雙穩態(tài)進(jìn)行存儲的器件,往往會(huì )在強干擾下發(fā)生翻轉,使原來(lái)存儲的“0”變?yōu)?ldquo;1”,或者“1”變?yōu)?/p>

  “0”;一些串行傳輸的時(shí)序及數據會(huì )因干擾而發(fā)生改變;更嚴重的會(huì )破壞一些重要的數據參數等;造成的后果往往是很?chē)乐氐?。在這種情況下軟件設計的好壞直接影響到整個(gè)系統的抗干擾能力的高低。

  1.程序會(huì )由于大致會(huì )一下幾種情況:

 ?、俪绦蚺茱w。

  這種情況是最常見(jiàn)的干擾結果,一般來(lái)說(shuō)有一個(gè)好的復位系統或軟件幀測系統即可,對整個(gè)運行系統的不會(huì )產(chǎn)生太大的影響。

 ?、谒姥h(huán)或不正常程序代碼運行。

  當然這種死循環(huán)和不正常程序代碼并非設計職員有意寫(xiě)進(jìn)的,我們知道程序的指令是由字節組成的,有的是單字節指令而有的是多字節指令,當干擾產(chǎn)生后使得PC指針發(fā)生變化,從而使原來(lái)的程序代碼發(fā)生了重組產(chǎn)生了不可猜測的可執行的程序代碼,那么,這種錯誤是致命的,它會(huì )有可能會(huì )往修改重要的數據參數,有可能產(chǎn)生不可猜測的控制輸出等一系列錯誤狀態(tài)。

  2.對重要參數儲存的措施

  一般情況下,我們可以采用錯誤檢測與糾正來(lái)有效地減少或避免這種情況的出現。根據檢錯、糾錯的原理,主要思想是在數據寫(xiě)進(jìn)時(shí),根據寫(xiě)進(jìn)的數據天生一定位數的校驗碼,與相應的數據一起保存起來(lái);當讀出時(shí),同時(shí)也將校驗碼讀出,進(jìn)行判決。假如出現一位錯誤則自動(dòng)糾正,將正確的數據送出,并同時(shí)將改正以后的數據回寫(xiě)覆蓋原來(lái)錯誤的數據;假如出現兩位錯誤則產(chǎn)生中斷報告,通知CPU進(jìn)行異常處理。所有這一切動(dòng)作都是靠軟件設計自動(dòng)完成的,具有實(shí)時(shí)性和自動(dòng)完成的特點(diǎn)。通過(guò)這樣的設計,能大大進(jìn)步系統的抗干擾能力,從而進(jìn)步系統的可靠性。

  檢錯與糾錯原理:

  首先來(lái)看看檢錯和糾錯的基本原理。進(jìn)行差錯控制的基本思想是在信息碼組中以一定規則加進(jìn)不同方式的冗余碼,以便在信息讀出的時(shí)候依靠多余的監視碼或校碼碼來(lái)發(fā)現或自動(dòng)糾正錯誤。

  針對誤碼發(fā)生的特點(diǎn),即錯誤發(fā)生的隨機性和小概任性,它幾乎總是隨機地影響某個(gè)字節中的某一位(bit),因此,假如能夠設計自動(dòng)糾正一位錯誤,而檢查兩位錯誤的編碼方式。就可以大大進(jìn)步系統的可靠性。

  3.對RAM和FLASH(ROM)的檢測

  在編制程序時(shí)我們最好是寫(xiě)進(jìn)一些檢測程序來(lái)測試RAM和FLASH(ROM)的數據代碼,看有無(wú)發(fā)生錯誤,一旦發(fā)生要立即糾正,糾正不了的要及時(shí)給出錯誤指示,以便用戶(hù)往處理。

  另外,在編制程序時(shí)加進(jìn)程序冗余是不可缺少的。在一定的地方加進(jìn)三條或三條以上NOP指令對程序的重組有著(zhù)很有效防止作用。同時(shí),在程序的運行狀態(tài)中要引進(jìn)標志數據和檢測狀態(tài),從而及時(shí)發(fā)現和糾正錯誤產(chǎn)生。

單片機相關(guān)文章:單片機教程


單片機相關(guān)文章:單片機視頻教程


單片機相關(guān)文章:單片機工作原理



上一頁(yè) 1 2 下一頁(yè)

關(guān)鍵詞: 單片機 電磁干擾

評論


相關(guān)推薦

技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>