新聞中心

        EEPW首頁 > 電源與新能源 > 設計應用 > 32位低功耗MCU設計

        32位低功耗MCU設計

        作者: 時間:2013-09-02 來源:網絡 收藏

        MCU功耗來自何處

        本文引用地址:http://www.104case.com/article/174763.htm

        在開始討論低功耗MCU設計前,必須先探討MCU功耗的來源,其主要由靜態功耗及運行功耗兩部分組成。考慮實際的應用,最后決定系統功耗性能指針則必須計算平均功耗。

        運行功耗

        現代 MCU 已整合相當多的的模擬外圍,不能單純考慮的動態功耗。MCU 運行時的總功耗由模擬外圍功耗和數字外圍的動態功耗相加而得。模擬電路的功耗通常由工作電壓及其性能要求指針來決定,例如 100 ns 傳遞延遲 (Propogation Delay) 的比較器工作電流可能約為 40 微安,當允許傳遞延遲規格為 1 μs 時,工作電流有機會降到個位數微安。

        的動態功耗主要來自開關頻率、電壓及等效負載電容,其計算公式如下:

        PDynamic (動態功耗) ~ f (工作頻率) x CL (等效負載電容) x VDD2 (工作電壓)

        由以上公式可以理解到降低動態功耗最直接的方式為降低工作電壓及工作頻率。但 MCU 實際應用面通常要求更寬廣的工作電壓及更高的效能。在降低工作電壓方面,可以選擇更新近的制程,并透過 LDO 讓 CPU 內核、及與管腳輸出入電壓無關的模擬外圍在低壓操作,IO 管腳及需要與其他外部電路連接的模擬外圍則在較高的系統電壓操作。如此可以兼顧低功耗及寬工作電壓的需求。在降低工作頻率這項參數上,一個設計優良的 32 位 MCU更能突顯其效能優勢,除了直覺的 MIPS 比較之外,32 位總線也代表更高的數據存取帶寬,能以更低的工作頻率達到相同的效能,進而降低整體功耗。另外,如果 MCU 內建與操作頻率相關的模擬外圍,例如石英晶體震蕩電路、嵌入式閃存或電流式 DAC,其電流消耗與轉換頻率成正比,也要納入低功耗 MCU 的動態功耗設計考慮。

        靜態功耗

        傳統靜態功耗的定義是指系統時鐘源關閉時數字電路的漏電流。但是在混合信號低功耗 MCU 的設計中要同時考慮下列多種漏電流來源,包含數字電路漏電流、SRAM 漏電流、待機時已關閉的仿真電路漏電流 (例如 ADC,嵌入式閃存)、待機時不關閉的仿真電路工作電流 (例如 LDO、BOD) 及 IO 管腳的漏電流。因為時鐘源已關閉,影響靜態功耗的主要參數為制程、電壓及溫度。所以降低靜態功耗必須選擇超低功耗制程,但是低功耗制程通常伴隨較高的 Vt,導致低電壓模擬外圍設計困難。另外,以MCU待機電流 1微安的規格,代表數字電路漏電 + RAM 保持電流 + LDO 工作電流 + BOD (降壓偵測或重置電路) 工作電流總和必須小于 1微安,對于 Flash,RAM 越來越大及功能越來越多的低功耗 MCU 設計廠商而言,是十分艱巨的挑戰。

        平均功耗

        在系統級要兼顧低功耗及高效能,必須考慮實際應用面的需求,例如無線環境傳感器可能讓 MCU 主時鐘及 CPU 關閉,只開啟低頻時鐘,定時喚醒外圍電路進行偵測,當符合設定條件的事件發生時快速啟動 CPU 進行處理,即使沒有任何事件發生,也必須定時激活 CPU 維持無線傳感器網絡的聯機。在遙控器的應用中,則可能完全將所有時鐘源都關閉,當用戶按鍵時快速喚醒時鐘源及 CPU 進行處理。另外,許多應用都會加入一個 MCU 作為主機處理器的協處理器,用于監控鍵盤或紅外線輸入、刷新顯示器、主處理器電源以及智能電池管理等任務。此時平均功耗比單純的運行功耗或待機功耗更具指標性意義。

        平均功耗由下列主要參數組合而成: 運行功耗及運行時間,靜待功耗及待機時間,不同運行模式之間的切換時間。茲以下圖進行說明:

        平均電流 (IAVG) =(I1 x T1+I2 x T2+I3 x T3+I4 x T4+I5 x T5+I6 x T6)/(T1+T2+T3+T4+T5+T6)

        因為進入待機模式時間很短,忽略此段時間的電流消耗,公式可以簡化為:

        均電流 (IAVG) =(I1 x T1+I3 x T3+I4 x T4+I5 x T5+I6 x T6)/(T1+T3+T4+T5+T6)

        由以上公式觀察到除了降低運行電流及靜態待機電流外,降低運行時間、喚醒時間及高低速運行模式切換時間也是降低整機功耗的重要手段。另外,上圖同時指出,低功耗 MCU 支持動態切換運行時鐘頻率是必要的功能。

        低功耗 MCU 設計考慮

        制程選擇

        為了達到低功耗的運作,并能有效地在低耗電待機模式下,達到極低的待機功耗,可以透過對制程的選擇而站上基本的要求門坎。在不強調速度極致的某些制程分類,選擇極低組件截止電流制程 (如下圖) 進行邏輯閘制作,并進行數字設計是方法之一。選擇這種策略的額外效益是,通常也能在降低動態操作電流上,達到較佳的表現。 另外,由于高溫大幅增加靜態電流,當溫度由攝氏 25度增加到攝氏 85度時,一個典型比例約增加 10 倍的靜態電流,以非低功耗 0.18 微米制程開發的 32 位 MCU,邏輯閥門數 200K、4KB SRAM 在核心電壓 1.8V、攝氏25度的靜態耗電約為 5 ~ 10 微安,當溫度升高到攝氏 85度時,靜待電流將會飆高到 50 ~100 微安。而低功耗制程在攝氏85度僅約 10微安靜態電流。

        低功耗高效能的 CPU 內核

        早期低功耗 MCU 受限于成本及制程技術,大都選擇 8 位 CPU 內核,但隨著工業上的智能化也在展開,如遠程監控,數字化、網絡化等。簡單說來,就是人物之連結 (云端應用)、物物之連結 (物聯網) 需求越來越多,導致產品功能越來越復雜,運算量越來越高,8 位 MCU 已逐漸無法滿足效能需求。 為了兼顧低功耗高效能,選擇適用的 32 位 CPU 內核乃大勢所趨。

        選擇低功耗 CPU 內核,除了單位頻率耗電流外,還需要綜合考慮緊湊的低內存代碼,相同功能所需的代碼越長,除了增加內存成本,也代表更長的運行時間及功耗。另外,由于軟件開發成本在后期將會越來越高,大量的參考代碼及更多的第三方開發商的支持,都可以有效降低軟件的開發時間及成本。所以選擇一款更多人使用的 CPU 內核也是重要的考慮之一ARM CortexTM-M0 閥門數僅 27K,使用的電量在 1.8V,超低泄漏 180ULL (Ultra Low Leakage) 僅約 50μA/MHz.M0 內核采用 Thumb2 指令集架構,產生出非常緊湊的低內存代碼,進一步降低了電源需求。ARM 自 2009 年發表了 32 位 CortexTM-M0 內核以來,包括 NXP、新唐科技、ST、Freescale 等多家國內外 MCU 大廠相繼投入 CortexTM-M0 MCU 開發,不論供貨或者品種的齊全度都已十分成熟,投入 CortexTM-M0 的 MCU 開發商也在持續增加中。

        低功耗數字電路

        對于一般的同步數字電路設計,要使數字單元有效降低操作電流,透過時鐘的頻率或截止不需要的時鐘跳動,也是重要的方法。低功耗MCU通常配備豐富的時鐘單元,可對各別的數字外圍單元,依照需求做降頻或升頻的操作調整,在達到運作能力的同時,用最低的頻率來運行。但為了達到更彈性的時鐘源配置,可能導致 CPU 內核和外圍電路時鐘不同步的現象,此時必須仔細考慮電路設計,保證跨時鐘領域數據存取的正確性。

        另外為了盡量降低 CPU 介入處理時間或降低 CPU 工作頻率而節省下來的功耗,可以提供 DMA 或外圍電路相互觸發電路進行數據的傳遞,例如 Timer 定時自動觸發 ADC 或 DAC,并透過 DMA 進行數據由 ADC 到 RAM 或者 RAM 到 DAC 的搬移,同時在 ADC 的輸入可以增加簡單的數字綠波及平滑化電路,如此不須要 CPU 經常介入處理,也不會因為需要實時處理 ADC 或 DAC 事件導致中斷程序占用太多時間,降低系統的實時性及穩定性。

        支持多種工作模式

        為了配合不同的應用需求,并達到系統平均功耗的最小化,低功耗 MCU需要提供多種操作模式,讓用戶靈活調配應用,常見的操作模式有下列數種:

        正常運行模式:CPU 內核及外圍正常工作,能實時改變 CPU 及外圍的工作頻率 (On the Fly) 或關閉不需要的時鐘源以獲得最佳的工作效能。

        低頻工作模式:CPU 內核及外圍工作于低頻的時鐘源,例如 32.768K 晶震或內部低頻 10K RC 震蕩器。通常此時最大的耗電來源為嵌入式閃存及 LDO 本身的耗電流。如果此時的執行程序不大,可以考慮將程序運作于 RAM 以降低平均功耗。請注意并不是所有 MCU 都能支持在 RAM 執行程序。

        Idle 模式:CPU 內核停止,時鐘源和被致能的外圍電路持續工作,直到外圍電路符合設定條件喚醒 CPU 進行數據處理或控制執行流程。通常高頻的運行模式,CPU 及嵌入式閃存消耗相當大比例的電流,故 Idle 模式能有效降低平均功耗。


        上一頁 1 2 下一頁

        關鍵詞: 控制 數字電路

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 宁武县| 化德县| 靖边县| 乌拉特中旗| 徐水县| 长顺县| 瓦房店市| 洛隆县| 太湖县| 通渭县| 新邵县| 华蓥市| 长寿区| 且末县| 称多县| 迁西县| 津南区| 巴东县| 双牌县| 金阳县| 华阴市| 台江县| 巴塘县| 鹤壁市| 资溪县| 建德市| 海伦市| 那曲县| 陆川县| 正镶白旗| 宝鸡市| 嘉荫县| 横山县| 赤城县| 宁乡县| 莎车县| 安图县| 福清市| 祥云县| 保定市| 敖汉旗|