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