www.久久久久|狼友网站av天堂|精品国产无码a片|一级av色欲av|91在线播放视频|亚洲无码主播在线|国产精品草久在线|明星AV网站在线|污污内射久久一区|婷婷综合视频网站

當前位置:首頁 > 嵌入式 > 嵌入式硬件

近年來單片機系統(tǒng)在工業(yè)測控領(lǐng)域的應用越來越廣泛,而對于環(huán)境惡劣的工業(yè)現(xiàn)場,這種新型的微控制器的可靠性,安全性就成為了一個大的問題。在實驗室運行正常的程序到了工業(yè)現(xiàn)場卻不能運行,或者出現(xiàn)運行不穩(wěn)定經(jīng)常死機等。在這里我們主要討論一下如何通過軟件技術(shù)來增強系統(tǒng)的穩(wěn)定運行。

  當系統(tǒng)的CPU部位受到干擾信號的作用時,將使系統(tǒng)失控。最典型的故障是破壞程序計數(shù)器PC的狀態(tài)值。導致程序在地址空間內(nèi)“亂飛”,或者陷入死循環(huán)。而我們對這種情況的處理主要有這么幾種方法:

  1、指令冗余技術(shù);

  2、軟件陷阱技術(shù);

  3、看門狗技術(shù)。

  我們以MCS-51單片機來做以說明。

  一、指令冗余技術(shù)

  我們知道,指令由操作碼和操作數(shù)組成,操作碼指明CPU要完成什么樣的操作,而操作數(shù)是操作碼的對象。單字節(jié)指令只有操作碼,隱含操作數(shù);雙字節(jié)指令,第一個字節(jié)是操作碼,第二個字節(jié)是操作數(shù);三字節(jié)指令第一個字節(jié)是操作碼,后二個字節(jié)是操作數(shù)。CPU在取指令的時候是先取操作碼再取操作數(shù),如何判斷是操作碼還是操作數(shù)就是通過取指令的順序。而取指令的順序完全由指令計數(shù)器PC來控制,因此,一旦PC受干 擾出現(xiàn)錯誤程序便會脫離正常軌道,出現(xiàn)“亂飛”,這樣就會使得把操作數(shù)當作操作碼,或者把操作碼當作操作數(shù)的情況。但只要PC指針落在單字節(jié)指令上程序就可納入正軌,所以為了快速的將程序納入正軌,我們應該多用單字節(jié)指令,并在關(guān)鍵的地方人為的插入一些單字節(jié)指令NOP,或?qū)⒂行У膯巫止?jié)指令重寫,這就稱之為指令冗余。

  常用的方法就是在一些雙字節(jié),三字節(jié)指令后面插入兩個單字節(jié)指令NOP,或在一些對程序的流向起決定作用的指令前面插入兩條NOP指令。還可對一些重要的指令進行重復放置。

  但采用指令冗余技術(shù)將程序納入正軌的條件是:亂飛的PC必須指向程序運行區(qū)。

  二、軟件陷阱技術(shù)

  當亂飛的程序進入非程序區(qū)的時候, 我們就可設定軟件陷阱對亂飛的程序進行攔截從而將程序引向一個固定的位置。這樣我們就可將捕獲的程序重新納入正軌。

  軟件陷阱主要就是把程序從新引入它的復位入口處,也就是說我們在適當?shù)牡胤皆O置這樣的指令:

  NOP

  NOP

  LJMP 0000H

  對于軟件陷阱的安排,我們主要安排在這樣一些區(qū)域,未使用的中斷區(qū),未使用的EPROM空間及非EPROM空間。程序運行區(qū),及中斷服務程序區(qū)。在這里我們主要來看前三種:

  1、未使用的中斷區(qū)

  如果對于未使用的中斷因干擾而開放的話,我們可以把中斷服務程序這樣來寫:

  NOP

  NOP

  POP D1 ;將原來的錯誤斷點彈出

  POP D2 ;將原來的錯誤斷點彈出

  PUSH 00H

  PUSH 00H ;將斷點地址重寫為0000H

  RETI

  2、 未使用的EPROM區(qū)

  假設我們用了一片2764,但并沒有用完整個存儲區(qū)。這時候就可在未用的區(qū)域里填充上020000數(shù)據(jù),這樣當程序飛入其中時就會很快的走入正軌。這條指令其實是“LJMP 0000H”的機器碼。

  3、 非EPROM空間

  單片機系統(tǒng)的程序空間是64K,正常情況下我們所使用的EPROM不會占用所有的空間,假設我們現(xiàn)在的EPROM占用16K的空間那么剩下的48K空間就被閑置不用了。當亂飛的PC落入這些空間時,讀入的數(shù)據(jù)將為FFH,這是 :MOV R7,A 指令的機器碼,將修改R7的內(nèi)容。因此,當程序亂飛入非EPROM芯片區(qū)后,不僅無法導入正規(guī),面且破壞了R7的內(nèi)容。

  我們知道,當CPU讀程序存儲器的時候,伴隨著會產(chǎn)生一個PSEN信號,我們就可利用這個信號,再加上一個非EPROM區(qū)的地址譯碼信號,構(gòu)成一個選通信號來起動一個空閑的中斷,再用軟件陷井的方法從中斷程序中把程序?qū)胝?guī)。我們可看下面的一個圖:

  INT0

  PSEN

  非EPROM地址選通信號

  我們也可通過硬件的方法用一個緩沖器直接給數(shù)據(jù)線寫一個值,其原理與上述方法相同。

  三、 軟件看門狗技術(shù)

  我們知道看門狗的作用就是防止程序發(fā)生死循環(huán),或者說程序跑飛。硬件看門狗是利用了一個定時器,來監(jiān)控主程序的運行,也就是說在主程序的運行過程中,我們要在定時時間到之前對定時器進行復位如果出現(xiàn)死循環(huán),或者說PC指針不能回來。那么定時時間到后就會使單片機復位。

  軟件看門狗技術(shù)的原理和這差不多,只不過是用軟件的方法實現(xiàn),我們還是以51系列來講,我們知道在51單片機中有兩個定時器,我們就可以用這兩個定時器來對主程序的運行進行監(jiān)控。我們可以對T0設定一定的定時時間,當產(chǎn)生定時中 斷的時候?qū)σ粋€變量進行賦值,而這個變量在主程序運行的開始已經(jīng)有了一個初值,在這里我們要設定的定時值要小于主程序的運行時間,這樣在主程序的尾部對變量的值進行判斷,如果值發(fā)生了預期的變化,就說明T0中斷正常,如果沒有發(fā)生變化則使程序復位。

  對于T1我們用來監(jiān)控主程序的運行,我們給T1設定一定的定時時間,在主程序中對其進行復位,如果不能在一定的時間里對其進行復位,T1 的定時中斷就會使單片機復位。在這里T1的定時時間要設的大于主程序的運行時間,給主程序留有一定的的裕量。而T1的中斷正常與否我們再由T0定時中斷子程序來監(jiān)視。這樣就夠成了一個循環(huán),T0監(jiān)視T1,T1監(jiān)視主程序,主程序又來監(jiān)視T0,從而保證系統(tǒng)的穩(wěn)定運行。

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

8位單片機在嵌入式設計領(lǐng)域已經(jīng)成為半個多世紀以來的主流選擇。盡管嵌入式系統(tǒng)市場日益復雜,8位單片機依然不斷發(fā)展,積極應對新的挑戰(zhàn)和系統(tǒng)需求。如今,Microchip推出的8位PIC?和AVR?單片機系列,配備了先進的獨立...

關(guān)鍵字: 單片機 嵌入式 CPU

在嵌入式系統(tǒng)開發(fā)中,程序燒錄是連接軟件設計與硬件實現(xiàn)的關(guān)鍵環(huán)節(jié)。當前主流的單片機燒錄技術(shù)已形成ICP(在電路編程)、ISP(在系統(tǒng)編程)、IAP(在應用編程)三大技術(shù)體系,分別對應開發(fā)調(diào)試、量產(chǎn)燒錄、遠程升級等不同場景。...

關(guān)鍵字: 單片機 ISP ICP IAP 嵌入式系統(tǒng)開發(fā)

在嵌入式系統(tǒng)開發(fā)中,看門狗(Watchdog Timer, WDT)是保障系統(tǒng)可靠性的核心組件,其初始化時機的選擇直接影響系統(tǒng)抗干擾能力和穩(wěn)定性。本文從硬件架構(gòu)、軟件流程、安全規(guī)范三個維度,系統(tǒng)分析看門狗初始化的最佳實踐...

關(guān)鍵字: 單片機 看門狗 嵌入式系統(tǒng)

本文中,小編將對單片機予以介紹,如果你想對它的詳細情況有所認識,或者想要增進對它的了解程度,不妨請看以下內(nèi)容哦。

關(guān)鍵字: 單片機 開發(fā)板 Keil

隨著單片機系統(tǒng)越來越廣泛地應用于消費類電子、醫(yī)療、工業(yè)自動化、智能化儀器儀表、航空航天等各領(lǐng)域,單片機系統(tǒng)面臨著電磁干擾(EMI)日益嚴重的威脅。電磁兼容性(EMC)包含系統(tǒng)的發(fā)射和敏感度兩方面的問題。

關(guān)鍵字: 單片機 電磁兼容

以下內(nèi)容中,小編將對單片機的相關(guān)內(nèi)容進行著重介紹和闡述,希望本文能幫您增進對單片機的了解,和小編一起來看看吧。

關(guān)鍵字: 單片機 復位電路

在這篇文章中,小編將為大家?guī)韱纹瑱C的相關(guān)報道。如果你對本文即將要講解的內(nèi)容存在一定興趣,不妨繼續(xù)往下閱讀哦。

關(guān)鍵字: 單片機 異常復位

今天,小編將在這篇文章中為大家?guī)韱纹瑱C的有關(guān)報道,通過閱讀這篇文章,大家可以對它具備清晰的認識,主要內(nèi)容如下。

關(guān)鍵字: 單片機 仿真器

單片機將是下述內(nèi)容的主要介紹對象,通過這篇文章,小編希望大家可以對它的相關(guān)情況以及信息有所認識和了解,詳細內(nèi)容如下。

關(guān)鍵字: 單片機 中斷 boot

一直以來,單片機都是大家的關(guān)注焦點之一。因此針對大家的興趣點所在,小編將為大家?guī)韱纹瑱C的相關(guān)介紹,詳細內(nèi)容請看下文。

關(guān)鍵字: 單片機 數(shù)字信號 模擬信號
關(guān)閉