国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

ARM+Linux下看門狗應(yīng)用

2012-12-17 10:49:06深圳市安捷信電氣有限公司馮瑞明
電子世界 2012年24期
關(guān)鍵詞:看門狗管腳低電平

深圳市安捷信電氣有限公司 馮瑞明

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

筆者在設(shè)計(jì)ARM+Linux的產(chǎn)品中,使用了看門狗ADM706.這款I(lǐng)C的定時(shí)間隔為1.6S。由于我們使用ARM9的內(nèi)核,操作系統(tǒng)為Linux。整個(gè)系統(tǒng)完全啟動(dòng)時(shí)間較長,超出了看門狗的喂狗時(shí)間門限。因此在CPU能完全啟動(dòng)開始喂狗前,看門狗又給出了復(fù)位信號(hào),導(dǎo)致CPU重啟。由于成本的原因,此款看門狗IC的定時(shí)復(fù)位間隔時(shí)間已經(jīng)定死,不能由CPU設(shè)置。我們無法通過更改看門狗的喂狗間隔時(shí)間,以滿足CPU的啟動(dòng)要求。

圖1 使用的看門狗電路圖

圖2 改進(jìn)看門狗電路

圖3 看門狗波形圖

圖4 ADM706內(nèi)部框圖

圖5 最終版看門狗電路

二、關(guān)鍵過程及根本原因分析

使用的看門狗電路如圖1所示:

RESET信號(hào)為看門狗輸出的復(fù)位信號(hào),WDI為CPU輸出的喂狗信號(hào)。在1.6S的時(shí)間內(nèi),WDI信號(hào)有從高到低或者從低到高的變化,則看門狗內(nèi)部的定時(shí)器清零,重新計(jì)數(shù),無復(fù)位信號(hào)輸出。

由于采用LINUX內(nèi)核的操作系統(tǒng),BOOTLOADER采用U-BOOT。在從U-BOOT跳轉(zhuǎn)到LINUX內(nèi)核的過程中,必須關(guān)閉定時(shí)器中斷。CPU不能定時(shí)喂狗,且跳轉(zhuǎn)執(zhí)行的間隔時(shí)間都大于1.6S。因此需要關(guān)閉看門狗的復(fù)位輸出信號(hào),以使CPU能完全啟動(dòng)。

三、改進(jìn)電路及問題

電路圖更新為如圖2所示:

采用此電路后,CPU啟動(dòng)后,在U-BOOT程序中設(shè)置CLOSE_WATCHDOG信號(hào)為高電平,可以關(guān)閉看門狗的復(fù)位信號(hào)輸出,CPU可以正常啟動(dòng)完成。在裝載完驅(qū)動(dòng)程序后,定時(shí)每100ms在WDI管腳輸出喂狗信號(hào)。設(shè)置CLOSE_WATCHDOG信號(hào)為低,打開看門狗的復(fù)位信號(hào)輸出。當(dāng)1.6S后,沒有喂狗信號(hào)后,看門狗輸出復(fù)位信號(hào)復(fù)位CPU,CPU重啟。

后測試發(fā)現(xiàn)如下問題:

1.在U-BOOT下,按復(fù)位鍵,CPU不能復(fù)位;

2.在系統(tǒng)啟動(dòng)過程中,電源短時(shí)跌落后恢復(fù),系統(tǒng)有時(shí)不能啟動(dòng);

3.有時(shí)加載驅(qū)動(dòng)完成后,打開看門狗復(fù)位信號(hào)時(shí),系統(tǒng)會(huì)出現(xiàn)重啟現(xiàn)象。

問題分析:

問題一,在U-BOOT下,由于關(guān)閉了看門狗的輸出信號(hào),因此沒有復(fù)位信號(hào)輸出到CPU上,CPU不能復(fù)位,表現(xiàn)為復(fù)位鍵不起作用。

問題二,在系統(tǒng)啟動(dòng)過程中,由于CLOSE_WATCHDOG信號(hào)為高,關(guān)閉看門狗的復(fù)位信號(hào)輸出。當(dāng)電源短時(shí)跌落后恢復(fù),有時(shí)CLOSE_WATCHDOG信號(hào)依然保持高電平。沒有看門狗復(fù)位信號(hào)輸出到CPU上,CPU不能正常的復(fù)位,導(dǎo)致系統(tǒng)不能正常啟動(dòng)。

問題三,在加載完成驅(qū)動(dòng)后,先給WDI輸出一個(gè)脈沖信號(hào)喂狗。然后打開看門狗的復(fù)位信號(hào)??撮T狗的波形如圖3所示。

從圖3中,我們可以看出,假如我們喂狗,MR信號(hào)變?yōu)楦唠娖?。可是RESET信號(hào)依然會(huì)維持200ms的低電平。此時(shí),我們打開看門狗電路,給CPU輸出一個(gè)復(fù)位信號(hào)引起CPU復(fù)位。當(dāng)MR信號(hào)維持高電平1.6S,且WDI無電平變化,看門狗輸出復(fù)位信號(hào)。因此打開看門狗電路會(huì)引起CPU復(fù)位的概率是:0.2/1.6=12.5%。

仔細(xì)閱讀此看門狗IC的DATASHEET??撮T狗IC的框圖如圖4。

此看門狗IC內(nèi)部包括三部分功能:

1.看門狗定時(shí)器輸出電路WDI、WDO管腳

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

2.上電復(fù)位電路MR、VCC、RESET

當(dāng)VCC失敗或MR上有低電平,一旦上述條件消失,RESET輸出一個(gè)200ms寬度的低電平信號(hào)。因此,當(dāng)WDO直接連到MR管腳上后,RESET輸出一個(gè)周期為1.6S,低電平寬度為200ms的復(fù)位信號(hào)。

3.電源監(jiān)控電路PFI、PFO

PFI的輸入電平低于1.25V時(shí),PFO輸出一個(gè)低電平。

根據(jù)IC的上述特點(diǎn)更改復(fù)位電路如圖五所示。

四、總結(jié)

采用圖五所示電路,使看門狗IC實(shí)現(xiàn)看門狗電路和上電復(fù)位電路兩種功能。滿足帶操作系統(tǒng)的CPU啟動(dòng)時(shí)間長,需通過電壓跌落試驗(yàn)等要求。也可以滿足需要實(shí)現(xiàn)休眠功能要求的場景。此電路可以做為帶操作系統(tǒng)CPU或需實(shí)現(xiàn)休眠功能的CPU標(biāo)準(zhǔn)復(fù)位電路。由于單片機(jī)的啟動(dòng)時(shí)間短,在無需休眠功能的場景下,單片機(jī)的復(fù)位電路可不使用圖五推薦電路。

[1]ADM706R.

猜你喜歡
看門狗管腳低電平
數(shù)字電路中“邏輯非”的用法辨析
鐵道車輛高/低電平信號(hào)智能發(fā)生器設(shè)計(jì)
把他叫醒
2017款凱迪拉克2.8L/3.0L/3.2L/3.6L車型低電平參考電壓總線電路圖
基于圖像處理的異型電子元器件管腳偏移誤差檢測方法研究
CMOS數(shù)字IC管腳電容的估算與測量
一種采用FPGA實(shí)現(xiàn)的通用看門狗電路
大眾科技(2015年11期)2015-11-24 01:57:16
把它叫醒
把它叫醒
HC08芯片JVT測試方法的探究
電子測試(2013年22期)2013-09-26 06:03:52
南陵县| 土默特左旗| 博客| 普安县| 全南县| 天等县| 永清县| 当涂县| 聂拉木县| 乌拉特前旗| 望谟县| 吴旗县| 博野县| 四子王旗| 边坝县| 安陆市| 海丰县| 灵川县| 洪江市| 安龙县| 潜江市| 平遥县| 贡觉县| 普定县| 钟祥市| 延津县| 樟树市| 乌鲁木齐县| 宣威市| 东台市| 平远县| 五寨县| 登封市| 南郑县| 双辽市| 浦县| 泸州市| 阳江市| 当涂县| 石柱| 偃师市|