一、功能介紹?
CW32W031 的射頻部分支持 CAD 中斷。從 Deepsleep 進入 STB3,開啟 CAD 功能并進入 RX 模式后, CW32W031 會檢測信道中是否會有 ChirpIOT 信號 , 如果存在將 CAD-IRQ 置高,MCU 內核可以通過一定的時間來檢測 CAD-IRQ 信號是否拉高來判斷信道中是否存在 ChirpIOT 信號。
用戶可通過 GPIO11 端口檢測 CAD-IRQ 信號,信號檢測流程如下:
?圖:信道活躍檢測(CAD)
注:CW32W031 的 RF 部分有多種中斷源,MCU 超時設置是在等待中斷的產生,然后判斷中斷是否為 CAD 中斷,從而執行不同的命令。
二、軟件設計參考?
2.1 軟件設計流程?
1. 芯片初始化;?
2. 配置 CAD 初始化;?
3. 芯片進入接收模式;?
4. 觀察 CAD-IRQ 信號。?
2.2 軟件設計驗證?
2.2.1 驗證步驟?
1. 發送模組周期性發送數據包;?
2. 接收模組配置為接收模式;?
3. 使用邏輯分析儀抓取接收端 CAD-IRQ 信號。
2.2.2 SDK 示例
參考代碼
ret = rf_init();
if(ret != OK)
{
? ? ? ? dis_err(" RF Init Fail");
? ? ? ? while(1);
}
rf_set_default_para();
rf_set_cad();
while (1)// 等待邏輯分析儀檢測 CAD-IRQ 信號
{
? ? ? ? ?rf_irq_process();
}?
示例代碼配置了 CAD 初始化,配置 GPIO11 作為 CAD 檢測 IO 口,隨后進入接收模式。
發送模組周期性發送數據包(數據包 preamble+payload 的持續時間約 20.5ms),用邏輯分析儀抓取接收
模組 GPIO11 波形,觀察檢測結果。
2.2.3 驗證結果
邏輯分析儀抓取結果如下圖所示:
圖:邏輯分析儀抓取結果(CAD)
根據結果顯示,當發送模組發送數據包時,接收模組發生了 CAD-IRQ,CAD 檢測引腳 GPIO11 被拉高約 20.5ms,維持一個完整 ChirpIOT 數據包的時間長度。
三、注意事項
3.1 關于 CAD 影響芯片的接收靈敏度
CAD 功能初始化時,修改了芯片的接收閾值,設置不同的接收閾值,會影響芯片的接收靈敏度,并可能存在CAD 誤觸發的情況。
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;
}
接收閾值的設置,需修改 PAN3028_cad_en() 函數中的寄存器配置,默認值為 0x10,修改接收閾值對接收靈
敏度及誤觸發概率的影響如下(實驗數據在屏蔽放環境下測試):
用戶在使用 CAD 功能時,需根據應用場景選擇修改 PAN3028_cad_en() 函數中的寄存器值(PAGE1_SEL,0x0f, 默認值為 0x10),在使用完 CAD 功能后,建議調用 rf_set_cad_off() 函數,rf_set_cad_off() 函數可以關閉 CAD 功能并將接收閾值恢復。
3.2 關于 SDK 及演示系統板
SDK 中提供了 CAD 功能所需的函數接口,CAD-IRQ 被觸發時,檢測引腳 GPIO11 會被拉高。演示系統板將GPIO11 連接到了 PB07, 具體信息可前往官網查看 CW32W031 的開發板原理圖。
3.3 關于 CAD 使用方法
CW32W031 的射頻部分可以對 preamble 和 payload 進行 CAD 檢測。
3.3.1 對 preamble 檢查方式
當完整的 preamble+payload 信號到來時,用戶可以在接收端通過 GPIO 口讀取到 CAD-IRQ 信號,CAD 檢測引腳 GPIO11被拉高,拉高時間為 preamble+payload的持續時間。此時,接收端可以產生正確的 rxdone結果。
圖:邏輯分析儀抓取結果(完整 CAD)
當不完整的 preamble+payload 信號到來時(發射端先進行數據發送,隨后接收端在 preamble 時間段內打開了 CAD 檢測),此時,用戶可以在接收端通過 GPIO 口讀取到 CAD-IRQ 信號,CAD 檢測引腳 GPIO11 的變化有兩種情況:
1.preamble(部分)內含有較完整信息,GPIO11 會被拉高 preamble(部分)+payload 的持續時間。此時,接收端可以產生正確的 rxdone 結果。
圖:邏輯分析儀抓取結果(較完整 preamble)
2.preamble(部分)內未含有完整信息,GPIO11 會呈現不規則高 - 低 - 高 - 低變換的現象。此時,接收端不會產生正確的接收結果。
圖:邏輯分析儀抓取結果(不完整 preamble)
3.3.2 對 payload 檢查方式
當只有 payload 信號到來時(發射端先進行數據發射,隨后接收端在 payload 時間段內打開了 CAD 檢測),此時,由于 RX-CAD 檢測不到 preamble,CAD-IRQ 會呈現不規則高 - 低 - 高 - 低變換的現象。此時,接收端不會產生正確的接收結果。
圖:邏輯分析儀抓取結果(只含 payload)
3.3.3 軟件應用參考
當設置的 CAD 誤觸發概率較少,或存在少量誤觸發率但不影響軟件應用時,可以通過檢測 CAD-IRQ,GPIO11 上升沿來判斷 CAD 觸發,可以認為只要收到上升沿就是收到了 payload 信號(建議使用這種方法的接收閾值設為 0x15~0x20)。
當設置的 CAD 誤觸發概率較高時,需要結合 CAD 檢測時間用軟件方法來判斷 payload 信號,CAD 檢測的時間以單個 chirp 持續時間作為單位計算。單個 chirp 持續時間為 2SF/BW(SF 為擴頻因子,BW 為帶寬,BW單位為 Hz,時間單位為秒)。使用時,建議將檢測時間窗口設置為 3 個 chirp 持續時間為佳。用戶可以分別在 3 個 chirp 對應的位置檢測 CAD 信號,如果同時檢測到 CAD 信號(GPIO11 高電平),則可以認為有信號存在。同時,軟件設計需要參考 3.3.1 對 preamble 檢查方式和 3.3.2 對 payload 檢查方式,進行靈活調整。
在打開 CAD 接收后,如果當前空中存在信號,那么芯片需要至少 2 個 chirp 持續時間的檢測,GPIO11 才能首次對外輸出高電平。一個典型的應用方法為:
1.計算 one_chirp_time = 2SF/BW;
2.配置需要檢測的信道,rf_set_cad(),enter_rx;
3.檢測 check_cad_inactive(),判斷是否檢測到 CAD 信號(下面的例程檢測了三次,適用于誤觸發較多的情況)。
uint32_t check_cad_inactive(void)
{
? ? ? ?delay10us(one_chirp_time*2/10);
? ? ? ?if(GPIO_ReadPin(CW_GPIOB, GPIO_PIN_7) != 1)
? ? ? ?{
? ? ? ? ? ? ?return LEVEL_INACTIVE;// 沒有 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
}
如果誤觸發較少,或存在少量誤觸發但不影響軟件應用時,可以將檢測次數減少為一次(例程如下),或者通過 GPIO11 上升沿作為判斷依據。
uint32_t check_cad_inactive(void)
{
? ? ? ? delay10us(one_chirp_time*2/10);
? ? ? ? If(GPIO_ReadPin(CW_GPIOB, GPIO_PIN_7) != 1)
? ? ? ? {?
? ? ? ? ? ? ? return LEVEL_INACTIVE;// 沒有 cad
? ? ? ? }
? ? ? ?return LEVEL_ACTIVE;// 有 cad
}
有關芯片購買事宜,請咨詢武漢芯源半導體的銷售和官方代理商。更多MCU詳細信息,請訪問武漢芯源半導體官方網站。
?
關于武漢芯源半導體
武漢芯源半導體有限公司,于2018年8月28日成立,是上市公司武漢力源信息技術股份有限公司全資子公司,專注芯片的設計、研發、銷售及技術服務。武漢芯源半導體CW品牌源于Creative Wisdom首字母CW,傳遞“創芯源于智慧”的品牌理念。
武漢芯源半導體為電子行業用戶提供微處理器MCU、小容量存儲芯片EEPROM、功率器件SJ-MOSFET等系列產品,具有產品質量保證、技術性能可靠、供貨能力穩定三大競爭優勢。
在MCU領域目前已推出通用高性能CW32F003/030系列、安全低功耗CW32L083/031/052系列、無線射頻CW32W031系列產品,廣泛應用于消費電子、智能家居、物聯網、工業控制、醫療電子以及汽車電子行業,未來將能夠滿足更多的市場需求。
武漢芯源半導體持續進行技術革新,確保穩定可靠的供應鏈能力,致力于成為***產業的領航者!
評論
查看更多