<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設計應用 > 如何選用合適DSP元件進行低功率設計

          如何選用合適DSP元件進行低功率設計

          作者: 時間:2010-12-07 來源:網(wǎng)絡 收藏

          許多嵌入式處理器都宣稱它們的功耗最低。但是事實上沒有一顆能在所有的應用中保持最低功耗,因為低功耗的定義與應用環(huán)境習習相關(guān),適合某種應用的晶片很可能會給另一種應用帶來難題??蓴y式應用多半是根據(jù)電池壽命來定義低功耗,這類應用的功能相當廣泛,操作模式也千變?nèi)f化。電信系統(tǒng)若要滿足應用電源需求,就必須在預算范圍內(nèi)處理所要求的通道數(shù)目,同時透過封裝和電路板將功耗散逸,以確保保持在額定溫度范圍內(nèi);另外,這些基礎設施應用也很重視最大負載條件下的功耗。因此,為了達到功耗要求,供應商會針對目標應用選擇最的元件制程、電路、電壓和頻率操作點以及整體架構(gòu)。

          省電技術(shù)
            
          供應商有許多技術(shù)可以用來降低功耗,并且達成效能目標,包括:
            ●選擇適當制程;
            ●電晶體技術(shù);
            ●選擇正確的操作頻率和電壓;
            ●選擇正確的架構(gòu),包括整合度、記憶體架構(gòu)和運算處理單元;
            ●裼蒙⑷刃率很高的封裝,確保元件保持在特定操作溫度范圍內(nèi)。

          功耗來源
            
          無論應用為何,元件功耗都包含下面幾種來源:
           
          漏電功耗(leakage power)
           
          元件的漏電功耗為固定值,不受處理器動作或操作頻率影響,但會隨著制程、操作電壓和溫度而改變。低精密度(low geometry)制程的漏電功耗多半會跟著電壓和溫度而呈指數(shù)增加。

          時脈功耗(clocking power)
            
          元件的時脈功耗與時脈頻率成正比。高整合度元件的晶片面積多半用于記憶體或暫存器等同步組件,如果時脈架構(gòu)設計不良,那么無論元件實際工作量多寡,其功耗都會保持不變。

          操作功耗(active power)
            
          與元件當時所執(zhí)行的實際系統(tǒng)功能有關(guān)。
            
          除了上述來源之外,元件功耗還會受到兩大因素影響:

          元件電流
            
          元件電流越高,電池電力的消耗速度就越快,有時還會超出預算范圍而導致供應電壓下降,使元件脫離正常操作區(qū)而造成錯誤。

          元件/系統(tǒng)溫度升高
            
          元件若無法有效散熱,其溫度就可能超出額定范圍而造成操作錯誤。
            
          下列最佳化技術(shù)會以不同方式解決前述各種功耗問題。

          選擇適當制程
            
          為了使不同應用的效能和功耗達到最佳化,德州儀器(TI)能提供各種制程類型,例如TI的130奈米低漏電制程在1.5V操作時幾乎沒有漏電流,對于多半處于閑置狀態(tài)的可攜式應用而言,這種低漏電制程就能幫助它們節(jié)省功耗。另一種高效能制程的漏電流較大,卻能在1.2V下操作,裼酶彌瞥痰腦件可以達到低漏電制程的兩倍MHz效能。在較重視最大操作功耗(fully-active power)的基礎設施應用里,這種高效能制程的競爭力還勝過低漏電制程,原因有兩點:首先,低漏電運算處理單元的操作頻率只有高效能制程的一半,這表示其數(shù)量必須加倍才能提供同樣效能,但這會導致元件成本提高。其次,由于功耗與電壓平方成正比,故在其他條件相同的情形下,高效能制程的操作功耗只有低漏電制程的(1.2V/1.5V)2或是64%。由于低操作功耗對于基礎設施應用的重要性通常會超過低漏電功耗,因此高效能制程就成為這類應用的最佳選擇。

          電晶體設計
            
          同樣制程的電晶體也可以有不同的開關(guān)臨界電壓(VT),例如低VT電晶體的切換速度較快,高VT電晶體的漏電流則較小,晶片只需在會影響速度的部份使用低VT電晶體,其它電路則裼酶VT電晶體以節(jié)省電力。設計人員的元件資料庫應包含高VT和低VT電晶體所構(gòu)成的基本邏輯閘(NAND、NOR和INVERT等),他們有時還會使用中間臨界電壓(middle-VT)的電晶體。一般說來,除非為了滿足重要的效能要求,否則應盡量使用高VT電晶體組成的邏輯閘。
            元件操作點:電壓和頻率
            數(shù)種元件時脈供應方式可以節(jié)省功耗:
            ●多時脈域(multiple clock domain);
            ●動態(tài)頻率調(diào)整(dynamic frequency scaling);
            ●時脈閘控(clock gating)。
            除了時脈,調(diào)整電壓也能降低功耗:
            ●靜態(tài)電壓調(diào)整;
            ●動態(tài)電壓/頻率調(diào)整;
            ●多電壓域(multiple voltage domain)。

          多時脈域
            
          時脈域是元件中使用同一個時脈頻率的部份。將晶片電路分成多個時脈域可以讓每個部份以最適當?shù)乃俣炔僮?,進而節(jié)省電力。例如高效能DSP可能需要以1GHz操作,但連接至立體聲編碼解碼器界面的串列埠卻只需12MHz的速度。雖然多時脈域設計還需要同步電路和橋接電路讓訊號跨越不同的時脈域,其能大幅降低整體功耗。

          頻率調(diào)整
            
          元件的某些時脈域在不同時間可能會有不同的操作需求,例如處理器若在某段時間只有10%的運算需求,那么將時脈頻率減為平常的1/10就能大幅降低時脈功耗。動態(tài)時脈調(diào)整電路的設計必須非常小心,以確保同步邏輯電路收到穩(wěn)定而不會跳動的最小負載L期時脈。頻率調(diào)整對于使用電池的應用最有幫助。
          時脈閘控
            
          時脈閘控會切斷閑置電路的時脈,其中又以睡眠模式的做法最簡單,它讓使用者利用軟體關(guān)掉晶片部份電路。其它技術(shù)則自動將元件某些部份的時脈關(guān)掉,直到有需要時再啟動,例如乙太網(wǎng)路的媒體存取控制器(MAC)平常可處于睡眠模式,等到它偵測到網(wǎng)路后才開始工作。時脈閘控也和頻率調(diào)整一樣適合所有使用電池的應用。

          靜態(tài)電壓調(diào)整
            
          若應用的效能需求較低,元件也可在較低電壓下操作。舉例來說,若DSP是在1.2V電壓下以720 MHz速率工作,它也能使用1.1V電壓并以600MHz頻率操作。由于功耗與電壓平方成正比,在1.1V電壓下以600MHz速率操作的功耗只有720MHz功耗的(1.1V/1.2V)2,大約是84%左右。另外,操作功耗也會因為時脈頻率降低而減少兩成。

          動態(tài)電壓/頻率調(diào)整
            
          這種技術(shù)讓電壓隨著頻率而減少以進一步節(jié)省功耗。頻率的切換同樣必須非常小心,元件應先將時脈切斷,然后才改變操作電壓。動態(tài)電壓




          /頻率調(diào)整技術(shù)非常適合可攜式應用。

          上一頁 1 2 3 下一頁

          評論


          相關(guān)推薦

          技術(shù)專區(qū)

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();