從硅片到軟件的嵌入系統(tǒng)
低功耗系統(tǒng)設(shè)計(jì)需要注意很多非傳統(tǒng)性因素,從硅片工藝技術(shù),直到在微控制器嵌入平臺(tái)上運(yùn)行的軟件。在系統(tǒng)級(jí)做仔細(xì)檢查可揭示出決定微控制器能效的三個(gè)主要參數(shù):有源模式功耗;待機(jī)功耗;以及工作周期,后者決定了兩種狀態(tài)上所花時(shí)間的比率,而這個(gè)比率則取決于軟件的行為。 低功耗待機(jī)狀態(tài)可以使一只微控制器看似非常高能效,但只有考慮了影響到有源功耗的所有因素后,才能證明其最終性能。 低功耗待機(jī)狀態(tài)可以使一只微控制器看似非常高能效,但只有考慮了影響到有源功耗的所有因素后,才能證明其最終性能。鑒于這個(gè)和其它原因,工藝技術(shù)、IC架構(gòu)以及軟件結(jié)構(gòu)之間的權(quán)衡就是一些決策問(wèn)題,有一些微妙和有時(shí)無(wú)法預(yù)期的結(jié)果。一個(gè)MCU中各功能塊相互結(jié)合的方式,對(duì)整體能效有顯著的影響。即使硬件實(shí)現(xiàn)上看似微小的改變,也可能致使一個(gè)系統(tǒng)生命周期內(nèi)的總能耗發(fā)生巨大的波動(dòng)。 低功耗應(yīng)用 舉例來(lái)說(shuō),讀表與報(bào)警系統(tǒng),通常一節(jié)電池要供10年電。某只傳感器讀取功耗的少許增加(在產(chǎn)品的生命周期中,這種讀數(shù)動(dòng)作要發(fā)生上億次),就可能使產(chǎn)品的實(shí)際現(xiàn)場(chǎng)壽命減少數(shù)年時(shí)間。一只簡(jiǎn)單的煙霧警報(bào)器,每秒要探測(cè)一次空氣中的煙塵粒子,在其生命周期內(nèi)完成3.15億次讀取。 一只簡(jiǎn)單煙霧報(bào)警器的活動(dòng)比率(或工作周期)還相對(duì)算低的。每只傳感器讀數(shù)時(shí)可能花費(fèi)時(shí)間不到數(shù)百毫秒就能完成,大部分時(shí)間花在當(dāng)MCU喚醒ADC以及其它敏感模擬元件時(shí)的校準(zhǔn)和安定上,以使它們達(dá)到一個(gè)穩(wěn)定的工作點(diǎn)。在本例中,工作周期是設(shè)計(jì)的關(guān)鍵,這個(gè)設(shè)計(jì)在約99.88%的時(shí)間中是處于不活動(dòng)狀態(tài)。 傳統(tǒng)的煙霧警報(bào)器還算比較簡(jiǎn)單??紤]一個(gè)更復(fù)雜的RF設(shè)計(jì),它有一個(gè)傳感器網(wǎng)格,將讀數(shù)結(jié)果轉(zhuǎn)發(fā)給一個(gè)主控應(yīng)用。傳感器需要從一個(gè)主結(jié)點(diǎn)聆聽(tīng)活動(dòng)情況,這樣一方面可以通告說(shuō)自己仍然在網(wǎng)格網(wǎng)絡(luò)中,或者將最新捕捉的信息發(fā)送給路由器。不過(guò),增加活動(dòng)可能并不影響整個(gè)工作周期;相反,采用更高性能的器件,可以在每次激活期間完成更多功能。由于更先進(jìn)架構(gòu)與半導(dǎo)體技術(shù),使得處理速度的增加成為可能,較快器件可以提供更高的能效,而較慢器件則要運(yùn)行更長(zhǎng)周期。重點(diǎn)在于了解工藝技術(shù)、MCU架構(gòu),以及軟件實(shí)現(xiàn)之間的交互作用。 硅選擇 CMOS能耗數(shù)據(jù)。 幾乎所有MCU的實(shí)現(xiàn)都使用了CMOS技術(shù)(圖1)。任何激活態(tài)下邏輯電路的功耗都可以用公式CV2f表示,其中C是器件內(nèi)開(kāi)關(guān)電路路徑的總電容,V是電源電壓,而f是工作頻率。電壓和電容都是所采用工藝技術(shù)的因素。過(guò)去三十年以來(lái),CMOS邏輯的芯片工作電壓已經(jīng)從12V降到不足2V,原因是晶體管尺寸的縮小。鑒于電壓在有源功耗的公式中是一個(gè)二次項(xiàng),因此電壓的降低有明顯的作用。 盡管電容項(xiàng)是線性的,但摩爾定律的縮小也非常有利于降低其整體水平。對(duì)于一個(gè)給定的邏輯功能,更先進(jìn)的工藝可提供較低電容,從而獲得較前代更低的功耗。另外,先進(jìn)的設(shè)計(jì)技術(shù)能夠?qū)崿F(xiàn)時(shí)鐘門控,這樣只有完成實(shí)際任務(wù)的電路才工作,從而降低了總體開(kāi)關(guān)頻率。 與其它技術(shù)相比,CMOS顯著降低了浪費(fèi)的能量;但是,泄漏電流仍然存在。與有源功耗相反,泄漏功耗會(huì)隨摩爾定律尺度的縮小而增加,在任何低功耗應(yīng)用中都要考慮它的因素,因?yàn)閷?duì)于一個(gè)低工作周期系統(tǒng),大部分時(shí)間是處于非激活狀態(tài)。但對(duì)有源功耗,電路設(shè)計(jì)就對(duì)實(shí)際泄漏有重要影響。與時(shí)鐘門控類似,電源門控可以大大改善泄漏的效應(yīng),使更先進(jìn)工藝結(jié)點(diǎn)成為低工作周期系統(tǒng)的較好選擇,盡管理論上較老工藝技術(shù)能夠提供更低的泄漏數(shù)值。 適合的工藝技術(shù)。對(duì)每組特性集合都存在著一種適當(dāng)?shù)墓に嚰夹g(shù)。答案并非簡(jiǎn)單地取決于一種有最低理論泄漏值的工藝技術(shù),因?yàn)槠骷谒吣J较禄ㄙM(fèi)的時(shí)間很多。在睡眠模式下,可以關(guān)閉MCU中大部分的電源,從公式中拿掉泄漏成份。當(dāng)電路活動(dòng)時(shí),泄漏是一個(gè)較大的問(wèn)題,但先進(jìn)晶體管的優(yōu)勢(shì)在于能以高得多的效率切換,從而可以輕易地抵消這個(gè)問(wèn)題。 舉例來(lái)說(shuō),90 nm工藝的泄漏電流要比專用的低功耗180 nm工藝高出大約五倍。有源模式功耗要低四倍,但其基數(shù)是一個(gè)大得多的數(shù)值。 例如一個(gè)180 nm MCU,其有源耗電為40 mA,深度睡眠模式耗電為60 nA,與這些功率水平相比,90 nm實(shí)現(xiàn)的功率水平能夠?qū)⒂性春碾娊抵?0 mA,但睡眠模式電流較高,為300 nA.對(duì)90 nm實(shí)現(xiàn)來(lái)說(shuō),MCU必須在0.0008%的時(shí)間里為活動(dòng)狀態(tài),才能獲得更高的總體能效。換句話說(shuō),如果系統(tǒng)每天只活動(dòng)工作1秒,則90 nm版的能效大約是其180 nm對(duì)手的1.5倍。結(jié)論是,在選擇工藝尺度時(shí),關(guān)鍵在于了解應(yīng)用的工作周期(圖2)。 一旦選擇好了合適的工作技術(shù),IC設(shè)計(jì)者就可以選擇進(jìn)一步優(yōu)化能源性能。當(dāng)時(shí)鐘門控最初問(wèn)世時(shí),它只在一個(gè)相對(duì)粗糙的水平上使用。時(shí)鐘門控增加了一個(gè)系統(tǒng)的復(fù)雜性,因?yàn)殡娐吩O(shè)計(jì)者需要知道在任何確定的時(shí)間時(shí),哪個(gè)邏輯路徑需要時(shí)鐘信號(hào)。 時(shí)鐘分配。大多數(shù)MCU實(shí)現(xiàn)都采用一種層次式結(jié)構(gòu),將時(shí)鐘信號(hào)和相應(yīng)的電壓水平分配到IC的各個(gè)部分。各個(gè)功能單元(如指令處理塊與外設(shè))被劃分為組,每組都饋給一個(gè)獨(dú)立的時(shí)鐘樹(shù)和電源網(wǎng)絡(luò)。一個(gè)分頻器或復(fù)用器從一個(gè)公共時(shí)鐘源獲得每一組的時(shí)鐘信號(hào)。同樣,如果這些組需要不同的電壓(這種方案日益普遍),則一組功率晶體管和穩(wěn)壓器會(huì)為每組外設(shè)提供電壓。 為盡量減少設(shè)計(jì)的復(fù)雜性,MCU采用了一種相對(duì)簡(jiǎn)單的時(shí)鐘門控方法,只要一組中的功率單項(xiàng)均未激活,則會(huì)關(guān)斷整個(gè)時(shí)鐘樹(shù)。不過(guò),這種方法會(huì)向那些在活動(dòng)組中不工作的邏輯送入時(shí)鐘。例如,如果當(dāng)前指令是一個(gè)分支指令,CPU核心中的加法單元也會(huì)收到一個(gè)時(shí)鐘。如前所述,時(shí)鐘信號(hào)在加法器中觸發(fā)的轉(zhuǎn)換會(huì)使功耗增加CV2f倍。 設(shè)計(jì)工具與技術(shù)的進(jìn)步已能夠使時(shí)鐘門控的粒度增加到某個(gè)點(diǎn),如果外設(shè)或功率單元在該周期內(nèi)不工作,就不會(huì)收到時(shí)應(yīng)用的工作周期鐘信號(hào)。 電壓縮放提供了更進(jìn)一步的節(jié)能潛力,它能在必要時(shí),為特定一組功能單元提供一個(gè)較低的電壓。為一組功率單元或外設(shè)提供適當(dāng)電壓的關(guān)鍵在于片上穩(wěn)壓器或dc/dc轉(zhuǎn)換器的實(shí)現(xiàn),以及監(jiān)控電路的使用,確保IC工作在所需要的電壓下。 電源的考慮。片上穩(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)有這種特性,而是采用線性元件降壓到合適電平,會(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)有賴于軟件的設(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ì)差別。
評(píng)論