国产毛片a精品毛-国产毛片黄片-国产毛片久久国产-国产毛片久久精品-青娱乐极品在线-青娱乐精品

單片機休眠-復(fù)位運行方式提高抗干擾能力

發(fā)布時間:2010-4-15 15:24    發(fā)布者:qgq
關(guān)鍵詞: 單片機 , 復(fù)位 , 抗干擾
引言

隨著微電子技術(shù)的飛速發(fā)展,單片機的性能迅速提高,在運算、邏輯控制、智能化方面顯示出非凡的優(yōu)勢,在很大程度上取代了原來由數(shù)字邏輯電路、運算放大電路組成的檢測、控制電路,應(yīng)用非常廣泛。但由于它存在著死機、程序跑飛等致命缺陷,使它在許多重要場合的應(yīng)用受到限制。在抗干擾方面的許多技術(shù),比如設(shè)軟件陷阱、加硬件看門狗電路等,可使這一問題有較好的解決,但仍然存在問題:① 看門狗動作時,意味著已經(jīng)出現(xiàn)了錯誤,且運行了一段時間,這在有些場合是不允許的;② 有時程序出現(xiàn)死循環(huán)錯誤,但是剛好把看門狗控制環(huán)節(jié)包含進去,對于這樣的錯誤采用看門狗無法識別;③ 在檢測控制周期比較長的系統(tǒng)中,單片機花大量時間等待外設(shè),執(zhí)行等待命令時同樣會受到干擾。針對這些情況,我們在實踐中嘗試了主動復(fù)位的辦法,采用等間隔的脈沖或根據(jù)外部條件對單片機進行復(fù)位喚醒。每次復(fù)位后,單片機執(zhí)行相應(yīng)的程序,執(zhí)行完任務(wù)后及時進入休眠,等待下次復(fù)位。用此方法較好地解決了上述問題,并在農(nóng)用變壓器綜合保護器實驗中得到了較好的效果。下面以51系列單片機為例探討具體原理與實現(xiàn)方法,復(fù)位信號為高電平。

1 原理與實現(xiàn)方法

1.1 無條件定時復(fù)位法

用定時器、專用時鐘芯片或其它脈沖產(chǎn)生器,按照設(shè)定的間隔定時產(chǎn)生復(fù)位信號。這種方法特別適合監(jiān)測儀表。在實際運行中,往往是用A/D轉(zhuǎn)換器采樣輸入的模擬量,然后進行存儲顯示。這一過程很快,但為了讀數(shù)穩(wěn)定,每秒數(shù)據(jù)更新不過1~2次,CPU的大量時間用于等待。如果讓CPU執(zhí)行完任務(wù)后直接進入休眠,然后由外界復(fù)位喚醒它去執(zhí)行下一次操作,這就是定時復(fù)位法。這樣會使抗干擾能力大大增強,主要有2點:① 休眠時,程序停止運行,不會出現(xiàn)PC指針紊亂引起的程序跑飛。如果工作與休眠的時間比例為1:9,也就是說,1s內(nèi)有0.1s的時間用來檢測、送顯示,有 0.9s的時間休眠,程序受干擾的概率是全速運行時的1/10,整體抗干擾能力提高了10倍。② 由于每1s無條件復(fù)位1次,一旦某次工作期間出現(xiàn)死機,在下次復(fù)位時肯定得以恢復(fù)。對于只是顯示的儀表,某1s偶然出現(xiàn)的讀數(shù)錯誤對下一次測量并沒有記憶,是可以承受的,屬“一過性”錯誤。這種定時復(fù)位相對于看門狗電路的優(yōu)點,一是把等待時間改為休眠狀態(tài) ,縮短可能受干擾的時間;二是避免了恰好包含看門狗控制環(huán)節(jié)的死循環(huán)。

1.2 外部條件復(fù)位法

有些輸出或測量的啟動是由外部控制的。如暖氣熱表,靠熱水水輪旋轉(zhuǎn)產(chǎn)生的脈沖計算熱量,沒有熱水流動,就沒有熱量輸出,CPU只要保持原來數(shù)值即可,不需要計數(shù)?梢韵胂螅E瘯r熱水水輪不轉(zhuǎn),CPU在春夏秋三季則無事可做;如果讓其休眠,而不是時刻檢測有無水輪脈沖,抗干擾能力會大大增強。因此,只要把水輪脈沖與CPU的復(fù)位聯(lián)系起來,水輪每旋轉(zhuǎn)1周,CPU復(fù)位1次,熱表就可以正常工作了,這就是外部條件復(fù)位法。類似的應(yīng)用還有半電子式電度表,當機械度盤旋轉(zhuǎn)1周時才進行1個計數(shù),用戶不用電,CPU會一直休眠。這種方法的復(fù)位間隔不是固定的,而是根據(jù)外部條件確定的。在有些場合,休眠的時間會很長,對提高抗干擾能力非常有效。

2 硬件實現(xiàn)要點

2.1 無條件定時復(fù)位

一般有2種方法。① 使用定時器或?qū)S脮r鐘芯片復(fù)位。圖1為使用555電路組成的定時電路;也可以使用X1126之類的時鐘芯片,設(shè)置報警時間后用報警信號喚醒CPU。這種方法適用于長間隔定時,還可以根據(jù)本次運算的結(jié)果,臨時決定下一次的報警喚醒時間,非常靈活方便。② 使用系統(tǒng)固有的信號作為定時復(fù)位脈沖。例如使用50Hz工頻電源整形后作復(fù)位,既省略了定時器,同時又為檢測電流信號的相位采集了相應(yīng)的信號,如圖2所示。


圖1 定時復(fù)位的實現(xiàn)電路


圖2 使用50Hz交流電作復(fù)位的實現(xiàn)電路

2.2 外部條件復(fù)位

把外部條件脈沖整形后送到復(fù)位端子。對于上述水輪或電表度盤產(chǎn)生的脈沖,可以使用施密特觸發(fā)器整形;對于記錄最大或最小值的儀器,可使用窗口比較器。為了實現(xiàn)調(diào)節(jié)的電子化,可以使用電子電位器,用單片機指令設(shè)定上下限。

2.3 復(fù)位周期與復(fù)位高電平時間

圖3中,復(fù)位信號在高電平Tr期間,單片機處在復(fù)位狀態(tài),程序不運行,抗干擾能力最強;高電平過后,單片機開始執(zhí)行程序。也就是說,復(fù)位信號的低電平Td期間是可供程序執(zhí)行的時間,這個時間要大于每次程序的執(zhí)行周期。合理選擇復(fù)位周期和復(fù)位信號的高電平占空比非常重要。對于單純顯示儀表,復(fù)位周期決定數(shù)據(jù)刷新周期,低電平時間要大于檢測、送顯示的全部時間;否則,會出現(xiàn)永遠不能完整執(zhí)行程序的錯誤。單片機在Ts和Tr期間都能有效地抗干擾,但是最好還是把多余時間安排在Tr內(nèi)。當程序執(zhí)行時間較長,要求盡量縮短Tr時,可加入微分電路,如圖1中的C30、 R26、D9。


圖3 復(fù)位信號的時序分析

2.4 輸出端子的處理

(1) 復(fù)位期間的正脈沖
復(fù)位期間單片機的全部I/O口變成高電平。也就是說,正常輸出為低的引腳,會按照復(fù)位周期出現(xiàn)寬度為Tr的正脈沖。這個正脈沖會影響正常的輸出,有2個辦法處理:① 在端子上并聯(lián)電容加以抑制,容量根據(jù)復(fù)位的Tr時間確定。減小Tr可以減小并聯(lián)電容。② 把外圍電路設(shè)計成高電平無效。

(2) 容錯
適當選取輸出端并聯(lián)電容的容量,可以實現(xiàn)容錯控制。在某個復(fù)位周期,因干擾輸出了錯誤電平。由于電容的保持作用,在本周期內(nèi)尚不能使輸出變化到有效的電平;在下個周期,錯誤被糾正。因此,只要不是連續(xù)2個周期出錯,輸出是可容錯的。當然,這種方法會使正常的輸出變化滯后一個周期,才真正反映到輸出端子。

2.5 上電檢測與手動復(fù)位

有些系統(tǒng)在初上電時要做一些初始化操作。采用復(fù)位方式運行時,每次復(fù)位已經(jīng)成為正常運行的開始條件,無法辨別是否初上電。在某引腳對地接一個 1μF的電容,復(fù)位后檢測該引腳,如果是低電平就是初上電。如果給系統(tǒng)設(shè)立一個復(fù)位按鈕,也就是常見的手動復(fù)位,這個按鈕不是連接在復(fù)位端,而是并聯(lián)在上述引腳對地的電容兩端。

3 軟件實現(xiàn)要點

3.1 輸出恢復(fù)與不清零RAM

定時復(fù)位后全部引腳變成高電平,使得本應(yīng)為低的引腳發(fā)生了不應(yīng)有的變化,因此,復(fù)位后要立即恢復(fù)所有引腳的狀態(tài)。有2種方法:① 本次復(fù)位后立即進行分析判斷,根據(jù)需要給出引腳狀態(tài);② 根據(jù)RAM中上一次留存下來的狀態(tài),這些RAM在定時復(fù)位時是不能清零的;而在初上電或手動復(fù)位按下時應(yīng)清零,在軟件編制時要體現(xiàn)出來。如果計算時間允許,盡量采取方法1。因為連續(xù)2次復(fù)位周期都計算出錯的概率很小,按照2.4敘述的輸出端子并聯(lián)電容的處理方法,可以達到很好的抗干擾效果。

3.2 實現(xiàn)跨越定時復(fù)位間隔的時序控制

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


圖4 保護器動作過程


圖5 變壓器保護器部分程序流程

在圖4中,當保護器初上電時,首先試送電0.5s,提示馬上就要送電;等待30s后正式送電。送電后的1s內(nèi)為啟動時間,不進行過電流檢測。啟動完成后,如果一切正常,則把“正常標志”置位,保護器在下一個復(fù)位周期進入正常運行。試送電的0.5s延時是對復(fù)位進行25次計數(shù)實現(xiàn)的,因為每次復(fù)位時間是20ms。初上電時,對內(nèi)部RAM做全部清零,令試送電計時Ts=25后休眠。下一次被復(fù)位后,再檢測上電引腳已不是初上電,于是進行到試送電計時 Ts的檢測。如果Ts≠0,說明在送電延時期間,把Ts減1后進入休眠。當Ts-1=0時,應(yīng)該進入停電等待30s的過程了。就在Ts遞減到0的時候,令停電等待標志Td=1500。當程序再次由復(fù)位開始時,檢測到Ts=0但是Td≠0,表明已經(jīng)越過了試送電,現(xiàn)在正處于停電等待30s的過程中。這樣,整個進程由Tr、Td、Ts等這些參數(shù)相互傳遞著,一步步進行下去。

結(jié)語

抗干擾是電子設(shè)計中的重要問題,在單片機中尤其重要。這是因為單片機有程序跑飛的特殊性,它受到干擾的后果可能是死機,也可能在死機前發(fā)出各種錯誤或非法動作,使整個系統(tǒng)產(chǎn)生致命性錯誤。因此,僅僅保證單片機不死機還不夠,還要研究如何減少受干擾的風險,以及出錯后如何能夠容錯。本文力圖從這兩方面作些探索,希望這些粗淺見解能夠起些拋磚引玉的作用,對大家有所幫助;也希望各位同仁一起探索,共同提高我們的設(shè)計水平。

參考文獻

   1. 孫涵芳.徐愛卿 MCS- 51/96系列單片機原理與應(yīng)用 1992
   2. 徐惠民.安德寧 單片微型計算機原理、接口及應(yīng)用 2000

作 者:華北水利水電學院 李臨生 魏德華 柳旭英  
來 源:單片機與嵌入式系統(tǒng)應(yīng)用 2004(2)
本文地址:http://m.qingdxww.cn/thread-10499-1-1.html     【打印本頁】

本站部分文章為轉(zhuǎn)載或網(wǎng)友發(fā)布,目的在于傳遞和分享信息,并不代表本網(wǎng)贊同其觀點和對其真實性負責;文章版權(quán)歸原作者及原出處所有,如涉及作品內(nèi)容、版權(quán)和其它問題,我們將根據(jù)著作權(quán)人的要求,第一時間更正或刪除。
您需要登錄后才可以發(fā)表評論 登錄 | 立即注冊

廠商推薦

  • Microchip視頻專區(qū)
  • 使用SAM-IoT Wx v2開發(fā)板演示AWS IoT Core應(yīng)用程序
  • 使用Harmony3加速TCP/IP應(yīng)用的開發(fā)培訓教程
  • 集成高級模擬外設(shè)的PIC18F-Q71家族介紹培訓教程
  • 探索PIC16F13145 MCU系列——快速概覽
  • 貿(mào)澤電子(Mouser)專區(qū)

相關(guān)在線工具

相關(guān)視頻

關(guān)于我們  -  服務(wù)條款  -  使用指南  -  站點地圖  -  友情鏈接  -  聯(lián)系我們
電子工程網(wǎng) © 版權(quán)所有   京ICP備16069177號 | 京公網(wǎng)安備11010502021702
快速回復(fù) 返回頂部 返回列表
主站蜘蛛池模板: 99视频在线免费观看| 一区二区三区视频在线观看 | 青青91视频| 青娱乐最新| 亚欧成人乱码一区二区| 息孑性教育中文字幕| 中文字幕一区二区三区在线不卡 | 一二三四视频中文字幕在线看| 亚洲国产高清一区二区三区| av老司机色爱区综合| 日本高清免费看| 亚洲香蕉综合在人在线视看| 亚洲精品亚洲人成毛片不卡| 天天上天天干| 午夜视频在线观看www中文| 被窝伦理午夜电影网| 嫩草AV久久伊人妇女| 日本人成年视频在线观看| 亚洲精品不卡视频| 她也啪在线视频| 天堂一区| 2019久久视频这里有精品15| 久久青青草原| 伊人久久中文| 人人综合网| 四虎在线观看免费永久| 四虎永久成人免费| 3D漫画H精品啪啪无码| 狼人射综合| 无码欧美毛片一区二区三在线视频| 日本黄色免费一级片| 日本成人黄色网址| 在线视频二区| 在线观看中文字幕2021| 九九热这里只有精品2| 亚洲天堂久久久| 青青操在线播放| 亚洲精品免费在线| 一个人看的www动漫高清免费| 国产人成高清在线视频99| 天天澡夜夜澡人人澡|