日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

STM32单片机低功耗剖析

發布時間:2023/12/8 编程问答 27 豆豆
生活随笔 收集整理的這篇文章主要介紹了 STM32单片机低功耗剖析 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
STM32F103R8和RC的停機模式的休眠電流還不一樣,R8停機模式實測為11UA,RC停機模式實測為30uA,還以為又是我的程序哪里沒做好呢,仔細看了PDF,這兩個芯片PDF上標的值的確有區別,和我測的值差不多,那我就沒有再深究的意義了! ?






?
結合下文的高手經驗,反復摸索, standby模式1.9uA,PWR_EnterSTOPMode(PWR_Regulator_LowPower, PWR_STOPEntry_WFI);
stop模式:11uA,?PWR_EnterSTANDBYMode();?
實驗證明,將IO端口設成IPU/IPD/AIN/PPOUT=1/PPOUT=0/ODOUT=0,電流是基本相同的,最可怕的就是GPIO浮空,且電路上未外接上拉下拉,這樣電流就會比較大。 原來以來PPOUT要是輸出為0,就會浪費電流,其實只要不負載,電流和ODOUT=0時一樣樣的。 ODOUT=1這個禁忌,一個腳要費20uA 串口的AF腳要關閉,換為AIN或其它 以下為部分代碼 void MUC_SLEEP(void) { GPIO_PinRemapConfig(GPIO_Remap_SWJ_Disable, ENABLE);??//完全失能JTAG/SWD 不關電流也好像不影響
GPIO_PinRemapConfig( GPIO_Remap_PD01 , ENABLE );//晶振為GPIO 不關電流也好像不影響
RCC_LSEConfig(RCC_LSE_OFF);//關閉RTC  不關電流也好像也不影響
RCC_APB1PeriphClockCmd(RCC_APB1Periph_PWR, ENABLE);
ADC_CONFIG(DISABLE);
USART_DeInit(USART1);
USART_DeInit(USART2);
USART_DeInit(USART3);
USART_DeInit(UART5);
EXTI_INITIAL(ENABLE);//以下端口的設置最有影響
GPIO_PIN_INITIAL(GPIOA,GPIO_Pin_All,GPIO_Mode_AIN,0);?//此處沒做外部喚醒 僅用于測試 EXTI合理設置GPIO不影響電流
GPIO_PIN_INITIAL(GPIOB,GPIO_Pin_All,GPIO_Mode_AIN,0);?
GPIO_PIN_INITIAL(GPIOC,GPIO_Pin_All,GPIO_Mode_AIN,0);?
GPIO_PIN_INITIAL(GPIOD,GPIO_Pin_All,GPIO_Mode_AIN,0);
//PWR_EnterSTOPMode(PWR_Regulator_LowPower, PWR_STOPEntry_WFI);//STOP模式
PWR_EnterSTANDBYMode();//standby模式?
} ? ? ? ? 以下來自 這個總結似乎更更貼合用戶 http://bbs.21ic.com/icview-558242-1-1.html?
?dzxxlxd?發表于 2013-7-15 16:10:33?|只看該作者?|返回版面
找到方法了,最終板級數據:
stop模式,外部中斷喚醒:13uA
standby模式,2.5uA
?
?

舉報

??
dzxxlxd

實習生?

專家等級:?

結帖率:0%

6# ?dzxxlxd?發表于 2013-7-15 16:22:08?|只看該作者?|返回版面
具體要點為:
1、所有IO管腳,如果高阻狀態端口是高電平,就設成上拉輸入,如果高阻狀態是低電平,設成下拉輸入,如果高阻是中間狀態,設成模擬輸入。這個很多人都提到過,必須的。作為輸出口就免了,待機你想輸出個什么東西,一定要輸,硬件上加上下拉就可以了
2、兩個晶振輸入腳要remap成普通IO!!!使用內部晶振。
3、pwr的時鐘要使能,即RCC_APB1PeriphClockCmd(RCC_APB1Periph_PWR, ENABLE);這個也相當重要
4、關閉jtag口,并設成普通IO;
5、注意助焊膏的質量!!!注意電路板層之間是否進水!!!!
掌握這幾項要點,再設中斷什么的都行,整個世界清靜了!!!完全低能耗。
==============以下摘自網絡===================== ??

STM32實現低功耗待機總結(電流低至5.7uA)

分類:?STM322013-01-16 10:05?670人閱讀?評論(0)?收藏?舉報

剛開始進入STOPMode后,整機功耗有300uA的,此時外圍其他硬件電路電流已經可以肯定漏電流在nA級,因此調試方向在主芯片,經過實際測試,都是GPIO配置的問題,比如某個GPIO為中斷輸入,閑置為低電平,而我們配置成了IPU,因此內部的40K上拉就會在這里消耗3/40k =75uA,另外將N.C的GPIO配置成Floating Input,也會有一些漏電流,實際測試漏電流不大;另外將STM32F05x直接PIINtoPIN替代STM32100,所以Pin35,36的PF6,PF7為之前的VCC,GND,因此要相應的配置為IPU,IPD,才不會有拉電流/灌電流;外部不使用晶振,因此必須將其配置為IPU/IPD或者輸出Low,如果配置成Floating,實測消耗200uA+的電流,這個特別注意。另外不需要關閉不用的外設的CLK,因為STOPMODE會將內部1.8V的core關閉,因此該步驟不影響功耗。

因此在進入STOPMODE之前,需要做:

1、將N.C的GPIO統一配置為IPU/IPD;

2、檢查一些Signal的輸入Active是High/Low,相應進行配置為IPD/IPU,即避免在內部上/下拉電阻上消耗電流,而且該電流理論值為VCC/R = 3/40 =75uA;

3、如果外部晶振不使用,必須將GPIO配置為IPU/IPD/PPLow,不允許配置為floating,否則會消耗極大的電流 200uA+;

4*、加入進入STOPMODE前,不允許將PWR的CLK關閉,這部分牽涉低功耗模式,實際測試關閉能用,也能喚醒,但是電流會增加10uA+;

5、配置GPIO為輸出時,根據輸出的常態選擇上拉/下拉,如閑置輸出為0,則配置為下拉,輸出閑置為1,則配置上拉;

6、另外特別說明的是->從Stopmode喚醒后,系統會自動切換到HSI,如果進入前使用的是外部晶振/PLL(PLL的clksource = HSI/HSE)因此必須調用System_Init(),對RCC重新初始化,否則喚醒后主頻發生改變,會影響系統;

總結

以上是生活随笔為你收集整理的STM32单片机低功耗剖析的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。