1. 程式人生 > >STM32開發筆記24:STM32L0低功耗設計——需求概述

STM32開發筆記24:STM32L0低功耗設計——需求概述

微控制器型號:STM32L053R8T6

    這幾篇日誌將詳細記錄,自己應用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,這個挺神奇的,當然我這個模組還沒有進行軟體設定,可是電已經供上了,表有問題?

相關推薦

STM32開發筆記24STM32L0功耗設計——需求概述

微控制器型號:STM32L053R8T6     這幾篇日誌將詳細記錄,自己應用stm32進行低功耗設計的全過程。     使用晶片:STM32L053R8T6     執行模式:         Range 1:電源電壓限制在1.71-3.6V,CPU最大執行頻率為

STM32開發筆記30STM32L0功耗設計——STOP_RTC模式下的休眠時間

微控制器型號:STM32L053R8T6     本文介紹STOP_RTC模式下,設定進入低功耗休眠時間的方法。     低功耗的休眠時間的設定首先需要確定RTC的基準時間,我們一般將其設定為1秒,這在《STM32L0低功耗設計4: RTC模組1秒時鐘的產生方法》中已經介

STM32開發筆記44RTC驅動程式的移植

微控制器型號:STM32F070F6P6 本文介紹,將RTC驅動程式移植到自己的工程專案中的方法。本專案僅使用了RTC的實時時鐘功能,沒有啟動定時報警等功能。   1、在STM32CubeMX中對RTC進行配置,如下圖所示,激活了時鐘源和日曆功能。 2、配置R

STM32開發筆記45看門狗驅動程式的移植

微控制器型號:STM32F070F6P6 本文介紹將看門狗驅動程式移植到自己工程中的方法,本專案使用的是獨立看門狗IWDG。   1、在STM32CubeMX中使能看門狗,如下圖所示。 2、檢視看門狗時鐘。 3、對看門狗進行設定,這裡主要的是設定IW

STM32開發筆記55STM32F4+DP83848乙太網通訊指南系列(九)自己寫一個ARP協議

本章為系列指南的第九章,終結篇,本章主要來分析一下完整的ARP協議,並在STM32F4中實現一個精簡的ARP協議響應流程。 ARP協議的本質是使區域網內的其他主機能夠知道我在哪兒,比如在區域網上有人衝著所有人喊了一句「IP為XXXX的傢伙,你在哪兒」,我一聽,XXXX不是我的IP嗎,我得回答他啊

STM32開發筆記54STM32F4+DP83848乙太網通訊指南系列(八)收包流程

本章為系列指南的第八章,講述如何使用STM32F407晶片配合DP83848進行乙太網資料的收包流程,將監聽到的網路包資料通過UART傳給PC,同時輔以WireShark監聽對比驗證。 關於UART,也就是串列埠通訊的使用,這裡不做贅述,我們這裡預設兩個函式分別為UART6Init()和UART

STM32開發筆記53STM32F4+DP83848乙太網通訊指南系列(七)發包流程

本章為系列指南的第七章,講述如何在之前的基礎上,編寫程式在STM32上傳送一個網路包,並使用WireShark進行驗證。 先回顧一下之前的章節我們做好的準備工作,在《STM32F4+DP83848乙太網通訊指南第五章:MAC+DMA配置》結束時我們封裝了一個DP83848的初始化函式,該函式完成

STM32開發筆記52STM32F4+DP83848乙太網通訊指南系列(六)Wireshark使用

本章為系列指南的第六章,這一章我們暫時離開Keil,離開STM32,離開C語言,這一章我們要去了解一些乙太網相關的知識,特別是學習使用大名鼎鼎的除錯乙太網通訊程式的利器:WireShark。 幀結構 我們從小就聽說過計算機中全都是二進位制的0和1,這個道理幾乎連考不上三本的文科生都懂,但是很

STM32開發筆記51STM32F4+DP83848乙太網通訊指南系列(五)MAC+DMA配置

本章為系列指南的第五章,講述STM32F407上MAC層以及其DMA的配置。我們在第一章知識儲備章節說到,STM32F407會在168MHz主頻之外分配一定的時間釋放匯流排資料用來處理DMA,這其中就包含MAC層的DMA,複習一下STM32F4的匯流排架構圖,(圖片來自RM0090ST中文STM32

STM32開發筆記50STM32F4+DP83848乙太網通訊指南系列(四)PHY配置

本章為系列指南的第四章,這一章將正式進入乙太網的配置和使用。首先我們關注一下PHY的配置,前面講到,我們的工程使用了開發板上的一顆DP83848晶片。 RMII和ADDR的確定 接下來我們來看開發板的原理圖: 通過電路原理圖可以看到接線方式是使用RMII介面模式接線的,因此接下來我

STM32開發筆記49STM32F4+DP83848乙太網通訊指南系列(三)中斷向量

本章為系列指南的第三章,這一章將會在正式進入乙太網的配置和使用之前,複習一下STM32的中斷以及中斷向量,因為我們以後要在中斷中響應乙太網收包。 中斷—嵌入式中的多執行緒 從51微控制器到ARM架構的32位微晶片,到樹莓派、Ardunio等單板機,中斷的概念對於這些晶片都非常重要。本人是純軟

STM32開發筆記48STM32F4+DP83848乙太網通訊指南系列(二)系統時鐘

本章為系列指南第二章,主要是介紹一下STM32F4的時鐘配置。時鐘是一個嵌入式產品從零開始開發的基石,一切邏輯都在時鐘的節奏中安靜地彈奏著,時鐘為整個電路帶來了歡快的「心跳」。開發者如果對時鐘沒有控制能力,就會把脈不準整個旋律的節奏,從而導致諸如通訊波特率、通訊時序、延時操作等關鍵功能全都紊亂,系統

STM32開發筆記47STM32F4+DP83848乙太網通訊指南系列(一)知識儲備

微控制器型號:STM32F407VGT 本章為系列指南第一章,主要是介紹一下專案思路,並且儘可能列出從零開始著手開發這個專案過程中,所需要理解的各類知識點,關於這些知識點,如果需要更詳細的介紹,請列為看官自行百度谷歌。 STM32F407簡介 STM32F407主頻168MHz,主頻

iOS開發筆記17自定義相機拍照

hub 銷毀 用戶 做了 api 交互設計 cap iphone 結果 之前用AVFoundation自定義相機做了拍照與視頻相關的東西,為什麽要自定義呢?主要是提供更個性化的交互設計,符合app主題,對於視頻來說,也便於提供更多豐富有趣的功能。前段時間整理了下拍照部分的功

解密Ble功耗藍牙和藍牙mesh網絡之間的關系

image 技術 方案 可控 分享 nds inf IE 行數 如今藍牙mesh組網從推出到現在近一年時間了,藍牙mesh組網的優勢讓眾多方案商趨之若鶩。今天來普及下Ble低功耗藍牙和藍牙mesh網絡之間的關系! 一、低功耗藍牙和藍牙mesh的關系: 藍牙mesh並非無

STM32L0 功耗執行模式122uA不是夢 STM32L051C8T6

最近在使用低功耗模式產品,比如STM32L051C8T6。 這款產品的低功耗設計非常優秀。比如STOP模式大家經常使用的,可以做到nA級別。 但是,如果只是STOP模式低功耗,執行模式高,電池壽命還是短。 首先介紹下STOP模式:a. 在這個模式下一定可以做到400nA的電流b. 如果做不到,請考慮

STM32開發筆記57: 復位電路設計

本篇文章針對所有的STM32晶片,網上有不少文章敘述了有關STM32復位電路的相關內容,也有很多推薦電路,例如ALIENTEK給出的復位電路,如下圖所示。 不過還有一些推薦電路,不需加上拉電阻,或者電容也不加,那到底應該如何設計呢?還需看一下官方手冊的推薦電路,如下圖所示。

STM32開發筆記56: STM32F407VGT6的解釋

微控制器型號:STM32F407VGT6 本文件介紹STM32F407VGT6型號的具體解釋,如下圖所示。 具體解釋:STM32,gerneral purpose,乙太網介面,100引腳,1024K Flash空間,LQFP封裝,-40到85攝氏度。   原創

Opencv開發筆記畫素的讀寫(一)

一、講講什麼是畫素 畫素是指由影象的小方格即所謂的畫素(pixel)組成的,這些小方塊都有一個明確的位置和被分配的色彩數值,這些小方塊內放的數和所放的位置據決定了影象在某個位置所顯示的顏色,比如某一塊區域放的都是數字0(255),則該片區域會顯示出黑色(白色),可以將畫素視

STM32開發記錄一 外部中斷之軟中斷SWI使用

一、SWI使用        1、學習FreeRTOS過程中需要軟體產生一箇中斷,stm32提供了很好的方法。直接呼叫EXTI_GenerateSWInterrupt()即可。 二、具體參考如下:        1、exti配置,假定用EXTI_Line2  (EXTI