一、手機(jī)低功耗介紹
隨著智能手機(jī)的普及和高速移動(dòng)數(shù)據(jù)的廣泛應(yīng)用,手機(jī)的使用頻率越來(lái)越高。而用戶(hù)對(duì)手機(jī)的依賴(lài),使得手機(jī)功耗問(wèn)題變得更加重要。本文打算重點(diǎn)討論處理器的低功耗設(shè)計(jì)。
二、協(xié)處理器的硬件低功耗設(shè)計(jì)
處理器是整個(gè)終端在工作和休眠時(shí)最大的功耗大戶(hù),并且處理器的設(shè)計(jì)在整個(gè)終端的設(shè)計(jì)中居于核心位置。因此我們先討論功處理器的低功耗設(shè)計(jì)。
2.1電壓選擇
目前市面上的很多處理器可以提供一個(gè)寬電壓范圍,以本人曾經(jīng)參于設(shè)計(jì)的一個(gè)處理器芯片為例,核心CORED電壓支持范圍從1.2V-1.8V均可。但在實(shí)際使用測(cè)試中我們可以發(fā)現(xiàn)芯片在1.2V供電電壓時(shí)所消耗的電流并不比在1.8V的電壓狀態(tài)小增加多少電流,如下表“Table 1 VDD_CORE:電壓V電流消耗”。
根據(jù)功率消耗P = V*I公式,在中速運(yùn)行時(shí),在1.2V和1.8V供電電壓下,分別消耗的功率為
P(1.2)= 1.2*115=139(mW)
P(1.8)= 1.8*112=201.6(mW)
能耗比例=(139/201.6)/0.9*100%=76.6%
再考慮到90%的轉(zhuǎn)換效率因素,采用1.2V供電所消耗的能量,只是采用1.8V供電時(shí)的76.6%。這對(duì)于整機(jī)功耗的降低是一個(gè)非??捎^的要素。因此從功耗方面考慮,盡可能選擇低電壓處理器芯片,盡可能使用所選處理器芯片的低電壓值,將對(duì)整機(jī)功耗的降低有極大的幫助。
當(dāng)然處理器芯片可支持的電壓,與處理器制作時(shí)所選用的工藝有著極為密切的關(guān)系,所以處理器在這個(gè)方面的進(jìn)一步發(fā)展也必然受限于芯片制成工藝的改進(jìn)。
2.2時(shí)鐘電路設(shè)計(jì)
處理器一般都需要兩個(gè)外部時(shí)鐘源,一個(gè)高頻工作時(shí)鐘,常用的有24M,26M等。一個(gè)低頻時(shí)鐘,用于維持處理器在睡眠時(shí)的中斷響應(yīng)和實(shí)時(shí)時(shí)鐘電路,頻率一般為32.768K。當(dāng)它處于休眠狀態(tài)時(shí)主時(shí)鐘和相關(guān)的振蕩電路會(huì)被關(guān)閉,只留下32.768K時(shí)鐘來(lái)維持系統(tǒng)所需的時(shí)鐘需求。
在設(shè)計(jì)時(shí)鐘電路時(shí),大家會(huì)注意晶體的匹配電容,以保證晶體在上電后能夠正常起振。但卻很少有人去關(guān)心晶體振蕩的波形和幅值。
其中C1,C2承擔(dān)匹配電容的角色,R1用于調(diào)整電路Q(chēng)值,而R2大家在設(shè)計(jì)中經(jīng)常默認(rèn)為0電阻,其實(shí)這個(gè)電阻有其存在的意義。整個(gè)起振電路形成一個(gè)完整的360度閉環(huán),滿(mǎn)足起振條件。而振蕩波形卻會(huì)受外圍電路的影響,很多情況下,我們會(huì)發(fā)現(xiàn)電路振蕩波形峰峰值已經(jīng)遠(yuǎn)遠(yuǎn)超出處理器的要求,甚至超過(guò)了晶體的承受范圍,極端情況下會(huì)導(dǎo)致晶體的損壞。我們可以通過(guò)調(diào)節(jié)R2的值來(lái)有效的降低整個(gè)振蕩電路的功耗,在滿(mǎn)足處理器波形需求和低功耗方面取得一個(gè)較好的平衡點(diǎn)。
2.3I/O管腳設(shè)計(jì)
為給處理器的IO在上電時(shí)一個(gè)確定的輸入狀態(tài),或者提高處理器IO的輸出能力,我們?cè)谠O(shè)計(jì)時(shí)經(jīng)常會(huì)給處理器的IO管腳增加一些上下拉的電阻。當(dāng)我們?cè)黾舆@些上下拉電阻時(shí),必須要考慮這些電阻對(duì)功耗的影響。
給IO控制增加上下拉電阻時(shí),我們首先要考慮這個(gè)輸出IO平時(shí)的工作狀態(tài),比如這個(gè)IO網(wǎng)絡(luò)在一般情況下處于高電平狀態(tài)時(shí),我們要極力避免給他增加下拉的電阻,如果要用,也需要盡可能增大阻值來(lái)減小電流。因?yàn)樵谶@個(gè)下拉電阻兩端產(chǎn)生的壓差必然會(huì)產(chǎn)生電流,從而增加整個(gè)系統(tǒng)功耗。以一個(gè)10K的下拉電阻為例,如果IO網(wǎng)絡(luò)處于高電平狀態(tài)且高電平為1.8V電壓,則在這個(gè)電阻上消耗的電流為:
1.8/10K= 0.18mA
這個(gè)電流看似不起眼,但如果系統(tǒng)中有5個(gè)這樣的漏點(diǎn),增加的電流就會(huì)達(dá)到0.9mA。對(duì)比現(xiàn)在的處理器芯片在休眠時(shí)的耗電一般均小于2mA,這樣的耗電已經(jīng)是一個(gè)非常大的開(kāi)銷(xiāo)了。
處理器的輸入輸出管腳一般內(nèi)部均配置有上下拉電阻,我們?cè)谶x擇輸入輸出管腳時(shí),也需要考慮內(nèi)部上下拉電阻對(duì)功耗的影響。因?yàn)樯舷吕娮枧c輸入輸出網(wǎng)絡(luò)產(chǎn)生的壓差,也必然會(huì)產(chǎn)生電流消耗。因此我們應(yīng)該盡可能選擇上下拉出網(wǎng)絡(luò)電平一致的輸入輸出管腳。
2.4處理器與外設(shè)的電平匹配
處理器與外設(shè)接口之間的電平匹配不當(dāng),也會(huì)大大增加終端的整機(jī)功耗。在處理器與外設(shè)接口互連時(shí)我們要盡可能保證雙方的電平是能夠匹配的。比如外設(shè)是3V電平,處理器是1.8V電平,則雙方之間的IO不能直接互連,需要通過(guò)一個(gè)電平轉(zhuǎn)換芯片進(jìn)行轉(zhuǎn)換。特別是對(duì)于一個(gè)同時(shí)支持多個(gè)電平的處理器,我們更是需要小心選擇。
我曾經(jīng)遇到一個(gè)手機(jī)的睡眠電流問(wèn)題,整個(gè)系統(tǒng)的睡眠電流非常高,達(dá)到8mA,但每個(gè)子系統(tǒng)的電流設(shè)置均正常。檢查處理器的每路供電,發(fā)現(xiàn)處理器IO供電的電流異常。檢查IO電路的每個(gè)輸入輸出,卻沒(méi)有發(fā)現(xiàn)異常。在排查外設(shè)電壓時(shí),我發(fā)現(xiàn)睡眠時(shí)NAND的核心電壓被異常抬高,因此將懷疑重點(diǎn)放在NAND芯片的連接方面。經(jīng)過(guò)檢查,我發(fā)現(xiàn)NAND_WP信號(hào),在AP正常工作時(shí)是1.8V電平,但當(dāng)AP休眠后AP的輸出電平卻由1.8V變成了3V。輸入輸出信號(hào)電平比芯片的IO電平高,形成了到灌電流,最終通過(guò)這個(gè)輸入輸出管腳浪費(fèi)了很多電流。