<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁(yè) > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > ARM S3C44B0X 之 看門狗定時(shí)器

          ARM S3C44B0X 之 看門狗定時(shí)器

          作者: 時(shí)間:2016-11-20 來(lái)源:網(wǎng)絡(luò) 收藏
          當(dāng)受到故障,如噪聲或系統(tǒng)錯(cuò)誤的干擾時(shí),s3c44b0x看門狗定時(shí)器能夠產(chǎn)生復(fù)位信號(hào),使CPU復(fù)位,它也可以用作一個(gè)普通的16位定時(shí)器使用,計(jì)算完產(chǎn)生中斷信號(hào)。如果用作復(fù)位信號(hào),可以產(chǎn)生一個(gè)長(zhǎng)達(dá)128MCLK時(shí)鐘周期的復(fù)位信號(hào)。
          S3C44B0X 內(nèi)部的watchdog結(jié)構(gòu)如下圖所示:
          500)this.width=500;" border=0>
          在S3C44B0X內(nèi)部由3個(gè)16位的特殊功能寄存器控制看門狗定時(shí)器:
          WTCON Reg: 功能控制器
          WTDATA Reg:數(shù)據(jù)存儲(chǔ)器
          WTCNT Reg: 計(jì)數(shù)存儲(chǔ)器
          16位的WTCON寄存器在S3C44B0X復(fù)位時(shí)的地址為:0x01D3_0000,可讀/寫,初始值為0x8021,各位的功能如下:

          【15~8】設(shè)置預(yù)分頻器值,初始值0x80

          本文引用地址:http://www.ex-cimer.com/article/201611/318971.htm

          【7~6】保留位,但是在正常模式下必須設(shè)置為00,初始值00

          【5】 0=關(guān)閉看門狗,1=打開(kāi)看門狗,初始值1

          【4~3】 設(shè)置除法因子,00=1/16, 01=1/32, 10=1/64, 11=1/128,初始值00

          【2】中斷使能位,0=打開(kāi)中斷,1=關(guān)閉中斷,初始值0,用于定時(shí)器功能,初始值0

          【1】保留位,但是在正常模式下必須設(shè)置位0,初始值0

          【0】復(fù)位使能位,0=關(guān)閉復(fù)位功能,1=打開(kāi)復(fù)位功能,用于復(fù)位功能,初始值1

          16位的WTDATA寄存器復(fù)位地址為:0x01D3_0004,可讀/寫,初始值為0x8000

          16位的WTCNT寄存器復(fù)位地址為:0x01D3_0008,可讀/寫,初始值為0x8000

          在打開(kāi)看門狗后,WTDATA數(shù)據(jù)不能自動(dòng)裝入WTCNT,因此在打開(kāi)前需要手段裝入。

          定時(shí)器的頻率(產(chǎn)生中斷或者復(fù)位信號(hào)的周期)計(jì)算公式如下:

          f=MCLK/(Prescaler +1 )/除法因子

          時(shí)鐘周期為:t=1/f,即t(ns)計(jì)數(shù)一次

          在Bootloader階段禁用看門狗,程序如下:

          WTCON EQU 0x01d30000

          ...

          ldr r0, =WTCON

          ldr r0, =0

          str r0, [r0]

          ...



          評(píng)論


          技術(shù)專區(qū)

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();