無需更換電池的數(shù)字倒計(jì)時(shí)定時(shí)器
只需 MCU、LCD、32kHz 晶振以及一個(gè)電阻器即可構(gòu)成一部基本的倒計(jì)時(shí)定時(shí)器,而且只需一顆普通的紐扣電池即可實(shí)現(xiàn)連續(xù)超過 10 年的工作時(shí)間,如圖 1 所示。例如,此類倒計(jì)時(shí)定時(shí)器可用于餐館提供服務(wù)時(shí)間保證,服務(wù)人員按下一個(gè)按鈕即可啟動(dòng)倒計(jì)時(shí)定時(shí)器,微控制器開始自動(dòng)倒計(jì)時(shí),時(shí)間長短可預(yù)先設(shè)定,倒計(jì)時(shí)過程則會(huì)顯示在顯示屏上。如果服務(wù)人員在計(jì)時(shí)結(jié)束前尚未向客人提供服務(wù),那么顯示器就會(huì)閃動(dòng)顯示超時(shí)信息,提示未達(dá)到服務(wù)保證。有兩大關(guān)鍵性設(shè)計(jì)可最小化功耗,并盡可能延長電池使用壽命,一是認(rèn)真選擇電池,二是充分利用 MCU 的低功耗模式。
我們之所以選擇 CR2032 紐扣式鋰電池,主要是因?yàn)樗嫉剌^小,可以支持便攜式應(yīng)用,放電曲線較平,可以直接驅(qū)動(dòng) LCD,無需補(bǔ)償,而且漏電極低,能夠?qū)崿F(xiàn)更長的工作時(shí)間。典型的 CR2032 額定容量約為 200mA,工作時(shí)間可持續(xù)數(shù)小時(shí)。為了實(shí)現(xiàn)連續(xù)工作 10 年的設(shè)計(jì)目標(biāo),平均系統(tǒng)電流消耗不得超過 2.28uA,電流消耗的計(jì)算方式為電池能量值除以應(yīng)用的工作壽命,如下所示:
我們選擇 MCU 是由于其待機(jī)電流極低,僅為 0.8uA,并且還包含了晶體振蕩器、集成 LCD 驅(qū)動(dòng)器以及中斷驅(qū)動(dòng)喚醒定時(shí)器。3.5 英寸數(shù)字 LCD 顯示屏增加了 1uA 的額外系統(tǒng)電流消耗。整個(gè)工作期間的倒計(jì)時(shí)定時(shí)器的總待機(jī)電流消耗如下:
通常情況下,MCU 工作在待機(jī)模式下,時(shí)鐘晶體頻率為 32kHz 的定時(shí)器觸發(fā) 1 秒中斷,使 MCU 返回工作主循環(huán) (Mainloop),主循環(huán)采用可以顯著降低軟件開銷的直接 BCD 減法以實(shí)現(xiàn)軟件倒計(jì)時(shí)寄存器的遞減。我們向軟件倒計(jì)時(shí)寄存器添加十進(jìn)制的 99h,實(shí)際上減去的數(shù)為 1。直接 BCD 減法不僅有效,而且還可使倒計(jì)時(shí)直接顯示在 LCD 上,而無需再進(jìn)行耗費(fèi)電流的二進(jìn)制 BCD 減法運(yùn)算。軟件接下來在 LCD 上顯示倒計(jì)時(shí)寄存器中的值。最后,倒計(jì)時(shí)寄存器中的值將與零相比較,以決定預(yù)編程的時(shí)間段是否已經(jīng)到期,如果到期那么將顯示超時(shí)信息。主循環(huán)要求 CPU 與片上高速振蕩器在 250uA 電流消耗下工作。不過,由于我們在編寫軟件時(shí)已經(jīng)將循環(huán)計(jì)數(shù)減至 100 以下,也就是說,在默認(rèn)的 1MHz CPU 頻率下相當(dāng)于 100us,因此在這樣短的工作時(shí)間內(nèi),主循環(huán)增加的電流消耗可以忽略不計(jì),計(jì)算方法如下:
數(shù)字倒計(jì)時(shí)定時(shí)器的總電流消耗為待機(jī)與主循環(huán)電流消耗之和:
由于平均電流消耗約達(dá)到 1.8uA,這款倒計(jì)時(shí)定時(shí)器可輕易地實(shí)現(xiàn)電流消耗低于 2.28uA 的設(shè)計(jì)目標(biāo),從而能夠連續(xù)工作 10 年以上。既然電池壽命可達(dá) 10 年,那么我們在設(shè)計(jì)倒計(jì)時(shí)定時(shí)器時(shí)可以采用長效電池,從而簡化了其構(gòu)造,同時(shí)也降低了單位成本。由于大量 MCU 功能與引腳尚未得到使用,因此我們還可用其添加額外特性。實(shí)施計(jì)數(shù)器所需的固件相當(dāng)小,只在 MCU 的 8k 字節(jié)閃存上占用不到 250 字節(jié)。
評論