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

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

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

二代LoRa模組CAD檢測(cè)常見(jiàn)異常處理

利爾達(dá)科技集團(tuán) ? 2024-11-15 01:03 ? 次閱讀

在使用LoRa模組的過(guò)程中,對(duì)于依賴電池供電的設(shè)備而言,載波活動(dòng)檢測(cè)(CAD)是極為重要的。然而,在實(shí)際應(yīng)用CAD檢測(cè)時(shí),用戶可能會(huì)遭遇若干典型的問(wèn)題。本文旨在對(duì)這些問(wèn)題進(jìn)行詳細(xì)解析,以期幫助模組用戶更加高效且準(zhǔn)確地運(yùn)用CAD檢測(cè)功能。

過(guò)程

01

喚醒包

喚醒包就是一個(gè)數(shù)據(jù)包,只是和普通的數(shù)據(jù)包有些差異。

如下是一個(gè)普通數(shù)據(jù)包的配置:

G_LoRaConfig.PreambleLength = 0x0008; //前導(dǎo)碼長(zhǎng)度
G_LoRaConfig.PayloadLength = 190; //數(shù)據(jù)包長(zhǎng)度

即該普通數(shù)據(jù)包的前導(dǎo)碼長(zhǎng)度為8,數(shù)包長(zhǎng)度為190。
把這個(gè)普通數(shù)據(jù)包的配置改一下,如下:

G_LoRaConfig.PreambleLength = 0x00FF; //前導(dǎo)碼長(zhǎng)度
G_LoRaConfig.PayloadLength = 4; //數(shù)據(jù)包長(zhǎng)度

即該普通數(shù)據(jù)包的前導(dǎo)碼長(zhǎng)度為255,數(shù)包長(zhǎng)度為4。這也是一個(gè)數(shù)據(jù)包,但是這個(gè)數(shù)據(jù)包就可以作為喚醒包了。

所以需要知道喚醒包就是一個(gè)數(shù)據(jù)包,只是和常規(guī)的數(shù)據(jù)包的差別是喚醒包的前導(dǎo)碼長(zhǎng)度很長(zhǎng)有效數(shù)據(jù)負(fù)載部分很短,而普通數(shù)據(jù)包的前導(dǎo)碼長(zhǎng)度很短有效數(shù)據(jù)負(fù)載部分可以長(zhǎng)些也可以短些。

02

接收端CAD檢測(cè)時(shí)檢測(cè)的不只是前導(dǎo)碼

接收端CAD檢測(cè)時(shí)檢測(cè)的是LoRa信號(hào),而不是只檢測(cè)前導(dǎo)碼。

先看發(fā)送端的數(shù)據(jù)包配置:

G_LoRaConfig.PreambleLength = 0x0008; //前導(dǎo)碼長(zhǎng)度

G_LoRaConfig.PayloadLength = 190; //數(shù)據(jù)包長(zhǎng)度

發(fā)送的是一個(gè)普通數(shù)據(jù)包。

前導(dǎo)碼長(zhǎng)度為8,數(shù)據(jù)負(fù)載長(zhǎng)度為190,每1.35秒發(fā)射一次(MX_TIM3_Init_Ms(1350);//定時(shí)器初始化)

電流波形如下:

6e7ed2ca-a2aa-11ef-8084-92fbcf53809c.png6e9b4784-a2aa-11ef-8084-92fbcf53809c.png

可見(jiàn):數(shù)據(jù)包占用時(shí)長(zhǎng)約1300秒,中間空余時(shí)間約50ms。

然后再看在發(fā)送端沒(méi)有開(kāi)啟時(shí)接收端的CAD檢測(cè)的配置:每給檢測(cè)周期大概155ms,每個(gè)周期中睡眠時(shí)間大概100ms,檢測(cè)窗口大概35ms。

6ea22bc6-a2aa-11ef-8084-92fbcf53809c.png6eb9626e-a2aa-11ef-8084-92fbcf53809c.png6ece6074-a2aa-11ef-8084-92fbcf53809c.png

然后把發(fā)送端上電,在看接收端,給檢測(cè)周期大概155ms,每個(gè)周期中睡眠時(shí)間大概100ms,檢測(cè)窗口大概35ms,和沒(méi)啟動(dòng)發(fā)送端時(shí)基本相同。

6ed64348-a2aa-11ef-8084-92fbcf53809c.png6eefca16-a2aa-11ef-8084-92fbcf53809c.png6f051fc4-a2aa-11ef-8084-92fbcf53809c.png

按照如如上測(cè)試結(jié)果,如果接收端CAD檢測(cè)時(shí)只檢測(cè)的是前導(dǎo)碼,則CAD每次檢測(cè)中CADDONE和CADACTIVITY的比值將遠(yuǎn)遠(yuǎn)大于1(比如50:1),如果CAD檢測(cè)時(shí)檢測(cè)的是LoRa信號(hào),則CADDONE和CADACTIVITY的比值將非常接近大1(比如50:49),實(shí)測(cè)時(shí)如下圖(141:140),非常接近于1。所以這就可以回答使用者的一個(gè)疑問(wèn),就是CAD檢測(cè)時(shí)檢測(cè)的確實(shí)時(shí)LoRa信號(hào),而不是只檢測(cè)前導(dǎo)碼。

6f130b70-a2aa-11ef-8084-92fbcf53809c.jpg

03

CADDONE和CADACTIVITY的觸發(fā)關(guān)系

每次啟動(dòng)CAD檢測(cè)后,CADDONE中斷一定會(huì)觸發(fā),該中斷表示CAD檢測(cè)完畢了,但是是否檢測(cè)到了LoRa信號(hào)無(wú)法確定。

是否檢測(cè)到了LoRa信號(hào)了還要看CADACTIVITY是否被觸發(fā)了,如果CADACTIVITY也被觸發(fā)了,才說(shuō)明確實(shí)檢測(cè)到了LoRa信號(hào)。

就是說(shuō)CADDONE中斷產(chǎn)生了CADACTIVITY中斷未必產(chǎn)生,但是我們的例程中如果CADACTIVITY中斷產(chǎn)生了則CADDONE中斷一定會(huì)產(chǎn)生。

這里只需要看下如下了一個(gè)有問(wèn)題大代碼,就清楚了,如下是應(yīng)用中的一個(gè)錯(cuò)誤。

6f3a9b5e-a2aa-11ef-8084-92fbcf53809c.png

如上這段代碼跑起來(lái)的話,會(huì)有一個(gè)現(xiàn)象:每次啟動(dòng)CAD檢測(cè)后,CADDONE中斷總能檢測(cè)到,但是CADACTIVITY中斷永遠(yuǎn)檢測(cè)不到。

這里錯(cuò)誤的原因是使用的是使用了如下邏輯:

if( xxxx)

{xxxx}

else if(判斷CADDONE)

{xxxx}

else if(判斷CADACTIVITY)

{xxxx}

如上邏輯錯(cuò)誤的地方就是沒(méi)有理解清楚如上說(shuō)的CADDONE和CADACTIVITY的觸發(fā)關(guān)系。

正確的邏輯應(yīng)該是:

if( xxxx)

{xxxx}

if(判斷CADDONE)

{

if(判斷CADACTIVITY)

{xxxx}

}

04

CADACTIVITY誤檢測(cè)

實(shí)際使用中,常常會(huì)發(fā)現(xiàn)主機(jī)端沒(méi)有上電或者沒(méi)有發(fā)送喚醒包,但是從機(jī)端依然會(huì)觸發(fā)CADACTIVITY標(biāo)志。

這種現(xiàn)象常常被稱作誤檢測(cè)。

例如用我司的實(shí)例代碼的配置直接測(cè)試如上代碼,并且關(guān)閉發(fā)送端,此時(shí)誤檢測(cè)率達(dá)到20%(如下圖41:202)

6f59d17c-a2aa-11ef-8084-92fbcf53809c.png

改善誤檢測(cè)的方法主要有如下:

(1)換個(gè)頻點(diǎn)

(2)改變參數(shù)配置中的極性參數(shù):

G_LoRaConfig.InvertIQ = LORA_IQ_NORMAL; //IQ信號(hào)格式,

LORA_IQ_NORMAL:標(biāo)準(zhǔn)模式,

LORA_IQ_INVERTED:反轉(zhuǎn)模式;

(3)改用等效波特率更高的參數(shù)配置

(4)最顯著的是改變CAD檢測(cè)的符號(hào)個(gè)數(shù)

6f699d50-a2aa-11ef-8084-92fbcf53809c.png

比如如上測(cè)到的誤檢測(cè)率達(dá)到20%(如下圖41:202)就是在該值使用2時(shí)的結(jié)果,該值越大越不容易產(chǎn)生誤檢測(cè)。

如下把改制改成8。

6f8c1da8-a2aa-11ef-8084-92fbcf53809c.png

再做如上測(cè)試的結(jié)果如下:

6faf5a48-a2aa-11ef-8084-92fbcf53809c.png

誤檢測(cè)率降低為0.43%(2:462)。需要說(shuō)明的是該值用的的比較小的話(比如使用1或者2等),想把誤檢測(cè)率降低到1%以下是不太現(xiàn)實(shí)的。

該值使用比較大的值的話可以降低誤檢測(cè)率,但是檢測(cè)窗口時(shí)間長(zhǎng)度就會(huì)加大。所以這里只能平衡的考慮選用那個(gè)值。

05

喚醒包和常規(guī)數(shù)據(jù)包的切換

6fb9d054-a2aa-11ef-8084-92fbcf53809c.png

結(jié)論

1、喚醒包就是比較特殊的數(shù)據(jù)包。
2、接收端CAD檢測(cè)時(shí)檢測(cè)的是LoRa信號(hào),而不是只檢測(cè)前導(dǎo)碼。
3、CADDONE中斷產(chǎn)生了CADACTIVITY中斷未必產(chǎn)生,但是我們的例程中如果CADACTIVITY中斷產(chǎn)生了則CADDONE中斷一定會(huì)產(chǎn)生。
4、處理CADDONE中斷和CADACTIVITY中斷的軟件邏輯注意不要錯(cuò)誤。

5、CADACTIVITY誤檢測(cè)要想明顯降低需要CAD檢測(cè)窗口時(shí)間長(zhǎ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)投訴
  • 檢測(cè)
    +關(guān)注

    關(guān)注

    5

    文章

    4503

    瀏覽量

    91590
  • CAD
    CAD
    +關(guān)注

    關(guān)注

    17

    文章

    1093

    瀏覽量

    72618
  • LoRa
    +關(guān)注

    關(guān)注

    349

    文章

    1695

    瀏覽量

    232095
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    Windows端USB讀二代身份證C#樣例程序

    本開(kāi)發(fā)包支持USB免驅(qū)型、串口型這2種類型的讀卡器,支持讀取二代居民身份證、M1和CPU卡等。提供動(dòng)態(tài)連接庫(kù)dll,提供C++(MFC)和C#下的演示程序執(zhí)行文件和示例源碼。動(dòng)態(tài)庫(kù)文件說(shuō)明
    發(fā)表于 12-21 14:47

    網(wǎng)上關(guān)于Nexus7第二代的評(píng)測(cè)

    ,并非是MI 2S上使用的驍龍 600 MSM8064T)是Nexus 7 二代所使用的處理器型號(hào),采用28nm制造工藝、四核Cortex-A9+單核Adreno 320的組合,最高主頻為1.5GHz
    發(fā)表于 08-12 17:22

    剛?cè)胧值腗arshall 馬歇爾 Major II 二代xiuxiuxiu~

    前幾天剛?cè)胧至薓arshall Major二代 心情是無(wú)比的激動(dòng)有沒(méi)有作為一個(gè)首次購(gòu)買馬歇爾耳機(jī)還歷經(jīng)了JD全球購(gòu)九九八十一難歷時(shí)大概十天左右現(xiàn)在終于已經(jīng)到手的新人 現(xiàn)在只想安安靜靜的得瑟一下 表示
    發(fā)表于 09-13 16:34

    中國(guó)第二代導(dǎo)航衛(wèi)星系統(tǒng)發(fā)展到了什么程度?

    二代導(dǎo)航衛(wèi)星系統(tǒng)與第一導(dǎo)航衛(wèi)星系統(tǒng)在體制上的差別主要是:第二代用戶機(jī)可免發(fā)上行信號(hào),不再依靠中心站電子高程圖處理或由用戶提供高程信息,而是直接接收衛(wèi)星單程測(cè)距信號(hào)自己定位,系統(tǒng)的用
    發(fā)表于 08-14 07:06

    天琴二代芯片用在哪里

    `  誰(shuí)知道天琴二代芯片用在哪里?`
    發(fā)表于 08-28 15:54

    CAD入門學(xué)習(xí)之如何處理異常文件?

    在使用浩辰CAD制圖軟件查看別人發(fā)來(lái)的CAD圖紙文件的時(shí)候,當(dāng)遇到文件異常的狀況時(shí)該怎么處理呢?接下來(lái)就給大家分享一下浩辰CAD入門學(xué)習(xí)之
    發(fā)表于 10-21 15:24

    FLIR第二代熱像儀ADK有哪些特點(diǎn)?

    FLIR第二代熱像儀ADK有哪些特點(diǎn)?FLIR第二代熱像儀ADK有哪些功能?
    發(fā)表于 07-11 07:27

    二代示波器功能的擴(kuò)展和改進(jìn)

    第17章 附件B---功能擴(kuò)展和改進(jìn)方向雖然二代示波器實(shí)現(xiàn)了很多功能,但是當(dāng)前依然有很多功能可以擴(kuò)展和改進(jìn),下面為大家提供一些方向。1、外接ADC,DAC模塊進(jìn)行支持,比如AD7606...
    發(fā)表于 08-06 06:58

    迅馳二代技術(shù)

    迅馳二代技術(shù) 迅馳二代:全新英特爾迅馳移動(dòng)計(jì)算技術(shù)平臺(tái)(代號(hào)為Sonoma),該平
    發(fā)表于 12-18 10:14 ?661次閱讀

    iPhone SE二代眾多消息流出 采用玻璃后蓋 支持無(wú)線充電

    近日,iPhone SE二代消息頻出, 包括最終命名、CAD圖以及殼廠渲染圖悉數(shù)流出 。
    發(fā)表于 05-20 09:00 ?5822次閱讀

    AMD第二代Ryzen Threadripper處理器即將開(kāi)售,一將降價(jià)

    AMD的第二代Ryzen Threadripper處理器將在Q3季度正式發(fā)售,12nm Zen+核心,同時(shí)最多32核心64線程,二代Threadripper預(yù)計(jì)很快會(huì)成為高端玩家的新寵。這樣一來(lái)
    發(fā)表于 07-01 11:26 ?1188次閱讀

    AMD二代Threadripper處理器新包裝曝光,比起上一更加酷炫!

    AMD的二代Threadripper處理器已經(jīng)發(fā)布了,不過(guò)現(xiàn)在還沒(méi)正式解禁,預(yù)計(jì)8月13日才會(huì)上市。2018年的二代Threadripper處理器迎來(lái)了一次大升級(jí),制程工藝升級(jí)到了12
    發(fā)表于 08-03 11:34 ?954次閱讀

    利爾達(dá)科技集團(tuán)最新推出了“R”系列Lite版LoRa模組

    2020 年 1 月,LoRa 聯(lián)盟成員超 500 個(gè),連接節(jié)點(diǎn)超 1.45 億,從事 LoRa 產(chǎn)品開(kāi)發(fā)的公司數(shù)量仍在迅速增長(zhǎng)。?? 日前,利爾達(dá)科技集團(tuán)推出了“R”系列 Lite版 LoRa
    發(fā)表于 04-28 11:45 ?1496次閱讀

    利爾達(dá)第二代LoRaWAN節(jié)點(diǎn)模組如何應(yīng)用?答案在這里!

    最權(quán)威的國(guó)際組織的認(rèn)可,使得其國(guó)際化影響力得到進(jìn)一步提升。近日,利爾達(dá)正式推出第二代LoRaWAN節(jié)點(diǎn)模組,主打更小尺寸、更低功耗、更低成本,幫助客戶快速接入LoRa
    的頭像 發(fā)表于 10-18 09:43 ?650次閱讀
    利爾達(dá)第<b class='flag-5'>二代</b>LoRaWAN節(jié)點(diǎn)<b class='flag-5'>模組</b>如何應(yīng)用?答案在這里!

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

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