当前页面为 开发中 版本,查看特定版本的文档,请在页面左下角的下拉菜单中进行选择。

SDK_CTK_PacketTx

1 功能概述

本代码示例主要演示如何通过PANCHIP_RF_CTK生成rf配置,并实现数据发送的功能。

1、PANCHIP_RF_CTK:一款可用于配置PAN3120的rf参数工具;

2 环境要求

  • Board: PAN312x_EVB

  • PAN312x 模组

  • USB转串口模块

  • PC端串口数据显示上位机

  • PANCHIP_RF_CTK

3 PANCHIP_RF_CTK参数配置

1、打开配置工程,如下图所示:

打开\01_SDK\PAN312x_DK_Develop\User\PAN312x_Example\SDK_CTK_Packet目录下PAN3120_433.ctkp工程,如下图所示

image

打开PAN3120_433.ctpk工程

2、选择生成的配置的输出模式、输出目录,输出名称等信息,如下图所示:

image

配置输出信息

3、射频参数设置,包括频点、速率、调制方式、Deviation、发射功率等参数,如下图所示:

image

射频参数设置

4、中断使能配置,客户可根据自己应用需求开启,如下图所示:

image

中断使能设置

5、操作设置

image

操作设置

6、数据包设置之前导码字段,包括前导码模式,前导码长度,如果前导模式选择非标准的话,还需要配置前导码内容,是否使能前导码manchester编码,具体如下图所示:

image

数据包设置之前导码字段

7、数据包设置之同步字字段,包括同步字大小,同步字内容,是否使能同步字manchester编码,具体如下图所示:

image

数据包设置之同步字字段

8、数据包设置之NodeId字段,如果帧结构中,NodeId字段的长度不为0,则需要配置NodeId位置,NodeId内容,是否使能数据过滤功能,具体配置如下图所示:

image

数据包设置之NodeId字段

9、数据包设置之Length字段,包括Length的长度,Length字节序,具体如下图所示:

image

数据包设置之Length字段

10、数据包设置之Data字段,包括数据长度的设置,具体如下图所示:

image

数据包设置之Data字段

11、数据包设置之CRC,包括CRC初始值,CRC多项式,CRC作用范围,CRC输出是否取反,CRC字节序设置,CRC位序设置等,具体如下图所示:

image

数据包设置之CRC字段

12、数据包之其他一些参数配置,主要包括数据类型,NodeId大小,CRC模式,Payload位序,是否Payload的Manchester编码,是否使能白化,编码方式的选择等,具体如下图所示:

image

数据包设置之其他一些参数配置

4 PANCHIP_RF_CTK参数输出

待完成上述第3章描述的参数配置后,然后可以通过工具PANCHIP_RF_CTK输出一个.c和.h文件,输出文件路径为上述设置的输出目,具体如下图所示:

image

数据包设置之其他一些参数配置

5 编译和烧录

例程位置:01_SDK\PAN312x_DK_Develop\Projectc\MDK-ARM(AC5)

1、打开\Projectc\MDK-ARM(AC5)目录下project.uvprojx工程,选择SDK_CTK_PacketTx,如下图所示

image

工程选择

然后编译并下载该程序。

2、将PANCHIP_RF_CTK输出的文件添加到工程目录中,如下图所示:

image

RF配置文件添加

6 测试方法

1、复位PAN312x、等待PAN312x Ready;

2、初始化一些寄存器;

3、调用宏定义**__PAN312x_LOAD_CTKCONFIG** 加载rf配置文件到芯片;

4、在while循环中,隔一段时间往fifo中写入数据,并执行发送命令,同时更改数据长度;如下图所示:

image

可变包长帧结构发送

备注

1、若使能设置系统自动清除部分中断状态,除了 IRQ_RX_DONE、IRQ_RX_CRC_ERROR、 IRQ_TX_FIFO_TH、IRQ_RX_FIFO_TH 这些中断状态,需要额外发送命令来清除,其它中断状态都可以由PAN312x自动清除掉;

7 测试现象

1、测试现象,串口会打印将要发送出去的数据,如下图所示:

image

可变包长帧结构测试现象

2、其他模组作为Rx,接收PAN312x发送的数据,如下图所示:

image

其他模组收取到的数据

3、通过对比Tx和Rx数据,两边是一致的,证明PAN312x可变包长帧结构的发送功能正确;

备注: 1、测试过程中,可以用另外一块PAN312x模组或其他模组作为Rx,配置相同的rf参数,就可以收取到PAN312x发送过来的数据。