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

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

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

Sub-1G系列產(chǎn)品CW32W031單片機(jī)CAD應(yīng)用參考

武漢芯源半導(dǎo)體有限公司 ? 2023-09-13 09:42 ? 次閱讀

一、功能介紹

CW32W031 的射頻部分支持 CAD 中斷。從 Deepsleep 進(jìn)入 STB3,開(kāi)啟 CAD 功能并進(jìn)入 RX 模式后, CW32W031 會(huì)檢測(cè)信道中是否會(huì)有 ChirpIOT ?信號(hào) , 如果存在將 CAD-IRQ 置高,MCU 內(nèi)核可以通過(guò)一定的時(shí)間來(lái)檢測(cè) CAD-IRQ 信號(hào)是否拉高來(lái)判斷信道中是否存在 ChirpIOT ?信號(hào)。

用戶可通過(guò) GPIO11 端口檢測(cè) CAD-IRQ 信號(hào),信號(hào)檢測(cè)流程如下:

?圖:信道活躍檢測(cè)(CAD)

wKgaomUBEjCADwSYAADKwKu7wF0122.jpg

注:CW32W031 的 RF 部分有多種中斷源,MCU 超時(shí)設(shè)置是在等待中斷的產(chǎn)生,然后判斷中斷是否為 CAD 中斷,從而執(zhí)行不同的命令。

二、軟件設(shè)計(jì)參考

2.1 軟件設(shè)計(jì)流程

1. 芯片初始化;

2. 配置 CAD 初始化;

3. 芯片進(jìn)入接收模式;

4. 觀察 CAD-IRQ 信號(hào)。

2.2 軟件設(shè)計(jì)驗(yàn)證

2.2.1 驗(yàn)證步驟

1. 發(fā)送模組周期性發(fā)送數(shù)據(jù)包;

2. 接收模組配置為接收模式;

3. 使用邏輯分析儀抓取接收端 CAD-IRQ 信號(hào)。

2.2.2 SDK 示例

參考代碼

ret = rf_init();

if(ret != OK)

{

dis_err(" RF Init Fail");

while(1);

}

rf_set_default_para();

rf_set_cad();

rf_enter_continous_rx();

while (1)// 等待邏輯分析儀檢測(cè) CAD-IRQ 信號(hào)

{

rf_irq_process();

}?

示例代碼配置了 CAD 初始化,配置 GPIO11 作為 CAD 檢測(cè) IO 口,隨后進(jìn)入接收模式。

發(fā)送模組周期性發(fā)送數(shù)據(jù)包(數(shù)據(jù)包 preamble+payload 的持續(xù)時(shí)間約 20.5ms),用邏輯分析儀抓取接收

模組 GPIO11 波形,觀察檢測(cè)結(jié)果。

2.2.3 驗(yàn)證結(jié)果

邏輯分析儀抓取結(jié)果如下圖所示:

圖:邏輯分析儀抓取結(jié)果(CAD)

wKgZomUBEjCAQeCdAAFB-ayVNI0136.jpg

根據(jù)結(jié)果顯示,當(dāng)發(fā)送模組發(fā)送數(shù)據(jù)包時(shí),接收模組發(fā)生了 CAD-IRQ,CAD 檢測(cè)引腳 GPIO11 被拉高約 20.5ms,維持一個(gè)完整 ChirpIOT ?數(shù)據(jù)包的時(shí)間長(zhǎng)度。

三、注意事項(xiàng)

3.1 關(guān)于 CAD 影響芯片的接收靈敏度

CAD 功能初始化時(shí),修改了芯片的接收閾值,設(shè)置不同的接收閾值,會(huì)影響芯片的接收靈敏度,并可能存在CAD 誤觸發(fā)的情況。

uint32_t PAN3028_cad_en(void)

{

PAN3028_set_gpio_output(MODULE_GPIO_CAD_IRQ);

If(PAN3028_write_spec_page_reg(PAGE1_SEL,0x0f,0x10)!=OK)

{

return FAIL;

}

return OK;

}

接收閾值的設(shè)置,需修改 PAN3028_cad_en() 函數(shù)中的寄存器配置,默認(rèn)值為 0x10,修改接收閾值對(duì)接收靈

敏度及誤觸發(fā)概率的影響如下(實(shí)驗(yàn)數(shù)據(jù)在屏蔽放環(huán)境下測(cè)試):

wKgaomUBEjCATjNZAADGej8S8c0997.jpg

用戶在使用 CAD 功能時(shí),需根據(jù)應(yīng)用場(chǎng)景選擇修改 PAN3028_cad_en() 函數(shù)中的寄存器值(PAGE1_SEL,0x0f, 默認(rèn)值為 0x10),在使用完 CAD 功能后,建議調(diào)用 rf_set_cad_off() 函數(shù),rf_set_cad_off() 函數(shù)可以關(guān)閉 CAD 功能并將接收閾值恢復(fù)。

3.2 關(guān)于 SDK 及演示系統(tǒng)板

SDK 中提供了 CAD 功能所需的函數(shù)接口,CAD-IRQ 被觸發(fā)時(shí),檢測(cè)引腳 GPIO11 會(huì)被拉高。演示系統(tǒng)板將GPIO11 連接到了 PB07, 具體信息可前往官網(wǎng)查看 CW32W031 的開(kāi)發(fā)板原理圖。

3.3 關(guān)于 CAD 使用方法

CW32W031 的射頻部分可以對(duì) preamble 和 payload 進(jìn)行 CAD 檢測(cè)。

3.3.1 對(duì) preamble 檢查方式

當(dāng)完整的 preamble+payload 信號(hào)到來(lái)時(shí),用戶可以在接收端通過(guò) GPIO 口讀取到 CAD-IRQ 信號(hào),CAD 檢測(cè)引腳 GPIO11被拉高,拉高時(shí)間為 preamble+payload的持續(xù)時(shí)間。此時(shí),接收端可以產(chǎn)生正確的 rxdone結(jié)果。

圖:邏輯分析儀抓取結(jié)果(完整 CAD)

wKgaomUBEjCAXJBmAAE9Mfl0y4o741.jpg


當(dāng)不完整的 preamble+payload 信號(hào)到來(lái)時(shí)(發(fā)射端先進(jìn)行數(shù)據(jù)發(fā)送,隨后接收端在 preamble 時(shí)間段內(nèi)打開(kāi)了 CAD 檢測(cè)),此時(shí),用戶可以在接收端通過(guò) GPIO 口讀取到 CAD-IRQ 信號(hào),CAD 檢測(cè)引腳 GPIO11 的變化有兩種情況:

1.preamble(部分)內(nèi)含有較完整信息,GPIO11 會(huì)被拉高 preamble(部分)+payload 的持續(xù)時(shí)間。此時(shí),接收端可以產(chǎn)生正確的 rxdone 結(jié)果。

圖:邏輯分析儀抓取結(jié)果(較完整 preamble)

wKgZomUBEjCAE54PAAEAQRhPI98016.jpg

2.preamble(部分)內(nèi)未含有完整信息,GPIO11 會(huì)呈現(xiàn)不規(guī)則高 - 低 - 高 - 低變換的現(xiàn)象。此時(shí),接收端不會(huì)產(chǎn)生正確的接收結(jié)果。

圖:邏輯分析儀抓取結(jié)果(不完整 preamble)

wKgZomUBEjCAEeVvAAFH5hAr5-I407.jpg

3.3.2 對(duì) payload 檢查方式

當(dāng)只有 payload 信號(hào)到來(lái)時(shí)(發(fā)射端先進(jìn)行數(shù)據(jù)發(fā)射,隨后接收端在 payload 時(shí)間段內(nèi)打開(kāi)了 CAD 檢測(cè)),此時(shí),由于 RX-CAD 檢測(cè)不到 preamble,CAD-IRQ 會(huì)呈現(xiàn)不規(guī)則高 - 低 - 高 - 低變換的現(xiàn)象。此時(shí),接收端不會(huì)產(chǎn)生正確的接收結(jié)果。

圖:邏輯分析儀抓取結(jié)果(只含 payload)

wKgZomUBEjCAc0XdAAFObCv7sMo108.jpg

3.3.3 軟件應(yīng)用參考

當(dāng)設(shè)置的 CAD 誤觸發(fā)概率較少,或存在少量誤觸發(fā)率但不影響軟件應(yīng)用時(shí),可以通過(guò)檢測(cè) CAD-IRQ,GPIO11 上升沿來(lái)判斷 CAD 觸發(fā),可以認(rèn)為只要收到上升沿就是收到了 payload 信號(hào)(建議使用這種方法的接收閾值設(shè)為 0x15~0x20)。

當(dāng)設(shè)置的 CAD 誤觸發(fā)概率較高時(shí),需要結(jié)合 CAD 檢測(cè)時(shí)間用軟件方法來(lái)判斷 payload 信號(hào),CAD 檢測(cè)的時(shí)間以單個(gè) chirp 持續(xù)時(shí)間作為單位計(jì)算。單個(gè) chirp 持續(xù)時(shí)間為 2SF/BW(SF 為擴(kuò)頻因子,BW 為帶寬,BW單位為 Hz,時(shí)間單位為秒)。使用時(shí),建議將檢測(cè)時(shí)間窗口設(shè)置為 3 個(gè) chirp 持續(xù)時(shí)間為佳。用戶可以分別在 3 個(gè) chirp 對(duì)應(yīng)的位置檢測(cè) CAD 信號(hào),如果同時(shí)檢測(cè)到 CAD 信號(hào)(GPIO11 高電平),則可以認(rèn)為有信號(hào)存在。同時(shí),軟件設(shè)計(jì)需要參考 3.3.1 對(duì) preamble 檢查方式和 3.3.2 對(duì) payload 檢查方式,進(jìn)行靈活調(diào)整。

在打開(kāi) CAD 接收后,如果當(dāng)前空中存在信號(hào),那么芯片需要至少 2 個(gè) chirp 持續(xù)時(shí)間的檢測(cè),GPIO11 才能首次對(duì)外輸出高電平。一個(gè)典型的應(yīng)用方法為:

1.計(jì)算 one_chirp_time = 2SF/BW;

2.配置需要檢測(cè)的信道,rf_set_cad(),enter_rx;

3.檢測(cè) check_cad_inactive(),判斷是否檢測(cè)到 CAD 信號(hào)(下面的例程檢測(cè)了三次,適用于誤觸發(fā)較多的情況)。

uint32_t check_cad_inactive(void)

{

delay10us(one_chirp_time*2/10);

if(GPIO_ReadPin(CW_GPIOB, GPIO_PIN_7) != 1)

{

return LEVEL_INACTIVE;// 沒(méi)有 cad

}

delay10us(one_chirp_time/10);

if(GPIO_ReadPin(CW_GPIOB, GPIO_PIN_7) != 1)

{

return LEVEL_INACTIVE;

}

delay10us(one_chirp_time/10);

if(GPIO_ReadPin(CW_GPIOB, GPIO_PIN_7) != 1)

{

return LEVEL_INACTIVE;

}

return LEVEL_ACTIVE;// 有 cad

}

如果誤觸發(fā)較少,或存在少量誤觸發(fā)但不影響軟件應(yīng)用時(shí),可以將檢測(cè)次數(shù)減少為一次(例程如下),或者通過(guò) GPIO11 上升沿作為判斷依據(jù)。

uint32_t check_cad_inactive(void)

{

delay10us(one_chirp_time*2/10);

If(GPIO_ReadPin(CW_GPIOB, GPIO_PIN_7) != 1)

{

return LEVEL_INACTIVE;// 沒(méi)有 cad

}

return LEVEL_ACTIVE;// 有 cad

}

聲明:本文內(nèi)容及配圖由入駐作者撰寫(xiě)或者入駐合作網(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

    文章

    44459

    瀏覽量

    631159
  • mcu
    mcu
    +關(guān)注

    關(guān)注

    146

    文章

    16813

    瀏覽量

    349459
  • 射頻
    +關(guān)注

    關(guān)注

    104

    文章

    5521

    瀏覽量

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

    關(guān)注

    17

    文章

    1069

    瀏覽量

    72229
  • CW32
    +關(guān)注

    關(guān)注

    1

    文章

    173

    瀏覽量

    528
  • CW32W031
    +關(guān)注

    關(guān)注

    0

    文章

    5

    瀏覽量

    72
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    生產(chǎn)單片機(jī)的公司有哪些?

    市場(chǎng)上占據(jù)了一席之地。以下是十家生產(chǎn)單片機(jī)的中國(guó)公司及其產(chǎn)品系列的簡(jiǎn)要介紹。 1. 兆易創(chuàng)新 公司簡(jiǎn)介:兆易創(chuàng)新成立于2005年,是中國(guó)領(lǐng)先的半導(dǎo)體存儲(chǔ)及MCU芯片設(shè)計(jì)企業(yè)。公司專注于存儲(chǔ)器、MCU
    發(fā)表于 09-27 10:38

    提高M(jìn)SP430G系列單片機(jī)的Flash擦寫(xiě)壽命的方法

    電子發(fā)燒友網(wǎng)站提供《提高M(jìn)SP430G系列單片機(jī)的Flash擦寫(xiě)壽命的方法.pdf》資料免費(fèi)下載
    發(fā)表于 08-28 11:51 ?0次下載
    提高M(jìn)SP430<b class='flag-5'>G</b><b class='flag-5'>系列</b><b class='flag-5'>單片機(jī)</b>的Flash擦寫(xiě)壽命的方法

    CC13xx Sub-1G接收機(jī)靈敏度性能的實(shí)用評(píng)估及優(yōu)化方法

    電子發(fā)燒友網(wǎng)站提供《CC13xx Sub-1G接收機(jī)靈敏度性能的實(shí)用評(píng)估及優(yōu)化方法.pdf》資料免費(fèi)下載
    發(fā)表于 08-27 09:59 ?0次下載
    CC13xx <b class='flag-5'>Sub-1G</b>接收機(jī)靈敏度性能的實(shí)用評(píng)估及優(yōu)化方法

    單片機(jī)定時(shí)器的用法

    本章以CW32通用定時(shí)器為例介紹單片機(jī)定時(shí)器的用法。
    的頭像 發(fā)表于 01-04 10:37 ?1264次閱讀
    <b class='flag-5'>單片機(jī)</b>定時(shí)器的用法

    基于CW32W031射頻芯片的AT指令無(wú)線串口模塊

    1.模塊介紹 1.1實(shí)物圖片 外接天線 模塊正面 1.2模塊概述 該模塊是基于武漢芯源半導(dǎo)體 CW32W031 射頻芯片研發(fā)的AT 指令無(wú)線串口模塊??墒褂么谶M(jìn)行數(shù)據(jù)收發(fā),降低無(wú)線應(yīng)用門(mén)檻;可配
    的頭像 發(fā)表于 12-28 11:57 ?1469次閱讀
    基于<b class='flag-5'>CW32W031</b>射頻芯片的AT指令無(wú)線串口模塊

    單片機(jī)解析g代碼的方法

    單片機(jī)是一種完整的計(jì)算機(jī)系統(tǒng),它集成了處理器、存儲(chǔ)器、輸入輸出接口等基本的計(jì)算機(jī)組成部分。單片機(jī)應(yīng)用廣泛,可以用于控制各種電子設(shè)備。在單片機(jī)中,G代碼是一種常用的數(shù)控編程語(yǔ)言,用于控制
    的頭像 發(fā)表于 12-22 14:15 ?1468次閱讀

    CW32單片機(jī)在智能馬桶的應(yīng)用介紹

    和調(diào)節(jié)。本文將介紹CW32單片機(jī)在智能馬桶的詳細(xì)應(yīng)用。圖:CW32的智能馬桶控制板CW32單片機(jī)在智能馬桶的應(yīng)用介紹
    的頭像 發(fā)表于 12-20 10:09 ?538次閱讀
    <b class='flag-5'>CW</b>32<b class='flag-5'>單片機(jī)</b>在智能馬桶的應(yīng)用介紹

    CW32單片機(jī)在智能馬桶的應(yīng)用介紹

    和調(diào)節(jié)。本文將介紹CW32單片機(jī)在智能馬桶的詳細(xì)應(yīng)用。 圖:CW32的智能馬桶控制板 CW32單片機(jī)在智能馬桶的應(yīng)用介紹
    發(fā)表于 12-20 10:06

    CW32單片機(jī)在智能馬桶的應(yīng)用介紹

    智能科技的迅速發(fā)展使得我們的日常生活變得更加便捷和舒適。智能馬桶作為其中一種智能家居產(chǎn)品,通過(guò)單片機(jī)接受和處理來(lái)自傳感器的數(shù)據(jù),然后通過(guò)控制模塊對(duì)智能馬桶的各項(xiàng)功能進(jìn)行控制,實(shí)現(xiàn)對(duì)智能馬桶的全面控制和調(diào)節(jié)。本文將介紹CW32
    的頭像 發(fā)表于 12-20 10:02 ?672次閱讀
    <b class='flag-5'>CW</b>32<b class='flag-5'>單片機(jī)</b>在智能馬桶的應(yīng)用介紹

    STC32G系列單片機(jī)參考手冊(cè)

    電子發(fā)燒友網(wǎng)站提供《STC32G系列單片機(jī)參考手冊(cè).pdf》資料免費(fèi)下載
    發(fā)表于 11-10 17:24 ?25次下載

    武漢芯源半導(dǎo)體CW32系列芯片一文徹底搞定

    武漢芯源半導(dǎo)體在MCU領(lǐng)域目前已推出通用高性能CW32F003/030系列、無(wú)線射頻CW32R031/W031系列以及安全低功耗
    發(fā)表于 11-09 19:03
    武漢芯源半導(dǎo)體<b class='flag-5'>CW</b>32<b class='flag-5'>系列</b>芯片一文徹底搞定

    CW32單片機(jī)I2C接口讀寫(xiě)EEPROM芯片介紹

    CW32單片機(jī)I2C接口讀寫(xiě)EEPROM芯片介紹
    的頭像 發(fā)表于 11-09 17:42 ?953次閱讀
    <b class='flag-5'>CW</b>32<b class='flag-5'>單片機(jī)</b>I2C接口讀寫(xiě)EEPROM芯片介紹

    CW32W031芯片功能介紹及注意事項(xiàng)

    CW32W031 芯片為實(shí)現(xiàn)輕量化網(wǎng)關(guān)設(shè)備,提供智能搜索功能。可實(shí)現(xiàn)在接收時(shí)智能化識(shí)別信道中的 SF 參數(shù),達(dá)到接收不同 SF 信號(hào)數(shù)據(jù)的目的。
    的頭像 發(fā)表于 11-09 14:35 ?663次閱讀

    使用CW32單片機(jī)通過(guò)ESP8266連接OneNET物聯(lián)網(wǎng)平臺(tái)

    這期視頻向大家介紹如何使用CW32單片機(jī)通過(guò)ESP8266連接OneNET物聯(lián)網(wǎng)平臺(tái),發(fā)送溫濕度數(shù)據(jù)到平臺(tái),并接受平臺(tái)的云控制。
    的頭像 發(fā)表于 11-09 14:32 ?1325次閱讀

    射頻MCU CW32W031提前中斷應(yīng)用功能介紹

    CW32W031 提前中斷功能是在芯片讀取一幀數(shù)據(jù)的過(guò)程中,查看已經(jīng)解出來(lái)的數(shù)據(jù),判斷是不是自己想要的,再?zèng)Q定繼續(xù)讀取還是放棄這幀數(shù)據(jù)。
    的頭像 發(fā)表于 11-02 11:42 ?512次閱讀
    射頻MCU <b class='flag-5'>CW32W031</b>提前中斷應(yīng)用功能介紹