色哟哟视频在线观看-色哟哟视频在线-色哟哟欧美15最新在线-色哟哟免费在线观看-国产l精品国产亚洲区在线观看-国产l精品国产亚洲区久久

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

低功耗休眠喚醒之三級環形架構

WiMinet無線組網通信 ? 來源:WiMinet無線組網通信 ? 2023-05-18 10:59 ? 次閱讀

前言

preface

無線通信技術相關應用中,用戶體驗一直是用戶關系的重點。無線通訊距離近一點,通訊速度慢一點,這都不是致命的問題,在某些場合下是完全可以接受的,甚至本身就是項目的技術需求;但是有一些設計缺陷卻會嚴重影響用戶體驗的,一旦大面積的出現,基本上可以判定為產品失敗了;總結起來,大家都無法忍受的問題主要是下述兩個

(1)通訊失敗或者數據傳輸錯誤

(2)電池消耗快,很快沒電

01業內問題

Industry issues

在絕大部分用戶的心目中,無線通訊本身就不如有線通訊技術穩定,如果一款產品還經常傳輸失敗,試問用戶會對這款產品有信心嗎?

無線產品配合上電池供電,才能充分發揮無線技術可以隨意移動的優勢,因此很多的無線產品經常和低功耗或電池供電有非常緊密的聯系;一旦這個產品電池消耗很快,那么必然將是其便攜性,移動性大打折扣。

當然,在理論設計上產品的電池壽命肯定是非常長的,但是真正實現起來卻比較困難,很多的產品設計電池壽命有 5 年之久,但是現場運行不到一年,甚至幾個月就完全沒電了,這種問題的發作經常沒有任何規律,測試時間上又以年/月為單位,且呈現出偶發特性,定位起來極其困難,困擾了不少的無線通訊技術工程師,被認為是業界的重要難題之一。

02技術難點

Technical difficulties

其實電池快速耗電和通訊不穩定說到底都是軟件設計,特別是軟件架構方面的設計問題;軟件架構上的不完整或混亂,導致射頻芯片的控制不準確甚至部分狀態失去控制才是問題的源頭。既然大家都認為功耗的管理是一個難題,那么到底難在哪些環節呢?

(1)產品的低功耗休眠喚醒設計,存在系統業務和應用層業務兩種:在系統層面講,主要有OTA無線升級、遠程診斷、遠程控制(無線I/O)等;在應用層中則是回調機制、關閉端口上拉、檢測用戶按鍵、關閉工作指示燈等。系統層內容屬于整個產品的軀干和骨架,通常需要交給經驗豐富的工程師負責,因為涉及精密的規則和龐大的算法問題,需要較為強大的抽象能力和全面的視角。而應用層則是面向用戶的,體現在軟件部分則相對比較簡單。

(2)系統存在多種喚醒源:UART、GPIO、RTC、Timer等,這些喚醒源中斷方式和清除規則略有不同,但是進入和退出休眠需要遵循相同的路徑,因此其控制邏輯需要做一定的抽象化設計,具有一定的挑戰。

(3)基于RTC定時器的后臺背景活動:某些延遲操作,比如開啟一個 LED 指示燈,十秒之后關閉,此時如果處理器全速運行就為了運行這一功能,是不太經濟的;通常是設置一個狀態標志,然后啟動RTC定時器,并將處理器切入休眠狀態,計時的時間到了之后會產生一個RTC中斷,處理器可以在這種中斷到達的時候關閉這個LED 指示燈。類似這些延遲操作,往往還會和其他的業務狀態交織在一起,控制邏輯需要精確設計,稍有不慎就會失去控制。

(4)被未知的電磁波干擾,吵醒,誤喚醒等假喚醒行為:無線電波由于空間開放的特性,其喚醒動作往往伴隨著少量的模擬特性,偶爾會被一些未知的信號給誤觸發,處理器被喚醒之后,需要對喚醒后的實時參數做一些分析計算,對喚醒源進行甄別篩選,如果不是有效的喚醒,需要提前終止業務邏輯。

(5)存在多種不同模式的睡眠深度的低功耗模式:處理器通常支持多種不同的睡眠深度,對應不同的功耗等級。不同睡眠模式下,處理器可以激活的外設不一樣的,在喚醒之后,有些外設需要再次初始化之后才可以重新投入工作,只有深入了解處理器的工作特性,才能控制好處理器不同睡眠模式的切換工作。

(6)雙芯片模式(獨立的無線通訊模塊)模式和單芯片模式(協議棧和應用層業務運行在一個芯片上),需要統一的編程接口如果維持兩套不同的編程接口,代碼分支龐大不說,還很容易產生歧義,為后續的產品維護和架構升級帶來困難。

綜合以上難點,需要解決如此復雜的功耗控制要求,必須分而治之,采用分層的控制策略;行之有效的解決方案就是如下的內-中-外,三級環形架構。

03WiMi-net的三級環形架構

Three-level circular architecture

3f1f8930-f526-11ed-90ce-dac502259ad0.png

01

Main body diagram

上圖是一個電子價簽的主程序框架。可以看出該程序主要分為三個主線程,分別是協議棧的主線程;低功耗休眠與喚醒的主線程與墨水屏應用業務的主線程。這三個主線程在同一個層級平行運行,具有相同的調度優先級。

局放圖

Partial layout

3f554f2a-f526-11ed-90ce-dac502259ad0.png

02

Partial layout

我們將低功耗休眠與喚醒的主線程做局部放大,如上所示。

圖中的三級環架構是休眠喚醒管理模塊的核心,是整個休眠喚醒功能的局部放大。如圖所示,由內環、中環、外環,三部分構成。因為考慮到在無線通信中,各種事件的復雜程度及其處理方式,分為以上三環。最內部一環主管電磁波喚醒,中層環主管GPIO喚醒、RTC喚醒、UART喚醒,最外層環則啟動了整個協議棧以及業務層,面向用戶進行交互。

三級環的目的突出的是分層做事原則。在內環中只進行電磁波喚醒的工作,這里主要有三部分,查詢中斷、分析中斷狀態、無線電波處理。當信號到達這一環,會根據信號類型分析是否進行無線電波的喚醒處理。

如果不是無線電波喚醒,則跳出該層,進入中環處理。這里的信號類型分析和處理是根據不同事件、不同時刻產生的耦合性而定的。

在中環,GPIO 喚醒是特定產品的喚醒模式;RTC 喚醒通常用于一些低優先級的后臺任務,比如檢測是否漏電或者執行一些延遲 I/O 操作;UART串口喚醒則是針對用戶處理器。

外環則是面向用戶的層級,如需要啟動主程序固件升級或者業務邏輯,比如墨水屏的刷新屏幕顯示內容等,則程序會被全面喚醒,此時就在外環中進行。

04環形架構的優勢

The advantages of circular architecture

由外環、中環到內環,視覺效果方面是越來越小的,越來越縮放的。自然在功能性方面也是越來越小,越來越簡潔的過程。三級環從外到內,能做的“事”就越來越少,體現在軟件代碼方面就是,代碼更少,功能性更加單一,邏輯更加清晰,運行更穩定。從而更加節省功耗。

為什么功耗更加節約?將電磁波喚醒獨立拆分,做成了獨立的單元結構,是出于這樣的考慮的。當信號指令到達三級環,內環首先進行判定,是否需要電磁波喚醒,判定是,就進行電磁波喚醒;判定不是,則跳入中環選擇喚醒類別,內環進入休眠。

考慮到事件的復雜性、多樣性,需要從不同屬性、不同時間等多角度考量休眠喚醒的執行,通俗點說就是“跟我相關起來干活,跟我無關繼續睡覺”,這樣的三級環設計針對性很強,在需要單一模式喚醒時,只需要調動少數軟件資源和內部耗能就可以完成,完成相關作業后繼續休眠,等待下一輪指令喚醒。從而這樣的三級環設計是一款更加節約功耗的方案。

05回調函數

Callback

//*****************************************************************************
//DesignNotes:
//-----------------------------------------------------------------------------
charOnHostWakeup_Request(unsignedchariStatus,chariCause,chariReqAck)
{
unsignedchariRetVal;

//Thecallbackstatus
switch(iStatus)
{
caseWIMINET_SLEEP_CALL_INIT:
{
OnWakeupRequest_Init(iCause,iReqAck);
}
break;

caseWIMINET_SLEEP_CALL_OPEN:
{
OnWakeupRequest_Open(iCause,iReqAck);
}
break;

caseWIMINET_SLEEP_CALL_WORK:
{
OnWakeupRequest_Work(iCause,iReqAck);
}
break;

caseWIMINET_SLEEP_CALL_STOP:
{
OnWakeupRequest_Stop(iCause,iReqAck);
}
break;

default:
{
iRetVal=0X00;
}
break;
}

//Thereturnstatus
returniRetVal;
}

上圖是一個 SoC 產品方案,回調函數的標準樣本,通常需要實現“系統剛剛喚醒”,“已經完成初始化”,“執行用戶任務”,“即將進入休眠”等幾個重要的通知時刻:

系統剛剛喚醒:系統運行在三級環的內環,處理器剛剛被中斷喚醒,需要啟用系統層級別的外設,比如 SPI 總線等;

已經完成初始化:系統已經切換至三級環的外環,控制權準備釋放給用戶程序,通常在此時初始化用戶任務;

執行用戶任務:系統運行在三級環的外環,此時協議棧程序也在同層級平行運作,用戶程序執行完了之后,需要釋放控制權給系統,通知系統進入睡眠模式

即將進入休眠:系統運行在三級環的中環,所有的數據都已經發送完畢或者超時終止,即將重新進入睡眠模式,通知用戶關閉外設,執行任務的清理或者重置工作。

對于不太復雜的系統,通常僅僅需要實現上述四個通知的回調函數即可,其余的通知可以不做處理器;對于更加復雜的系統,可以根據需要實現其他更多的回調通知。

06真機運行對比圖

Comparison diagram of real machine operation

其他廠家真機運行圖

3f83e47a-f526-11ed-90ce-dac502259ad0.png

01其他廠家真機運行典型功耗:4 秒喚醒周期、平均功耗 20.53 μA

WiMinet真機運行圖

3fc9c666-f526-11ed-90ce-dac502259ad0.png

02WiMinet真機運行典型功耗:1 秒喚醒周期、平均功耗 7.15 μA

在真機運行圖中,我們可以清楚地看到,WiMinet的真機運行圖信號波紋更加密集,整體看起來更加規律。由真機對比圖可知,WiMinet采用三級換架構的真機運行圖實時性是其他廠家的4倍,同時功耗僅為其他廠家的1/3。

關于我們

4026e328-f526-11ed-90ce-dac502259ad0.png

審核編輯:湯梓紅

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 無線通信
    +關注

    關注

    58

    文章

    4574

    瀏覽量

    143615
  • 通訊
    +關注

    關注

    9

    文章

    905

    瀏覽量

    34940
  • 低功耗
    +關注

    關注

    10

    文章

    2407

    瀏覽量

    103761
  • uart
    +關注

    關注

    22

    文章

    1238

    瀏覽量

    101458
  • 電池
    +關注

    關注

    84

    文章

    10596

    瀏覽量

    130019

原文標題:低功耗休眠喚醒之三級環形架構

文章出處:【微信號:WiMi-net,微信公眾號:WiMinet無線組網通信】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    低功耗無線掃描喚醒技術,重塑物聯網藍牙新體驗

    低功耗無線物聯網喚醒方法研究 低功耗無線物聯網中的節點,絕大部分時間必須處于休眠狀態才能降低功耗,以支持電池長時間續航。如果有節點要發起通信
    的頭像 發表于 09-15 11:35 ?1157次閱讀

    干貨分享 | TSMaster—LIN 喚醒休眠機制

    在汽車總線中常見的喚醒方式有硬線喚醒、網絡喚醒和特定信號喚醒,而LIN總線則是通過休眠幀與喚醒
    的頭像 發表于 09-25 08:03 ?1799次閱讀
    干貨分享 | TSMaster—LIN <b class='flag-5'>喚醒</b>與<b class='flag-5'>休眠</b>機制

    用到STM32L471的低功耗,用RTC的鬧鈴中斷喚醒遇到的疑問求解

    最近用到STM32L471的低功耗,根據綜合考慮選用STOP2模式(任意中斷喚醒),用RTC的鬧鈴中斷喚醒,由于喚醒周期比較長,采用的方式為:一小時
    發表于 04-23 06:25

    stm32的低功耗模式

    等待中斷時候才有用, 比如sleep(1), 不過功耗不是降太多2 stop模式只有靠外部中斷喚醒或者RTC定時器和看門狗喚醒因為RTC的鬧鐘中斷是接到外部中斷的, 所以也算是外部中斷這種模式適合長時間
    發表于 08-02 08:31

    低功耗深度休眠后無法喚醒燒錄程序的解決辦法是什么?

    問題陳述:某日,本人在調測華大半導體單片機(HC32L136)低功耗時,一時恍惚,在沒有喚醒中斷的情況下,將上電延時函數刪除,使系統上電后就立即進入低功耗深度休眠,導致無法
    發表于 12-06 07:06

    ch582m做低功耗藍牙外設時,如何進入休眠通過外部中斷喚醒

    ch582m做低功耗藍牙外設時,想進入休眠通過外部中斷喚醒。我從芯片手冊看到有四種低功耗模式: 空閑模式 Idle暫停模式 Halt睡眠模式 Sleep下電模式 Shutdown我想實
    發表于 08-02 07:48

    CH573低功耗休眠GPIO喚醒電流異常怎么解決?

    使用573EVT(1.6)中PM示例進行測試時發現:外部GPIO喚醒(PA5)在對地短接時,電流無法降低到休眠狀態電流。串口打印日志顯示正常進入休眠。默認配置為下降沿喚醒,正常
    發表于 08-09 06:15

    lightsleep休眠不同喚醒方式的功耗問題求解

    我用arduino對esp32c3開發板進行編程測試lightsleep的休眠功耗,GPIO2口接紅外,發現了一個問題,當我僅使用GPIO喚醒時,休眠后電流為5.16ma,僅使用Tim
    發表于 03-07 07:07

    M480休眠低功耗怎么做?

    請問有人做過新唐M4系列,休眠低功耗嗎?我現在試的DPD模式,靜態功耗很小,大概20UA,但是GPIO口不能中斷喚醒。改成SPD模式就可以IO口中斷
    發表于 06-21 08:14

    低功耗深度休眠后無法喚醒、燒錄程序,怎么辦?(華大半導體HC32L136)

    問題陳述:某日,本人在調測華大半導體單片機(HC32L136)低功耗時,一時恍惚,在沒有喚醒中斷的情況下,將上電延時函數刪除,使系統上電后就立即進入低功耗深度休眠,導致無法
    發表于 11-23 18:06 ?6次下載
    <b class='flag-5'>低功耗</b>深度<b class='flag-5'>休眠</b>后無法<b class='flag-5'>喚醒</b>、燒錄程序,怎么辦?(華大半導體HC32L136)

    STM32超低功耗入門之喚醒

    一. 認識喚醒人每天晚上要睡覺,早上要醒來。那 MCU 進入低功耗模式之后,在我們需要他賣力干活的時候,還需要他能醒來,所以在前面的文章對于各種功耗模式有了一個全面的認識了之后,還要再總結以下再不
    發表于 12-07 16:06 ?15次下載
    STM32超<b class='flag-5'>低功耗</b>入門之<b class='flag-5'>喚醒</b>

    STM32CubeMx配置WKUP(PA0)按鍵低功耗喚醒進入正常模式

    stm32的引腳wakeup有什么作用?喚醒MCU,比如當MCU在低功耗狀態下或者休眠之類的狀態下,通過引腳的Wakeup功能可以將MCU喚醒,讓MCU進入正常的工作狀態。
    發表于 12-07 20:21 ?21次下載
    STM32CubeMx配置WKUP(PA0)按鍵<b class='flag-5'>低功耗</b><b class='flag-5'>喚醒</b>進入正常模式

    STM32外部中斷、串口喚醒低功耗

    STM32的低功耗模式共有個:睡眠模式-(sleep): 睡眠模式的功耗是mA級別,一般在實際應用中較少使用停止模式-(stop): 停止模式的功耗為20uA,所有時鐘關閉,寄存器不
    發表于 12-31 19:05 ?29次下載
    STM32外部中斷、串口<b class='flag-5'>喚醒</b><b class='flag-5'>低功耗</b>

    低功耗休眠喚醒之三級環形架構

    無線產品配合上電池供電,才能充分發揮無線技術可以隨意移動的優勢,因此很多的無線產品經常和低功耗或電池供電有非常緊密的聯系;一旦這個產品電池消耗很快,那么必然將是其便攜性,移動性大打折扣。
    的頭像 發表于 05-18 10:58 ?744次閱讀
    <b class='flag-5'>低功耗</b><b class='flag-5'>休眠</b><b class='flag-5'>喚醒</b><b class='flag-5'>之三級</b><b class='flag-5'>環形</b><b class='flag-5'>架構</b>

    儲能電站BMS典型三級架構淺析

    在儲能電站中,BMS通常采用三級架構(從控、主控、總控),實現從電池模組(pack)-簇-堆的分級管理和控制。
    的頭像 發表于 05-24 11:04 ?3.5w次閱讀
    儲能電站BMS典型<b class='flag-5'>三級</b><b class='flag-5'>架構</b>淺析
    主站蜘蛛池模板: 亚洲欧美一区二区三区蜜芽 | 90后美女乳沟| 久见久热 这里只有精品| 中文中幕无码亚洲视频| 男女亲吻摸下面吃奶视频| 狼人大香伊蕉国产WWW亚洲| 三级黄色视屏| 国模玲玲自拍337p| 最近中文字幕在线看免费完整版| 嫩小xxxxbbbb| 国产91综合| 在线自拍综合亚洲欧美| 欧洲最大无人区免费高清完整版| 国产成人久久精品激情| 亚洲一区在线观看无码欧美| 老牛天天晚上夜噜噜噜| 国产99精品在线观看| 艳妇臀荡乳欲伦岳TXT下载| 秋霞电影网午夜鲁丝片无码| 国产在线精品视频二区| 99国内精品| 亚洲国产AV精品卡一卡二| 免费乱理伦片在线观看夜| 国产午夜精AV在线麻豆| 99九九精品视频| 亚洲成人综合在线| 欧美午夜理伦三级在线观看| 很黄很色60分钟在线观看| 成人a视频片在线观看免费| 一边吃奶一边添P好爽故事| 日日操天天操夜夜操| 久久精品一卡二卡三卡四卡视频版| 床伴在线观看免费高清完整泰剧第四集 | 亚洲 欧美 中文 日韩 另类 | 撕开美女的衣服2| 蜜柚在线观看免费高清官网视频| 国产婷婷午夜精品无码A片| www.av在线| 5g在视影讯天天5g免费观看| 亚洲国产日韩a精品乱码| 日本xxxx8888|