新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > 嵌入式系統中的低功耗設計

        嵌入式系統中的低功耗設計

        作者: 時間:2008-03-07 來源: 收藏
        經過近幾年的快速發展,嵌入式系統(Embedded system)已經成為電子信息產業中最具增長力的一個分支。隨著手機、PDA、GPS、機頂盒等新興產品的大量應用,嵌入式系統的市場正在以每年30%的速度遞增(IDC預測),嵌入式系統的設計也成為軟硬件工程師越來越關心的話題。

        在嵌入式系統的設計中,低功耗設計(Low-Power Design)是許多設計人員必須面對的問題,其原因在于嵌入式系統被廣泛應用于便攜式和移動性較強的產品中去,而這些產品不是一直都有充足的電源供應,往往是靠電池來供電,所以設計人員從每一個細節來考慮降低功率消耗,從而盡可能地延長電池使用時間。事實上,從全局來考慮低功耗設計已經成為了一個越來越迫切的問題。

        那么,我們應該從哪些方面來考慮低功耗設計呢?筆者認為應從以下幾方面綜合考慮:

        處理器的選擇
        接口驅動電路設計
        動態電源管理
        電源供給電路的選擇

        下面我們分別進行討論:

        一、處理器的選擇

        我們對一個嵌入式系統的選型往往是從其CPU和操作系統(OS)開始的,一旦這兩者選定,整個大的系統框架便選定了。我們在選擇一個CPU的時候,一般更注意其性能的優劣(比如時鐘頻率等)及所提供的接口和功能的多少,往往忽視其功耗特性。但是因為CPU是嵌入式系統功率消耗的主要來源---對于手持設備來講,它幾乎占據了除顯示屏以外的整個系統功耗的一半以上(視系統具體情況而定),所以選擇合適的CPU對于最后的系統功耗大小有舉足輕重的影響。

        一般的情況下,我們是在CPU的性能(Performance)和功耗(Power Consumption)方面進行比較和選擇。通常可以采用每執行1M次指令所消耗的能量來進行衡量,即Watt/MIPS。但是,這僅僅是一個參考指標,實際上各個CPU的體系結構相差很大,衡量性能的方式也不盡相同,所以,我們還應該進一步分析一些細節。

        我們把CPU的功率消耗分為兩大部分:內核消耗功率PCORE和外部接口控制器消耗功率PI/O,總的功率等于兩者之和,即P=PCORE+PI/O。對于PCORE,關鍵在于其供電電壓和時鐘頻率的高低;對于PI/O來講,除了留意各個專門I/O控制器的功耗外,還必須關注地址和數據總線寬度。下面對兩者分別進行討論:

        1、CPU供電電壓和時鐘頻率

        我們知道,在數字集成電路設計中,CMOS電路的靜態功耗很低,與其動態功耗相比基本可以忽略不計,故暫不考慮。其動態功耗計算公式為:
        Pd=CTV2f

        式中,Pd---CMOS芯片的動態功耗

        CT----CMOS芯片的負載電容

        V----CMOS芯片的工作電壓

        f-----CMOS芯片的工作頻率

        由上式可知,CMOS電路中的功率消耗是與電路的開關頻率呈線性關系,與供電電壓呈二次平方關系。對于一顆CPU來講, Vcore電壓越高,時鐘頻率越快,則功率消耗越大。所以,在能夠滿足功能正常的前提下,盡可能選擇低電壓工作的CPU能夠在總體功耗方面得到較好的效果。對于已經選定的CPU來講,降低供電電壓和工作頻率,也是一條節省功率的可行之路。

        2、總線寬度

        我們還經常陷入一個誤區,即:CPU外部總線寬度越寬越好。如果我們僅僅從數據傳輸速度上來講,也許這個觀點是對的,但如果在一個對功耗相當敏感的設計來說,這個觀點就不一定正確了。

        同樣引用公式Pd=CTV2f ,對于每一條線(地址等數據線)而言,都會面臨這樣的功率消耗,顯而易見,當總線寬度越寬的時候,功耗自然越大。每條線路的容性負載都不太一樣,但一般都在4~12PF之間。我們來看下面一個例子:一片1Mbit Flash通過8bit和16bit的總線與CPU相連,總線頻率為4MHZ ,總線電壓為3.3V。我們可以得到以下結果:



        由上可見,采用16-bit總線和采用8-bit總線會有3.7mw的功耗差異。
        當然,如果需要大量頻繁地存取數據的場合下,用8-bit總線不見得會經濟,因為增加了讀寫周期。

        另外,從上面的例子我們也可以看到:如果CPU采用內置Flash的方式,也可大大地降低系統功率消耗。

        二、接口驅動電路的低功耗設計

        接口電路的低功耗設計,往往是容易被大家所忽略的一個環節,在這個環節里,我們除了考慮選用靜態電流較低的外圍芯片外,還應該考慮以下幾個因素:

        上拉電阻/下拉電阻的選取
        對懸空腳的處理
        Buffer的必要性

        通常我們習慣隨意地確定一個上拉電阻值,而沒有經過仔細地計算。現在我們來簡單計算一下,如果在一個3.3V的系統里用4.7KΩ為上拉電阻,當輸出為低的時候,每只腳上的電流消耗就為0.7mA,如果有10個這樣的信號腳時,就會有7mA電流消耗在這上面。所以我們應該在考慮在能夠正常驅動后級的情況下(即考慮IC的VIH或VIL),盡可能選取更大的阻值。現在很多應用設計中的上拉電阻值甚至高達幾百KΩ。另外,當一個信號在多數情況下時為低的時候,我們也可以考慮用下拉電阻以節省功率。

        CMOS器件的懸空腳也應該引起我們的重視。因為CMOS懸空的輸入端的輸入阻抗極高,很可能感應一些電荷導致器件被高壓擊穿,而且還會導致輸入端信號電平隨機變化,導致CPU在休眠時不斷地被喚醒,從而無法進入休眠狀態或其他莫名其妙的故障,所以正確的方法是將未使用到的輸入端接到VCC或地。

        Buffer有很多功能,如電平轉換,增加驅動能力,數據傳輸的方向控制等等,但如果僅僅基于驅動能力的考慮增加 Buffer的話,我們就應該慎重考慮了,因為過驅動會導致更多的能量被白白浪費掉。所以我們應該仔細檢查芯片的最大輸出電流IOH和IOL是否足以驅動下級IC,如果可以通過選取合適的前后級芯片來避免Buffer的使用,對于能量來講是一個很大的節約。

        三、動態電源管理(DPM)

        所謂動態的電源管理就是在系統運行期間通過對系統的時鐘或電壓的動態控制來達到節省功率的目的,這種動態控制是與系統的運行狀態密切相關的,這個工作往往通過軟件來實現。

        1、選取不同工作模式

        如前所述,系統時鐘對于功耗大小有非常明顯的影響。所以我們除了著重于滿足性能的需求外,還必須考慮如何動態地設置時鐘來達到功率的最大程度節約。CPU內部的各種頻率都是通過外部晶振頻率經由內部鎖相環(PLL)倍頻式后產生的。于是,是否可以通過內部寄存器設置各種工作頻率的高低成為控制功耗的一個關鍵因素。現在很多CPU都有多種工作模式,我們可以通過控制CPU進入不同的模式來達到省電的目的。

        上一頁 1 2 下一頁

        關鍵詞:

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 高邑县| 尖扎县| 沙雅县| 浦城县| 福安市| 泰宁县| 正定县| 绥宁县| 天津市| 九寨沟县| 武乡县| 岳阳市| 额敏县| 高清| 宣城市| 泰安市| 永福县| 揭西县| 英德市| 东平县| 永城市| 进贤县| 三河市| 兴海县| 小金县| 辉县市| 石家庄市| 正宁县| 广宁县| 绥棱县| 咸阳市| 建湖县| 措美县| 安泽县| 岳阳县| 铜川市| 寻甸| 黑龙江省| 罗田县| 弋阳县| 西峡县|