射频MCU CW32W031提前中断应用功能介绍

描述

一、功能介绍 

CW32W031 提前中断功能是在芯片读取一帧数据的过程中,查看已经解出来的数据,判断是不是自己想要的,再决定继续读取还是放弃这帧数据。 

流程图如下所示: 

图 1-1 提前中断流程图

寄存器

二、软件设计参考 

2.1 软件设计流程 

1. 芯片初始化;

2. 将芯片配置为提前中断模式; 

3. 通过寄存器设置包头长度,或者称为计数器门限值。提前中断功能需要设置确定从第几个字节开始检查,以及检查多少个字节的数据(只支持 8 字节或 16 字节,分别使用 PLHD_LEN8/PLHD_LEN16 表示); 

4. 芯片进入接收模式; 

5. 芯片接收数据,内部计数器开始计数,收到一个字节加 1,直至计数器达到包头长度之后,芯片会产生提前中断信号,供软件读取; 

6. 软件判断是否为自己想要的数据,如果是,则继续往下读取,如果不是,则停止读取

2.2 软件设计验证 

2.2.1 验证步骤 

1. 发送模组周期性发送 100 字节数据包,前 30 字节数据为

寄存器

2. 接收模组配置提前中断模式,并设置从第 5 字节开始,共检查 16 字节数据;

寄存器

3. 当产生提前中断信号时,将提前中断得到的数据打印出来;

4. 继续往下接收,将本帧数据全部打印出来;

5. 通过串口助手查看打印结果。

2.2.2 SDK 示例

main.c 参考代码:

寄存器

示例代码配置了提前中断模式,并设置从第 5 字节开始,共检查 16 字节数据。接收到提前中断信号后,主函数中选择将提前中断接收到的内容打印出来,并继续接收;随后模组会再产生一个接收中断信号,主函数中再将完整接收到的数据内容打印出来。 

如果需要提前中止接收,只需要在接收到提前中断信号后执行“PAN3028_rst();”,即:

寄存器

2.2.3 验证结果 

串口助手显示结果为:

寄存器

根据结果显示,接收模组发生了提前中断,获取到了指定的数据,并继续执行接收,接收到完整数据包。

2.3 逻辑分析仪抓取 

2.3.1 验证步骤 

1. 发送模组周期性发送数据包; 

2. 接收模组分别使用提前中断接收模式和正常接收模式进行接收 

3. 使用逻辑分析仪 Channel1 抓取提前中断信号,Channel1 抓取正常接收端信号

2.3.2 验证结果 

抓取结果如下图所示:

图 2-1 逻辑分析仪抓取结果

寄存器

由结果可以看出,提前中断接收模式在 1.35ms 时就产生了提前中断,供用户判断。正常接收模式需要在57.39ms 才产生完整的接收中断。

2.4 注意事项 

提前中断功能只支持读取两种数据长度,即 8 字节 /16 字节,分别 PLHD_LEN8/PLHD_LEN16 表示。不可以使用自定义参数。 

提前中断功能获取数据时,使用 PAN3028_plhd_receive() 接口函数,与普通数据包 PAN3028_recv_packet()接口函数不同,其内部 FIFO 地址不同。

 

关于武汉芯源半导体

武汉芯源半导体有限公司,于2018年8月28日成立,是上市公司武汉力源信息技术股份有限公司(股票代码:300184)全资子公司,专注芯片的设计、研发、销售及技术服务。武汉芯源半导体CW品牌源于Creative Wisdom首字母CW,传递“创芯源于智慧”的品牌理念。

武汉芯源半导体为电子行业用户提供微处理器MCU、小容量存储芯片EEPROM、功率器件SJ-MOSFET等系列产品,具有产品质量保证、技术性能可靠、供货能力稳定三大竞争优势。

在MCU领域目前已推出通用高性能CW32F003/030系列、安全低功耗CW32L083/031/052系列、无线射频CW32W031/CW32R031系列产品,广泛应用于消费电子、智能家居、物联网、工业控制、医疗电子以及汽车电子行业,未来将能够满足更多的市场需求。

武汉芯源半导体持续进行技术革新,确保稳定可靠的供应链能力,致力于成为***产业的领航者!

  审核编辑:汤梓红

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

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分