張曉宇
(華北科技學(xué)院電子信息工程學(xué)院,北京東燕郊 101601)
對于由電池供電的系統(tǒng)來說,功耗是非常重要的指標(biāo)[1-3]。通常,要求系統(tǒng)的平均功耗小于某個目標(biāo)值來保證一個適當(dāng)?shù)碾姵乩m(xù)航時間。這意味著系統(tǒng)可以在短時間內(nèi)功耗較大,而把平均功耗維持在目標(biāo)值以下。近年應(yīng)用較多的微功耗控制器有 TI 公司的 MSP430[4-6]及意法的STM8[7-10].
意法半導(dǎo)體公司(ST)推出基于8位STM8內(nèi)核的超低功耗微控制器STM8L。它采用了全新的超低漏電工藝和優(yōu)化的體系結(jié)構(gòu),集合了高性能與超低功耗于一身。STM8L系列有三個子系列,可以滿足對低功耗有特殊要求的多種應(yīng)用。STM8L系列微控制器有以下主要特點(diǎn):
1)最大工作頻率16MHz,4~32K字節(jié)閃存,最多2K字節(jié)SRAM,供電電壓1.8V至3.6V(斷電時降至1.65V)。
2)最多四種低功耗工作模式。
3)特有的130nm工藝的超低功耗技術(shù),高級和靈活的時鐘系統(tǒng)(多種內(nèi)部和外部時鐘源)。
4)低于1uA的硬件RTC和自動喚醒單元。
5)從低功耗模式極快的喚醒時間;
6)模擬功能可以在低至1.8V下工作,編程電壓低至1.65V。
本文采用ST公司STM8L系列MCU,以一種新型便攜式血糖儀為應(yīng)用背景,進(jìn)行系統(tǒng)的低功耗設(shè)計(jì)。提出了以此為背景的低功耗方案,然后進(jìn)行了系統(tǒng)硬件設(shè)計(jì)及實(shí)現(xiàn),有效發(fā)揮其STM8L微控制器的低功耗優(yōu)勢,整體方案微型化,滿足產(chǎn)品低功耗技術(shù)指標(biāo)。
一般MCU功耗主要受以下因素影響:
1)MCU的芯片封裝、面積,所采用的工藝,集成晶體管的數(shù)量,片上集成和使用的模擬功能/外設(shè)數(shù)量等。
2)MCU電源電壓:CMOS邏輯電路中消耗的電流與電源電壓的平方成正比。因此,可以通過降低供電電壓來降低功耗。
3)時鐘頻率:在不要求進(jìn)行高速處理的應(yīng)用中,降低時鐘頻率可以降低功耗。
4)激活的外設(shè)數(shù)目或使用的MCU功能數(shù)目(CSS、BOR、PVD等):激活的外設(shè)數(shù)目越多,或使用的MCU功能數(shù)目越多,則功耗越大。
5)工作模式:功耗會隨著應(yīng)用所處不同模式而改變(CPU開啟/關(guān)閉,晶振開啟/關(guān)閉等)。
STM8L微控制器有4種超低功耗工作模式[11]:
1)低功耗運(yùn)行(Low-power run)模式:CPU仍在工作,低速振蕩器(RTC或內(nèi)部振蕩器)驅(qū)動,代碼在RAM中運(yùn)行,功耗典型值小于6uA。
2)低功耗等待(Low-power wait)模式:保持RTC和少量外設(shè)工作,在運(yùn)行模式下執(zhí)行WFI指令進(jìn)入此模式。當(dāng)內(nèi)部或外部中斷產(chǎn)生時,CPU從等待模式喚醒并恢復(fù)工作。功耗典型值小于5μA。
3)停機(jī)(Halt)模式:主時鐘停止,由fMASTER提供時鐘的CPU及所有外設(shè)均被關(guān)閉。MCU通過執(zhí)行HALT指令進(jìn)入停機(jī)模式,外部中斷可將MCU從停機(jī)模式喚醒。功耗典型值小于1.5μA。
四種STM8L低功耗模式的主要特性如表1。詳細(xì)敘述請參看STM8L數(shù)據(jù)手冊[11-13]。
微型血糖儀項(xiàng)目設(shè)計(jì)目標(biāo)功耗是運(yùn)行模式電流消耗不超過6mA,睡眠模式電流不超過6μA,以最大限度節(jié)省電池待機(jī)功耗。這里最大難點(diǎn)是整機(jī)待機(jī)功耗不超過6μA。
表1 STM8L低功耗模式一覽表
根據(jù)上述功耗要求,系統(tǒng)分為血糖檢測電路、人機(jī)接口電路、USB通信接口電路、電源電路等??刂坪诵倪x用STM8L151,最高運(yùn)行頻率16M,內(nèi)置16K閃存,片內(nèi)集成12位 ADC、DAC、UART、RTC等外設(shè)豐富。
系統(tǒng)方案簡圖如圖1所示。血糖檢測電路需要MCU輸出給葡萄糖氧化酶印刷電極的一個測量電壓,然后通過模擬開關(guān)控制測量電壓加在電極上的時間。測量電路還需要MCU內(nèi)部1.224V電壓基準(zhǔn)輸出,經(jīng)過放大2倍后再送給MCU作為ADC和DAC的參考電壓。MCU采用4線SWIM接口進(jìn)行在線調(diào)試或燒寫程序。
為了使設(shè)備能在上位機(jī)指令下工作以及測試數(shù)據(jù)能夠方便傳出,設(shè)計(jì)了UART到USB的通信轉(zhuǎn)換接口。利用MCU的UART信號轉(zhuǎn)成USB信號能和PC機(jī)連接。
圖1 系統(tǒng)整體方案簡圖
人機(jī)接口方案采用2個獨(dú)立按鍵及COG液晶顯示。選用WLO-0088A型號的COG字符型液晶顯示器,可顯示16×2個5×8點(diǎn)陣的字符。它主要采用動態(tài)驅(qū)動原理由行驅(qū)動—控制器和列驅(qū)動器兩部分組成了90(列)×16(行)的全點(diǎn)陣液晶顯示。此顯示器采用了COG的軟封裝方式,通過 FPC連接 LCD,連接可靠,工作電壓為3.3V,與CPU接口采用I2C串行方式。
為了實(shí)現(xiàn)低功耗目標(biāo),2節(jié)3V干電池首先直接給控制核心供電,保證MCU一直有電,其他外設(shè)電路如液晶、模擬開關(guān)、血糖測量電路等采用PNP三極管控制供斷電。為了達(dá)到6uA超低功耗,當(dāng)測量需要時供給外設(shè)電源,測量不需要(睡眠)時給外設(shè)斷電。其中獨(dú)立按鍵和USB通信接口電路不需要電池供電。整個供電如圖1細(xì)線箭頭所示。
為了控制整機(jī)睡眠電流,需要對STM8L151進(jìn)行詳細(xì)的低功耗設(shè)計(jì)如下。
巷道圍巖不同加載階段變形破壞特征如圖6所示,由圖中可以看出,巷道圍巖變形破壞特征分為三個階段:緩慢變形階段、劇烈變形階段和嚴(yán)重變形破壞階段。
1)睡眠時低功耗模式選為Halt,以獲得最低CPU靜態(tài)電流。
2)睡眠時關(guān)斷液晶、模擬開關(guān)及測量電路供電。
3)睡眠時關(guān)閉通信接口,將所有MCU的IO口設(shè)置至最低功耗狀態(tài)。
4)睡眠時對MCU內(nèi)部進(jìn)行合理設(shè)置。
硬件電路設(shè)計(jì)均圍繞設(shè)備功耗為主要問題展開。其中,人機(jī)接口、血糖檢測及通信接口供電由CPU控制,睡眠時斷電。下面給出血糖檢測電路及供電電路設(shè)計(jì)原理。
血糖檢測電路如圖3所示。其中U2是雙運(yùn)放,5、6、7腳與 R1,R3組成2 倍放大,把 MCU 輸出的參考電壓放大為2.448V后,用來給R2,RT組成的溫度測量電路供電,同時再輸出給MCU作為ADC/DAC的參考電壓。這是RT是50K熱敏電阻,選用型號MF52E-503-3950。
U2運(yùn)放的1、2、3腳與 R4,C4及 R28組成電流測量電路,是一個電壓跟隨器。運(yùn)放3腳接收來自MCU中DAC輸出的標(biāo)準(zhǔn)測量電壓,此電壓經(jīng)過 L1、C3、D1組成的 LC濾波后更加平穩(wěn)。MCU用2路ADC分別測量運(yùn)放第2腳電壓及第1腳電壓,二者之電壓差值除以R4的阻值,即流過印刷電極CZ1的電流值。模擬開關(guān)U3,U6受MCU的2個GPIO信號ASC1,ASC2控制。ASC1決定施加給印刷電極電壓的時間,ASC2切換電流測量電阻的阻值。R22是本部分模擬電路經(jīng)磁珠與數(shù)字地共地。
儀器整機(jī)為3.3V供電,有兩路電源,一路是3節(jié)7號電池,另一路是當(dāng)插入USB連接PC機(jī)時USB的5V電源。使用AS1360用作DC-DC變換器。AS1360是一種靜態(tài)電流極低的LDO,當(dāng)靜態(tài)時僅耗電1.2μA。
電源電路原理如圖4所示。用2個三極管9012控制2個電源VDD1和VDD2,基極用MCU的GPIO控制。VDD1是血糖檢測電路供電,VDD2是液晶供電。這樣,當(dāng)設(shè)備睡眠時,通過MCU控制所有外設(shè)都斷電,以使待機(jī)功耗最低。
低功耗程序設(shè)計(jì)時,應(yīng)考慮系統(tǒng)設(shè)置如下:
1)在本系統(tǒng)應(yīng)用中,由于MCU進(jìn)入Halt模式,喚醒后重啟。因此AL位置0。
2)當(dāng)進(jìn)入睡眠后,無用的GPIO全部設(shè)置為推免輸出低電平,以使功耗最低。
3)本應(yīng)用中,外設(shè)時鐘包括比較器、ADC、DAC、UART、TIM1,TIM2,TIM3,TIM4(所 有TIM)、Beep、內(nèi)部電源PVD(低電壓檢測器)全部關(guān)閉。
4)本應(yīng)用中進(jìn)入Halt前,清除所有中斷。
圖3 血糖檢測電路原理圖
圖4 電源電路原理圖
5)本應(yīng)用中喚醒為2路:插入試條中斷喚醒和開關(guān)機(jī)按鍵喚醒。兩種喚醒均為外部中斷,下降沿有效。喚醒時鐘源選擇CLK_ICKCR寄存器的FHW位置0,即系統(tǒng)仍然以睡眠之前的時鐘重啟。
本系統(tǒng)進(jìn)入Halt流程如圖5所示。
進(jìn)入Halt模式對應(yīng)StepIntoHalt()子函數(shù),功能是先設(shè)置電源管理寄存器,再設(shè)置GPIO,再關(guān)RTC時鐘,執(zhí)行halt()指令,進(jìn)入Halt模式。這里特別指出需要關(guān)RTC時鐘,不能讓RTC工作,否則整機(jī)功耗降不到6μA以下。
圖5 進(jìn)入Halt模式流程圖
主程序主循環(huán)中執(zhí)行以下代碼。先判斷是否滿足睡眠條件,若滿足,先給MCU芯片以外設(shè)備斷電,再關(guān)閉MCU中外設(shè),再把系統(tǒng)時鐘切換至LSI最后執(zhí)行 StepIntoHalt()子函數(shù)系統(tǒng)進(jìn)入睡眠。
經(jīng)過開發(fā)調(diào)試,重點(diǎn)測試了整機(jī)工作電流,獲得如表2數(shù)據(jù)。
表2 整機(jī)功耗(電流)測試數(shù)據(jù)表
共選用4臺整機(jī)設(shè)備,每臺測量10次。從數(shù)據(jù)表中可以看出,工作狀態(tài)整機(jī)電流小于6mA,進(jìn)入睡眠后整機(jī)工作電流不超過5μA,達(dá)到了低功耗設(shè)計(jì)目標(biāo)。
重點(diǎn)討論了基于STM8L系列MCU的低功耗設(shè)計(jì)問題。對STM8L的低功耗設(shè)計(jì)涉及重要問題都給出了描述?;谖⑿脱莾x的應(yīng)用背景,給出了實(shí)際設(shè)計(jì)和結(jié)果,具有體積小、功耗低、具備通信功能的特點(diǎn),是原有血糖儀的更新產(chǎn)品。
[1]陳靜,金林.便攜式煤礦電網(wǎng)參數(shù)實(shí)時檢測儀器的研究[J]. 煤礦機(jī)械,2005,(04):99 -101.
[2]張軍,徐海寧,鄭強(qiáng)等.一種超低功耗便攜式高斯計(jì)的設(shè)計(jì)[J]. 儀表技術(shù)與傳感器,2011,(11):98-99+103.
[3]李威,龐洵,劉大偉.礦用便攜式錨桿測力儀的研制[J].煤礦機(jī)械,2007,(01):112-114.
[4]馬小陸,王培珍.MSP430單片機(jī)在配電變壓器監(jiān)測終端中的應(yīng)用[J]. 自動化儀表,2007,(08):12-15.
[5]何剛,歐陽名三.基于MSP430F448的風(fēng)量測量儀[J].煤礦機(jī)械,2005,(04):105 -106.
[6]姚長標(biāo),徐莉萍,任德志.基于MSP430的液壓測控器的設(shè)計(jì)[J]. 煤礦機(jī)械,2006,(04):555-557.
[7]陳國照.STM8系列單片機(jī)的開發(fā)與應(yīng)用[J].甘肅冶金,2011,(02):113 -114+118.
[8]陳上挺,謝文彬,游穎敏.基于STM8的紅外與超聲波測距儀設(shè)計(jì)[J]. 電子技術(shù)應(yīng)用,2011,(09):32-34.
[9]周伯俊,姜平.基于STM8S207SB的遠(yuǎn)程無線通信模塊設(shè)計(jì)[J]. 儀表技術(shù),2012,(10):33-35.
[10]張升,王立峰,王爽.基于STM8S105的直流永磁無刷電機(jī)控制器設(shè)計(jì)[J].工業(yè)控制計(jì)算機(jī),2012,(09):123-124.
[11]STM8中文芯片規(guī)格書,http://wenku.baidu.cn.
[12]魏星,李梅.基于ISO14443 Type A標(biāo)準(zhǔn)讀寫器的設(shè)計(jì)與實(shí)現(xiàn)[J]. 電子元器件應(yīng)用,2012,(8):2-3.
[13]劉永鑫,洪添勝,徐興等.基于STM8滴灌自動控制系統(tǒng)的設(shè)計(jì)與實(shí)驗(yàn)[C]//中國農(nóng)業(yè)工程學(xué)會2011年學(xué)術(shù)年會論文集,重慶,2011.