單片機休眠-復位運行方式提高抗干擾能力_第1頁
單片機休眠-復位運行方式提高抗干擾能力_第2頁
單片機休眠-復位運行方式提高抗干擾能力_第3頁
單片機休眠-復位運行方式提高抗干擾能力_第4頁
單片機休眠-復位運行方式提高抗干擾能力_第5頁
已閱讀5頁,還剩2頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、單片機休眠-復位運行方式提高抗干擾能力摘要:介紹一種用休眠-復位運行方式提高單片機抗干擾能力的方法;分析其適用范圍,給出具體應用電路;結合實例,分析這種運行方式下硬件和軟件設計的特點。 關鍵詞:單片機 復位/休眠抗干擾引 言隨著微電子技術的飛速發(fā)展,單片機的性能迅速提高,在運算、邏輯控制、智能化方面顯示出非凡的優(yōu)勢,在很大程度上取代了原來由數字邏輯電路、運算放大電路組成的檢測、控制電路,應用非常廣泛。但由于它存在著死機、程序跑飛等致命缺陷,使它在許多重要場合的應用受到限制。在抗干擾方面的許多技術,比如設軟件陷阱、加硬件看門狗電路等,可使這一問題有較好的解決,但仍然存在問題: 看門狗動作時,意味

2、著已經出現了錯誤,且運行了一段時間,這在有些場合是不允許的; 有時程序出現死循環(huán)錯誤,但是剛好把看門狗控制環(huán)節(jié)包含進去,對于這樣的錯誤采用看門狗無法識別; 在檢測控制周期比較長的系統(tǒng)中,單片機花大量時間等待外設,執(zhí)行等待命令時同樣會受到干擾。針對這些情況,我們在實踐中嘗試了主動復位的辦法,采用等間隔的脈沖或根據外部條件對單片機進行復位喚醒。每次復位后,單片機執(zhí)行相應的程序,執(zhí)行完任務后及時進入休眠,等待下次復位。用此方法較好地解決了上述問題,并在農用變壓器綜合保護器實驗中得到了較好的效果。下面以51系列單片機為例探討具體原理與實現方法,復位信號為高電平。1 原理與實現方法1.1 無條件定時復位

3、法用定時器、專用時鐘芯片或其它脈沖產生器,按照設定的間隔定時產生復位信號。這種方法特別適合監(jiān)測儀表。在實際運行中,往往是用A/D轉換器采樣輸入的模擬量,然后進行存儲顯示。這一過程很快,但為了讀數穩(wěn)定,每秒數據更新不過12次,CPU的大量時間用于等待。如果讓CPU執(zhí)行完任務后直接進入休眠,然后由外界復位喚醒它去執(zhí)行下一次操作,這就是定時復位法。這樣會使抗干擾能力大大增強,主要有2點: 休眠時,程序停止運行,不會出現PC指針紊亂引起的程序跑飛。如果工作與休眠的時間比例為1:9,也就是說,1s內有0.1s的時間用來檢測、送顯示,有0.9s的時間休眠,程序受干擾的概率是全速運行時的1/10,整體抗干擾

4、能力提高了10倍。 由于每1s無條件復位1次,一旦某次工作期間出現死機,在下次復位時肯定得以恢復。對于只是顯示的儀表,某1s偶然出現的讀數錯誤對下一次測量并沒有記憶,是可以承受的,屬“一過性”錯誤。這種定時復位相對于看門狗電路的優(yōu)點,一是把等待時間改為休眠狀態(tài) ,縮短可能受干擾的時間;二是避免了恰好包含看門狗控制環(huán)節(jié)的死循環(huán)。1.2 外部條件復位法有些輸出或測量的啟動是由外部控制的。如暖氣熱表,靠熱水水輪旋轉產生的脈沖計算熱量,沒有熱水流動,就沒有熱量輸出,CPU只要保持原來數值即可,不需要計數??梢韵胂?,停暖時熱水水輪不轉,CPU在春夏秋三季則無事可做;如果讓其休眠,而不是時刻檢測有無水輪脈

5、沖,抗干擾能力會大大增強。因此,只要把水輪脈沖與CPU的復位聯系起來,水輪每旋轉1周,CPU復位1次,熱表就可以正常工作了,這就是外部條件復位法。類似的應用還有半電子式電度表,當機械度盤旋轉1周時才進行1個計數,用戶不用電,CPU會一直休眠。這種方法的復位間隔不是固定的,而是根據外部條件確定的。在有些場合,休眠的時間會很長,對提高抗干擾能力非常有效。2 硬件實現要點2.1 無條件定時復位一般有2種方法。 使用定時器或專用時鐘芯片復位。圖1為使用555電路組成的定時電路;也可以使用X1126之類的時鐘芯片,設置報警時間后用報警信號喚醒CPU。這種方法適用于長間隔定時,還可以根據本次運算的結果,臨

6、時決定下一次的報警喚醒時間,非常靈活方便。 使用系統(tǒng)固有的信號作為定時復位脈沖。例如使用50Hz工頻電源整形后作復位,既省略了定時器,同時又為檢測電流信號的相位采集了相應的信號,如圖2所示。2.2 外部條件復位把外部條件脈沖整形后送到復位端子。對于上述水輪或電表度盤產生的脈沖,可以使用施密特觸發(fā)器整形;對于記錄最大或最小值的儀器,可使用窗口比較器。為了實現調節(jié)的電子化,可以使用電子電位器,用單片機指令設定上下限。2.3 復位周期與復位高電平時間圖3中,復位信號在高電平Tr期間,單片機處在復位狀態(tài),程序不運行,抗干擾能力最強;高電平過后,單片機開始執(zhí)行程序。也就是說,復位信號的低電平Td期間是可

7、供程序執(zhí)行的時間,這個時間要大于每次程序的執(zhí)行周期。合理選擇復位周期和復位信號的高電平占空比非常重要。對于單純顯示儀表,復位周期決定數據刷新周期,低電平時間要大于檢測、送顯示的全部時間;否則,會出現永遠不能完整執(zhí)行程序的錯誤。單片機在Ts和Tr期間都能有效地抗干擾,但是最好還是把多余時間安排在Tr內。當程序執(zhí)行時間較長,要求盡量縮短Tr時,可加入微分電路,如圖1中的C30、R26、D9。2.4 輸出端子的處理(1)復位期間的正脈沖復位期間單片機的全部I/O口變成高電平。也就是說,正常輸出為低的引腳,會按照復位周期出現寬度為Tr的正脈沖。這個正脈沖會影響正常的輸出,有2個辦法處理: 在端子上并聯

8、電容加以抑制,容量根據復位的Tr時間確定。減小Tr可以減小并聯電容。 把外圍電路設計成高電平無效。(2)容 錯適當選取輸出端并聯電容的容量,可以實現容錯控制。在某個復位周期,因干擾輸出了錯誤電平。由于電容的保持作用,在本周期內尚不能使輸出變化到有效的電平;在下個周期,錯誤被糾正。因此,只要不是連續(xù)2個周期出錯,輸出是可容錯的。當然,這種方法會使正常的輸出變化滯后一個周期,才真正反映到輸出端子。2.5 上電檢測與手動復位有些系統(tǒng)在初上電時要做一些初始化操作。采用復位方式運行時,每次復位已經成為正常運行的開始條件,無法辨別是否初上電。在某引腳對地接一個1F的電容,復位后檢測該引腳,如果是低電平就是

9、初上電。如果給系統(tǒng)設立一個復位按鈕,也就是常見的手動復位,這個按鈕不是連接在復位端,而是并聯在上述引腳對地的電容兩端。摘要:介紹一種用休眠-復位運行方式提高單片機抗干擾能力的方法;分析其適用范圍,給出具體應用電路;結合實例,分析這種運行方式下硬件和軟件設計的特點。 關鍵詞:單片機 復位/休眠抗干擾引 言隨著微電子技術的飛速發(fā)展,單片機的性能迅速提高,在運算、邏輯控制、智能化方面顯示出非凡的優(yōu)勢,在很大程度上取代了原來由數字邏輯電路、運算放大電路組成的檢測、控制電路,應用非常廣泛。但由于它存在著死機、程序跑飛等致命缺陷,使它在許多重要場合的應用受到限制。在抗干擾方面的許多技術,比如設軟件陷阱、加

10、硬件看門狗電路等,可使這一問題有較好的解決,但仍然存在問題: 看門狗動作時,意味著已經出現了錯誤,且運行了一段時間,這在有些場合是不允許的; 有時程序出現死循環(huán)錯誤,但是剛好把看門狗控制環(huán)節(jié)包含進去,對于這樣的錯誤采用看門狗無法識別; 在檢測控制周期比較長的系統(tǒng)中,單片機花大量時間等待外設,執(zhí)行等待命令時同樣會受到干擾。針對這些情況,我們在實踐中嘗試了主動復位的辦法,采用等間隔的脈沖或根據外部條件對單片機進行復位喚醒。每次復位后,單片機執(zhí)行相應的程序,執(zhí)行完任務后及時進入休眠,等待下次復位。用此方法較好地解決了上述問題,并在農用變壓器綜合保護器實驗中得到了較好的效果。下面以51系列單片機為例探

11、討具體原理與實現方法,復位信號為高電平。1 原理與實現方法1.1 無條件定時復位法用定時器、專用時鐘芯片或其它脈沖產生器,按照設定的間隔定時產生復位信號。這種方法特別適合監(jiān)測儀表。在實際運行中,往往是用A/D轉換器采樣輸入的模擬量,然后進行存儲顯示。這一過程很快,但為了讀數穩(wěn)定,每秒數據更新不過12次,CPU的大量時間用于等待。如果讓CPU執(zhí)行完任務后直接進入休眠,然后由外界復位喚醒它去執(zhí)行下一次操作,這就是定時復位法。這樣會使抗干擾能力大大增強,主要有2點: 休眠時,程序停止運行,不會出現PC指針紊亂引起的程序跑飛。如果工作與休眠的時間比例為1:9,也就是說,1s內有0.1s的時間用來檢測、

12、送顯示,有0.9s的時間休眠,程序受干擾的概率是全速運行時的1/10,整體抗干擾能力提高了10倍。 由于每1s無條件復位1次,一旦某次工作期間出現死機,在下次復位時肯定得以恢復。對于只是顯示的儀表,某1s偶然出現的讀數錯誤對下一次測量并沒有記憶,是可以承受的,屬“一過性”錯誤。這種定時復位相對于看門狗電路的優(yōu)點,一是把等待時間改為休眠狀態(tài) ,縮短可能受干擾的時間;二是避免了恰好包含看門狗控制環(huán)節(jié)的死循環(huán)。1.2 外部條件復位法有些輸出或測量的啟動是由外部控制的。如暖氣熱表,靠熱水水輪旋轉產生的脈沖計算熱量,沒有熱水流動,就沒有熱量輸出,CPU只要保持原來數值即可,不需要計數??梢韵胂?,停暖時熱

13、水水輪不轉,CPU在春夏秋三季則無事可做;如果讓其休眠,而不是時刻檢測有無水輪脈沖,抗干擾能力會大大增強。因此,只要把水輪脈沖與CPU的復位聯系起來,水輪每旋轉1周,CPU復位1次,熱表就可以正常工作了,這就是外部條件復位法。類似的應用還有半電子式電度表,當機械度盤旋轉1周時才進行1個計數,用戶不用電,CPU會一直休眠。這種方法的復位間隔不是固定的,而是根據外部條件確定的。在有些場合,休眠的時間會很長,對提高抗干擾能力非常有效。2 硬件實現要點2.1 無條件定時復位一般有2種方法。 使用定時器或專用時鐘芯片復位。圖1為使用555電路組成的定時電路;也可以使用X1126之類的時鐘芯片,設置報警時

14、間后用報警信號喚醒CPU。這種方法適用于長間隔定時,還可以根據本次運算的結果,臨時決定下一次的報警喚醒時間,非常靈活方便。 使用系統(tǒng)固有的信號作為定時復位脈沖。例如使用50Hz工頻電源整形后作復位,既省略了定時器,同時又為檢測電流信號的相位采集了相應的信號,如圖2所示。2.2 外部條件復位把外部條件脈沖整形后送到復位端子。對于上述水輪或電表度盤產生的脈沖,可以使用施密特觸發(fā)器整形;對于記錄最大或最小值的儀器,可使用窗口比較器。為了實現調節(jié)的電子化,可以使用電子電位器,用單片機指令設定上下限。2.3 復位周期與復位高電平時間圖3中,復位信號在高電平Tr期間,單片機處在復位狀態(tài),程序不運行,抗干擾

15、能力最強;高電平過后,單片機開始執(zhí)行程序。也就是說,復位信號的低電平Td期間是可供程序執(zhí)行的時間,這個時間要大于每次程序的執(zhí)行周期。合理選擇復位周期和復位信號的高電平占空比非常重要。對于單純顯示儀表,復位周期決定數據刷新周期,低電平時間要大于檢測、送顯示的全部時間;否則,會出現永遠不能完整執(zhí)行程序的錯誤。單片機在Ts和Tr期間都能有效地抗干擾,但是最好還是把多余時間安排在Tr內。當程序執(zhí)行時間較長,要求盡量縮短Tr時,可加入微分電路,如圖1中的C30、R26、D9。2.4 輸出端子的處理(1)復位期間的正脈沖復位期間單片機的全部I/O口變成高電平。也就是說,正常輸出為低的引腳,會按照復位周期出

16、現寬度為Tr的正脈沖。這個正脈沖會影響正常的輸出,有2個辦法處理: 在端子上并聯電容加以抑制,容量根據復位的Tr時間確定。減小Tr可以減小并聯電容。 把外圍電路設計成高電平無效。(2)容 錯適當選取輸出端并聯電容的容量,可以實現容錯控制。在某個復位周期,因干擾輸出了錯誤電平。由于電容的保持作用,在本周期內尚不能使輸出變化到有效的電平;在下個周期,錯誤被糾正。因此,只要不是連續(xù)2個周期出錯,輸出是可容錯的。當然,這種方法會使正常的輸出變化滯后一個周期,才真正反映到輸出端子。2.5 上電檢測與手動復位有些系統(tǒng)在初上電時要做一些初始化操作。采用復位方式運行時,每次復位已經成為正常運行的開始條件,無法

17、辨別是否初上電。在某引腳對地接一個1F的電容,復位后檢測該引腳,如果是低電平就是初上電。如果給系統(tǒng)設立一個復位按鈕,也就是常見的手動復位,這個按鈕不是連接在復位端,而是并聯在上述引腳對地的電容兩端。3 軟件實現要點3.1 輸出恢復與不清零RAM定時復位后全部引腳變成高電平,使得本應為低的引腳發(fā)生了不應有的變化,因此,復位后要立即恢復所有引腳的狀態(tài)。有2種方法: 本次復位后立即進行分析判斷,根據需要給出引腳狀態(tài); 根據RAM中上一次留存下來的狀態(tài),這些RAM在定時復位時是不能清零的;而在初上電或手動復位按下時應清零,在軟件編制時要體現出來。如果計算時間允許,盡量采取方法1。因為連續(xù)2次復位周期都

18、計算出錯的概率很小,按照2.4敘述的輸出端子并聯電容的處理方法,可以達到很好的抗干擾效果。3.2 實現跨越定時復位間隔的時序控制現在用復位方式工作,每次從頭開始反復執(zhí)行同一程序。可分為2種情況: 對于單純顯示儀表,每次復位后進行測量、送顯示,兩次復位之間沒有因果關系,只需把原來的等待改為休眠即可。要注意的是,測量、送顯示用的總時間要小于復位低電平時間,否則會出現永遠不能完整執(zhí)行程序的錯誤。 對于有時序控制的應用,每次復位后,先要查看上個周期留下的標志,以決定本周期做什么。也就是說,凡是跨過復位周期的操作,都是靠標志傳遞的,這些標志存放在內部RAM中,只有初上電時才清零。例如,前面提到的變壓器綜合保護器,按照20ms的間隔定時復位。它在上電后,經過一定的動作順序達到正常工作狀態(tài),如圖4;根據這個動作編寫軟件流程的一部

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論