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

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 需更換電池的倒計時數(shù)字定時器

          需更換電池的倒計時數(shù)字定時器

          ——
          作者:Mark E. Buccini 時間:2007-10-24 來源:EDN China 收藏

            只需 MCU、LCD、32kHz 晶振以及一個電阻即可構(gòu)成一部基本的倒計時定時器,而且只需一顆普通的鈕扣電池就能實(shí)現(xiàn)連續(xù)超過 10 年的工作時間。有兩大關(guān)鍵性設(shè)計可最小化功耗并盡可能延長電池使用壽命,一是認(rèn)真選擇電池,二是充分利用 MCU 的低功耗模式。

            我們之所以選擇 CR2032 鋰離子鈕扣電池,主要是因?yàn)樗嫉剌^小,可以支持便攜式應(yīng)用,放電曲線較平,可直接驅(qū)動LCD,無需補(bǔ)償,而且漏電極低,能夠?qū)崿F(xiàn)更長的工作時間。典型的 CR2032 額定容量為 ~200mA,工作時間可維持?jǐn)?shù)小時。為了實(shí)現(xiàn)連續(xù)工作 10 年的設(shè)計目標(biāo),平均系統(tǒng)電流消耗應(yīng)不得超過 2.28μA,電流消耗的計算方式為電池能量值除以應(yīng)用的工作壽命,如下所示:

            我們選擇MCU是由于其待機(jī)電流極低,僅為 0.8μA,并且還包含了晶體振蕩器、集成LCD驅(qū)動器和中斷驅(qū)動喚醒定時器等。3? 英寸的 LCD 顯示屏?xí)黾?1μA 的系統(tǒng)電流消耗。整個工作期間的倒計時定時器的總待機(jī)流耗如下:

            通常情況下,MCU 工作在待機(jī)模式中,時鐘晶體頻率為32kHz的計時器觸發(fā)一秒中斷,使 MCU 返回工作主循環(huán) (Mainloop),主循環(huán)采用可顯著降低軟件開銷的直接 BCD 減法以實(shí)現(xiàn)軟件倒計時寄存器的遞減。我們向軟件倒計時定時器添加十進(jìn)制的 99h,實(shí)際減去的數(shù)為 1。直接 BCD 減法不僅有效,而且還可使倒計時直接顯示在 LCD 上,不用再進(jìn)行耗費(fèi)電流的二進(jìn)制 BCD 減法運(yùn)算。軟件接下來在 LCD 上顯示倒計時寄存器中的值。最后,倒計時寄存器中的值將與零相比較,以決定預(yù)編程的時段是否已經(jīng)到期,如果到期,那么將顯示超時信息。主循環(huán)要求 CPU 及片上高速振蕩器在 250μA 的電流消耗下工作。不過,由于我們在編寫軟件時已經(jīng)將循環(huán)計數(shù)減至 100 以下,也就是說,在默認(rèn)的 1MHz CPU 頻率下相當(dāng)于 100μs,因此在這樣短的工作時間內(nèi),主循環(huán)所增加的電流消耗幾乎可以忽略不計,其計算如下:

            倒計時數(shù)字定時器的總電流消耗為待機(jī)與主循環(huán)電流消耗之和:

            由于平均電流消耗達(dá)到 1.8μA ,這款倒計時定時器輕易地實(shí)現(xiàn)了電流消耗為 2.28μA 以下的設(shè)計目標(biāo),從而能夠連續(xù)工作 10 年以上。既然電池使用壽命可達(dá) 10 年,那么我們在設(shè)計倒計時定時器時就可采用不可替換的電池,從而簡化了構(gòu)造,同時也降低了單位成本。由于大量 MCU 功能及引腳都未使用,因此我們還可用其添加額外特性。實(shí)施計數(shù)器所需的固件相當(dāng)小,只在 MCU 的 8k 字節(jié)閃存上占用不到 250 字節(jié)。

           



          關(guān)鍵詞: 消費(fèi)電子

          評論


          相關(guān)推薦

          技術(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); })();