【應(yīng)用筆記】使用 CW32 實(shí)現(xiàn)電池備份(VBAT)功能
前言?
電池備份(VBAT)功能的實(shí)現(xiàn)方法,一般是使用 MCU 自帶的 VBAT 引腳,通過在該引腳連接鈕扣電池,當(dāng)系統(tǒng)電源因故掉電時(shí),保持 MCU 內(nèi)部備份寄存器內(nèi)容和 RTC 時(shí)間信息不會丟失。?
本文檔介紹了如何基于 CW32 系列 MCU,通過增加簡單的外部電路配合軟件實(shí)現(xiàn) VBAT 功能,在系統(tǒng)電源掉 電后仍能保持 RTC 時(shí)鐘正常計(jì)時(shí),以及如何降低系統(tǒng)功耗,從而延長后備電池的使用壽命。
1?
電路設(shè)計(jì)?
對于自帶 VBAT 引腳的 MCU,MCU 內(nèi)部有對 VBAT 電源和系統(tǒng)電源的管理單元,保證在系統(tǒng)電源掉電后,及 時(shí)切換 VBAT 引腳電源給備份域供電,保證 RTC 正常工作。?
對于沒有 VBAT引腳的 CW32,要實(shí)現(xiàn)類似的功能,可以在外部進(jìn)行后備帶電池和系統(tǒng)電源的切換,如下圖所示:

后備電池(B1)提供的備用電源 VBAT 和系統(tǒng)電源 VDDIN 通過 2 個(gè)肖特基二極管(D1)合路,合路后的 電源 VDD 給 MCU 的數(shù)字域 DVCC 和模擬域 AVCC 進(jìn)行供電。系統(tǒng)電源 VDDIN 通過 R3、R4 電阻分壓得到 WAKEIO 信號,連接到 MCU 的 IO 引腳。注意遵循如下規(guī)則:
?1. Vwakeio 要大于 MCU IO 口的 Vih;
?2. VDDIN 必須高于 Vb1 在 0.4V 以上,否則如果 VDDIN 和 Vb1 相等,在系統(tǒng)電源正常時(shí),后備電池也會有一定 的泄放電流,不利于節(jié)省后備電池電量。
2?
程序設(shè)計(jì)?
程序啟動后正常初始化時(shí)鐘、IO、RTC 以及 OELD,循環(huán)中檢測系統(tǒng)電源是否存在,如存在則讀取 RTC 時(shí)間 并顯示。?
當(dāng)系統(tǒng)電源 VDDIN 因故掉電,則關(guān)閉 OLED 電源,并進(jìn)入 DeepSleep 低功耗睡眠模式。?
當(dāng)系統(tǒng)電源 VDDIN 恢復(fù)供電時(shí),產(chǎn)生高電平中斷,喚醒 MCU,退出 DeepSleep 低功耗睡眠模式。
3?
參考代碼
4?
實(shí)際測試
使用 CW32L031C8T6 設(shè)計(jì)了用于測試后備電池功能的評估板,實(shí)物如下圖所示:

使用 3V 的 CR2032 鈕扣電池,實(shí)測電池電壓為 3.14V;VDDIN?使用可調(diào)節(jié)數(shù)字電源,設(shè)置為 3.54V,保證 VDDIN?>= Vb1 + 0.4V;D1 實(shí)測合路后的電源電壓為 3.21V。

4.1 測試數(shù)據(jù)?
實(shí)際測試時(shí),斷開 J4 跳線接入萬用表,設(shè)置萬用表為電流測試檔位。?
1. 關(guān)閉 VDDIN 電源輸入,MCU 檢測到無外電輸入,關(guān)閉 OLED 顯示,進(jìn)入 DeepSleep 模式,實(shí)測此時(shí) B1 電流為 +0.95μA。?
2. 打開 VDDIN電源輸入,MCU被高電平中斷從 DeepSleep狀態(tài)喚醒到正常狀態(tài),OLED正常顯示當(dāng)前時(shí)間, 實(shí)測此時(shí) B1 電流為 -75nA(負(fù)電流是因?yàn)?D1 處于反向偏置狀態(tài),有小的反向漏電流)。?
測試結(jié)果符合電路設(shè)計(jì)預(yù)期,以 CR2032 電池容量為 200mAH 計(jì)算,則電池可用時(shí)間為 210526 小時(shí),合計(jì) 24 年(不考慮電池和產(chǎn)品壽命),可實(shí)現(xiàn)超長待機(jī)時(shí)間,完全滿足各種低功耗產(chǎn)品對 RTC 后備電池容量需求。
5?
附件?
5.1 RTC_TestBoard 單板原理圖

