利用高級(jí)單片機(jī)的新低功耗模式
盡管“綠色”與產(chǎn)品名稱結(jié)合在一起已成為表示低功耗的公認(rèn)符號(hào),但低功耗的準(zhǔn)確含義卻并未被經(jīng)常表述。
低功耗單片機(jī)(MCU)的要求會(huì)隨著應(yīng)用以及應(yīng)用中使用MCU的方式的不同而有所變化。例如,在電池供電的恒溫器應(yīng)用中,低功耗主要由器件能夠驅(qū)動(dòng)LCD顯示屏的最低功耗模式定義,在這種情況下,降低功耗會(huì)延長(zhǎng)電池的使用壽命。在其他低功耗應(yīng)用(如電表)中,低功耗是指系統(tǒng)在運(yùn)行期間消耗的工作電流。第三類系統(tǒng)是需要保持時(shí)間的系統(tǒng),而不管系統(tǒng)的主電源是否存在。停電期間的電表就是第三類系統(tǒng)的一個(gè)例子。由于各種應(yīng)用的要求不盡相同,具有更加靈活的功耗模式的MCU允許設(shè)計(jì)人員進(jìn)一步定制系統(tǒng)操作。
在過去,MCU的工作模式用于器件操作;空閑和打盹模式可降低或消除CPU開關(guān)功率,同時(shí)允許外設(shè)運(yùn)行;休眠模式允許以最低功耗運(yùn)行有限的外設(shè)。隨著當(dāng)今的高級(jí)MCU轉(zhuǎn)向更高級(jí)的硅工藝(可將系統(tǒng)成本降至最低并減小工作電流),一些新的低功耗模式正在增加,以提高M(jìn)CU的靈活性。我們將通過觀察當(dāng)今高級(jí)MCU中某些新型低功耗模式在各種應(yīng)用中的使用來對(duì)其進(jìn)行探究。
我們將使用電池壽命估算器(BLE)軟件工具和16位MCU對(duì)不同應(yīng)用中實(shí)現(xiàn)的各種功耗模式進(jìn)行比較。Microchip的BLE是免費(fèi)的軟件工具,允許設(shè)計(jì)人員估算系統(tǒng)的電池壽命,并確定哪種可用的工作模式最適合其應(yīng)用。PIC24FJ128GA310 MCU系列提供了一些新的低功耗模式,其LCD顯示驅(qū)動(dòng)器在如下一些示例中可發(fā)揮良好的作用。
恒溫器已變得更加復(fù)雜,需要顯示更多信息并覆蓋多個(gè)地區(qū)。因此,通常需要大量片上閃存程序存儲(chǔ)器來存儲(chǔ)以多種語言顯示的復(fù)雜菜單。
通常來說,需要采用高級(jí)工藝才能生產(chǎn)出價(jià)格具有競(jìng)爭(zhēng)力的大存儲(chǔ)器MCU。隨著半導(dǎo)體工藝的發(fā)展,晶體管的工作電流減少而泄漏電流增加正成為趨勢(shì)。泄漏電流增加在低功耗模式(如休眠模式)的電流規(guī)范中最為明顯。高級(jí)MCU上的休眠電流通常在3至5 uA的范圍內(nèi),而典型恒溫器應(yīng)用的大多數(shù)時(shí)間只是用來驅(qū)動(dòng)分段式LCD顯示屏。通常在休眠模式下驅(qū)動(dòng)分段式LCD顯示屏,該模式允許某些外設(shè)(本例中為L(zhǎng)CD驅(qū)動(dòng)器)在CPU和大多數(shù)外設(shè)掉電時(shí)運(yùn)行。恒溫器必須被定期喚醒并進(jìn)入工作模式,讀取溫度、更新顯示屏,可能還要發(fā)信號(hào)使火爐、風(fēng)扇或空調(diào)裝置開啟。然而,99%以上的時(shí)間僅需要休眠模式。由于大量時(shí)間處于休眠模式,因此改善休眠電流就能大幅增加系統(tǒng)的電池使用壽命。
為了使MCU具有亞uA級(jí)的功耗模式,許多供應(yīng)商引入了新的低功耗深度休眠模式。典型的深度休眠電流在10至50 nA的范圍內(nèi),這些器件運(yùn)行實(shí)時(shí)時(shí)鐘日歷(RTCC)時(shí)會(huì)增加400 nA的電流。通過關(guān)閉整個(gè)器件而僅保留少量存儲(chǔ)器、實(shí)時(shí)時(shí)鐘(或許還有看門狗定時(shí)器),可實(shí)現(xiàn)極低電流。但是,這些深度休眠模式不允許外設(shè)運(yùn)行或保持器件上的數(shù)據(jù)RAM。當(dāng)器件從深度休眠中喚醒時(shí),如果RAM內(nèi)容丟失,則器件需要執(zhí)行重啟例程,然后才能恢復(fù)程序執(zhí)行。
新的低功耗模式(如低電壓休眠模式)能以典型值為330 nA的基電流保持器件的數(shù)據(jù)RAM,并允許運(yùn)行額外的低功耗外設(shè)。此低電壓休眠模式會(huì)保持器件的RAM,并通過減少器件的片上穩(wěn)壓器輸出來降低休眠電流。通過降低送入器件邏輯的電源電壓并限制工作外設(shè),MCU的休眠電流可從3.7 uA降至330 nA。在這種類型的MCU休眠模式下,LCD驅(qū)動(dòng)器、定時(shí)器和RTCC等外設(shè)仍可運(yùn)行,且僅增加極小的電流。器件從低電壓休眠模式恢復(fù)到工作狀態(tài)的時(shí)間不到從深度休眠喚醒的時(shí)間的一半。器件隨后從下一條指令開始執(zhí)行,而不是深度休眠模式喚醒通常需要的從重啟序列開始。
圖1:電池壽命估算器工具主屏幕
說明——如圖1所示,電池壽命估算器工具的主屏幕顯示了MCU及其工作電壓、電池和工作模式。恒溫器模型的電池壽命估算結(jié)果為11年零88天。
此外,BLE工具還會(huì)為單片機(jī)在每種工作模式中將花費(fèi)的時(shí)間以及在每種模式中將消耗的功率數(shù)進(jìn)行建模。圖1給出了BLE的輸出顯示,您可在其中設(shè)置系統(tǒng)的幾個(gè)關(guān)鍵參數(shù),從而得到壽命估算值和平均系統(tǒng)電流。首先,選擇MCU和系統(tǒng)的工作電壓。這使得電池壽命估算器獲得相應(yīng)的規(guī)格參數(shù)。然后選擇電池或電池對(duì)——本例中為2節(jié)AAA堿性電池。還可以選擇預(yù)期的系統(tǒng)工作電壓和工作溫度,以獲得最適合用于電池壽命估算模型的規(guī)格參數(shù)。最后,對(duì)系統(tǒng)中將使用的工作模式進(jìn)行定義。對(duì)于我們的恒溫器來說,將使用兩個(gè)模式。
為了對(duì)恒溫器僅顯示LCD屏幕的時(shí)間進(jìn)行建模,創(chuàng)建了一個(gè)名為“顯示LCD”的工作模式。“顯示LCD”工作模式使用低電壓休眠模式來提供用于驅(qū)動(dòng)LCD的最低功耗模式。電池壽命估算器工具建模為將器件的工作周期設(shè)置為30秒,其中的29.5秒用于低電壓休眠模式。第二個(gè)工作模式為更新溫度和LCD,用于對(duì)MCU監(jiān)視溫度、更新LCD屏幕以及與HVAC裝置通信所需的時(shí)間進(jìn)行建模。
為了更好地體會(huì)新的低電壓休眠模式以及如何在BLE工具中實(shí)現(xiàn)工作模式,可以查看Add/Modify Mode(添加/修改模式)屏幕,如圖2所示。在此屏幕中,設(shè)計(jì)人員可以調(diào)整Duration(持續(xù)時(shí)間)設(shè)置,此設(shè)置當(dāng)前為29.5秒。通過使用Additional System Current(額外系統(tǒng)電流)輸入框,設(shè)計(jì)人員可以添加MCU外圍電路的電流消耗估算值。在本例中,添加了4 uA的系統(tǒng)電流,表示LCD顯示屏消耗的電流,還添加了1 uA的額外電流,表示內(nèi)部LCD偏置電阻所需的電流。接下來,選擇功耗模式(本例中為低電壓休眠)以及所需的外設(shè)。為了提供準(zhǔn)確的系統(tǒng)電流模型,已選擇LCD驅(qū)動(dòng)器、BOR、WDT和RTCC。MCU本身消耗的電流為1.88 uA,此電流與我們的5 uA系統(tǒng)電流相加,達(dá)到系統(tǒng)在低電壓休眠模式下所需的6.88 uA。
圖2:電池壽命估算器工具模式編輯屏幕
說明:電池壽命估算器工具的模式編輯屏幕允許設(shè)計(jì)人員指定每個(gè)所用功耗模式的條件并為其命名。
BLE主屏幕顯示,器件在低電壓休眠模式下消耗的平均電流為6.88 uA,器件短期處于工作狀態(tài)時(shí)消耗的電流略高于327 uA,因此總平均電流低于6.9 uA。系統(tǒng)電池壽命的估算值約為12年,也就是說比電池的貯藏壽命多出約5年。圖3顯示了一個(gè)類似的分析,但使用的是休眠模式而不是低電壓休眠模式,此分析得出的平均電流約為10.5 uA,電池壽命減少了三年。
圖3:電池壽命估算器工具
說明:基于休眠模式估算的電池壽命比基于標(biāo)準(zhǔn)休眠模式估算的電池壽命少了三年。
對(duì)于MCU來說,大多數(shù)時(shí)間處于工作模式的系統(tǒng)是另一個(gè)極端,例如電表。如今的電表在整個(gè)工作周期中只會(huì)處于兩種狀態(tài)。通電時(shí)處于正常工作模式。在這個(gè)“正常”工作模式下,MCU處于活動(dòng)狀態(tài),不斷測(cè)量電壓和電流,并計(jì)算通過電表提供的功率。電表可能還要監(jiān)視潛在篡改、驅(qū)動(dòng)LCD顯示屏并可能與讀表設(shè)施進(jìn)行通信。
當(dāng)電表運(yùn)行時(shí),可能看起來電力很充足。事實(shí)上,電力是由電表制造商的最終客戶——電力公司提供的產(chǎn)品。電力公司為上百萬的客戶提供電力,即使很小的電力損耗對(duì)于電力公司的業(yè)務(wù)來說都要付出很大代價(jià)。實(shí)際上,大多數(shù)電表必須工作在IEC制定的10 VA功率預(yù)算下。如果考慮到可能的線路變化、元件容差和系統(tǒng)設(shè)計(jì)裕度,在使用電容式電源時(shí),系統(tǒng)MCU電流預(yù)算的最終結(jié)果約為10 mA。
如今的一些低成本電表采用8位MCU,在工作模式下全速運(yùn)行時(shí)消耗的電流通常超過10 mA。為了保持在系統(tǒng)功率預(yù)算范圍內(nèi),通常需要設(shè)計(jì)人員以較低的頻率運(yùn)行MCU。當(dāng)前許多16位MCU利用先進(jìn)工藝和設(shè)計(jì)技術(shù)來提供低至150 uA/MHz的典型工作電流,并且能全速運(yùn)行在16 MIPS,而消耗的電流不超過6.9 mA。降低的工作電流為設(shè)計(jì)人員提供了兩種選擇:降低MCU的運(yùn)行速度以減少系統(tǒng)功耗;增加額外的功能,同時(shí)保持系統(tǒng)功耗在分配的預(yù)算范圍內(nèi)。
盡管電表將絕大多數(shù)時(shí)間用在工作狀態(tài),但其也是利用功耗最低的模式之一(Vbat)的應(yīng)用示例。Vbat功能提供了一個(gè)專用引腳,該引腳可提供備用電源,例如LTC電池或超級(jí)電容。如果系統(tǒng)的主電源掉電(如在停電期間),RTCC的電源會(huì)自動(dòng)轉(zhuǎn)換到備用Vbat引腳。電表中的RTCC在斷電期間非常重要,因?yàn)榘词褂脮r(shí)段計(jì)費(fèi)正日益普及。通過Vbat工作時(shí),RTCC允許LTC電池持續(xù)使用數(shù)十年,幾乎是無限的備用工作電源。將Vbat功能與RTCC配合使用不只局限于電表。許多應(yīng)用,包括上述恒溫器,都可利用RTCC在停電或更換電池期間保持時(shí)間。帶有電容或電池的Vbat還有助于消除由停電引起的惱人閃光。
在高度關(guān)注功耗的環(huán)境下,低功耗MCU的發(fā)展促生了極具靈活性的通用MCU。工藝技術(shù)和設(shè)計(jì)技術(shù)的進(jìn)步使16位MCU的工作電流可低至150 uA/MHz。新的低功耗模式(如低電壓休眠和Vbat)為功耗管理鏈增加了靈活性,允許通用MCU在更為廣泛的應(yīng)用中工作。最終結(jié)果是出現(xiàn)功能強(qiáng)大且適應(yīng)性強(qiáng)的單片機(jī),實(shí)現(xiàn)對(duì)客戶友好的高能效終端應(yīng)用。