從硅芯片到軟件- 設(shè)計低能耗嵌入式系統(tǒng)
第一部分硅芯片選擇
本文引用地址:http://cafeforensic.com/article/201808/387561.htm簡介
設(shè)計低能耗系統(tǒng)時,我們需要關(guān)注一些非傳統(tǒng)因素,這些因素涉及范圍從硅芯片生產(chǎn)工藝技術(shù),到基于單片機的嵌入式平臺上所運行的軟件。通過對系統(tǒng)層面的深入分析,本文討論決定MCU能效的三個關(guān)鍵參數(shù):工作模式功耗、待機模式功耗和占空比(他決定各種狀態(tài)下所占用的時間比率,由軟件自身來決定)。
低能耗待
機狀態(tài)使MCU看上去具有超高能效,但事實是,只有考慮了控制工作模式功耗的所有因素后才能決定MCU的能效狀況??傊瑢τ谔幚砉に?、IC架構(gòu)和軟件結(jié)
構(gòu)選擇的權(quán)衡是十分微妙的決定因素,有時會出現(xiàn)意想不到的結(jié)果。此外,單片機上功能模塊相結(jié)合的方式對整體能耗加以動態(tài)影響。即使對硬件實現(xiàn)看似小而輕微
的改變,都可能會導(dǎo)致系統(tǒng)運行周期中整體能耗的大幅波動。
低能耗應(yīng)用
舉幾個應(yīng)用示例。測量和報警系統(tǒng)通常由單電池供電,并具有約10年的生命周期。在傳感器讀取操作上(在產(chǎn)品生命周期中可能發(fā)生幾億次),小小的電流消耗增
長就可能會導(dǎo)致產(chǎn)品的實際使用壽命減少幾年。而一個簡單的煙霧報警器,需每秒檢測一次空中煙霧粒子是否存在,在其生命周期中將要執(zhí)行3.15億次讀取操
作。
簡單煙霧報警器的工作比例或占空比是相當(dāng)?shù)偷?。每次傳感器讀取操作可能花費時間不超過幾百微秒,而大部分時間都消耗在其他方面,包括:校準(zhǔn)和準(zhǔn)備過程,單
片機喚醒模數(shù)轉(zhuǎn)換器(ADC)和其他感應(yīng)模擬器件,并等待其達(dá)到穩(wěn)定狀態(tài)點的時間。在這種情況下,工作周期可能導(dǎo)致設(shè)計中的非活動狀態(tài)時間大約占總時間的
99.98%。
傳統(tǒng)的煙霧報警器比較簡單。我們來看一個更復(fù)雜的RF設(shè)計,此設(shè)計中,數(shù)據(jù)結(jié)果通過傳感器網(wǎng)狀網(wǎng)絡(luò)傳輸?shù)街鳈C應(yīng)用中。傳感器需要監(jiān)聽主節(jié)點的工作狀態(tài),由
此他可以發(fā)信號表明自己仍然在網(wǎng)狀網(wǎng)絡(luò)中,或者為路由器提供當(dāng)前所捕獲信息。額外的工作不一定會影響整個占空比,相反,在活動周期中,使用更高性能的裝置
還可以執(zhí)行更多功能,因為高性能裝置提高了處理速度(可通過使用更先進(jìn)的架構(gòu)和半導(dǎo)體技術(shù)實現(xiàn)),與運行更多周期的慢速裝置相比,快速裝置具備更高能效。
設(shè)計關(guān)鍵在于理解工藝技術(shù)、MCU架構(gòu)和軟件實現(xiàn)之間的相互作用。
第二部分:CMOS能耗分布
幾乎所有的MCU都通過CMOS技術(shù)實現(xiàn)。任何工作邏輯電路的功耗可由公式CV2f決定,其中:C代表裝置中開關(guān)電路路徑上的總電容,V代表供電電壓,f代表操作頻率。電壓和電容是生產(chǎn)工藝技術(shù)相關(guān)的因子。在過去的三十年中,CMOS邏輯的片上操作電壓已經(jīng)從12V下降到2V以下,同時晶體管體積也大大縮小。因為電壓在工作功耗方程式中是二次函數(shù),因此使用較低電壓將對功耗帶來顯著的影響。
與其他技術(shù)相比,CMOS可以極大降低能源浪費,但同時存在漏電損耗。與工作模式功耗相比,漏電損耗以摩爾定律速率來增加,在所有低能耗應(yīng)用中都要加以考慮,因為他與低占空比系統(tǒng)的非工作時間成正比。然而,和工作模式功耗一樣,電路設(shè)計對真實漏電損耗產(chǎn)生動態(tài)影響。類似時鐘門控,功率門控也能夠大大減輕漏電損耗的影響,采用更多先進(jìn)工藝的節(jié)點是低占空比系統(tǒng)的更好選擇,即使是舊的工藝技術(shù)也可以獲得更低的理論漏電損耗量。
適用的生產(chǎn)工藝技術(shù)
每一個特性集都有合適的生產(chǎn)工藝技術(shù)。關(guān)鍵在于,當(dāng)裝置長時間處于休眠模式時,僅僅依賴一種具有最低理論漏電損耗的生產(chǎn)工藝技術(shù)是不夠的。在休眠模式,可以禁止為MCU中大部分部件供電,把漏電組件排除在方程式之外。當(dāng)電路處于工作模式,漏電損耗是一個大問題,簡單的方法是利用更先進(jìn)和高效的晶體管所帶來的優(yōu)勢進(jìn)行彌補。
舉例來說,與專用低功耗180nm生產(chǎn)工藝的漏電損耗相比,90nm生產(chǎn)工藝所產(chǎn)生的漏電損耗高五倍,但工作模式功耗低4倍,這是基于一個相當(dāng)大的數(shù)值來計算。假設(shè)一個180nm工藝的單片機,其具有40mA工作電流消耗和60nA休眠模式功耗,與采用90nm工藝實現(xiàn)的功耗級別相比,90nm工藝單片機工作電流功耗可降低到10mA,但是休眠模式電流卻達(dá)到300nA。
在上面的例子中,對于90nm工藝MCU來說,為了獲得更好的整體功效必須有0.0008%的活動時間。換句話講,如果系統(tǒng)每天有1秒鐘活動時間,90nm版本的功效大約是180nm版本的1.5倍。由此可以發(fā)現(xiàn),當(dāng)選擇一種生產(chǎn)工藝時,了解應(yīng)用占空比是十分重要的。一旦適當(dāng)?shù)墓に嚰夹g(shù)被選中,IC設(shè)計者具有進(jìn)一步優(yōu)化能效的選項。當(dāng)時鐘門控的概念首次推出時,僅僅粗略的應(yīng)用在設(shè)計中。時鐘門控技術(shù)增加了設(shè)計復(fù)雜性,因為電路設(shè)計人員要清楚特定時間內(nèi),哪一條邏輯路徑需要時鐘信號。
時鐘分配
大多數(shù)單片機實現(xiàn)采用分層結(jié)構(gòu),把時鐘信號和適當(dāng)?shù)碾妷弘娖椒峙涞絀C的每個部分。各功能單元(諸如指令處理塊和外圍設(shè)備)組成不同的組。這些組通過分離的時鐘樹和電源網(wǎng)絡(luò)提供時鐘信號和電源。每個組中的時鐘信號來自于一個公共時鐘源,然后分頻或倍乘。如果不同組需要不同的電壓,則傳送到每個外設(shè)組的電壓由一系列功率晶體管和電壓調(diào)節(jié)器控制,現(xiàn)在這種做法越來越普及。為了最大程度降低設(shè)計的復(fù)雜性,MCU使用相對簡單的時鐘門控策略,只要功能組中沒有任何功能單元處于工作狀態(tài),整個時鐘樹就關(guān)閉;此種情況下,仍然允許處于工作狀態(tài)的組中,為沒有執(zhí)行工作的邏輯提供時鐘信號。例如CPU內(nèi)核中的加法器單元可以接收時鐘信號,即使當(dāng)前是一條分支指令。加法器單元中由時鐘信號觸發(fā)的開關(guān)增加了功耗,這是通過之前所述的CV2f公式中的一個因子引起的。
設(shè)計工具和技術(shù)的改進(jìn)為人們帶來好處:在運行周期中,當(dāng)不需要時鐘信號的外圍設(shè)備或功能單元不執(zhí)行操作時,可以增加時鐘門控的控制精度。電壓縮放可進(jìn)一步節(jié)省功耗,當(dāng)需要時他可為特定功能單元組提供更低的電壓。為一組功能單元或外設(shè)提供適當(dāng)電壓的關(guān)鍵是使用片上電壓調(diào)節(jié)器或DC-DC變換器,并且使用監(jiān)視電路確保IC操作在所需電壓上。
供電原則
片上電壓調(diào)節(jié)器為系統(tǒng)設(shè)計者提供更高的靈活性,可以從電池中獲得更多的電荷。例如,一個片上開關(guān)降壓變換器(已經(jīng)集成在Silicon Labs SiM3L1xx系列產(chǎn)品上),可以把工業(yè)電池上的3.6V電壓以超過80%的轉(zhuǎn)換效率轉(zhuǎn)換成1.2V。許多MCU沒有此功能,而使用線性元件降壓到適當(dāng)?shù)碾娖?,這造成了巨大的浪費。在先進(jìn)的技術(shù)中,當(dāng)電池放電到不能再執(zhí)行轉(zhuǎn)換功能時,降壓型穩(wěn)壓器可以關(guān)閉。因此電源可以在裝置的整個生命周期中優(yōu)化能源效率,所有這些都可在軟件控制下實現(xiàn)。
結(jié)論
低能耗系統(tǒng)設(shè)計是一個整體的設(shè)計過程,需要選擇合適的硅芯片、軟件和開發(fā)工具。通過掌握這些變量因素之間的關(guān)系,系統(tǒng)工程師可以開發(fā)出更高性能和高能效的嵌入式系統(tǒng),突破電池供電型應(yīng)用的諸多限制。
“從硅芯片到軟件— 設(shè)計低能耗嵌入式系統(tǒng)”的第二部分探討了開發(fā)人員為實現(xiàn)最低功耗而優(yōu)化嵌入式系統(tǒng)時,需要考慮的軟件設(shè)計原則。
評論