1、便攜式設(shè)備對處理器提出的挑戰(zhàn)
隨著電子便攜式設(shè)備在全球的風(fēng)行,人們對電子便攜式設(shè)備的要求也越來越高,希望產(chǎn)品有更多的功能,如手機攝像機自動對焦與手機閃信與計步器;希望產(chǎn)品功耗更低,如無線設(shè)備、手持POS機和家庭醫(yī)療產(chǎn)品;希望產(chǎn)品體積更小,如運動手表;希望產(chǎn)品的保密性好;處理能力強,如便攜式儀器和高精度運動控制;希望價格更低和開發(fā)周期短。
然而困惑的是,很多的便攜式設(shè)備往往會同時要有上面的多個要求,然而現(xiàn)實中很難做到:同時滿足高速處理、低功耗和價格?ARM高速,但是功耗而價格高;同時滿足高速處理和小封裝?希望封裝面積小到3×3mm,又要不犧牲速度;同時滿足小封裝和SOC?需要ADC、SPI和12個I/O,而尺寸,最好小于5×5mm;開發(fā)周期,ARM性能完全合適,但ARM往往需要操作系統(tǒng)支持,開發(fā)周期長,而市場機遇稍縱即逝。
為此,本文將從為電子便攜式設(shè)備開發(fā)解決上述這些難題出發(fā),對如何設(shè)計一個低功耗的單片機系統(tǒng)與方法和MCU在低功耗方面的優(yōu)勢進行分析,并小尺寸系列單片機的應(yīng)用為例作出介紹。
2、如何設(shè)計一個低功耗的單片機系統(tǒng)
問題提出:單片機系統(tǒng)的功耗是否只是由單片機的功耗決定?回答是,以單片機為核心構(gòu)成的系統(tǒng),其系統(tǒng)的總能耗是由單片機能耗及其外圍電路能耗共同構(gòu)成。為了降低整個系統(tǒng)的功耗,除了要降低單片機自身的運行功耗外,還要降低外圍電路的功耗。
2.1 如何設(shè)計低功耗單片機系統(tǒng)?
要設(shè)計一個低功耗的單片機系統(tǒng),需要從硬件和軟件兩方面入手。
2.11 硬件設(shè)計
*選用盡量簡單的CPU內(nèi)核。在選擇CPU內(nèi)核時切忌一味追求性能。選擇的原則應(yīng) 該是“夠用就好”。8位機夠用,就沒有必要選用16位機。一般來說,單片機的運行速度越快,功耗也越大。一個復(fù)雜的CPU集成度高、功能強,但片內(nèi)晶體管多,總漏電流大,即使進入STOP狀態(tài),漏電流也變得不可忽視;而簡單的CPU內(nèi)核不僅功耗低,成本也低。
*選用低電壓供電的系統(tǒng)。低電壓供電可以大大降低系統(tǒng)的工作電流。目前單片機從與TTL兼容的5V供電降低到3.3V、3V、2V乃至1.8V供電,降低單片機的供電電壓可以有效降低其功耗。供電電壓降低也是未來單片機發(fā)展的一個重要趨勢。
*選擇帶有低功耗模式的系統(tǒng)。低功耗模式指的是系統(tǒng)的Idel(閑置)、Stop(停止)和Suspen(暫停)模式。處于這類模式下的單片機功耗將大大小于運行模式下的功耗。
*選擇合適的時鐘方案。時鐘的選擇對于系統(tǒng)功耗相當(dāng)敏感,有兩方面的問題要注意:
其一、系統(tǒng)總線頻率應(yīng)當(dāng)盡量低。單片機內(nèi)部的總電流消耗分為:運行電流和漏電流。單片機集成度越高,環(huán)境溫度越高,漏電流也越大。單片機的運行電流幾乎和其時鐘頻率成正比。降低時鐘頻率,就可以有效降低單片機的功耗。
其二、關(guān)于時鐘方案。是否使用鎖相環(huán),使用內(nèi)部振蕩器還是外部振蕩器?,F(xiàn)代單片機普遍使用鎖相環(huán)技術(shù),使單片機的時鐘頻率可以由程序控制。單片機使用外部較低的振蕩器,通過軟件控制,系統(tǒng)時鐘可以在一個很寬的范圍內(nèi)調(diào)整,得到比較高的總線時鐘。使用鎖相環(huán)會帶來額外的功耗。單就時鐘方案來講,使用外部晶振且不使用鎖相環(huán)是功率消耗最小的一種。有的單片機帶有內(nèi)部時鐘,也可使用外部時鐘。這可以根據(jù)實際系統(tǒng)的需要使用雙時鐘:一個高速時鐘和一個低速時鐘。處理事件時使用高速時鐘,空閑時使用低速時鐘。這鐘雙時鐘系統(tǒng)可以有效地降低功耗。
2.12 應(yīng)用軟件設(shè)計
應(yīng)用軟件設(shè)計對于一個低功耗系統(tǒng)的重要性常常被人們忽略。一個重要的原因是,軟件上的缺陷并不像硬件那樣容易發(fā)現(xiàn),同時也沒有一個嚴(yán)格的標(biāo)準(zhǔn)來判斷一個軟件的低功耗特性。盡管如此,設(shè)計者如果能盡量將應(yīng)用的低功耗特性反映在軟件中,就可以避免那些“看不見”的功耗損失。
*用“中斷”代替“查詢”。在沒有要求低功耗的場合,程序使用中斷方式還是查詢方式并不重要。但在要求低功耗場合,這兩種方式相差甚遠(yuǎn)。使用中斷方式,CPU可以什么都不做,甚至可以進入等待模式或停止模式;而查詢方式下,CPU必須不停地訪問I/0寄存器,這會帶來很多額外的功耗。
*用“宏”代替“子程序”。子程序調(diào)用的入棧出棧操作,要對RAM進行兩次操作,會帶來更大的功耗。宏在編譯時展開,CPU按順序執(zhí)行指令。使用宏,會增加程序的代碼量,但對不在乎程序代碼量大的應(yīng)用,使用宏無疑會降低系統(tǒng)的功耗。
*盡量減少CPU的運算量。減少CPU的運算工作量,可以有效地降低CPU的功耗。減少CPU運算的工作可以從很多方面入手:其一,用查表的方法替代實時的計算。其二,不可避免的實時計算,算到精度夠了就結(jié)束,避免“過度”的計算。其三,盡量使用短的數(shù)據(jù)類型,例如,盡量使用字符型的8位數(shù)據(jù)替代16位的整型數(shù)據(jù),盡量使用分?jǐn)?shù)運算而避免浮點數(shù)運算等。其四,讓I/O模塊間歇運行,即不用的I/O模塊或間歇使用的UO模塊要及時關(guān)掉,以節(jié)省電能;不用的I/O引腳要設(shè)置成輸出或設(shè)置成輸入,用上拉電阻拉高。
3、單片機(MCU)在低功耗方面的優(yōu)勢
當(dāng)今面臨的問題是,使用者或市場均對單片機(MCU)低功耗有嚴(yán)酷的要求,那么將如何來設(shè)計MCU來滿足市場?應(yīng)該說,當(dāng)今眾多廠商的MCU均有在低功耗面的優(yōu)勢,值此僅以Silabs MCU為例作分析說明MCU在低功耗方面的優(yōu)勢。
*供電電壓低。MCU供電電壓為2.0~5.25V。供電電壓低可以有效降低整個單片機系統(tǒng)的功耗。
*有多種低功耗模式。MCU的低功耗模式有Idle模式和Stop模式。為了更進一步地降低MCU的功耗,提高市場競爭力,從2006年下半年己推出的MCU都將帶有Suspend模式。這種模式下的功耗為納安級。
*有多種時鐘方案供選擇。MCU內(nèi)置振蕩器有高速震蕩模式和低速震蕩模式可供選擇。每種模式下的頻率又有多種選擇。而且還可以外接振蕩器。更重要的是,在MCU運行中,這些時鐘模式可以實時切換。這很方便客戶進行低功耗控制。例如:在處理數(shù)據(jù)時,系統(tǒng)運行在高速狀態(tài);空閑時運行在低速狀態(tài)。
*高速實時的中斷響應(yīng)。MCU響應(yīng)中斷的時間非???,一般只需要5個系統(tǒng)時鐘周期。中斷響應(yīng)速度快,CPU花費在等待方面的時間少,這可以節(jié)省不少的等待功耗。
*靈活的I/O設(shè)置。MCU的I/0口資源豐富,配置靈活。有三種配置方式:漏極開路、推拉輸出和弱上拉方式。用戶可以根據(jù)實際需要通過相關(guān)寄存器的設(shè)置來禁止或使能這些方式。其中將端口配置成漏極開路方式是最省電的方式。另外,MCU片上沒有用到的其他外設(shè)可以通過軟件來關(guān)閉??傊鶕?jù)項目的要求,靈活運用MCU的各種低功耗特性,通過軟件的控制,就可以很好地實現(xiàn)低功耗的要求。
使用每MIPS功耗來衡量MCU的低功耗性能是相對比較準(zhǔn)確。比如執(zhí)行一個需要10K條指令的任務(wù),甲MCU的工作電流為3mA,速度為10MIPS,則甲MCU需要工作lmS完成該任務(wù),消耗3mA*1ms*Vcc,然后甲MCU就可以進入低功耗模式了。而乙MCU的工作電流為1mA,速度為2MIPS,則乙MCU需要工作5mS完成,這樣乙MCU完成該任務(wù)的消耗為1mA*5mS*Vcc。電流大但是速度快的MCU可能更省電!
4、MCU在低功耗方面的設(shè)計方法怎樣?
一般來說,MCU的運行的速度越高,供電電壓越高,功耗也就越高。要降低單片機系統(tǒng)的功耗,就要降低單片機系統(tǒng)的供電電壓,降低MCU運行的頻率。
舉例分析說明:客戶要做一個無線計時類產(chǎn)品,使用電池做供電電源,要求平均功耗不超過200uA。該產(chǎn)品是間歇工作的:當(dāng)收到數(shù)據(jù)時激活,快速處理數(shù)據(jù);當(dāng)空閑時進入休眠狀態(tài),來降低功耗,己有不少制造商可達(dá)150μA以滿蘭客戶要求。例如,C8051F333型MCU。
4.1 看一下C8051F333的電氣參數(shù)就知道了
*正常模式,CPU從Flash取指令。
IDD(當(dāng)Vdd=3.6v F="25MHz時")為10.7mA-11.7mA;IDD (當(dāng)Vdd=3.0v F="25MHz時")為7.mA-8.3mA;IDD (當(dāng)Vdd=3.6v F="1MHz時")為0.38mA;IDD (當(dāng)Vdd=3.0v F="80Hz時")為31μA。
*Idel模式,CPU停止工作。
IDD(當(dāng)Vdd=3.6v F="25MHz時")為4.mA-5.2mA;IDD (當(dāng)Vdd=3.0v F="25MHz時")為3.8mA-4.1mA;IDD (當(dāng)Vdd=3.6v F="1MHZ時")為0.2mA;IDD (當(dāng)Vdd=3.0v F="80Hz時")為16μA。
光看上面兩個模式的數(shù)據(jù),肯定不行。因為要滿足系統(tǒng)的運行速度,又要滿足低功耗≥1MHZ的頻率,則功耗都要超過客戶的要求。而正確答案是:在不降低MCU運行速度(MCU處理數(shù)據(jù)時的運行頻率是24.5MHZ)的情況下,客戶使用C8051F333成功實現(xiàn)了低功耗的要求:比150μA還低, 真可謂魚和熊掌兼得。 ;
4.2 它是怎樣實現(xiàn)的?
見圖1所示。使用了內(nèi)外兩種晶振。工作時使用內(nèi)部高速晶振24.5MH2,空閑時切換到外部低速晶振32.768KH2,并且進入Idle模式。并且把沒有用到的外設(shè)全部關(guān)閉,就這么簡單。由此看出,功耗是一個系統(tǒng)的問題,單片機系統(tǒng)的功耗是由MCU和其外圍電路的功耗共同決定的,低功耗是無數(shù)個細(xì)節(jié)省出來的。
5、小尺寸單片機在便攜式設(shè)備中的應(yīng)用
面對如今便攜式設(shè)備提出的挑戰(zhàn)單片機,如何應(yīng)對挑戰(zhàn)?而用小尺寸單片機是在一種理想的舉措應(yīng)對,值此以C8051F小尺寸單片機為例,分析其在便攜式設(shè)備中的應(yīng)用。為此先介紹C8151F小尺寸單片機應(yīng)用特征。
5.1 C8051F小尺寸單片機應(yīng)用特征
概括為:小封裝,低功耗, 寬電壓工作范圍(2.7V-3.6V), 高速、高集成度與高保密性。
5.2 應(yīng)用
以TFT屏背光管理、閃信應(yīng)用為例說明。
5.21 C8051F30X在彩色TFT屏背光中的應(yīng)用
隨著便攜式電子設(shè)備的普及,人們對其彩色顯示屏的要求也越來越高,LED正在被逐步應(yīng)用于LCD的背光。傳統(tǒng)的LED背光是采用白色LED作為背光源,有以下的缺點:一般背光需要多個白色LED,但白色LED有個體差異,一致性不好,容易導(dǎo)致彩色顯示屏色彩不均勻,失真等現(xiàn)象;白色LED容易老化,使彩色顯示屏的亮度降低。產(chǎn)品如果有這些問題,容易給消費者留下不好的印象,消弱產(chǎn)品的競爭力。
那應(yīng)該如何去解決這些問題?而采用C8051F30x的彩色TFT屏背光方案就很好地解決了這些問題,其功能框圖(見圖2所示)如下:
*技術(shù)特征
背光采用紅、綠、藍(lán)三色LED,發(fā)出的光組成白光。因為每種顏色的LED采用串聯(lián)連接方式,所以使用了AMS高性能的LED Driver AS3691;通過Avago的CoIor Sensor芯片HDJD-S722-QR999,檢測R、G和B三色的亮度;C8051F30x根據(jù)HOJD-S722-QR999送過來的信號,產(chǎn)生相應(yīng)的PWM來控制R、G和B三色的亮度,使白光的效果始終在最佳狀;同時C8051F30x通過一個 接口與主CPU通訊,接收主CPU對亮度調(diào)整的控制命令。
*對MCU的要求
屏的尺寸現(xiàn)在都很緊湊,同時厚度很薄,對MCU的尺寸要求很高,C8051F30x尺寸只有3×3mm,厚度只有0.9mm;要求具備PWM輸出,多路輸入的ADC和通訊接口;C8051F30x支持3個PWM輸出,多路復(fù)用的AD輸入,支持UART和 通訊接口,3×3mm的封裝上可以提供8個用戶I/O口。
*方案特點
很好地解決了傳統(tǒng)的白光LED個體差異問題,使彩色顯示屏的色彩始終處在均勻狀態(tài);很好地解決了白光LED老化帶來的亮度降低問題;C8051F30X、AS3691和HDJD-S722-QR999封裝小,容易和TFT顯示屏做成一個模塊;C8051F30X有Idee和Stop兩種低功耗模式,特別是Stop模式,其功耗小于0.1uA。當(dāng)系統(tǒng)進入Stop模式時,可以使外圍電路關(guān)閉,進入省電狀態(tài),當(dāng)需要顯示時,由主控制器喚醒。
5.22 C8051F313在手機閃信和計步器中的應(yīng)用
隨著手機的普及,人們對手機的功能要求也越來越高。那些具有彰顯個性的手機越來越深受人們的喜愛,特別是年輕一族的喜愛;手機功能的增多,意味著手機體積的增大和功耗的增加,這與人們對手機小巧和待機時間長的要求又成了矛盾;要解決這些矛盾,手機設(shè)計者不得不追求元器件的小型化、低功耗和高性能;MCUC8051F313在手機閃信和計步器中的應(yīng)用就是一個典型例子。圖3為C8051F313在手機閃信和計步器功能應(yīng)用示意框圖。
*關(guān)于計步器
計步器原理:人在行走或者跑步的加速度與時間軸大致成為一個正弦波;利用加速度,可以計算走了多少步,還可根據(jù)步幅進而估算所走的距離。
計步器功能的實現(xiàn):采用MCUC8051F313和MEMS IC加速度傳感器MAX6500;C8051F313采樣MAX6500兩路加速度傳感器的輸入,分析加速度,計算出走了多少步;根據(jù)步行者的步幅,還可以估算出所走的距離。
*關(guān)于手機閃信
手機閃信原理:利用手機上的閃燈,在光線較暗的環(huán)境下,通過快速左右搖動手機,利用人類視網(wǎng)膜延時現(xiàn)象,造成視覺殘像,從而形成連續(xù)的光影信號,令受信者視覺產(chǎn)生連續(xù)信息。
手機閃信功能的實現(xiàn):采用MCUC8051F313和MEMSIC加速度傳感器MAX6500;C8051F313接收要顯示的信息,并驅(qū)動相應(yīng)的LED;MAX6500檢測加速度在X軸和Y軸的分量變化(力的大小和方向),并送給C8051F313;C8051F313分析MAX6500檢測到的加速度信號,對要顯示的字符方向?qū)崿F(xiàn)自動翻轉(zhuǎn)。
*手機閃信和計步器對MCU的要求
體積要求苛刻:手機對MCU提出的要求極其苛刻,要在盡可能小的尺寸上提供最多的1/0口;C8051F313在5×5mm的封裝上提供了25個I/O和模擬輸入16個I/O口用來驅(qū)動16個LED;2個模擬輸入用來采樣加速度傳感器輸出;1個標(biāo)準(zhǔn)2線的控制器用來與Baseband CPU進行通訊。
嚴(yán)格的低功耗設(shè)計:在STOP模式下功耗小于1μA;良好的I/O口設(shè)計確保待機時I/O對外阻抗很高,在兆歐級以上,有效切斷I/O口待機功耗。
完善的大批量生產(chǎn)要求:一旦生產(chǎn),編程數(shù)量將非常巨大,具有完善的量產(chǎn)編程方案,快速的手持編程器,無需PC參與,無需操作員熟悉編程方法,具有boot程序,在手機開機時自動加載應(yīng)用程序,通過C2編程接口進行編程。又具有良好的保密功能。
評論
查看更多