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