STM32L0低功耗設計1: 需求概述

    這幾篇日誌將詳細記錄,自己應用stm32進行低功耗設計的全過程。

    使用芯片:STM32L053R8T6

    運行模式:

        Range 1:電源電壓限制在1.71-3.6V,CPU最大運行頻率爲32MHz。

        Range 2:CPU最大運行頻率爲16MHz。

        Range 3:CPU最大運行頻率4.2MHz

    低功耗模式:

        Sleep mode(睡眠模式)、Low-power run mode(低功耗運行模式)、Low-power sleep mode(低功耗睡眠模式)、Stop mode with RTC(帶有RTC的停止模式)、Stop mode without RTC(不帶RTC的停止模式)、Standby mode with RTC(帶有RTC的旁路模式)、Standby mode without RTC(不帶RTC的旁路模式)。

        在上述這些模式中功耗依次降低,具體值爲:

            Sleep mode:37uA/MHz

            Low-power run mode:8uA

            Low-power sleep mode:4.5uA

            Stop mode with RTC:1uA

            Stop mode without RTC:0.4uA VDD=3.0V

            Standby mode with RTC:0.85uA VDD=3.0V

            Standby mode without RTC:0.29uA VDD=3.0V

        在上述這些模式中,使用時應注意以下幾點:

            1、睡眠模式,在所有外設全部關閉的條件下,16MHz時,電流爲1mA左右,這個數值相對自身的項目來說還是有些大;

            2、低功耗運行模式和低功耗睡眠模式,都限制了CPU的最大運行速度,如果CPU需要一直工作選擇,該模式是比較合適的;

            3、停止模式,電流比較低,喚醒的方法也比較多;

            4、旁路模式,裏面的RAM中的數據全部丟失,相當於復位重啓。

        綜上所述,停止模式是比較適合大部分項目的,我現在着手於選擇停止模式,還完成後續的項目設計工作。

    Stop mode without RTC

        在停止模式時,RAM和寄存器中的數據全部保留。所有的時鐘全部停止,包括PLL、MSI RC、HSI、LSI RC、HSE和LSE 。下圖是我項目中用到的時鐘的基本情況,僅使用了HSE和PLL。

      

        在stop運行模式時,一些具有喚醒功能的外設,當探索到喚醒條件時,能夠使能HSI RC時鐘。

        在stop運行模式時,電壓穩壓器處於低功耗模式。任何外部中斷先,在3.5us的時間內即可喚醒器件,處理器將處理中斷程序或執行後續代碼。在STM32中,任何一個GPIO都可以設置爲外部中斷源,也就是說可以使用任何一個引腳的電平變化,來喚醒CPU。CPU也可以被USB/USART/I2C/LPUART/LPTIMER喚醒。

        在本項目中,我希望使用USART或者LPUART進行喚醒,在現階段USART已經調通。

    項目結構

        項目的大體結構爲:12V給線路板供電,使用DCDC穩壓到5V給無線傳輸模塊供電,使用低壓差線性穩壓芯片穩壓爲3.3V給STM32L053R8T6供電。無線模塊與STM32採用串口連接,平時STM32進入stop模式,當有無線模塊發送過來的數據時,喚醒STM32。

    當前功耗

        下面記錄一下現階段的功耗情況,後面慢慢加入。

        只焊接DCDC:232.7uA,此處說明DCDC在空載的情況下,功耗還是比較大的,我的項目限制於12V供電,所以沒有太好的方法。如果不需要高電壓,建議採用鋰電池直接供電,這部分功耗就生下來了。

        DCDC兩端加大電容:230uA,焊接電容後,由於仍然是空載狀態,所以電路電流的下降是一個緩慢的過程,這和給電容的充電曲線是相符合的,最後停留在230uA左右,比不加電容還低3uA,這說明增加電容,可以增加DCDC的轉換效率。

        簡單程序正常運行:4.3mA,程序除了初始化相應的外設外,不進行任何邏輯操作。

        STM32處於STOP模式:236uA,板子上只有一個低壓差的穩壓芯片,沒有焊接其它外設。

        STM32處於STOP模式(焊接無線模塊):233uA,這個挺神奇的,當然我這個模塊還沒有進行軟件設置,可是電已經供上了,表有問題?