一区二区三区三上|欧美在线视频五区|国产午夜无码在线观看视频|亚洲国产裸体网站|无码成年人影视|亚洲AV亚洲AV|成人开心激情五月|欧美性爱内射视频|超碰人人干人人上|一区二区无码三区亚洲人区久久精品

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

超低功耗設(shè)計(jì)概述

華仔的編程隨筆 ? 來源:華仔的編程隨筆 ? 作者:華仔的編程隨筆 ? 2023-06-02 09:36 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

概述

越來越多的芯片設(shè)計(jì)人員將ARM Cortex-M0和Cortex-M0+處理器用在多種超低功耗(ULP)微控制器和片上系統(tǒng)產(chǎn)品中。這里詳細(xì)的介紹如何利用這些特性,以及在設(shè)計(jì)自己的低功耗應(yīng)用時(shí)應(yīng)注意什么。

那么軟件開發(fā)人員需要理解的一個(gè)關(guān)鍵問題是,低功耗特性是和具體設(shè)備相關(guān)的。開發(fā)板人員需要參考微控制器供應(yīng)商的應(yīng)用筆記和例子,才能了解到可用的低功耗特性。

進(jìn)入休眠模式

Cortex-M0和Cortex-M0+處理器默認(rèn)支持一個(gè)休眠模式和一個(gè)嘗試休眠模式,不過需要注意的是,微控制器供應(yīng)商可以利用設(shè)備相關(guān)的可編程寄存器定義其他的休眠模式。在處理器內(nèi)部,休眠模式和深度休眠模式的選擇由系統(tǒng)控制寄存器中的SLEEPDEEP位決定。

如果用的是符合CMSIS的設(shè)備驅(qū)動(dòng)庫(kù),系統(tǒng)控制寄存器可以通過“SCB->SCR”來訪問。例如,要使能深度休眠模式,可以使用下面的語句

SCB-> |= SCB_SCR_SLEEPDEEP_Ms; //使能深度休眠特性

系統(tǒng)控制寄存器只支持字大小的傳輸。

微控制器的普通休眠模式和深度休眠模式的實(shí)際區(qū)別取決于芯片系統(tǒng)設(shè)計(jì),例如,普通休眠中一些時(shí)鐘信號(hào)可能會(huì)被關(guān)掉,而深度休眠則可能會(huì)降低存儲(chǔ)器塊的電壓且可能會(huì)關(guān)掉系統(tǒng)中的其他部件。

在選擇了休眠模式后,可以利用WFE(等待事件)或WFI(等待中斷)指令來進(jìn)入休眠模式,為了提高可移植性,建議在執(zhí)行WFI/WFE指令前加上一個(gè)DSB(數(shù)據(jù)同步屏障)指令(對(duì)于其他高性能處理器,進(jìn)入休眠前可能還會(huì)有未完成的存儲(chǔ)傳輸)。

多數(shù)情況下,微控制器供應(yīng)商的設(shè)備驅(qū)動(dòng)庫(kù)中包含了進(jìn)入低功耗模式的函數(shù),并且已經(jīng)為對(duì)應(yīng)的微控制器做了一定的處理。利用這些函數(shù)可以使微控制器得到最高等級(jí)的功耗優(yōu)化。

但是,如果開發(fā)的C代碼要具有在多個(gè)Cortex-M微控制器間的可移植性,可以使用下面的CMSIS函數(shù)來直接訪問WFE和WFI指令:

指令CMSIS函數(shù)
WFE__WFE();
WFI__WFI():

如果未使用符合CMSIS的設(shè)備驅(qū)動(dòng),可以使用C編譯器提供的內(nèi)在函數(shù)或者內(nèi)聯(lián)匯編來生成WFE和WFI指令。此時(shí),軟件代碼和工具鍵相關(guān),且可移植性不高。例如KeilMDK-ARM和ARM-DS-5提供了如下面的內(nèi)在函數(shù)(和CMSIS版本不同,它們是小寫格式的)。

指令KeilMDK-ARM或ARM-DS-5的內(nèi)在函數(shù)
WFE__wfe();
WFI__wfi():

從架構(gòu)的角度來看,DSB指令要在WFE和WFI前執(zhí)行,這樣可以確保完成的數(shù)據(jù)存儲(chǔ)指令(如緩沖寫)在進(jìn)入休眠前結(jié)束。然而,對(duì)于現(xiàn)有的Cortex-M0和Cortext-M0+處理器,不使用DSB也不會(huì)引起什么問題。

由于WFE可由各種事件喚醒,其中包括過去發(fā)生的事件,且一般用于空循環(huán)。例如

while(processing_required()==0)
{
__DSB(); //推薦使用存儲(chǔ)器屏障以提高可移植性
__WFE();
}

匯編編程環(huán)境用戶可以直接在匯編代碼中使用WFE和WFI指令。

審核編輯:湯梓紅

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 處理器
    +關(guān)注

    關(guān)注

    68

    文章

    19899

    瀏覽量

    235438
  • 低功耗
    +關(guān)注

    關(guān)注

    11

    文章

    2810

    瀏覽量

    104967
  • Cortex-M0
    +關(guān)注

    關(guān)注

    4

    文章

    126

    瀏覽量

    39533
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評(píng)論

    相關(guān)推薦
    熱點(diǎn)推薦

    TI CC2640超低功耗無線MCU概述

    藍(lán)牙低功耗應(yīng)用,是SimpleLink超低功耗無線MCU平臺(tái)的首批成員之一,是目前廣泛使用的CC2540和CC2541的升級(jí)產(chǎn)品。CC2640 包含作為主處理器,運(yùn)行在 48 MHz 的 32 位 ARM
    發(fā)表于 07-11 07:06

    超低功耗MCU選型與設(shè)計(jì)

      循序漸進(jìn)式的功耗優(yōu)化已經(jīng)不再是超低功耗mcu的游戲規(guī)則,而是“突飛猛進(jìn)”模式,與功耗相關(guān)的很多指標(biāo)都不斷刷新記錄。我們?cè)谶x擇合適的超低功耗mcu時(shí)要掌握必要的技巧,在應(yīng)用時(shí)還需要一
    發(fā)表于 07-29 07:27

    超低功耗Wi-Fi技術(shù)

    ,Dialog半導(dǎo)體也是低功耗藍(lán)牙技術(shù)的領(lǐng)先創(chuàng)新廠商。對(duì)于國(guó)內(nèi)用戶,大家所熟悉的小米手環(huán)里所使用的藍(lán)牙芯片就是Dialog的產(chǎn)品。除了低功耗藍(lán)牙產(chǎn)品,Dialog最近新推出了超低功耗的Wi-Fi芯片,貌似要在某些
    發(fā)表于 05-24 07:37

    如何選擇超低功耗MCU

    在物聯(lián)網(wǎng)的推動(dòng)下,業(yè)界對(duì)各種電池供電設(shè)備產(chǎn)生了巨大需求。這反過來又使業(yè)界對(duì)微控制器和其他系統(tǒng)級(jí)器件的能源效率要求不斷提高。因此超低功耗MCU與功耗相關(guān)的很多指標(biāo)都不斷得刷新記錄。在選擇合適的超低功耗
    發(fā)表于 12-28 07:12

    如何選擇超低功耗MCU

    在物聯(lián)網(wǎng)的推動(dòng)下,業(yè)界對(duì)各種電池供電設(shè)備產(chǎn)生了巨大需求。這反過來又使業(yè)界對(duì)微控制器和其他系統(tǒng)級(jí)器件的能源效率要求不斷提高。因此超低功耗MCU與功耗相關(guān)的很多指標(biāo)都不斷得刷新記錄。在選擇合適的超低功耗
    發(fā)表于 11-04 07:07

    選擇超低功耗MCU的方法

    在物聯(lián)網(wǎng)的推動(dòng)下,業(yè)界對(duì)各種電池供電設(shè)備產(chǎn)生了巨大需求。這反過來又使業(yè)界對(duì)微控制器和其他系統(tǒng)級(jí)器件的能源效率要求不斷提高。因此超低功耗MCU與功耗相關(guān)的很多指標(biāo)都不斷得刷新記錄。在選擇合適的超低功耗
    發(fā)表于 11-11 07:28

    STM32L151C8T6芯片超低功耗

    超低功耗研發(fā)-STM32L151C8T6芯片(一)時(shí)鐘系統(tǒng)概述超低功耗研發(fā)-STM32L151C8T6芯片(二)低功耗模式超低功耗研發(fā)-ST
    發(fā)表于 11-11 07:09

    對(duì)STM32的超低功耗使用

    一,電源管理庫(kù)函數(shù)前面的入門文章對(duì) STM32 的超低功耗的做了使用介紹,當(dāng)然在使用超低功耗的時(shí)候還會(huì)考慮 RAM 的數(shù)據(jù)會(huì)不會(huì)丟失,什么時(shí)候重寫 備份寄存器,進(jìn)入低功耗模式的時(shí)候要怎么保持 IO
    發(fā)表于 12-31 06:36

    MAX9972 四通道、超低功耗、300Mbps ATE驅(qū)動(dòng)

    MAX9972 四通道、超低功耗、300Mbps ATE驅(qū)動(dòng)器/比較器 概述 MAX9971/MAX9972為四通道、超低功耗、引腳電子測(cè)
    發(fā)表于 12-19 12:20 ?1843次閱讀
    MAX9972 四通道、<b class='flag-5'>超低功耗</b>、300Mbps ATE驅(qū)動(dòng)

    超低功耗設(shè)計(jì)技巧與實(shí)現(xiàn)

    超低功耗設(shè)計(jì)技巧與實(shí)現(xiàn)
    發(fā)表于 01-18 14:59 ?105次下載
    <b class='flag-5'>超低功耗</b>設(shè)計(jì)技巧與實(shí)現(xiàn)

    聰明的超低功耗設(shè)計(jì)

    你熟悉的基本方法的低功耗設(shè)計(jì)?,F(xiàn)在,你怎么把它帶到一個(gè)新水平?極端的低功耗嵌入式設(shè)計(jì)需要仔細(xì)選取工具緩存,電路設(shè)計(jì)和智能利用單片機(jī)超低功耗的特點(diǎn)。
    發(fā)表于 08-04 14:09 ?13次下載
    聰明的<b class='flag-5'>超低功耗</b>設(shè)計(jì)

    Apollo2_超低功耗MCU

    超低功耗MCU
    發(fā)表于 08-18 11:11 ?107次下載

    基于超低功耗設(shè)計(jì)技巧與實(shí)現(xiàn)

    基于超低功耗設(shè)計(jì)技巧與實(shí)現(xiàn)
    發(fā)表于 10-15 10:44 ?12次下載
    基于<b class='flag-5'>超低功耗</b>設(shè)計(jì)技巧與實(shí)現(xiàn)

    超低功耗研發(fā)-STM32L151C8T6芯片(五)低功耗設(shè)計(jì)總結(jié)

    超低功耗研發(fā)-STM32L151C8T6芯片(一)時(shí)鐘系統(tǒng)概述超低功耗研發(fā)-STM32L151C8T6芯片(二)低功耗模式超低功耗研發(fā)-ST
    發(fā)表于 11-06 14:36 ?34次下載
    <b class='flag-5'>超低功耗</b>研發(fā)-STM32L151C8T6芯片(五)<b class='flag-5'>低功耗</b>設(shè)計(jì)總結(jié)

    智能家庭與超低功耗

    智能家庭與超低功耗
    發(fā)表于 11-02 08:16 ?1次下載
    智能家庭與<b class='flag-5'>超低功耗</b>