• <li id="00i08"><input id="00i08"></input></li>
  • <sup id="00i08"><tbody id="00i08"></tbody></sup>
    <abbr id="00i08"></abbr>
  • 新聞中心

    EEPW首頁 > 嵌入式系統 > 設計應用 > Watchdog在8XC552系列單片機系統中的應用

    Watchdog在8XC552系列單片機系統中的應用

    作者: 時間:2012-02-22 來源:網絡 收藏

    1引言

    本文引用地址:http://www.czjhyjcfj.com/article/172012.htm

    Philips公司的以其體積小、功能強、價格低等優勢而廣泛地使用在工業控制、DCS控制和智能儀器等領域。筆者在智能配電監測儀的研制過程中,雖然采取了相應的抗干擾措施,但由于工業現場環境中電磁場、電網尖峰、諧波、浪涌及雷電輻射等影響,仍有可能出現程序死循環、跑飛等失控現象。為此,筆者采用技術保證了的正常運行,通常 技術在中可分為軟件和硬件Watchdog。Philips公司的、Intel的8098、 Motorala的68C05以及Microchip的16C5X本身已帶有軟件Watchdog功能,因此,只要硬件接法正確,在軟件設計中調用相應語句進行啟動即可。

    2硬件組成原理

    2.1工作原理

    圖1所示是87C522單片機用于智能型配電儀的連接電路,本智能配電儀中的87C552為主控芯片,該芯片除具有三個16位定時器T0、T1及T2 外,還有一個專作監視8位定時器、簡稱 WDT(WatchdogTimer)的T3定時器。因為微控制器有時會受噪音、射頻干擾等環境因素的影響而導入錯誤的運行狀態。監視定時器的功能就是在某特定的時限內使微控制器復位,從而將其從錯誤的狀態中恢復過來以重新開始正常運行。當T3用作Watchdog定時器并由軟件啟動計時后,如果系統已達到所設定的預定時間而仍沒有重新啟動定時器,此時就會產生溢出信號并停止計時,表明系統出現異常。CPU可以對定時器重新啟動、清零、設定計時值等操作。系統正常運行時,CPU將周期性地重新啟動定時器,當然其啟動周期應小于定時器的設定值,以保證定時器始終不能產生溢出信號。而當系統運行不正常時,由于 CPU不能周期性地啟動定時器,因而定時器將產生溢出信號,以強迫CPU恢復系統的正常運行。

    2.2 Watchdog的內部結構原理

    監視定時器的結構原理如圖2所示。它的核心為一8位定時器,其前級是一個11位定標器。后者的輸入信號為fosc/12,即定標器對機器周期進行遞增計數。這樣,每過2個機器周期,定時器T3的值便增加1000次。若用16MHz或24MHz晶體振蕩器,則監視定時器的增值間隔將分別為1.536ms 和1.024ms;其相應的最大溢出周期分別為393.216ms和262.144ms。

    當監視定時器溢出時,系統將產生一個內部復位脈沖以使復位。由圖2可以看出,T3溢出時,RST引腳內側的晶體管因柵極出現一個負脈沖而瞬時導通,從而在RST引腳上輸出一個復位正脈沖,其寬度為3個機器周期。如果RST引腳外接電容,則這么窄的輸出脈沖可能遭到破壞,因為電容不允許 RST引腳電壓產生突變,但這不會影響到內部復位操作。

    33.jpg

    34.jpg

    3調試中的常見問題及其解決方法

    在對系統進行調試時,有可能出現閃屏、無法顯示以及顯示雜亂等現象,現將這些問題的解決方法介紹如下:


    上一頁 1 2 3 下一頁

    評論


    相關推薦

    技術專區

    關閉
    主站蜘蛛池模板: 宁明县| 乐业县| 盱眙县| 甘孜县| 洪江市| 乌兰察布市| 阳高县| 新化县| 元朗区| 金溪县| 民权县| 安阳市| 梧州市| 辽阳市| 玛沁县| 成安县| 襄汾县| 阜宁县| 祁阳县| 西青区| 湘潭市| 台北市| 凉山| 龙山县| 开阳县| 青龙| 宝兴县| 上林县| 松江区| 濮阳县| 满洲里市| 新丰县| 泽普县| 铜梁县| 阳城县| 封开县| 尚义县| 平陆县| 双峰县| 丰宁| 鄂伦春自治旗|