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

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

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

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

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

引言


某些客戶(hù)在其 S2LP 的設(shè)計(jì)方案中,發(fā)送端設(shè)備常供電,可以不考慮低功耗;而接收端設(shè)備一般用電池功能,對(duì)低功耗的要求比較高。發(fā)送和接收端的通訊是異步的,也就是說(shuō)發(fā)送端在滿(mǎn)足某些檢測(cè)條件的情況下,可以在任意時(shí)刻發(fā)送數(shù)據(jù)包;而要求接收端設(shè)備在滿(mǎn)足其低功耗要求的情況下,及時(shí)接收到數(shù)據(jù)包,保證響應(yīng)的實(shí)時(shí)性。針對(duì)以上的應(yīng)用場(chǎng)景,一般推薦客戶(hù)使用 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é),用戶(hù)數(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)喚醒,并開(kāi)啟一個(gè)非常短的稱(chēng)為 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 秒窗口開(kāi)始邊界后 100ms 的計(jì)時(shí)。具體更改內(nèi)容請(qǐng)參考附件“SDK_Sniff_B.c”


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


在 8 秒窗口開(kāi)始時(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í)間,但在滿(mǎn)足條件的情況下盡量使用小的設(shè)定值,有助于降低功耗。

? 初始化結(jié)束后通過(guò)函數(shù)“S2LPTimerLdcrMode”可以直接打開(kāi)、關(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工作模式(客戶(hù)也可以更改代碼使其在初始化后立刻進(jìn)入低功耗模式)。第二個(gè) 8 秒窗口開(kāi)始后的 100ms 還處于 sniff 工作狀態(tài)。當(dāng)?shù)诙€(gè) 8 秒窗口中的 100ms 接收窗口結(jié)束后,S2LP 進(jìn)入低功耗模式。后續(xù)的 8 秒窗口以此類(lèi)推。從圖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 線(xiàn)連接 PC 段的 GUI 工具(如圖 8) 。按照預(yù)設(shè)場(chǎng)景分別設(shè)定調(diào)制方式為 2-FSK,前導(dǎo)碼,用戶(hù)數(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 模式支持異步通訊模式??蛻?hù)基于自己的應(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í)滿(mǎn)足通訊和低功耗要求

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

聲明:本文內(nèi)容及配圖由入駐作者撰寫(xiě)或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀(guā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)注

    6037

    文章

    44561

    瀏覽量

    635668
  • STM32
    +關(guān)注

    關(guān)注

    2270

    文章

    10901

    瀏覽量

    356233

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

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

收藏 人收藏

    評(píng)論

    相關(guān)推薦

    如何實(shí)現(xiàn)EEPROM的低功耗模式

    內(nèi)容進(jìn)行擦除和重寫(xiě)。在許多應(yīng)用中,尤其是在電池供電的設(shè)備中,低功耗模式對(duì)于延長(zhǎng)設(shè)備的使用壽命至關(guān)重要。以下是實(shí)現(xiàn)EEPROM低功耗模式的一些方法: 1. 選擇合適的EEPROM類(lèi)型 選
    的頭像 發(fā)表于 12-16 16:54 ?326次閱讀

    安富利推出S2-LP低功耗射頻收發(fā)器

    在物聯(lián)網(wǎng)迅速普及的當(dāng)下,對(duì)任何一個(gè)物聯(lián)網(wǎng)系統(tǒng)來(lái)說(shuō),能否做到低功耗和長(zhǎng)距離的穩(wěn)定通信,直接決定了其在未來(lái)應(yīng)用中的潛力。而在這個(gè)領(lǐng)域,一款名為S2-LP的超低功耗射頻收發(fā)器正悄然走紅,它不僅是一次技術(shù)創(chuàng)新,更是在物聯(lián)網(wǎng)生態(tài)中引發(fā)了一
    的頭像 發(fā)表于 11-14 11:51 ?360次閱讀
    安富利推出<b class='flag-5'>S2-LP</b>超<b class='flag-5'>低功耗</b>射頻收發(fā)器

    STM32WB0系列無(wú)線(xiàn)微控制器滿(mǎn)足低功耗藍(lán)牙應(yīng)用需求

    藍(lán)牙技術(shù)作為應(yīng)用最為廣泛的2.4GHz短距離通信技術(shù),對(duì)無(wú)線(xiàn)微控制器芯片的集成度、功耗、性能、安全性等有較高要求。STM32WB0系列,是兼具高性?xún)r(jià)比和低功耗的無(wú)線(xiàn)微控制器,可充分滿(mǎn)足
    的頭像 發(fā)表于 10-12 11:03 ?481次閱讀
    STM32WB0系列無(wú)線(xiàn)微控制器<b class='flag-5'>滿(mǎn)足</b><b class='flag-5'>低功耗</b>藍(lán)牙應(yīng)用需求

    配置直接測(cè)試模式低功耗藍(lán)牙器件應(yīng)用說(shuō)明

    電子發(fā)燒友網(wǎng)站提供《配置直接測(cè)試模式低功耗藍(lán)牙器件應(yīng)用說(shuō)明.pdf》資料免費(fèi)下載
    發(fā)表于 09-13 11:06 ?0次下載
    配置直接測(cè)試<b class='flag-5'>模式</b>的<b class='flag-5'>低功耗</b>藍(lán)牙器件應(yīng)用說(shuō)明

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

    最近,收到客戶(hù)反饋,使用我們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 ?472次閱讀
    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ù)表

    低功耗LCD段筆式液晶顯示驅(qū)動(dòng)芯片VKL092Q簡(jiǎn)介

    最大92點(diǎn)(23SEGx4COM)的 LCD屏。單片機(jī)可通過(guò)I2C接口配置顯示參數(shù)和讀寫(xiě)顯示數(shù)據(jù),可配置4種功耗模式,也可通 過(guò)關(guān)顯示和關(guān)振蕩器進(jìn)入省電模式。其高抗干擾,
    發(fā)表于 07-15 15:51

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

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

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

    電子發(fā)燒友網(wǎng)站提供《LP324、LP2902超低功耗四路運(yùn)算放大器規(guī)格書(shū).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ī)格書(shū)

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

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

    STM8l151低功耗模式喚醒方式如何選擇?

    使用STM8L151G4U6系列,需要用GPIO中斷/RTC時(shí)鐘/串口中斷喚醒,期望功耗在uA級(jí)別,請(qǐng)做過(guò)低功耗的人看看可以采用哪種低功耗模式? 可用的
    發(fā)表于 04-22 06:01

    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

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

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

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

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