1、首先回答一個(gè)問題,STM32能不能做低功耗?
回答是肯定的,這個(gè)是有數(shù)據(jù)支持的,我測(cè)試的STM32101CB,F(xiàn)LASH:128K,RAM:16K并且RTC工作的情況下,測(cè)試到的功耗為16uA應(yīng)該說還是相當(dāng)不錯(cuò)的。
2、STM32低功耗有哪些需要注意的地方?
一開始我測(cè)試到STM32為16uA的時(shí)候,還是非常高興的,以為真的可以做為我的應(yīng)用,我的應(yīng)用是讓MCU定時(shí)醒來干活,干一會(huì)就睡覺,可能干活的時(shí)間就幾十個(gè)毫秒??墒呛髞戆l(fā)現(xiàn)有些問題(工作在STOP模式):
1) 時(shí)鐘問題:STM32被喚醒以后的時(shí)鐘自動(dòng)切換到內(nèi)部HIS RC振蕩器,大家都是知道的,RC振蕩器的精度是不高的。而且,睡覺前對(duì)于時(shí)鐘的設(shè)置都是恢復(fù)到復(fù)位狀態(tài),只是時(shí)鐘這個(gè)地方復(fù)位,其他的沒有。這也會(huì)帶來一個(gè)問題,可能你睡覺前使用的是內(nèi)部時(shí)鐘,可是睡覺后,時(shí)鐘卻變了,帶來的問題就是UART和定時(shí)器?;蛟S你想不使用PLL,就是8M,這樣醒來后的時(shí)鐘HIS也是8M,這樣雖然在時(shí)鐘上沒有差別了,但是時(shí)鐘卻不穩(wěn)定了。UART波特率肯定不能太高,否則通信會(huì)有問題。
2) 醒來時(shí)間:這個(gè)問題也是個(gè)非常大的問題,datasheet上給出的醒來時(shí)間是7us,這個(gè)可能真的不假,但是醒來,不能馬上干_你的活,為什么。初始化IO,你可能問,我不初始化不行嗎,回答應(yīng)該是否定的。因?yàn)?,如果你想使用低功耗的話,睡覺前IO口都應(yīng)該設(shè)置為模擬輸入,這樣才能達(dá)到datasheet上的14uA,但是這樣也帶來一個(gè)問題,那就是初始化IO,醒來必須要初始化IO。如果你還想把時(shí)鐘切換到外部時(shí)鐘,耗時(shí)會(huì)更加長(zhǎng),接近200ms,因?yàn)镾TM32會(huì)等待外部時(shí)鐘穩(wěn)定后才能工作,然后還要在重新初始化所有IO,這個(gè)非常的耗時(shí)??赡芪抑恍枰褋?0ms,但是這些活干完就需要100ms。
3) RTC喚醒:RTC這個(gè)也是個(gè)問題,為什么?大家需要注意的是RTC只能使用報(bào)警才能喚醒MCU,秒中斷是不可以喚醒的。并且報(bào)警中斷必須不停的設(shè)置,設(shè)置一次只生效一次,中斷完了,還需要設(shè)置下次中斷的時(shí)間。并且還有個(gè)問題,報(bào)警中斷必須等待到秒中斷到了之后才能設(shè)置,也就是正好秒寄存器更新了一次的時(shí)候設(shè)置,這就帶來一個(gè)問題,等待秒中斷。如果睡前還想再能被報(bào)警喚醒的話必須重新設(shè)置報(bào)警中斷,而且設(shè)置報(bào)警中斷的時(shí)候需要等到秒中斷才能設(shè)置新的值。這個(gè)等待的時(shí)間是不定的??赡軙?huì)幾百個(gè)毫秒。說以要空空的耗費(fèi)幾百個(gè)毫秒等到秒中斷標(biāo)志來設(shè)置報(bào)警中斷??赡芪业腗CU只需要執(zhí)行10ms就需要睡覺了。還是要空空的耗費(fèi)掉幾百個(gè)毫秒
總結(jié):在使用的過程中發(fā)現(xiàn)的問題,我都在上面說明了,我覺得STM32的低功耗太假,雖然在睡眠的時(shí)候性能不錯(cuò),但是醒來,和進(jìn)入睡眠的設(shè)置太麻煩,耗時(shí)太多,這是個(gè)弊端,我覺得MSP430估計(jì)是做的最好的了,即使是AVR也比他好點(diǎn),沒有那么麻煩。
拿到STM32L的樣片后,一直糾結(jié)于低功耗的測(cè)試,因?yàn)楹蚐TM32F系列的配置不同,所以導(dǎo)致了杯具,通過和ST公司不停的咨詢,終于得到了最終的結(jié)果,
經(jīng)過測(cè)試,功耗在STOP模式下為 500nA ,性能還是不錯(cuò)的,代碼如下:
/**
* @brief Main program.
* @param None
* @retval None
*/
int main(void)
{
/*!< At this stage the microcontroller clock setting is already configured,
this is done through SystemInit() function which is called from startup
file (startup_stm32l1xx_md.s) before to branch to application main.
To reconfigure the default setting of SystemInit() function, refer to
system_stm32l1xx.c file
*/
/* Configure all unused GPIO port pins in Analog Input mode (floating input
trigger OFF), this will reduce the power consumption and increase the device
immunity against EMI/EMC *************************************************/
GPIO_InitTypeDef GPIO_InitStructure;
RCC_AHBPeriphClockCmd(RCC_AHBPeriph_GPIOA | RCC_AHBPeriph_GPIOB | RCC_AHBPeriph_GPIOC
| RCC_AHBPeriph_GPIOD | RCC_AHBPeriph_GPIOE | RCC_AHBPeriph_GPIOH, ENABLE);
/* config all IO to Analog Input to reduce parasite power consumption */
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_All;
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_400KHz;
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AIN;
GPIO_InitStructure.GPIO_OType = GPIO_OType_PP;
GPIO_InitStructure.GPIO_PuPd = GPIO_PuPd_NOPULL;
GPIO_Init(GPIOC, &GPIO_InitStructure);
GPIO_Init(GPIOD, &GPIO_InitStructure);
GPIO_Init(GPIOE, &GPIO_InitStructure);
GPIO_Init(GPIOH, &GPIO_InitStructure);
GPIO_Init(GPIOA, &GPIO_InitStructure);
GPIO_Init(GPIOB, &GPIO_InitStructure);
/* Enable PB7 as external PVD input so as to set it as AIN_IN */
Set_PVD_To_Config_PB7();
RCC_AHBPeriphClockCmd(RCC_AHBPeriph_GPIOA
| RCC_AHBPeriph_GPIOB
| RCC_AHBPeriph_GPIOC
| RCC_AHBPeriph_GPIOD
| RCC_AHBPeriph_GPIOE
| RCC_AHBPeriph_GPIOH, DISABLE);
PWR_UltraLowPowerCmd(ENABLE);
PWR_EnterSTOPMode(PWR_Regulator_LowPower, PWR_STOPEntry_WFI);
while(1);
}
/**
* @brief Enable PB7 as external PVD input so as to set it as AIN_IN
* @param None
* @retval None
*/
void Set_PVD_To_Config_PB7(void)
{
RCC_APB1PeriphClockCmd(RCC_APB1Periph_PWR, ENABLE);
/* Configure the PVD Level to 3 (2.5V) */
PWR_PVDLevelConfig(PWR_PVDLevel_7);
/* Enable the PVD Output */
PWR_PVDCmd(ENABLE);
}
上一篇:STM32L151C8周期性從待機(jī)模式喚醒(RTC Wakeup Timer)
下一篇:stm8L15x EEPORM學(xué)習(xí)筆記
推薦閱讀
史海拾趣
隨著技術(shù)的不斷進(jìn)步,EBG RESISTORS LLC公司不斷投入研發(fā),致力于推動(dòng)電阻器技術(shù)的創(chuàng)新。在XXXX年,公司成功研發(fā)出一種新型高精度電阻器,具有更高的穩(wěn)定性和更低的溫度系數(shù)。這一創(chuàng)新產(chǎn)品迅速在市場(chǎng)上獲得了廣泛應(yīng)用,極大地提升了公司的市場(chǎng)競(jìng)爭(zhēng)力。
為了進(jìn)一步擴(kuò)大市場(chǎng)份額,EBG RESISTORS LLC公司開始實(shí)施國(guó)際化戰(zhàn)略。他們積極參加國(guó)際電子展會(huì),與全球各地的客戶建立聯(lián)系。同時(shí),公司還積極尋求與國(guó)際知名企業(yè)的合作,共同開發(fā)新產(chǎn)品。在XXXX年,公司成功打入歐洲市場(chǎng),并在隨后幾年內(nèi)陸續(xù)進(jìn)入亞洲和北美市場(chǎng)。
隨著技術(shù)的不斷進(jìn)步,艾派克逐漸在打印機(jī)芯片領(lǐng)域取得了突破。公司成功研發(fā)出一系列從打印機(jī)主控SoC芯片到耗材加密芯片的全系列打印機(jī)芯片產(chǎn)品,不僅滿足了國(guó)內(nèi)市場(chǎng)的需求,還成功打入國(guó)際市場(chǎng),成為全球打印機(jī)通用耗材芯片的重要供應(yīng)商。這一成就標(biāo)志著艾派克在打印機(jī)芯片領(lǐng)域的領(lǐng)先地位得到了進(jìn)一步鞏固。
經(jīng)過多年的發(fā)展,明波通信在技術(shù)和市場(chǎng)上都取得了顯著成績(jī)。為了進(jìn)一步推動(dòng)公司的發(fā)展,明波通信成功在新三版上市。這一舉措不僅為公司籌集了更多的發(fā)展資金,也提升了公司的品牌影響力和市場(chǎng)競(jìng)爭(zhēng)力。上市后的明波通信,在資本市場(chǎng)上展現(xiàn)出了強(qiáng)勁的發(fā)展勢(shì)頭。
隨著技術(shù)的不斷成熟和市場(chǎng)的不斷擴(kuò)大,Astec開始積極尋求市場(chǎng)拓展的機(jī)會(huì)。公司不僅加大了在國(guó)內(nèi)市場(chǎng)的宣傳力度,還通過參加國(guó)際電子展會(huì)等方式,將產(chǎn)品推向了國(guó)際市場(chǎng)。同時(shí),Astec還注重品牌形象的建立,通過提供優(yōu)質(zhì)的產(chǎn)品和服務(wù),逐漸樹立了良好的品牌形象。
各位帥哥美女,小弟正在學(xué)習(xí)過慮驅(qū)動(dòng)程序,不知道該如何實(shí)現(xiàn)U盤的只寫不讀。目前知道的一個(gè)方法是判斷SCSIOP是否是read或者read6 然后返回status_access_denied 如: if(opCode==SCSIOP_READ||opCode==SCSIOP_READ6) ...… 查看全部問答∨ |
|
CEOID CeOID = CeSeekDatabaseEx(m_hHandle,CEDB_SEEK_CURRENT,0,0,&dwCurrIndex); CeSeekDatabaseEx 總是返回0 DWORD error = GetLastError(); 得到的錯(cuò)誤為:值25,The drive cannot locate a specific area or track on the disk. &nb ...… 查看全部問答∨ |
請(qǐng)問WINCE中怎么創(chuàng)建線程池?? 想用QueueUserWorkItem創(chuàng)建一個(gè)線程池,但WINCE好像不支持,麻煩大家?guī)臀页龀鲋饕?,謝謝啊~… 查看全部問答∨ |
之前用 S3C2440做了wifi發(fā)射服務(wù)器,現(xiàn)在想要降低功耗并且小型化,查看LPC1768資料,發(fā)現(xiàn)這款A(yù)RM功耗很低,但是一款MCU,所以要想驅(qū)動(dòng)wifi模塊的話就不能像S3C2440那樣做了,目前想到的方案是買一個(gè)SPI-wifi模塊,大家覺得可行性怎么樣?或者誰有更 ...… 查看全部問答∨ |
Uint16 SPIA_WriteRead_8bit(Uint16 data){ while(SpiaRegs.SPIFFTX.bit.TXFFST >= 3) //這個(gè)地方為什么要>=3呢 { //如果發(fā)送FIFO里面還有3個(gè)或3個(gè)以上的數(shù)據(jù)待發(fā)送就等待 ; } SpiaRegs.SPITXBUF = ...… 查看全部問答∨ |
Intel全球半導(dǎo)體份額創(chuàng)十年新高15.6% 本帖最后由 jameswangsynnex 于 2015-3-3 20:03 編輯 北京時(shí)間3月26日晚間消息,調(diào)研公司IHS iSuppli數(shù)據(jù)顯示,受PC處理器市場(chǎng)需求的推動(dòng),2011年英特爾全球半導(dǎo)體市場(chǎng)份額增至15.6%,至少創(chuàng)下10年來的最高紀(jì)錄。iSuppli數(shù)據(jù)顯示,英特爾2010年全 ...… 查看全部問答∨ |
|
誰用fpga采集過一幅圖像存入ddr,然后不停讀出,在lcd上顯示出靜止圖像呢?我現(xiàn)在已經(jīng)存入了一幅,但是在顯示的時(shí)候,圖像總是不停的從左下角向右上角移動(dòng)。改了好多地方,仍然得不得解決,并且圖像得燒兩次才能清晰,什么原因呢,求助… 查看全部問答∨ |
Helper2416-37——Linux下的第一個(gè)實(shí)際小應(yīng)用 本帖最后由 yuanlai2010 于 2014-8-28 21:49 編輯 Linux下的第一個(gè)實(shí)際小應(yīng)用——統(tǒng)計(jì)房間人數(shù)參與Helper2416開發(fā)板助學(xué)計(jì)劃心得 學(xué)習(xí)Linux也有一段時(shí)間了,今天終于完成了一個(gè)有實(shí)際用處的小應(yīng)用.雖然很簡(jiǎn)單,而且如果使用單片機(jī)來完成的話將會(huì)更 ...… 查看全部問答∨ |
設(shè)計(jì)資源 培訓(xùn) 開發(fā)板 精華推薦
- Microchip 升級(jí)數(shù)字信號(hào)控制器(DSC)產(chǎn)品線 推出PWM 分辨率和 ADC 速度業(yè)界領(lǐng)先的新器件
- 意法半導(dǎo)體STM32MP23x:突破成本限制的工業(yè)AI應(yīng)用核心
- 意法半導(dǎo)體推出用于匹配遠(yuǎn)距離無線微控制器STM32WL33的集成的匹配濾波芯片
- ESP32開發(fā)板連接TFT顯示屏ST7789跳坑記
- 如何讓ESP32支持analogWrite函數(shù)
- LGVL配合FreeType為可變字體設(shè)置字重-ESP32篇
- 使用樹莓派進(jìn)行 ESP32 Jtag 調(diào)試
- ESP32怎么在SPIFFS里面存儲(chǔ)html,css,js文件,以及網(wǎng)頁和arduino的通訊
- ESP32 freeRTOS使用測(cè)試
- 上汽大眾:汽車網(wǎng)絡(luò)安全漏洞防護(hù)
- 恩智浦推出全新電池控制IC系列 助力新能源解決方案發(fā)展
- 全球首條GWh級(jí)新型固態(tài)電池生產(chǎn)線樣件下線
- 總投資455億元!三大動(dòng)力電池項(xiàng)目齊刷進(jìn)度條
- 現(xiàn)代汽車韓國(guó)建氫燃料電池廠,2028年投產(chǎn)
- 6月融資一覽:智能汽車芯片、第三代半導(dǎo)體、機(jī)器人成資本焦點(diǎn)
- 艙駕一體“點(diǎn)燃”新戰(zhàn)事
- 汽車智能化2.0引爆「萬億蛋糕」,誰在改寫游戲規(guī)則?
- 2025研華智能系統(tǒng)產(chǎn)業(yè)伙伴峰會(huì)成功舉辦
- 意法半導(dǎo)體公布2025年第二季度財(cái)報(bào)和電話會(huì)議時(shí)間安排
- ATtiny13 基準(zhǔn)電壓使能信號(hào)和啟動(dòng)時(shí)間
- 用51匯編完整寫一個(gè)函數(shù)
- 51單片機(jī)學(xué)習(xí)筆記——基于匯編語言(2)
- 51單片機(jī)學(xué)習(xí)筆記——基于匯編語言(1)
- 基于匯編語言單片機(jī)的時(shí)鐘設(shè)計(jì)
- 東湖高新區(qū)赴滬招商 近20家集成電路企業(yè)稱想來光谷
- 芯片分銷商芯控股赴港IPO
- 華為P10獲EMUI8.0新版更新 修復(fù)微信噪音
- 美圖T9即將發(fā)布 背面指紋+AI精準(zhǔn)瘦身技術(shù)
- 多家公司今年首次接待機(jī)構(gòu) 北方華創(chuàng)獲扎堆調(diào)研