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

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

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

實(shí)戰(zhàn)經(jīng)驗(yàn) | 如何使用 S2LP 的 sniff 模式同時(shí)滿足通訊和低功耗要求

STM32單片機(jī) ? 來(lái)源:未知 ? 2023-12-16 15:55 ? 次閱讀


關(guān)鍵詞:S2LP, Sniff 模式,低功耗


目錄預(yù)覽

1、引言

2、預(yù)設(shè)應(yīng)用場(chǎng)景

3、LDC/Sniff 模式簡(jiǎn)介

4、解決方案

5、小結(jié)


01

引言


某些客戶在其 S2LP 的設(shè)計(jì)方案中,發(fā)送端設(shè)備常供電,可以不考慮低功耗;而接收端設(shè)備一般用電池功能,對(duì)低功耗的要求比較高。發(fā)送和接收端的通訊是異步的,也就是說(shuō)發(fā)送端在滿足某些檢測(cè)條件的情況下,可以在任意時(shí)刻發(fā)送數(shù)據(jù)包;而要求接收端設(shè)備在滿足其低功耗要求的情況下,及時(shí)接收到數(shù)據(jù)包,保證響應(yīng)的實(shí)時(shí)性。針對(duì)以上的應(yīng)用場(chǎng)景,一般推薦客戶使用 S2LP 的 sniff 模式。


02

預(yù)設(shè)應(yīng)用場(chǎng)景


發(fā)送端設(shè)備(如煙感設(shè)備等)可能隨時(shí)收到警報(bào)信息,在任意時(shí)刻收到警報(bào)信息后將連續(xù)發(fā)送數(shù)據(jù)包,連續(xù)發(fā)包時(shí)長(zhǎng) 10 秒鐘。


數(shù)據(jù)包結(jié)構(gòu)如圖 1。2-FSK 調(diào)制方式,Data rate=38.4Ksps, 中心頻點(diǎn)=868MHz。


圖1.數(shù)據(jù)包格式


根據(jù)圖 1 數(shù)據(jù)包格式,可知前導(dǎo)碼占 576 個(gè) bit,同步字 4 字節(jié),用戶數(shù)據(jù)占 25 個(gè)字節(jié),采用 1 字節(jié) CRC 校驗(yàn)字段。

? 數(shù)據(jù)包中每個(gè) bit 發(fā)送的時(shí)間= 1/38.4Ksps≈26us。

? 前導(dǎo)碼時(shí)長(zhǎng)=576/38.4Ksps=15ms。

? 前導(dǎo)碼+同步字時(shí)長(zhǎng)= (576+32)/38.4Ksps=15.83ms。

? 完整數(shù)據(jù)包發(fā)送時(shí)長(zhǎng)=(576+32+200+8)/38.4Ksps = 21.25ms。

接收端設(shè)備要求每 8 秒鐘喚醒一次,連續(xù)檢測(cè) 100ms,并確保不會(huì)漏掉這 100ms 時(shí)間窗口中內(nèi)的有效數(shù)據(jù)包。并在 100ms 以后進(jìn)入低功耗模式。


03

LDC/Sniff 模式簡(jiǎn)介


S2LP 支持 LDC (Low Duty Cycle) 和 Sniff 這兩種模式,這兩種模式都可以實(shí)現(xiàn)低功耗。區(qū)別在于 LDC 模式實(shí)現(xiàn)發(fā)送、接收端的同步通信;而 Sniff 模式是基于 LDC 模式,在兼顧低功耗的要求的同時(shí)支持異步通信。


如圖 2,LDC 模式示意圖。發(fā)送端和接收端設(shè)備按照約定的喚醒周期同步進(jìn)入發(fā)送、接收狀態(tài)和進(jìn)入低功耗模式。接收端為了保證不丟包,會(huì)在約定的喚醒時(shí)間點(diǎn)之前喚醒并提前進(jìn)入接收狀態(tài)。


圖2.LDC 模式


如圖 3 所示,Sniff 模式示意圖。Sniff 模式下的 S2LP,按照喚醒定時(shí)器 (Wakeup Timer) 設(shè)定的喚醒時(shí)間有規(guī)律地從睡眠狀態(tài)喚醒,并開啟一個(gè)非常短的稱為 FastRX 的接收窗口。在這個(gè) FastRX 接收窗口中檢測(cè)信號(hào)強(qiáng)度 (RSSI 值) 。如信號(hào)強(qiáng)度低于設(shè)定的閾值,則認(rèn)為外部沒(méi)有發(fā)送數(shù)據(jù)包,接收端在 FastRX 窗口結(jié)束后快速進(jìn)入睡眠狀態(tài);如檢測(cè)的信號(hào)強(qiáng)度值高于閾值,說(shuō)明檢測(cè)到有效數(shù)據(jù)包在發(fā)送,則啟動(dòng)接收超時(shí)定時(shí)器(RX Timeout),接收端繼續(xù)保持接收狀態(tài),如在超時(shí)時(shí)間內(nèi)檢測(cè)到有效的同步字字段,則停止接收超時(shí)定時(shí)器,并繼續(xù)保持接收狀態(tài)直到接收到完整的數(shù)據(jù)包后進(jìn)入低功耗模式;如在超時(shí)時(shí)間內(nèi)沒(méi)有檢測(cè)到有效的同步字則在接收超時(shí)后立刻進(jìn)入低功耗模式。


圖3.Sniff 模式


04

解決方案


基于 ST 官方提供的 S2LP 的 SDK 軟件包中的 SDK_Sniff_B 項(xiàng)目實(shí)現(xiàn)上述預(yù)設(shè)應(yīng)用場(chǎng)景中接收端的功能。代碼更改量不多,但基本可以實(shí)現(xiàn)預(yù)設(shè)應(yīng)用場(chǎng)景中的要求。


基于原始代碼,更改函數(shù) SysTickUserAction(圖 4),借助于 lSystickCounter 計(jì)數(shù)變量,實(shí)現(xiàn) 8 秒鐘和 8 秒窗口開始邊界后 100ms 的計(jì)時(shí)。具體更改內(nèi)容請(qǐng)參考附件“SDK_Sniff_B.c”


圖4.函數(shù) SysTickUserAction 更改內(nèi)容


在 8 秒窗口開始時(shí)間點(diǎn)通過(guò)調(diào)用函數(shù)“S2LPTimerLdcrMode(S_ENABLE);”使能 Sniff模式;在 100ms 時(shí)間窗口結(jié)束時(shí)通過(guò)調(diào)用函數(shù)“S2LPTimerLdcrMode(S_DISABLE);”關(guān)閉 Sniff 模式。并調(diào)用函數(shù) “S2LPCmdStrobeSleep();”進(jìn)入低功耗。


需要注意的關(guān)鍵點(diǎn):

? 為了不錯(cuò)過(guò)發(fā)送端的前導(dǎo)碼,需要將接收端的喚醒定時(shí)器設(shè)定的時(shí)長(zhǎng)設(shè)定為小于數(shù)據(jù)包格式中前導(dǎo)碼的發(fā)送時(shí)長(zhǎng)。

? 接收端的接收超時(shí)時(shí)間(RX Timeout)的時(shí)長(zhǎng)≥前導(dǎo)碼時(shí)間+同步字時(shí)間,但在滿足條件的情況下盡量使用小的設(shè)定值,有助于降低功耗。

? 初始化結(jié)束后通過(guò)函數(shù)“S2LPTimerLdcrMode”可以直接打開、關(guān)閉 sniff 模式。并結(jié)合函數(shù)“S2LPCmdStrobeSleep();”控制 S2LP 的低功耗模式。


4.1.驗(yàn)證方法和結(jié)果


4.1.1. 接收端功能測(cè)試平臺(tái)


使用一套“NUCLEO-L053R8+X-NUCLEO-S2868A1”測(cè)試平臺(tái)運(yùn)行更改后的SDK_Sniff_B 項(xiàng)目程序。使用 ST 官方提供的 X-NUCLEO-LPM01A 功耗測(cè)試板,通過(guò) XNUCLEO-S2868A1 板上的 JP1 測(cè)試 S2LP 的工作狀態(tài), 通過(guò)抓取 S2LP 的實(shí)時(shí)功耗確認(rèn)預(yù)設(shè)場(chǎng)景中 8 秒時(shí)間窗口和 100ms 接收窗口的定時(shí)是否正確?以及 S2LP 是否能正確進(jìn)入低功耗模式?測(cè)試平臺(tái)如圖 5 所示


圖5.測(cè)試平臺(tái)


測(cè)試結(jié)果如圖 6 所示,上電初始化后,由于已經(jīng)使能了 sniff 模式,但第一個(gè) 8 秒窗口計(jì)時(shí)還沒(méi)有溢出,所以一直保持sniff工作模式(客戶也可以更改代碼使其在初始化后立刻進(jìn)入低功耗模式)。第二個(gè) 8 秒窗口開始后的 100ms 還處于 sniff 工作狀態(tài)。當(dāng)?shù)诙€(gè) 8 秒窗口中的 100ms 接收窗口結(jié)束后,S2LP 進(jìn)入低功耗模式。后續(xù)的 8 秒窗口以此類推。從圖6 中還可以看到每個(gè) 100ms 中有 7 個(gè) FastRX 窗口,這是因?yàn)樵即a中把喚醒時(shí)間設(shè)定為差不多 12.9ms(必須小于前導(dǎo)碼時(shí)間 15ms),那么在 100ms 的接收窗口里正好可以容納7 個(gè) FastRX 快速接收窗口。


圖6.S2LP 功能測(cè)試結(jié)果


根據(jù)圖 6 測(cè)試結(jié)果,證明更改后的 SDK_Sniff_B 代碼運(yùn)行結(jié)果符合預(yù)設(shè)應(yīng)用場(chǎng)景的要求。


4.1.2. 驗(yàn)證數(shù)據(jù)包發(fā)送接收


發(fā)送接收測(cè)試平臺(tái)如圖 7, 使用兩套 NUCLEO-L053R8+X-NUCLEO-S2868A1 測(cè)試平臺(tái):

? DevB 作為接收端,運(yùn)行前面的 SDK_Sniff_B 程序。


圖7.發(fā)送接收測(cè)試平臺(tái)說(shuō)明


? DevA 模擬應(yīng)用場(chǎng)景中的發(fā)送端設(shè)備,燒錄 SDK 中默認(rèn)的 S2LP_CLI_Project 程序,通過(guò) USB 線連接 PC 段的 GUI 工具(如圖 8) 。按照預(yù)設(shè)場(chǎng)景分別設(shè)定調(diào)制方式為 2-FSK,前導(dǎo)碼,用戶數(shù)據(jù)(Payload)。保證連續(xù)發(fā)送的數(shù)據(jù)包數(shù)量和發(fā)送間隔的設(shè)置值使發(fā)送端的連續(xù)發(fā)送時(shí)間維持 10 秒鐘。


圖8.S2LP GUI 工具界面及參數(shù)設(shè)定


驗(yàn)證結(jié)果,S2LP GUI 工具每次點(diǎn)擊“START”按鍵,在其連續(xù)過(guò)程中接收端設(shè)備必然可以收到一個(gè)數(shù)據(jù)包,則實(shí)驗(yàn)結(jié)果成功。


圖9.數(shù)據(jù)包接收狀態(tài)


05

小結(jié)


S2LP 支持的 LDC 模式和 sniff 模式都是低功耗模式,LDC 模式支持同步通訊的場(chǎng)景,Sniff 模式支持異步通訊模式??蛻艋谧约旱膽?yīng)用場(chǎng)景,可以選擇合適的模式。另外通過(guò)附加的定時(shí)控制 S2LP 在 sniff 模式下的工作時(shí)長(zhǎng)可以進(jìn)一步降低 S2LP 的功耗。

完整內(nèi)容請(qǐng)點(diǎn)擊“閱讀原文”下載原文檔。


原文標(biāo)題:實(shí)戰(zhàn)經(jīng)驗(yàn) | 如何使用 S2LP 的 sniff 模式同時(shí)滿足通訊和低功耗要求

文章出處:【微信公眾號(hào):STM32單片機(jī)】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

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

    關(guān)注

    6026

    文章

    44456

    瀏覽量

    631028
  • STM32
    +關(guān)注

    關(guān)注

    2263

    文章

    10847

    瀏覽量

    353811

原文標(biāo)題:實(shí)戰(zhàn)經(jīng)驗(yàn) | 如何使用 S2LP 的 sniff 模式同時(shí)滿足通訊和低功耗要求

文章出處:【微信號(hào):STM32_STM8_MCU,微信公眾號(hào):STM32單片機(jī)】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏

    評(píng)論

    相關(guān)推薦

    SD NAND SPI模式:如何實(shí)現(xiàn)低功耗運(yùn)行

    最近,收到客戶反饋,使用我們SD NAND過(guò)程中,使用SPI模式,對(duì)SD完成操作后,SD沒(méi)有進(jìn)入低功耗模式,未對(duì)SD進(jìn)行任何操作的情況下測(cè)得的功耗仍在20mA左右。經(jīng)過(guò)我們分析,發(fā)現(xiàn)S
    的頭像 發(fā)表于 09-02 11:06 ?310次閱讀
    SD NAND SPI<b class='flag-5'>模式</b>:如何實(shí)現(xiàn)<b class='flag-5'>低功耗</b>運(yùn)行

    具有通用輸入和輸出的CDCUN1208LP 400MHz低功耗2:8扇出緩沖器數(shù)據(jù)表

    電子發(fā)燒友網(wǎng)站提供《具有通用輸入和輸出的CDCUN1208LP 400MHz低功耗2:8扇出緩沖器數(shù)據(jù)表.pdf》資料免費(fèi)下載
    發(fā)表于 08-20 09:18 ?0次下載
    具有通用輸入和輸出的CDCUN1208<b class='flag-5'>LP</b> 400MHz<b class='flag-5'>低功耗</b><b class='flag-5'>2</b>:8扇出緩沖器數(shù)據(jù)表

    虹科干貨 |?突破功耗限制:PCAN Router設(shè)備低功耗模式與高效喚醒

    PCAN Router系列如何在保持高效工作的同時(shí),通過(guò)低功耗模式和智能喚醒功能,滿足對(duì)能耗有嚴(yán)格要求的應(yīng)用場(chǎng)景。
    的頭像 發(fā)表于 06-12 13:14 ?266次閱讀
    虹科干貨 |?突破<b class='flag-5'>功耗</b>限制:PCAN Router設(shè)備<b class='flag-5'>低功耗</b><b class='flag-5'>模式</b>與高效喚醒

    LP324、LP2902超低功耗四路運(yùn)算放大器規(guī)格書

    電子發(fā)燒友網(wǎng)站提供《LP324、LP2902超低功耗四路運(yùn)算放大器規(guī)格書.pdf》資料免費(fèi)下載
    發(fā)表于 06-07 09:33 ?0次下載
    <b class='flag-5'>LP</b>324、<b class='flag-5'>LP</b>2902超<b class='flag-5'>低功耗</b>四路運(yùn)算放大器規(guī)格書

    STM8S105如何同時(shí)使用halt和iwdg?

    接了個(gè)低功耗項(xiàng)目。要求低功耗外部喚醒,需要完全的停止模式。同時(shí)為了防止電機(jī)干擾,提高產(chǎn)品穩(wěn)定性需要獨(dú)立看門狗。如果
    發(fā)表于 05-14 06:32

    STML452低功耗模式下DMA模式ADC采集電壓異常怎么解決?

    主函數(shù)一直循環(huán)進(jìn)入低功耗Stop2模式,低功耗定時(shí)器1s喚醒一次,使用低功耗串口觸發(fā)采集ADC電
    發(fā)表于 03-28 09:57

    BlueNRG-LP有時(shí)無(wú)法進(jìn)入低功耗模式的原因?

    1-調(diào)用HAL_PWR_MNGR_Request(POWER_SAVE_LEVEL_STOP_NOTIMER, wakeupIO,stopLevel)有時(shí)SOC無(wú)法進(jìn)入低功耗模式,還是處于RUNNING模式,求解???
    發(fā)表于 03-28 06:50

    ESP32-S3模組是怎么配置低功耗模式的?低功耗模式功耗大概是多少?

    經(jīng)常有人問(wèn)S3模組是怎么配置低功耗模式的?低功耗模式功耗大概是多少?下面小啟就跟大家講下
    的頭像 發(fā)表于 01-26 08:03 ?3924次閱讀
    ESP32-<b class='flag-5'>S</b>3模組是怎么配置<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>大概是多少?

    SEGGER調(diào)試低功耗模式

    低功耗模式是現(xiàn)代嵌入式系統(tǒng)設(shè)計(jì)中一個(gè)非常重要的考慮因素。為了延長(zhǎng)電池續(xù)航時(shí)間、降低能耗以及滿足可持續(xù)發(fā)展的需求,嵌入式系統(tǒng)需要能夠有效地進(jìn)入低功耗
    的頭像 發(fā)表于 01-02 16:36 ?500次閱讀

    低功耗仿真實(shí)戰(zhàn)

    將MVSIM_NATIVE_DEMO文件夾拷貝出來(lái),如下所示,LP、LP_DVE、LP_LPA文件夾分別存放的是仿真環(huán)境,REF文件夾是不帶UPF的參考對(duì)比仿真環(huán)境,RTL和UPF文件夾分別用來(lái)存放設(shè)計(jì)代碼和UPF文件。
    的頭像 發(fā)表于 12-29 11:48 ?726次閱讀
    <b class='flag-5'>低功耗</b>仿真<b class='flag-5'>實(shí)戰(zhàn)</b>

    實(shí)戰(zhàn)經(jīng)驗(yàn) | 如何在用戶應(yīng)用中開啟 LoRa CAD

    STM32WL LoRa 發(fā)送數(shù)據(jù),或做相應(yīng)的操作。為了降低功耗,STM32WL不能一直處于接收狀態(tài),這樣功耗會(huì)很高。我們可以開啟 LoRa CAD(信道活動(dòng)檢測(cè))功能,STM32WL 通過(guò)開啟 CAD 功能,檢測(cè)前導(dǎo)碼的前 1/
    的頭像 發(fā)表于 12-26 17:45 ?1278次閱讀
    <b class='flag-5'>實(shí)戰(zhàn)經(jīng)驗(yàn)</b> | 如何在用戶應(yīng)用中開啟 LoRa CAD

    實(shí)戰(zhàn)經(jīng)驗(yàn) | 如何選擇 S2-LP 的外部晶體

    關(guān)鍵詞:晶體, TCXO 目錄預(yù)覽 1、前言 2、S2-LP 外部晶體的選擇問(wèn)題分析 3、頻偏的測(cè)試及調(diào)試 4、小結(jié) 01 前言 鑒于經(jīng)常有基于 S2-LP 的客戶對(duì)如何選擇外部晶體,如何選擇外部
    的頭像 發(fā)表于 12-22 13:25 ?460次閱讀
    <b class='flag-5'>實(shí)戰(zhàn)經(jīng)驗(yàn)</b> | 如何選擇 <b class='flag-5'>S2-LP</b> 的外部晶體

    PY32L020單片機(jī),超低功耗,多種低功耗模式,休眠電流最低0.7uA

    最高48MHz。芯片有TSSOP20, QFN20兩種封裝類型。PY32L020 單片機(jī)集成I2C、SPI、USART 等通訊外設(shè),1 路 12bit ADC,2 個(gè) 16bit 定時(shí)器,一個(gè)
    發(fā)表于 12-20 16:02

    實(shí)戰(zhàn)經(jīng)驗(yàn) | STM32G474 中 Triggered-half 模式的實(shí)現(xiàn)

    關(guān)鍵詞:Triggered-half,Interleave 目錄預(yù)覽 1、引言 2、Triggered-half 模式介紹 3、應(yīng)用實(shí)例 4、小結(jié) 01 引言 STM32 G474 中包含了針對(duì)
    的頭像 發(fā)表于 12-11 18:15 ?1510次閱讀
    <b class='flag-5'>實(shí)戰(zhàn)經(jīng)驗(yàn)</b> | STM32G474 中 Triggered-half <b class='flag-5'>模式</b>的實(shí)現(xiàn)

    詳解STM32低功耗模式

    本文討論下STM32低功耗模式,先看如下手冊(cè)。
    的頭像 發(fā)表于 11-08 12:18 ?1907次閱讀