0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看威廉希尔官方网站 视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

Sub-1G系列产品CW32W031单片机CAD应用参考

武汉芯源半导体有限公司 2023-09-13 09:42 次阅读

一、功能介绍

CW32W031 的射频部分支持 CAD 中断。从 Deepsleep 进入 STB3,开启 CAD 功能并进入 RX 模式后, CW32W031 会检测信道中是否会有 ChirpIOT ™信号 , 如果存在将 CAD-IRQ 置高,MCU 内核可以通过一定的时间来检测 CAD-IRQ 信号是否拉高来判断信道中是否存在 ChirpIOT ™信号。

用户可通过 GPIO11 端口检测 CAD-IRQ 信号,信号检测流程如下:

 图:信道活跃检测(CAD)

wKgaomUBEjCADwSYAADKwKu7wF0122.jpg

注: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();

rf_enter_continous_rx();

while (1)// 等待逻辑分析仪检测 CAD-IRQ 信号

{

rf_irq_process();

}‍

示例代码配置了 CAD 初始化,配置 GPIO11 作为 CAD 检测 IO 口,随后进入接收模式。

发送模组周期性发送数据包(数据包 preamble+payload 的持续时间约 20.5ms),用逻辑分析仪抓取接收

模组 GPIO11 波形,观察检测结果。

2.2.3 验证结果

逻辑分析仪抓取结果如下图所示:

图:逻辑分析仪抓取结果(CAD)

wKgZomUBEjCAQeCdAAFB-ayVNI0136.jpg

根据结果显示,当发送模组发送数据包时,接收模组发生了 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,修改接收阈值对接收灵

敏度及误触发概率的影响如下(实验数据在屏蔽放环境下测试):

wKgaomUBEjCATjNZAADGej8S8c0997.jpg

用户在使用 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)

wKgaomUBEjCAXJBmAAE9Mfl0y4o741.jpg


当不完整的 preamble+payload 信号到来时(发射端先进行数据发送,随后接收端在 preamble 时间段内打开了 CAD 检测),此时,用户可以在接收端通过 GPIO 口读取到 CAD-IRQ 信号,CAD 检测引脚 GPIO11 的变化有两种情况:

1.preamble(部分)内含有较完整信息,GPIO11 会被拉高 preamble(部分)+payload 的持续时间。此时,接收端可以产生正确的 rxdone 结果。

图:逻辑分析仪抓取结果(较完整 preamble)

wKgZomUBEjCAE54PAAEAQRhPI98016.jpg

2.preamble(部分)内未含有完整信息,GPIO11 会呈现不规则高 - 低 - 高 - 低变换的现象。此时,接收端不会产生正确的接收结果。

图:逻辑分析仪抓取结果(不完整 preamble)

wKgZomUBEjCAEeVvAAFH5hAr5-I407.jpg

3.3.2 对 payload 检查方式

当只有 payload 信号到来时(发射端先进行数据发射,随后接收端在 payload 时间段内打开了 CAD 检测),此时,由于 RX-CAD 检测不到 preamble,CAD-IRQ 会呈现不规则高 - 低 - 高 - 低变换的现象。此时,接收端不会产生正确的接收结果。

图:逻辑分析仪抓取结果(只含 payload)

wKgZomUBEjCAc0XdAAFObCv7sMo108.jpg

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

}

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 单片机
    +关注

    关注

    6037

    文章

    44558

    浏览量

    635410
  • mcu
    mcu
    +关注

    关注

    146

    文章

    17149

    浏览量

    351226
  • 射频
    +关注

    关注

    104

    文章

    5585

    浏览量

    167763
  • CAD
    CAD
    +关注

    关注

    17

    文章

    1092

    浏览量

    72508
  • CW32
    +关注

    关注

    1

    文章

    203

    浏览量

    648
  • CW32W031
    +关注

    关注

    0

    文章

    5

    浏览量

    87
收藏 人收藏

    评论

    相关推荐

    如何优化单片机项目的功耗

    在现代电子设计中,功耗优化已成为一个不可忽视的重要议题。对于单片机(MCU)项目而言,功耗不仅关系到产品的能效比,还直接影响到电池寿命和热管理。 硬件层面的功耗优化 1. 选择合适的单片机
    的头像 发表于 11-01 14:16 348次阅读

    CW32L010安全低功耗MCU,树立M0+产品行业新标杆!

    2024年9月26日,武汉芯源半导体CW32L010系列产品正式官方发布。这款产品以其卓越的产品性能,迅速在业界引起了广泛关注,并成功树立M0+产品
    发表于 10-09 10:08

    生产单片机的公司有哪些?

    市场上占据了一席之地。以下是十家生产单片机的中国公司及其产品系列的简要介绍。 1. 兆易创新 公司简介:兆易创新成立于2005年,是中国领先的半导体存储及MCU芯片设计企业。公司专注于存储器、MCU
    发表于 09-27 10:38

    单片机烧录程序的基本步骤是什么

    单片机烧录程序的基础,它包含了单片机芯片、电源、接口等基本元件。在选择单片机开发板时,需要考虑以下几个方面: (1单片机型号:根据项目需
    的头像 发表于 09-02 09:47 1065次阅读

    提高MSP430G系列单片机的Flash擦写寿命的方法

    电子发烧友网站提供《提高MSP430G系列单片机的Flash擦写寿命的方法.pdf》资料免费下载
    发表于 08-28 11:51 0次下载
    提高MSP430<b class='flag-5'>G</b><b class='flag-5'>系列</b><b class='flag-5'>单片机</b>的Flash擦写寿命的方法

    CC13xx Sub-1G接收机灵敏度性能的实用评估及优化方法

    电子发烧友网站提供《CC13xx Sub-1G接收机灵敏度性能的实用评估及优化方法.pdf》资料免费下载
    发表于 08-27 09:59 0次下载
    CC13xx <b class='flag-5'>Sub-1G</b>接收机灵敏度性能的实用评估及优化方法

    单片机boot0和boot1怎么设置

    单片机Boot0和Boot1简介 Boot0和Boot1单片机启动模式选择引脚,用于选择单片机的启动模式。 Boot0和Boot
    的头像 发表于 08-22 09:50 2575次阅读

    国产单片机(MCU)崛起 —— 51系列

    一、51系列单片机的命名由来51系列单片机的命名由来与它的设计和开发历史相关。这个系列单片机
    的头像 发表于 08-14 08:39 2133次阅读
    国产<b class='flag-5'>单片机</b>(MCU)崛起 —— 51<b class='flag-5'>系列</b>

    HOLTEK推出BC68R2123 Sub-1GHz RF发射器OTP MCU

    Holtek新推出Sub-1GHz RF OOK/FSK Transmitter OTP MCU BC68R2123,扩大Holtek Sub-1GHz Tx系列产品涵盖面,并提供客户无线控制
    的头像 发表于 08-07 11:29 813次阅读
    HOLTEK推出BC68R2123 <b class='flag-5'>Sub-1</b>GHz RF发射器OTP MCU

    爱普生研发S1C17W00系列16位单片机用于自动化生产及其他行业

    对于市场的需求是敏锐的,依托这样的市场环境,加快了自己的研究步伐,推出了S1C17W00系列16位单片机系列
    的头像 发表于 05-30 15:23 476次阅读
    爱普生研发S<b class='flag-5'>1C17W</b>00<b class='flag-5'>系列</b>16位<b class='flag-5'>单片机</b>用于自动化生产及其他行业

    stm8系列单片机在IAR环境下怎样配置G口?

    stm8系列单片机,在IAR环境下,怎样配置G口? 例如:不小心把外断的红外接收或按键的引脚接到G口了,比如STM8S105或207(48脚封装的),P35、P36脚(PG0、PG
    发表于 04-23 07:02

    市面上很火的32位单片机—PY32F030单片机产品特性介绍

    PY32F030 系列单片机是采用了高性能的 32 位 ARM® Cortex®-M0+ 内核,宽电压工作范围的 MCU。
    的头像 发表于 03-22 15:29 1297次阅读

    AURIX2G系列单片机跑多核程序应该怎么配置?

    AURIX2G系列单片机跑多核程序应该怎么配置,感觉没有头绪
    发表于 02-20 06:15

    单片机的最小系统由什么组成 单片机的最小系统包括哪些

    Unit,CPU)、存储器、输入输出接口电路等核心功能,常见的单片机有以8051为代表的8位单片机、PIC系列单片机和AVR系列
    的头像 发表于 02-02 11:27 1.1w次阅读

    单片机定时器的用法

    本章以CW32通用定时器为例介绍单片机定时器的用法。
    的头像 发表于 01-04 10:37 1419次阅读
    <b class='flag-5'>单片机</b>定时器的用法