新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 設計應用 > ARM+Linux下看門狗應用

ARM+Linux下看門狗應用

作者:馮瑞明 時間:2013-02-07 來源:電子產品世界 收藏

  摘要:本文介紹了在+的條件下,傳統(tǒng)的看門狗應用存在的問題及解決方案。此方案可以做為+條件下的一種標準解決方法。

本文引用地址:http://www.butianyuan.cn/article/141891.htm

  現(xiàn)象、問題描述

  筆者在設計+的產品中,使用了看門狗ADM706。這款IC的定時間隔為1.6s。由于使用ARM9的內核,操作系統(tǒng)為Linux。整個系統(tǒng)完全啟動時間較長,超出了看門狗的喂狗時間門限。因此在能完全啟動開始喂狗前,看門狗又給出了復位信號,導致重啟。由于成本的原因,此款看門狗IC的定時復位間隔時間已經定死,不能由設置。我們無法通過更改看門狗的喂狗間隔時間來滿足CPU的啟動要求。

  關鍵過程及根本原因分析

  使用的看門狗電路如圖1所示?! ?/p>

 

  RESET信號為看門狗輸出的復位信號,WDI為CPU輸出的喂狗信號。在1.6s的時間內,WDI信號有從高到低或者從低到高的變化,則看門狗內部的定時器清零,重新計數,無復位信號輸出。

  由于采用Linux內核的操作系統(tǒng),Bootloader采用U-Boot。在從U-Boot跳轉到Linux內核的過程中,必須關閉定時器中斷。CPU不能定時喂狗,且跳轉執(zhí)行的間隔時間都大于1.6s。因此需要關閉看門狗的復位輸出信號,以使CPU能完全啟動。

  改進電路

  仔細閱讀此看門狗IC的Datasheet??撮T狗IC的框圖如圖2。此看門狗IC內部包括三部分功能:

  (1)看門狗的定時器,當MR為低電平或WDI有電平變化時清零。當定時器溢出,WDO輸出低電平。一旦定時器清零,WDO輸出高電平。

  (2)當VCC失敗或MR上有低電平,一旦上述條件消失,RESET輸出一個200ms寬度的低電平信號。因此,當WDO直接連到MR管腳上后,RESET輸出一個周期為1.6s,低電平寬度為200ms的復位信號。

  (3)PFI的輸入電平低于1.25V時,PFO輸出一個低電平。

  電路圖更新為如圖3所示。  

linux操作系統(tǒng)文章專題:linux操作系統(tǒng)詳解(linux不再難懂)

linux相關文章:linux教程




關鍵詞: ARM Linux CPU 201301

評論


相關推薦

技術專區(qū)

關閉