打印
[技术手册]

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

[复制链接]
248|4
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
芯源新闻官|  楼主 | 2023-9-13 09:41 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
一、功能介绍
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();
rf_enter_continous_rx();
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详细信息,请访问武汉芯源半导体官方网站:https://www.whxy.com

使用特权

评论回复
沙发
weifeng90| | 2023-9-14 07:55 | 只看该作者
CAD一眼理解成了CAD工具

使用特权

评论回复
板凳
中国龙芯CDX| | 2023-9-18 13:14 | 只看该作者
CW32W031单片机CAD中断挺强大的

使用特权

评论回复
地板
AdaMaYun| | 2023-9-21 19:09 | 只看该作者
CW32W031 的射频部分支持 CAD 中断,方便整体程序中断设计

使用特权

评论回复
5
小小蚂蚁举千斤| | 2023-9-22 18:15 | 只看该作者
主要是用户可通过 GPIO11 端口检测 CAD-IRQ 信号

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

36

主题

36

帖子

0

粉丝