新聞中心

EEPW首頁(yè) > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 低功耗系統(tǒng)設(shè)計(jì)全方位解析:從硅片工藝到嵌入式軟

低功耗系統(tǒng)設(shè)計(jì)全方位解析:從硅片工藝到嵌入式軟

作者: 時(shí)間:2016-09-12 來(lái)源:網(wǎng)絡(luò) 收藏

電源的考慮。片上穩(wěn)壓器為系統(tǒng)設(shè)計(jì)者提供了更高的靈活性,從而能從一只電池榨取更多電能。例如,片上開(kāi)關(guān)降壓轉(zhuǎn)換器(如Silicon Labs公司的SiM3L1xx MCU產(chǎn)品)可以從一只3.6V工業(yè)電池獲得輸入,以高于80%的效率將其轉(zhuǎn)換為1.2V.很多MCU沒(méi)有這種特性,而是采用線(xiàn)性元件降壓到合適電平,會(huì)有大量的消耗。在高級(jí)的實(shí)現(xiàn)中,當(dāng)電池放電到某個(gè)水平,轉(zhuǎn)換器無(wú)法做轉(zhuǎn)換工作時(shí),降壓穩(wěn)壓器可以關(guān)閉。因此,電源可以在設(shè)備的整個(gè)生命周期上做到優(yōu)化能效,一切均在軟件控制下。

軟件的決策

性能的縮放。高能效嵌入應(yīng)用的實(shí)現(xiàn)有賴(lài)于軟件的設(shè)計(jì),軟件要以最適當(dāng)?shù)姆绞绞褂糜布Y源。什么樣才是適合,這不僅取決于應(yīng)用,而且要看硬件實(shí)現(xiàn)。同樣,硬件越靈活(包括CPU、時(shí)鐘、電壓和存儲(chǔ)器使用),開(kāi)發(fā)者可以獲得的節(jié)能潛力也越大。能感知硬件的軟件工具為嵌入系統(tǒng)工程師提供了更高的認(rèn)知度,使他們能夠更多地了解到哪種更高節(jié)能是可實(shí)現(xiàn)的。

一種選擇是采用動(dòng)態(tài)電壓縮放,如圖3和圖4所示。使該技術(shù)得以實(shí)現(xiàn)的是片上dc/dc轉(zhuǎn)換器與性能監(jiān)控電路,當(dāng)應(yīng)用不需要以最高速度執(zhí)行指令時(shí),它們提供了降低電壓的能力。在這些情況下,系統(tǒng)就工作在較低的功耗下。最終的益處是一個(gè)輸入電壓的函數(shù),可以在產(chǎn)品的生命周期內(nèi)變化。圖中顯示了無(wú)電壓縮放(VDD固定)、SVS(靜態(tài)電壓縮放),以及AVS(動(dòng)態(tài)電壓縮放)之間的相對(duì)差別。

低功耗系統(tǒng)設(shè)計(jì)
低功耗系統(tǒng)設(shè)計(jì)

AVS有一個(gè)有意思的地方,這就是AVS策略可以根據(jù)系統(tǒng)輸入電壓而改變。在本例中,當(dāng)輸入為3.6V時(shí),用一個(gè)高效的內(nèi)部dc/dc轉(zhuǎn)換器為內(nèi)部邏輯以及閃存供電,效率更高。但隨著在產(chǎn)品生命周期內(nèi)的電池放電,輸入電壓跌落,用輸入電壓為閃存子系統(tǒng)直接供電就成了更高效的方法,因?yàn)閮?nèi)部邏輯可以工作在較閃存更低的電壓下。例如,Silicon Labs公司的SiM3L1xx系列MCU就有一個(gè)靈活的電源架構(gòu),有六個(gè)獨(dú)立和可變的電源域,能夠?qū)崿F(xiàn)這種動(dòng)態(tài)的優(yōu)化。

增加硬件塊(如DMA)可以進(jìn)一步改變對(duì)能耗的折衷。

通常來(lái)說(shuō),CMOS邏輯電路工作得較慢,因?yàn)樗鼈冸妷旱?。如果?yīng)用可以容忍較低的性能,則較低電壓可以因能耗中的二次項(xiàng)而獲得大的節(jié)能效果,例如常有這種情況,要處理的通信協(xié)議,其提交數(shù)據(jù)的速度不高于某種標(biāo)準(zhǔn)頻率。泄漏為電壓縮放提供了下限。如果每次運(yùn)行花費(fèi)時(shí)間太長(zhǎng),則泄漏就開(kāi)始占據(jù)能耗方程的主要地位,從而增加了總能耗。因此,執(zhí)行一個(gè)功能越快越好,然后就使處理器回到睡眠模式,盡量減少泄漏成份。

考慮一個(gè)需要完成相當(dāng)多數(shù)字信號(hào)處理的無(wú)線(xiàn)傳感器應(yīng)用,例如玻璃破碎探測(cè)器。在本例中,應(yīng)用會(huì)通過(guò)一個(gè)快速富利葉變換來(lái)分析由音頻傳感器拾取的振動(dòng),其特性頻率來(lái)自于玻璃的碎裂。FFT比較復(fù)雜,因此,如要降低電壓而以較低頻率執(zhí)行這個(gè)變換,就會(huì)大大增加泄漏,

即使是采用較老的工藝技術(shù)。本例的最佳方案是以接近最高頻率運(yùn)行這個(gè)變換,然后返回睡眠模式,直到要向主結(jié)點(diǎn)報(bào)告任何結(jié)果時(shí)。

不過(guò),無(wú)線(xiàn)協(xié)議代碼會(huì)產(chǎn)生不同的要求。射頻協(xié)議要求事件有固定的時(shí)序。在這些情況下,協(xié)議可能要完全由硬件處理。這就使降低處理器核心電壓有了更大的意義。因此,需要做分組組裝與傳輸?shù)拇a要運(yùn)行在適合于無(wú)線(xiàn)協(xié)議的速度。

增加硬件塊(如智能DMA)可以進(jìn)一步改變能耗的折衷情況。很多DMA控制器都需要處理器的頻繁干預(yù),如原生ARM Cortex-M3處理器所提供的DMA控制器。但更多智能DMA控制器能支持一種排隊(duì)與鏈接的組合,處理器就可以計(jì)算報(bào)頭、加密數(shù)據(jù)、分組組裝,然后以適當(dāng)?shù)拈g隔,將數(shù)據(jù)的傳送工作轉(zhuǎn)交給緩沖存儲(chǔ)區(qū),供射頻前端使用。在射頻鏈路激活的大多數(shù)時(shí)間內(nèi),處理器可以睡眠,節(jié)省大量能源。

存儲(chǔ)器使用。對(duì)于現(xiàn)代32 bit MCU,軟件工程師在存儲(chǔ)器塊的使用方式上有高度自由。通常MCU會(huì)提供一組存儲(chǔ)器,包括長(zhǎng)期保存代碼和數(shù)據(jù)的非易失存儲(chǔ)器,以及存放臨時(shí)數(shù)據(jù)的 SRAM.多數(shù)情況下,訪(fǎng)問(wèn)閃存的功耗要高于SRAM.對(duì)于正常使用情況,閃存讀取次數(shù)是SRAM讀取數(shù)的三倍。閃存寫(xiě)入消耗的功率更多(需要將整塊擦除,然后用一個(gè)相對(duì)高電壓脈沖的漫長(zhǎng)序列重新寫(xiě)入)。但對(duì)于大多數(shù)應(yīng)用來(lái)說(shuō),閃存寫(xiě)入操作并不頻繁,實(shí)際上不會(huì)影響到平均功耗。

閃存功耗的一個(gè)更進(jìn)一步因素是如何分配來(lái)自處理器的存取。每個(gè)閃存塊都包含多個(gè)頁(yè)面,每個(gè)頁(yè)面的大小最多可達(dá)4k字節(jié)。要支持存取,每個(gè)頁(yè)面都必須加電;未被使用的頁(yè)面則可以維持在低功耗狀態(tài)。如果一個(gè)定期存取的代碼段要跨兩個(gè)閃存頁(yè),而不是全在一個(gè)頁(yè)面上,則讀取指令相關(guān)的能耗就會(huì)增加。將跨不同頁(yè)面的頻繁存取代碼與數(shù)據(jù)在內(nèi)存中重新分配,就可以在一只電池的放電壽命期間節(jié)省不小的能量,而不必修改物理硬件。

通常有意義的是復(fù)制功能,它更多地使用片上SRAM而不是閃存,無(wú)論是讀還是寫(xiě),雖然這種方法看似是對(duì)存儲(chǔ)容量的低效使用。電池長(zhǎng)壽命的優(yōu)點(diǎn)可以輕易抵消掉更多的內(nèi)存消耗。

代碼優(yōu)化。能量?jī)?yōu)化亦可以顛覆傳統(tǒng)的代碼效率概念。幾十年來(lái),嵌入系統(tǒng)工程師很注重針對(duì)存儲(chǔ)器大小來(lái)優(yōu)化代碼,除非性能是壓倒一切的指標(biāo)。能量?jī)?yōu)化提供了另一種全新的度量標(biāo)準(zhǔn)集。一個(gè)重要的考慮是采用32 bit平臺(tái)上已經(jīng)普遍提供的片上緩存。

對(duì)代碼大小的優(yōu)化能夠在緩存中保存更多的可執(zhí)行代碼,從而提高了速度和節(jié)省了能耗。不過(guò),函數(shù)調(diào)用與分支(可重新使用公共代碼,從而減少應(yīng)用的尺寸)會(huì)在同列緩存的代碼段之間造成不可預(yù)期的沖突。這樣當(dāng)需要從主內(nèi)存中獲取指令時(shí),會(huì)造成浪費(fèi)的“緩存顛覆”,以及多閃存頁(yè)激活。

在產(chǎn)品生命周期內(nèi)要頻繁工作的那些代碼,可以充分壓縮到能裝入緩存中,而不做分支或調(diào)用函數(shù),這是有意義的??紤]一個(gè)煙霧報(bào)警器:即使報(bào)警器每周觸發(fā)一次(也許源于廚房活動(dòng)所產(chǎn)生的過(guò)多煙氣),也僅是報(bào)警器十年壽命中3.15億次事件中的520個(gè)。絕大部分時(shí)間中,代碼只要讀一下傳感器值,然后發(fā)現(xiàn)其未超閾值,就讓處理器核心返回睡眠狀態(tài),等待系統(tǒng)定時(shí)器的喚醒。



評(píng)論


相關(guān)推薦

技術(shù)專(zhuān)區(qū)

關(guān)閉