太極計算機股份有限公司 楊 森 王艷華
嵌入式手持終端的低功耗技術研究
太極計算機股份有限公司 楊 森 王艷華
對嵌入式手持終端的低功耗技術進行了研究,首先對各組成單元的功耗情況進行了分析并給出了針對每個組成單元的低功耗設計思路,接著針對一種特定的嵌入式手持終端給出了針對處理器硬件、通信單元和協議軟件的具體的低功耗設計方法。
嵌入式;手持終端;低功耗;通信單元;軟件低功耗
隨著半導體技術的快速發展,為嵌入式芯片技術的不斷提升創造了條件,芯片的集成度、復雜度越來越高,而體積則越來越小,處理器性能不斷提升的同時功耗也節節攀升[1]。隨著嵌入式系統的功耗的增加,帶來一系列的問題:
1)連續工作時間的問題
嵌入式系統很大一部分采用電池供電,而電池容量有限,且電池技術的發展己經遠遠落后于來自嵌入式系統計算能力和通訊功能需求,功耗己經成為移動設備的關鍵限制因素。在最近30年中電池容量只增長了4到8倍,但在相同的時間內數字IC運算能量的增長卻超過了4個數量級。由于嵌入式設備體積有限,可裝配的電池有限,越來越大的功耗將導致連續工作時間的降低。系統功耗與電池容量間的矛盾越來越嚴重。
2)功耗帶來的散熱問題
嵌入式設備一般體積較小,由芯片等器件上的功耗轉化為的熱量往往不能很好的釋放,導致芯片內部溫度過高,降低系統的穩定性及可靠性,嚴重的甚至使系統停止工作。目前嵌入式芯片的性能越來越高,功耗也隨之增大,因此降低系統的功耗將有效的降低系統產生的熱量,提高系統可靠性。
3)資源及環境保護問題
地球資源有限,合理的使用能源、減少浪費的觀念越來越得到人們的認同。因此,提高嵌入式系統能源效率,推廣低功耗技術將有利于保護資源及環境保護。
2.1 嵌入式設備功耗來源及構成
嵌入式硬件芯片主要由CMOS單元構成,其能耗主要來源是動態功耗及靜態功耗,動態功耗由電路狀態切換引起,靜態功耗由漏電流產生。從系統級看,包括四種主要的能量消耗源:處理單元,存儲單元,顯示單元,通信單元及其他接口。手持終端的系統功能要求不盡相同,在功耗構成上也有所差異。下圖為一種手持終端的主要功耗單元構成表:2.2 降低功耗的對策

表1 主要功耗單元構成表
目前在嵌入式領域功耗降低技術可分為靜態技術及動態技術。靜態技術主要使用在系統初始設計過程中,假定設備工作模式內容不會更改。采用特定技術來降低系統功耗[2]。動態技術是在系統工作狀態根據工作負載的變化來動態改變設備工作模式,來達到降低系統功耗的目的。由于設備的功能及工作模式的多變性,導致系統負載也隨之變化,因此采用動態管理技術較為合理。
3.1 處理器單元及外圍器件的低功耗設計
處理器及外圍器件作為功耗大戶,占到了本系統超過一半的功耗,主要包括了處理器芯片、內存芯片、flash芯片、PCIe橋接芯片等[3]。
1)處理器選擇
隨著嵌入式應用的發展越來越快,功能越來越強,功耗問題日益嚴重,而CPU作為嵌入式系統功率消耗的主要來源,所以選擇合適的CPU對于最后的系統功耗大小有舉足輕重的影響。freescale公司基于ARM架構的嵌入式處理器i.MX6,它采用了公認的在嵌入式領域有著廣泛應用的基于ARM核的處理器,從指令集上講,ARM就具有低功耗的優勢,該處理器采用了DVFS動態電壓調節技術,可以根據負載實時改變處理器電壓及時鐘頻率,有效的減少了功耗。
2)外圍電路設計
外圍電路設計時要注意減少靜態電流損耗,選取合適的上下拉電阻,對coms芯片的未使用管腳要拉到固定電平,防止干擾造成的跳變。
3.2 通信單元的低功耗設計
無線網卡的功耗占到整個系統耗功耗的三分之一,因而在現有的電池能耗限定條件下,降低無線網卡的功耗可以有效的延長系統的工作時間。根據使用場景,各手持終端之間的通信距離是動態變化的,因此需要對發射功率進行實時控制來達到最優通信質量功耗比,可以說采用第一種方式進行低功耗設計最為有效。采用的設計策略是先以滿功率進行通信,獲得各個節點的位置信息后及通信質量后,再逐步降低發射功率,并以丟包率作為反饋信息對發射功率進行實時調整。
3.3 軟件及協議算法的低功耗設計
實現低功耗設計的另一個重要方面是軟件低功耗設計,事實上,在微處理器及計算機系統中有相當大的一部分低功耗技術研究空間是硬件無法涉足的,而通過軟件技術可以更好地解決該問題。軟件的低功耗設計通常是在編譯器、操作系統和應用程序三個層次上實現對功耗的優化設計。
3.3.1 嵌入式操作系統
嵌入式操作系統負責嵌入式系統的全部軟硬件資源的分配與調度工作,它控制、協調與并發活動。嵌入式操作系統中的低功耗設計目前集中在可變電壓技術和動態功耗管理的實現,另一方面,面向低功耗的任務調度器也是研究的熱點,它通過對任務的執行順序和時間進行優化,以實現對處理器或外設的集中使用,從而減小系統的無效功耗時間。
3.3.2 協議算法的低功耗優化
當軟硬件平臺選型確定后,影響系統功耗的最主要因素就是通信單元與顯示屏,因此,我們通過協議算法對影響系統功耗的這兩個方面進行調節與控制,以節省系統的功率消耗。
1)對通信單元的調節與控制
當系統只運行單頻通信服務的應用時,自動關閉另外一個不使用的通信單元;當系統運行雙頻通信服務的應用時,則自動打開兩個通信單元。
在每個通信單元的使用中,通過鏈路丟包率進行鏈路質量的評估,當鏈路質量較好時,則降低該通信單元的一個能力等級,當鏈路質量較差時,則提高該通信單元的一個能量等級。
需要注意的是,在鏈路丟包率的測試中,應盡量利用鏈路的網絡既有載荷進行評估,盡量減少額外的測試載荷,否則將會產生額外的能量消耗與用戶帶寬消耗。
2)對顯示屏的調節與控制
在策略上實現以下功能,即:
當一段時間沒有用戶輸入的時候,關閉顯示屏。
當沒有任何與顯示屏相關的應用運行時,關閉顯示屏。
通過增加光線強度感知功能來對顯示屏的亮度進行調節,當環境光線強度提高一個亮度等級時,增加一個量級的顯示屏亮度等級,反之,當環境光線強度降低一個亮度等級時,降低一個量級的顯示屏亮度等級。
[1]熊熒,翁耕宇,鐘毅.基于WinCE的嵌入式手持壓力采集終端設備研究與設計[J].武漢理工大學學報,2015,37(2):126-132.
[2]戴月.嵌入式系統低功耗技術的研究和應用[J].電子制作,2015,9(7): 111-113.
[3]李頎,薛宇航,周維,等.倉儲管理手持終端的設計與實現[J].自動化儀表,2014,24(3):69-72.