實現產品低功耗設計-以Microchip 8 bit MCU為例

實現產品低功耗設計-以Microchip 8 bit MCU為例

功耗計算的基本知識

在電池供應電源的產品設計過程,最常見的問題就是裝置上的電池可以使用多久,所以產品供電時間與總消耗功率息息相關。

在介紹之前我們先以下列公式來簡單的了解一些基本知識;

  • W (瓦特) = V (伏特) x I (安培)<\li>
  • J (焦耳) = V (伏特) x I (安培) x T (秒)<\li>
  • Q (庫倫) = I (安培) x T (秒)<\li>

    針對功耗可分為動態及靜態兩種狀態數據,故:
    平均功耗 = (動態功耗x動態時間 + 靜態功耗x靜態時間)/(動態時間+靜態時間)

    可以由圖一來了解MCU內部功耗與時間的關係

    圖一、動態與靜態功耗,電流與時間關係圖

    電池容量單位為mAh,所以1mAh= 0.001安培x3600秒 = 3.6安培秒=3.6Q (庫倫);以電池容量為1000mAh為例,如果平均功耗為50mA,那所能供應的電源可以工作的時間約為1000mAh/50mA = 20h(小時)。 所以依據上述公式及關係圖,可以對於一個產品所能運作的時間有個初步的認知。

     

    MCU省電模式介紹

    以Microchip 8 bit MCU為例,省電模式有三種,DOZE mode 和IDLE mode 及SLEEP mode,其中SLEEP mode的消耗電流為最低:

    1. 2DOZE 模式:

     

    下達DOZEN=1來進入DOZE mode,可以透過減少CPU運作和內存,而達到省電效果,但系統震盪器仍繼續運作,所以還是有存在基本功耗,如圖二所示。

     

    圖二、DOZE MODE時序圖

    2. IDLE模式:

    不同於DOZE與SLEEP 模式,IDLE 模式會將CPU和存儲器關閉,下達IDLEN=1後如再執行SLEEP()指令會關閉系統震盪源,故CPU此時停止運作;但IDLE模式不會執行SLEEP()指令,所以會呈現一個低速運作模式。

     

    3. SLEEP 模式:

    CPU與大部分的裝置會被設為關閉,所以是最省電的模式,下達IDLEN=0之後再下達SLEEP()後即進入休眠狀態,如圖三所示。

     

    圖三、 SLEEP與Idle控制Clock輸出

    週邊電路設計與消耗電流

    1. ADC與VR:

    以圖四為例,當VDD=5V時,可變電阻使用10K歐姆時,此時基本的功耗為I=5V/10K=0.5mA,但如果可變電阻選用1K歐姆時,耗電流就會提升到5mA,所以在選擇設計電阻值時可能就會影響總消耗電流。

    圖四、VR電路

    2. 將不使用的GPIO設定為輸入模式,可減少MCU電流消耗,MCU內部方塊圖如圖五。

    圖五、GPIO功能方塊圖

    3. LDO靜態消耗電流:

    LDO主要在供應系統或者週邊電路的電源,此時須注意選用較低靜態電流的規格,以MCP1711為例,規格如圖六所示。

     

    圖六、靜態電流Iq

    4. 其他週邊電路供電:

    當MCU需進入SLEEP模式之前,一定要將週邊不需要再休眠狀態下工作的電路進行斷電,如此相對可以減少電流的消耗,並提高裝置可運作時間。

     

    參考文獻

     

    1.徐進, 實現MCU的低功耗設計,

    1.實現MCU的低功耗設計

    2.Microchip, Low Quiescent Current LDO Regulators, https://www.microchip.com/en-us/products/power-management/dc-dc-converters-and-voltage-regulators/linear-ldo-voltage-regulators/low-quiescent-current-ldo-regulators

    3.Microchip, Power saving technology in 8-bit and 16-bit PIC devices: XLP (eXtreme Low-Power) devices (Sleep, Idle, Doze), https://microchipsupport.force.com/s/article/Power-saving-technology-in-8-bit-and-16-bit-PIC-devices--XLP--eXtreme-Low-Power--devices--Sleep--Idle--Doze

     

    更多資訊: