在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

使用安全微控制器看門狗定時器

星星科技指導員 ? 來源:ADI ? 作者:ADI ? 2023-03-01 14:14 ? 次閱讀

安全微控制器系列(DS5000FP、DS5001FP、DS5002FP和相關模塊)集成了內部看門狗定時器,以防止代碼執行錯誤??撮T狗定時器使用微控制器也使用的高精度晶體振蕩器。這消除了對RC振蕩器的需求,同時提供了更高的精度。

概述

微控制器通常用于電源瞬變、電磁干擾 (EMI) 和靜電放電 (ESD) 豐富的惡劣環境中??偩€損壞和電磁放電引起的程序損壞可能導致微處理器執行錯誤的指令。在這些環境中,看門狗定時器是一種有用的外設,可以幫助捕獲和重置已“失控”的微控制器。

看門狗定時器是一個簡單的倒數定時器,用于在特定時間間隔后重置微處理器。在正常運行的系統中,軟件將定期“寵愛”或重新啟動看門狗定時器。重新啟動后,看門狗將開始計時另一個預定間隔。當軟件或設備無法正常運行時,軟件不會在超時之前重新啟動看門狗計時器。當看門狗定時器超時時,將導致微控制器復位。如果系統軟件設計正確且沒有硬件故障,則重置將導致系統再次正常運行。重置條件必須是“安全”狀態。例如,讓磁條讀卡器的復位狀態啟用寫入磁頭是不明智的。

許多系統都是使用外部看門狗定時器設計的。安全微控制器系列通過集成內部看門狗定時器,無需外部元件。通過在微控制器內移動看門狗定時器,可以減少系統中的器件數量,從而提高整體系統可靠性??撮T狗定時器可以利用微控制器使用的高精度晶體振蕩器,而不是大多數獨立看門狗定時器使用的不精確的RC振蕩器??撮T狗定時器的操作與微控制器無關,除非通過定時訪問程序專門解決。失控的微控制器意外禁用看門狗定時器的可能性小于 1/7.2 ×1016.本應用筆記介紹了安全微控制器看門狗定時器的特性和用途。

看門狗定時器的一般用途

看門狗定時器的主要應用是作為系統監視器來檢測和復位“失控”微處理器。當程序執行出錯時,它將無法正確執行重新啟動看門狗的代碼。在這種情況下,看門狗定時器將超時并導致微控制器復位。在正確設計的系統中,復位將糾正錯誤。

無論看門狗定時器的功能如何,都存在無法通過復位來糾正的某些故障。例如,看門狗定時器無法防止或檢測數據存儲器的損壞。除非數據損壞影響程序流,或者采取了一些額外的措施,否則數據損壞不會導致監視器超時。當然,自診斷軟件可以編寫成這樣一種方式,即重新啟動看門狗取決于數據存儲器的驗證。雖然許多應用程序實現了此類數據驗證方案,但它超出了本文檔的范圍。

應該記住,看門狗定時器無法立即檢測到故障。根據定義,監視程序計時器必須達到其超時間隔的末尾,然后才能重置處理器。系統設計人員應注意執行錯誤指令和看門狗定時器復位之間可能發生的最大時間間隔。

放置重新啟動說明

在安全微控制器系列中,看門狗定時器由主系統時鐘驅動。超時間隔固定為 122,800 個計算機周期(1,473,600 個外部時鐘周期)。當達到超時時,將進行重置。表1顯示了與不同晶體頻率相關的復位時間間隔。

時鐘頻率 超時間隔
16.0000兆赫 92 毫秒
14.7456兆赫 100 毫秒
11.0592兆赫 133 毫秒
7.73280兆赫 191 毫秒
5.52960兆赫 266 毫秒
1.84320兆赫 800 毫秒

主要問題是看門狗定時器復位命令(設置 RWT 位)在軟件中的位置。最理想的方法是在系統軟件的主回路中有一個位置,定期重新啟動看門狗計時器。通過主程序循環所需的時間必須小于超時間隔,否則設備將在正常運行期間自行復位。然而,在某些系統中,程序流不夠線性,無法放置單個看門狗定時器復位功能。代碼中應放置多個復位功能,對應于最長的軟件路徑。

通常,系統需要知道是否發生了看門狗定時器復位。WTR 位 (PCON.4) 將在發生這種情況時進行設置,如果發生系統故障,軟件可以在復位序列的早期對此進行測試。如果是這樣,系統可能會決定進入“安全”模式并提醒用戶注意錯誤情況。

看門狗復位示例

下面顯示了一個簡短的程序,說明了看門狗定時器的初始化和基本功能。它說明了定時訪問功能,該功能可防止意外修改看門狗控制位。定時訪問操作是必須按順序一起執行的一系列步驟;否則,訪問將失敗。示例程序顯示了用于重新啟動監視器并啟用其重置的定時訪問。有關定時訪問操作的更多詳細信息,請參閱安全微控制器用戶指南。受定時訪問過程保護的看門狗定時器位是使能看門狗定時器復位 (EWT;PCON.2) 并重新啟動看門狗定時器 (RWT;IP.7) 位。

; WD_RST.ASM Program
;
; This program demonstrates the use of the watchdog timer.
; When running, the program counts on port 1 to indicate the device is
; running and periodically resetting the watchdog timer. After counting
; to 16, it stops resetting the watchdog timer, simulating a system fault.
;
; The program begins by checking to see if the WTR bit is set. If so, the
; reset was caused by the watchdog timer, and the program will execute
; the FAULT subroutine. Port 1 is set to F0h to indicate this condition.
; If the WTR bit is not set, the reset was caused by another source and
; execution should continue normally.
;************************************
RWT    EQU    0BFh            ;Reset Watchdog Timer bit
TA     EQU    0C7h            ;Timed Access Register
PCON   EQU    87h             ;Power Control Register
ACC    EQU    0E0h            ;Accumulator
P1     EQU    090h            ;Port 1

       ORG    00h             ;Reset Vector
       SJMP   START

;************************************
       ORG    080h            ;Program starts at 80h in this example.
START: MOV    A, PCON         ;If reset was caused by watchdog timeout,
       JB     ACC.4, FAULT    ; (WTR bit =1) execute fault subroutine.

;**********************************
;A normal power-on reset has occurred. Start initialization sequence.
       MOV    P1, #00h        ;Clear P1 to signal start of program.

;Watchdog timer initialization sequence
       MOV    TA, #0AAh       ;First restart the Watchdog timer
       MOV    TA, #055h       ; using timed
       SETB   RWT             ; access.

       MOV    TA, #0AAh       ;Next enable the Watchdog timer reset
       MOV    TA, #055h       ; function using timed
       ORL    PCON, #04h      ; access.

;**********************************
;Main program loop. This simulates a program that is operating
; correctly and then goes awry. After the program has counted to 16
; on Port 1 it will skip over the watchdog timer reset function. This
; will simulate a fault and allow the watchdog timer reset to be asserted.
;**********************************
MAIN:  MOV    R1, #0FFh       ;Create a delay loop. This simulates
LOOP1: MOV    R2, #0FFh       ; a device actually "doing something."

LOOP2: JB     P1.4, SKIP_WD_RST   ;Have we been through loop 16 times?

       MOV    TA, #0AAh       ;Watchdog timer reset. In a user application it
       MOV    TA, #055h       ; should be placed at strategic locations
       SETB   RWT             ; where it will be executed periodically.

SKIP_WD_RST:
       DJNZ   R2, LOOP2
       JNZ    R1, LOOP1

       INC    P1              ;Increment counter.
       SJMP   MAIN            ;Go back to main program loop.
;************************************
;Watchdog timeout fault. This subroutine would normally have special
; routines to be executed in the event of a system fault. In this example,
; it disables the watchdog reset and sets Port 1 to F0h to indicate a fault.
; In a real application, this routine could either clear the fault and
; restart the software, or signal a fault and halt further operation.
;************************************
FAULT: MOV    P1, #0F0h       ;Signal a fault
       MOV    TA, #0AAh       ;Disable watchdog timer reset
       MOV    TA, #55h        ; using timed
       ANL    PCON, #0FBh     ; access.
       SJMP   $               ;Halt further operation.

總結

任何使用看門狗作為監視器的設計都必須考慮許多因素。確定超時期限后,必須分析系統軟件以確定看門狗重新啟動指令的位置。為了進行有效的設計,應將監視程序重新啟動的次數保持在最低限度,并應考慮錯誤執行重新啟動的可能性。如前所述,某些系統軟件過于復雜或依賴于數據,無法確??撮T狗重新啟動涵蓋所有軟件流路徑。這可能要求可能需要自診斷軟件方法。如果存在預期的故障機制,例如周期性EMI突發或電源毛刺,則看門狗超時應考慮此時間段。

審核編輯:郭婷

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 微控制器
    +關注

    關注

    48

    文章

    7627

    瀏覽量

    151768
  • ESD
    ESD
    +關注

    關注

    49

    文章

    2055

    瀏覽量

    173177
  • 電磁干擾
    +關注

    關注

    36

    文章

    2323

    瀏覽量

    105533
收藏 人收藏

    評論

    相關推薦

    基于安全微控制器看門狗定時器

    本應用指南描述了采用Dallas半導體公司安全微控制器系列產品的看門狗定時器的特性和用途
    發表于 09-23 10:47

    看門狗定時器硬件外設參考設計

    內部看門狗定時器屬于硬件外設,幾乎是所有單片微控制器的一個組成部分,可與板載外設和系統時鐘進行交互(圖 1)。 默認情況下,內部看門狗定時器
    發表于 07-23 09:32

    看門狗定時器WDT是什么

    看門狗定時器WDT,是微控制器運行狀態的監控系統,在微控制器內部程序跑飛后,微控制器控制功能將
    發表于 02-15 07:07

    內部與外部看門狗定時器的比較

    摘要:本文對內部(集成在處理內部)看門狗定時器(WTD)與外部(基于硬件) WDT的優勢和劣勢進行了對比。內部看門狗便于設計,但容易失效。MAXQ2000
    發表于 05-02 10:34 ?4677次閱讀

    看門狗定時器的設計、工作原理及看門狗定時器的操作

    看門狗定時器(WDT,Watch Dog Timer)是單片機的一個組成部分,它實際上是一個計數,一般給看門狗一個數字,程序開始運行后看門狗
    發表于 05-23 09:14 ?7799次閱讀
    <b class='flag-5'>看門狗</b><b class='flag-5'>定時器</b>的設計、工作原理及<b class='flag-5'>看門狗</b><b class='flag-5'>定時器</b>的操作

    看門狗定時器的作用

    看門狗定時器(WDT,Watch Dog Timer)是單片機的一個組成部分,它實際上是一個計數,一般給看門狗一個數字,程序開始運行后看門狗
    發表于 10-20 14:41 ?6724次閱讀

    TB3123 - PIC?單片機的窗口看門狗定時器

    窗口看門狗定時器(Windowed Watchdog Timer,WWDT)是PIC單片機的增強型看門狗定時器。該定時器是PIC單片機現有
    發表于 03-26 14:35 ?0次下載
    TB3123 - PIC?單片機的窗口<b class='flag-5'>看門狗</b><b class='flag-5'>定時器</b>

    什么是看門狗定時器?為何看門狗定時器如此重要?

    ---使用具有整合看門狗功能的處理。許多微控制器如MSP430F5529系列具有整合看門狗的功能。它的價值在于非常容易實作,且不需要使用其他IC。然而,有一個重要的告誡:由于程序代碼
    的頭像 發表于 08-29 08:13 ?2.4w次閱讀
    什么是<b class='flag-5'>看門狗</b><b class='flag-5'>定時器</b>?為何<b class='flag-5'>看門狗</b><b class='flag-5'>定時器</b>如此重要?

    PCB設計技巧:您是否應在電路板設計中包含外部看門狗定時器?

    看門狗定時器(WDT)是一種電子功能,用于檢測嵌入式系統中的異常并重置微控制器。它通常由預先加載的計時組成,計時倒計時到零。當預加載的
    的頭像 發表于 07-25 11:41 ?3242次閱讀

    LPC2294看門狗定時器

    導致復位/中斷5.指示看門狗復位的標志6.可編程的32位定時器與內部預分頻。7.可選擇時間段,從(T PCLK x 256 x 4)到(TPCLK x 232 x4)應用看門狗的目的是在微控制
    發表于 12-04 10:36 ?8次下載
    LPC2294<b class='flag-5'>看門狗</b><b class='flag-5'>定時器</b>

    MSP430學習筆記(三)--起步看門狗

    看門狗定時器WDT,是微控制器運行狀態的監控系統,在微控制器內部程序跑飛后,微控制器控制功能將
    發表于 12-16 16:55 ?7次下載
    MSP430學習筆記(三)--起步<b class='flag-5'>看門狗</b>

    一文詳解微控制器中的看門狗定時器

    本文介紹看門狗定時器,通常縮寫為 WDT,也稱為計算機正常運行定時器或 COP。有外部看門狗設備和內部看門狗功能。本文僅介紹內部
    的頭像 發表于 04-25 17:26 ?5230次閱讀
    一文詳解<b class='flag-5'>微控制器</b>中的<b class='flag-5'>看門狗</b><b class='flag-5'>定時器</b>

    看門狗定時器電路的功能和操作及局限性解決方案

    看門狗定時器提高了基于微控制器的系統的可靠性。但是,它們并非萬無一失。在本設計解決方案中,我們回顧了看門狗定時器電路的功能和操作,探討了它們
    的頭像 發表于 12-19 15:03 ?4475次閱讀
    <b class='flag-5'>看門狗</b><b class='flag-5'>定時器</b>電路的功能和操作及局限性解決方案

    使用高速微型看門狗定時器

    在惡劣環境中使用的高速微控制器應用的設計人員將使用看門狗定時器來防止軟件失控。DS80C320高速微控制器集成了看門狗
    的頭像 發表于 02-09 11:54 ?965次閱讀

    內部和外部看門狗定時器的比較

    本文比較了內部(與微處理集成)和外部(基于硬件)看門狗定時器(WDT)的優缺點。它解釋了內部看門狗定時器易于實現,但容易發生故障。MAXQ
    的頭像 發表于 04-03 11:15 ?3135次閱讀
    主站蜘蛛池模板: 国产成人精品曰本亚洲78| 天天做.天天爱.天天综合网| 亚洲综合免费| 免费午夜不卡毛片| 永久在线免费观看| 狠狠要| 日本亚洲欧美国产日韩ay高清| 边做边爱在线观看视频免费| 亚洲一二三四区| 色婷婷激情五月综合| 国产成人啪午夜精品网站| 国产精品久线观看视频| 天堂资源最新版在线www| 夜间视频在线观看| sese国产| 成年人激情视频| 国产色婷婷| 好吊操免费视频| se94se亚洲欧美在线| 天天色国产| 天天色踪合合| 精品午夜久久福利大片免费| 男女激情做爰叫床声视频偷拍| 大学生一级特黄的免费大片视频| 免费国产午夜高清在线视频| 国产理论精品| 亚洲免费在线观看视频| 中文字幕一区二区三区视频在线| 欧美性黄色| xxxx日本老师hd| 91天天操| 欲色视频| 福利观看| 亚洲一区二区三区在线视频| 一级做a爱片特黄在线观看免费看| www.亚洲一区| 色九| 免费观看四虎精品成人| 免费看a| 影音先锋五月天| 成 人网站免费|