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

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

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

AliOS Things電源管理框架怎么滿足物聯(lián)網(wǎng)設(shè)備低功耗需求

電子設(shè)計(jì) ? 2018-10-29 08:57 ? 次閱讀

AliOS Things電源管理框架使用介紹,主要針對(duì)物聯(lián)網(wǎng)設(shè)備低功耗需求。

一、電源管理框架簡介

電源管理框架的目的在于節(jié)約CPU的功耗。傳統(tǒng)上,當(dāng)操作系統(tǒng)處于空閑狀態(tài)時(shí),比如所有用戶任務(wù)和系統(tǒng)任務(wù)處于阻塞狀態(tài),將執(zhí)行idle task。idle task的通常做法是一個(gè)while(1)空循環(huán),從匯編視角看是不斷執(zhí)行跳轉(zhuǎn)指令,也就是說當(dāng)操作系統(tǒng)空閑時(shí),CPU將處于空轉(zhuǎn)狀態(tài)。使能電源管理框架后,當(dāng)系統(tǒng)進(jìn)入idle task后,將設(shè)置CPU進(jìn)入低功耗狀態(tài),從而節(jié)省CPU的功耗。

AliOS Things電源管理框架具有如下特點(diǎn):

(1)應(yīng)用配置電源管理框架并添加初始化代碼后,整個(gè)框架的運(yùn)行對(duì)應(yīng)用透明,用戶無需為了支持電源管理框架而修改應(yīng)用代碼;

(2)支持多級(jí)低功耗狀態(tài);

在某些MCU上,根據(jù)不同的節(jié)電程度和喚醒時(shí)間分為多級(jí)睡眠,電源管理框架提供了對(duì)該特性的支持,在進(jìn)入低功耗狀態(tài)時(shí)將根據(jù)睡眠時(shí)間和節(jié)電程度選擇最佳睡眠等級(jí)。

(3)支持tickless機(jī)制

當(dāng)MCU決定進(jìn)入低功耗狀態(tài)時(shí),將關(guān)閉系統(tǒng)tick中斷,并在醒來的時(shí)候恢復(fù)系統(tǒng)tick中斷并補(bǔ)償睡眠過程中丟失的tick數(shù)。這種策略通過減少系統(tǒng)時(shí)鐘中斷來最大程度降低系統(tǒng)空閑時(shí)的功耗。

(4)支持精簡的低功耗模式

當(dāng)MCU進(jìn)入低功耗后,不關(guān)閉系統(tǒng)tick中斷,系統(tǒng)tick也能喚醒系統(tǒng)。它的優(yōu)點(diǎn)是實(shí)現(xiàn)簡單,但當(dāng)系統(tǒng)長時(shí)間空閑時(shí),由于系統(tǒng)時(shí)鐘頻繁喚醒系統(tǒng),不利于節(jié)能。

在某基于nrf52832 MCU的開發(fā)板上測試電源管理框架的運(yùn)行效果如下:

在普通運(yùn)行模式下nrf52832 MCU的平均運(yùn)行電流在4mA左右,在添加電源管理模塊后MCU的電流測試如下表所示:

從測試結(jié)果可以看出,在對(duì)功耗敏感的系統(tǒng)上,比如依靠電池供電的系統(tǒng),非常有必要使用電源管理框架,它可顯著降低系統(tǒng)功耗,增加系統(tǒng)待機(jī)時(shí)間。

二、應(yīng)用配置(為應(yīng)用添加低功耗支持)

應(yīng)用若要使用電源管理框架,需進(jìn)行如下配置:

(1)應(yīng)用目錄的.mk文件中添加對(duì)電源管理模塊的依賴,示例:

GLOBAL_DEFINES += RHINO_CONFIG_CPU_PWR_MGMT=1

$(NAME)_COMPONENTS := rhino/pwrmgmt

(2)在應(yīng)用初始化函數(shù)中(比如application_start(int argc, char *argv[]))調(diào)用電源管理模塊初始化函數(shù)。

cpu_pwrmgmt_init();

三、示例應(yīng)用(app/example/pwr_test)

目前AliOS Things 2.0版本在developerkit和PCA10040平臺(tái)上對(duì)電源管理框架進(jìn)行了適配,可用如下命令編譯示例應(yīng)用并下載到develoerkit上運(yùn)行:

aos make pwr_test@developerkit

aos upload pwr_test@developerkit

示例應(yīng)用創(chuàng)建了2個(gè)任務(wù)demo1和demo2。demo1的主要邏輯是一個(gè)while循環(huán):count1增1,同時(shí)打印count1和g_idle_count[0]的值,然后睡眠1秒。demo2的主要邏輯也是一個(gè)while循環(huán):count2增1,同時(shí)打印count2的值,然后睡眠2秒。

其中g(shù)_idle_count[0]是一個(gè)全局變量,idle任務(wù)在執(zhí)行時(shí)會(huì)累加該值。

若沒有開啟低功耗模塊,那么當(dāng)demo1和demo2處于睡眠狀態(tài)時(shí),idle任務(wù)持續(xù)執(zhí)行,g_idle_count[0]不斷增加。輸出示例如下:

count1 = 0, idle = 0

count2 = 0

count1 = 1, idle = 2347298

count1 = 2, idle = 4693421

count2 = 1

count1 = 3, idle = 7036926

count1 = 4, idle = 9383049

count2 = 2

count1 = 5, idle = 11726554

count1 = 6, idle = 14072465

開啟低功耗時(shí),當(dāng)demo1和demo2處于睡眠狀態(tài)時(shí),idle任務(wù)執(zhí)行g(shù)_idle_count[0]增1后,調(diào)用cpu_pwr_down()進(jìn)入低功耗狀態(tài)。因此系統(tǒng)每次進(jìn)入空閑狀態(tài),g_idle_count[0]只增加1。輸出示例如下:

count1 = 0, idle = 0

count2 = 0

count1 = 1, idle = 1

count2 = 1

count1 = 2, idle = 3

count1 = 3, idle = 4

count2 = 2

count1 = 4, idle = 6

count1 = 5, idle = 7

說明:如果條件允許,直接測試功耗,比如測試MCU的電流,效果更直觀。

四、電源管理框架的適配

由于電源管理框架的運(yùn)行依賴于硬件能力,因此在適配時(shí)首先要分析目標(biāo)硬件是否有能力支持,然后要基于硬件能力為電源管理框架提供相關(guān)驅(qū)動(dòng)。

4.1 硬件要求

要想支持電源管理框架,目標(biāo)MCU需要支持如下特性:

(1)至少支持一種低功耗模式。在該低功耗模式下,RAM寄存器的值能夠被維持。

(2)在低功耗模式下,存在可用的定時(shí)器,且該定時(shí)器能喚醒系統(tǒng)。在tickless機(jī)制下,該定時(shí)器用于計(jì)算低功耗時(shí)間,以補(bǔ)償系統(tǒng)時(shí)鐘。

4.2 適配接口

為了支持電源管理模塊需完成如下接口適配:

注:可參考developerkit和PCA10040平臺(tái)上的適配示例(pwrmgmt_hal目錄)。

作者:云棲社區(qū) jianniu

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

    關(guān)注

    115

    文章

    6130

    瀏覽量

    143993
  • 物聯(lián)網(wǎng)
    +關(guān)注

    關(guān)注

    2899

    文章

    43831

    瀏覽量

    369409
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    如何測試聯(lián)網(wǎng)設(shè)備功耗

    如何測試聯(lián)網(wǎng)設(shè)備功耗聯(lián)網(wǎng)(IoT)將涵蓋我們?nèi)粘I畹母鱾€(gè)方面,因?yàn)樗箶?shù)十億的物品能夠隨
    的頭像 發(fā)表于 10-11 08:05 ?294次閱讀
    如何測試<b class='flag-5'>物</b><b class='flag-5'>聯(lián)網(wǎng)</b><b class='flag-5'>設(shè)備</b>的<b class='flag-5'>功耗</b>

    聯(lián)網(wǎng)系統(tǒng)中常用的低功耗自組網(wǎng)無線傳輸方案(三)_藍(lán)牙芯片篇

    低功耗藍(lán)牙(BLE)芯片,能夠在保證正常通信的前提下顯著減少電量消耗,從而延長物聯(lián)網(wǎng)設(shè)備的使用時(shí)間。這種低功耗特性對(duì)于依賴電池供電的
    的頭像 發(fā)表于 09-29 17:11 ?267次閱讀
    <b class='flag-5'>物</b><b class='flag-5'>聯(lián)網(wǎng)</b>系統(tǒng)中常用的<b class='flag-5'>低功耗</b>自組網(wǎng)無線傳輸方案(三)_藍(lán)牙芯片篇

    聯(lián)網(wǎng)系統(tǒng)中TCP低功耗產(chǎn)品長連接狀態(tài)下降低功耗功能的實(shí)現(xiàn)方案

    01 ?概述 TCP相關(guān)內(nèi)容參考文章《聯(lián)網(wǎng)行業(yè)中TCP通信協(xié)議介紹以及如何實(shí)現(xiàn)》 02 ?功耗的組成 低功耗技術(shù)就是一系列的降低功耗的技術(shù)
    的頭像 發(fā)表于 09-29 11:50 ?176次閱讀
    <b class='flag-5'>物</b><b class='flag-5'>聯(lián)網(wǎng)</b>系統(tǒng)中TCP<b class='flag-5'>低功耗</b>產(chǎn)品長連接狀態(tài)下降<b class='flag-5'>低功耗</b>功能的實(shí)現(xiàn)方案

    聯(lián)網(wǎng)系統(tǒng)低壓差低功耗電源方案分享_LDO詳解

    聯(lián)網(wǎng)系統(tǒng)中為什么要使用線性電源芯片(LDO) 在聯(lián)網(wǎng)系統(tǒng)中,使用線性電源芯片(LDO,Low
    的頭像 發(fā)表于 09-27 16:45 ?480次閱讀
    <b class='flag-5'>物</b><b class='flag-5'>聯(lián)網(wǎng)</b>系統(tǒng)低壓差<b class='flag-5'>低功耗電源</b>方案分享_LDO詳解

    引領(lǐng)智能未來:英銳恩科技的國產(chǎn)低功耗單片機(jī)ENMCU

    訪問詳細(xì)的技術(shù)文檔和示例代碼,快速搭建自己的開發(fā)環(huán)境。此外,英銳恩還定期舉辦技術(shù)培訓(xùn)和線上講座,與開發(fā)者分享最新的行業(yè)趨勢和應(yīng)用案例。 隨著聯(lián)網(wǎng)和智能設(shè)備的快速發(fā)展,對(duì)低功耗、高性
    發(fā)表于 09-26 17:16

    基于聯(lián)網(wǎng)設(shè)備管理

    聯(lián)網(wǎng)設(shè)備管理的重要性日益凸顯,設(shè)備數(shù)量激增帶來數(shù)據(jù)泄露風(fēng)險(xiǎn)。加強(qiáng)設(shè)備安全性、軟件升級(jí)與修復(fù)、身份驗(yàn)證和互操作性是關(guān)鍵。
    的頭像 發(fā)表于 09-10 11:04 ?557次閱讀
    基于<b class='flag-5'>物</b><b class='flag-5'>聯(lián)網(wǎng)</b>的<b class='flag-5'>設(shè)備管理</b>

    什么是聯(lián)網(wǎng)技術(shù)?

    什么是聯(lián)網(wǎng)技術(shù)? 聯(lián)網(wǎng)技術(shù)(Internet of Things, IoT)是一種通過信息傳感設(shè)備
    發(fā)表于 08-19 14:08

    梯云聯(lián)LoRa網(wǎng)關(guān):聯(lián)網(wǎng)時(shí)代的遠(yuǎn)距離低功耗通信先鋒

    聯(lián)網(wǎng)(IoT)技術(shù)日新月異的今天,高效、穩(wěn)定且低功耗的數(shù)據(jù)傳輸設(shè)備成為了推動(dòng)行業(yè)發(fā)展的關(guān)鍵。深圳梯云聯(lián)推出的LoRa網(wǎng)關(guān),正是這樣一款
    的頭像 發(fā)表于 07-25 09:59 ?217次閱讀

    NB-IoT設(shè)備天線靜電浪涌保護(hù)方案解析

    窄帶聯(lián)網(wǎng)(Narrow Band Internet of Things,NB-IoT)是一種為聯(lián)網(wǎng)設(shè)
    發(fā)表于 03-05 12:30 ?367次閱讀
    NB-IoT<b class='flag-5'>設(shè)備</b>天線靜電浪涌保護(hù)方案解析

    低功耗藍(lán)牙技術(shù)的特點(diǎn) 低功耗藍(lán)牙如何實(shí)現(xiàn)低功耗?

    低功耗藍(lán)牙技術(shù)是一種優(yōu)化的藍(lán)牙技術(shù),專為滿足低功耗需求而設(shè)計(jì)。它通過采用一系列節(jié)能措施和技術(shù),實(shí)現(xiàn)了更低的功耗消耗,延長了
    的頭像 發(fā)表于 02-07 16:49 ?1755次閱讀

    什么是窄帶聯(lián)網(wǎng)?窄帶聯(lián)網(wǎng)和寬帶聯(lián)網(wǎng)有什么區(qū)別?

    什么是窄帶聯(lián)網(wǎng)?窄帶聯(lián)網(wǎng)和寬帶聯(lián)網(wǎng)有什么區(qū)別? 窄帶
    的頭像 發(fā)表于 02-04 14:48 ?3869次閱讀

    聯(lián)網(wǎng)設(shè)備管理平臺(tái)如何實(shí)現(xiàn)?如何發(fā)揮作用?

    隨著科技技術(shù)的飛速發(fā)展,各式各樣的聯(lián)網(wǎng)設(shè)備已經(jīng)深入到我們生活工作的方方面面。小到智能家居,大到工業(yè)自動(dòng)化,聯(lián)網(wǎng)
    的頭像 發(fā)表于 12-23 10:45 ?576次閱讀
    <b class='flag-5'>物</b><b class='flag-5'>聯(lián)網(wǎng)</b><b class='flag-5'>設(shè)備管理</b>平臺(tái)如何實(shí)現(xiàn)?如何發(fā)揮作用?

    淺談聯(lián)網(wǎng)電源管理

    為了完全表征聯(lián)網(wǎng)設(shè)備功耗,必須在通常遇到的所有操作條件下進(jìn)行測量。由于聯(lián)網(wǎng)
    的頭像 發(fā)表于 12-07 09:58 ?696次閱讀

    低功耗WiFi模塊的技術(shù)發(fā)展

    隨著聯(lián)網(wǎng)的迅速發(fā)展,對(duì)于低功耗設(shè)備和技術(shù)的需求日益增加。低功耗WiFi模塊應(yīng)運(yùn)而生,為連接大量
    的頭像 發(fā)表于 11-02 16:34 ?694次閱讀

    滿足工業(yè)聯(lián)網(wǎng)應(yīng)用需求低功耗Wi-Fi無線連接解決方案

    當(dāng)前的工業(yè) 4.0 正在改變工業(yè)領(lǐng)域的發(fā)展,并創(chuàng)造了數(shù)萬億美元的新市場機(jī)會(huì),其中的節(jié)能制造、供應(yīng)鏈和資產(chǎn)密集型場所,均可以用工業(yè)聯(lián)網(wǎng)( IIoT )智能解決方案來實(shí)現(xiàn)。用于 IIoT 連接的低功耗
    的頭像 發(fā)表于 10-30 19:45 ?689次閱讀
    <b class='flag-5'>滿足</b>工業(yè)<b class='flag-5'>物</b><b class='flag-5'>聯(lián)網(wǎng)</b>應(yīng)用<b class='flag-5'>需求</b>的<b class='flag-5'>低功耗</b>Wi-Fi無線連接解決方案