博客專欄

        EEPW首頁 > 博客 > 低功耗實測全攻略:超詳盡應用實踐深度指南

        低功耗實測全攻略:超詳盡應用實踐深度指南

        發布人:13673998452 時間:2025-07-28 來源:工程師 發布文章
        在物聯網、移動設備等場景中,低功耗能力直接影響產品競爭力。本文依托大規模實測數據與一線工程經驗,深入探討功耗優化的核心技術邏輯,從方案設計、調試技巧到性能驗證,提供一套層層遞進的實踐框架,幫助開發者系統性地突破低功耗應用的落地瓶頸。


        能拍、能說、能顯示、能聯網,Air8101主打多媒體場景的工業引擎,支持Wi-Fi/以太網/藍牙/外掛4G聯網,支持LuatOS二次開發。
         

        適用于AIoT領域的多種應用場景:例如喚醒詞檢測和語音命令識別、人臉檢測和識別、智能家居、智能控制面板、智能揚聲器、智能門鎖、智能門鈴等等。

        Air8101支持三種功耗模式:

        常規模式

        低功耗模式

        PSM+模式

        本文將以Air8101核心板為例,帶你快速上手三種功耗模式。在實際應用開發中,可根據具體需求靈活運用。

        最新源碼及實操教程詳見:

        https://docs.openluat.com/air8101/luatos/app/lowpower/sleep/

         

        一、三種功耗模式簡介
         

        低功耗是工業引擎最重要的特性之一,Air8101優異的低功耗表現,既有硬件設計的加持,也有軟件協議算法的幫助。

        三種功耗模式各有特點,可根據不同的應用場景選擇。


        1.1 常規模式

        網絡在線狀態,隨時響應服務器命令,CPU滿頻運行,外設功能全部可用。比如,所有GPIO電平都可以控制。


        1.2 低功耗模式

        網絡在線狀態,隨時響應服務器命令,CPU降頻運行,可以通過軟件設置所需的GPIO在低功耗中保持電平,所有GPIO均支持。


        1.3 PSM+模式

        網絡離線狀態,無法響應服務器命令,CPU停止運行,可以通過軟件設置所需的GPIO在低功耗中保持電平,所有GPIO均支持。

        Air8101實網功耗數據如下圖表:

        更多說明:
         

        低功耗模式下,網絡在線,隨時響應服務器命令,CPU 降頻運行,外設功能部分可用;3.3V供電,DTIM10的平均電流為380μA,DTIM1的平均電流為1.5mA。

        DTIM10和DTIM1的核心區別有:

        DTIM1不會丟失Wi-Fi AP路由器發送給Wi-Fi station的廣播幀和組播幀;DTIM10會丟失。

        一般來說,Wi-Fi AP路由器發送Beacon幀的間隔是100毫秒,DTIM1最長延遲100毫秒可以收到Wi-Fi AP路由器發送過來的數據,DTIM10最長延遲1000毫秒可以收到Wi-Fi AP路由器發送過來的數據。

        丟失廣播幀和組播幀對產品應用沒有什么影響,只要單播幀不丟失就行。

        可以根據自己項目對功耗以及數據收發時延的要求,選擇合適的DTIM配置。

         

        二、 主要硬件準備 
        2.1 Air8101核心板


        2.2 可調電源

        功耗分析儀Air9000P——功能齊全、穩定可靠、支持PC端軟件的小型手持式高精度功耗測試儀表(電流范圍0~2A,最小分辨率0.1μA;電壓范圍0~5V,最小分辨率1mV;硬件采樣率100KHz,PC 端軟件采樣率10KHz)。

        功耗分析儀Air9000P對于小電流的抓取能力及其對功耗數據的統計分析,尤其適合電池供電的動態功耗測試,可解決各類場景下的低功耗測試難題。

         

        三、常規模式測試 
         

        顧名思義,常規模式為模塊不考慮功耗時處于的狀態。


        3.1 代碼示例

        1)mian.lua

        打開常規模式,屏蔽另外兩種模式。

        即:mian.lua 中打開 require "normal"這句話

        注釋 -- require "low_power"

        注釋 -- require "psm+_power"


        2)tcp_client_main.lua

        第20行和第21行,服務器IP端口號的地方,改成用戶自己使用的服務的IP/域名以及端口號。

        如果僅作測試,也可以使用提供的測試服務器。

        測試服務器相關資料詳見:

        https://netlab.luatos.com/ 


        3)normal.lua

        常規模式主應用功能模塊代碼如下圖示:


        3.2 硬件連接

        功耗測試時將可調電源正極接在vbat的排針處,gnd即為電源負極接的位置,核心板上的USB斷開,功耗測試開關撥到ON。


        3.3 常規模式功耗測試結果

        下圖為連接好服務器后5分鐘發一次心跳包,平均電流為6.6mA。

         四、低功耗模式測試 
         

        該模式可以實現與服務器之間進行長連接,服務器可隨時下發數據給客戶端,實現在低功耗情況下還能實時遠程控制的功能。


        4.1 代碼示例

        1)mian.lua打開低功耗模式,屏蔽另外兩種模式。

        即:

        mian.lua中打開require "low_power" 這句話

        注釋-- require "normal"

        注釋-- require "psm+_power"

         


        2)tcp_client_main.lua

        第20行和第21行,服務器IP端口號的地方,改成用戶自己使用的服務的IP/域名以及端口號。

        如果僅作測試,也可以使用提供的測試服務器。

        測試服務器相關資料詳見:

        https://netlab.luatos.com/


        3)low_power.lua

        低功耗模式主應用功能模塊代碼如下圖示:


        4.2 硬件連接
         

        功耗測試時將可調電源正極接在vbat的排針處,gnd即為電源負極接的位置,核心板上的USB斷開,功耗測試開關撥到ON。


        4.3 DTIM1測試結果

        1)下圖為低功耗模式代碼在鏈接服務器并每5分鐘發送一次數據包的功耗,平均1.5mA。


        圖中有兩種電流情況需要關注:

        短暫持續的柱狀上升

        這是鏈接平臺后向平臺發送數據時的電流表現,根據網絡信號強弱會有差異,因為是跟平臺保持長連接的,信號好時,基本在1秒左右就會完成發送,功耗會再降回去。

        瞬時的電流尖峰

        這是在與Wi-Fi AP保持鏈接時,STA和AP之間的TIM信息交互,默認100ms一次,獲取AP上的廣播幀、組播幀和單播幀信息。此處涉及一個參數,就是DTIM,默認是DTIM1。

        2)下圖是低功耗DTIM1模式下發送數據包時的電流情況,圖中可以看出,保持鏈接時發送數據包的時間共100毫秒,平均電流22mA。


        4.4 DTIM10測試結果

        體驗DTIM10時需要在DEMO中修改DTIM配置:wifi_app.lua


        1)下圖為上面的低功耗模式代碼在鏈接服務器并每5分鐘發送一次數據包的功耗。平均380μA,將數據包發送間隔拉的更長,功耗更低。

        圖中的尖峰間隔因為設置DTIM10以后被延長到了1000ms一次,在DTIM10模式下,會丟失Wi-Fi AP的廣播幀和組播幀,但是不會丟失單播幀。

        STA會告訴Wi-Fi AP:
        我1000ms才來獲取一次單播幀,在1000ms后一次獲取。

        請根據業務需要選擇DTIM10模式。


        2)下圖為低功耗DTIM10模式下,發送心跳包時的功耗情況,只會產生細微的尖峰波動,耗時80毫秒,平均功耗23mA左右。

         五、PSM+功耗模式測試 

        對于和服務器之間不需要保持長連接,僅僅需要間隔幾小時甚至幾天才發一次數據給服務器,希望電池待機時間更久一些的場景,可以使用第三種超低功耗PSM+模式。


        5.1 代碼示例1)mian.lua

        打開低功耗模式,屏蔽另外兩種模式。

        即:

        mian.lua 中打開require "psm+_power" 這句話

        注釋-- require "normal"

        注釋-- require "low_power"


        2)tcp_client_main.lua

        第20行和第21行,服務器IP端口號的地方,改成用戶自己使用的服務的IP/域名以及端口號。

        如果僅作測試,也可以使用提供的測試服務器。

        測試服務器相關資料詳見:

        https://netlab.luatos.com/


         

        3)psm+_power.lua

        PSM+超低功耗模式主應用功能模塊代碼如下圖示:


        5.2 硬件連接

        功耗測試時將可調電源正極接在vbat的排針處,gnd即為電源負極接的位置,核心板上的USB斷開,功耗測試開關撥到ON。


        5.3 PSM+模式功耗測試結果

        1)下圖為進入PSM+模式后不做任何動作的電流情況,平均13μA。

        2)下圖為進入PSM+模式后發送心跳包時的電流變化情況,從起來到發完信息到再進入PSM+總共耗時3.2S,平均功耗26mA。

         

        今天的內容就分享到這里了~

         

         


        *博客內容為網友個人發布,僅代表博主個人觀點,如有侵權請聯系工作人員刪除。



        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 保靖县| 调兵山市| 赤壁市| 綦江县| 太湖县| 迁西县| 九龙县| 武邑县| 邵阳市| 汤原县| 黄梅县| 新宁县| 华容县| 黎平县| 三原县| 托里县| 山阴县| 黄大仙区| 民乐县| 赫章县| 梧州市| 佳木斯市| 社会| 古蔺县| 宁阳县| 泽州县| 麦盖提县| 祁东县| 怀安县| 兴文县| 林西县| 大新县| 青铜峡市| 潜山县| 文山县| 东城区| 绥化市| 东港市| 调兵山市| 社旗县| 文昌市|