当前文档版本为 v0.3.0,您可以访问当前页面的 开发中 版本以获取最近可能的更新。

08_SDK_AutoAckTx

1 功能概述

本代码示例主要演示PAN312x的自动Ack Tx端功能。

备注:

1、AutoAckTx设备称为TRxMaster,在发送完数据后,立刻进入接收模式,并等待Slave设备回应的Ack数据包,如果在设定的时间内,没有收取到Ack,则会Timeout,然后进行下一包数据的发送;

2、AutoAckTx要和AutoAckRx配合一起使用;

2 环境要求

  • Board: PAN312x_EVB

  • PAN312x 模组

  • USB转串口模块

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

3 编译和烧录

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

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

image

工程选择

然后编译并下载该程序。

4 RF参数参数设置

image

RF参数设置

1、如上图所示,RF参数目前主要包括:频点、调制方式、速率、Tx Deviation、Rx Deviation、供电方式,发射 功率等参数,

2、其中频点由基础频点,频点步进,通道3部分组成,即:

​ Frequency = FrequencyBase + FrequencyStep * FrequencyChannelNumber

3、关于PowerSelect说明:

​ POWER_LDO_0603:表示供电方式为LDO,匹配电路中用的电感封装为0603;

​ POWER_LDO_0402:表示供电方式为LDO,匹配电路中用的电感封装为0402;

​ POWER_DCDC_0603:表示供电方式为DCDC,匹配电路中用的电感封装为0603;

​ POWER_DCDC_0402:表示供电方式为DCDC,匹配电路中用的电感封装为0402;

5 帧结构参数设置

image

帧结构参数设置

1、如上图所示,帧结构参数主要包括:前导码长度,前导码内容,同步字长度,同步字内容,前导码、同步字和数据区域的manchester编码是否模式,以及manchester编码是否使能,Fec编码,白化选择等参数;

6 CRC参数设置

image

CRC参数设置

1、如上图所示:CRC参数目前主要CrcMode、Crc多项式、Crc种子、CrcBitOrder、CrcByteSwap、Crc作用范围,Crc输出是否取反,Crc是否使能等参数。

7 测试方法

1、复位PAN312x、等待PAN312x Ready;

2、初始化一些寄存器;

3、设置RF参数,配置频点为493000000Hz,调制方式为2FSK,速率为50000bps,Tx Deviation为25000Hz,Rx Deviation为25000Hz,供电方式为POWER_LDO_0603,发射功率为21dBm,如下所示:

image

RF参数设置

4、设置帧结构参数,如下图示:

image

帧结构参数设置

备注:

1、如果使能了AckCheck功能,则会硬件会自己对比AckRxByte 和AckCheckByte是否相同,如果不相同,则会产生AckError标志和AckError中断(使能了该中断);

5、设置CRC为 CRC_16_BAICHEVA,如下图所示:

image

CRC参数设置

6、设置TxPpacket为可变包长,根据需要确认是否需要使能CRC和AckCheck功能;

7、将**IRQ_MASK_TX_DONE、IRQ_MASK_ACK_TIMEOUT、IRQ_MASK_ACK_ERROR(根据需求)**中断映射到IRQ(GPIO8)引脚上;

8、设置系统自动清除部分中断状态;

9、清除所有中断状态;

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

image

AutoAckTx主循环处理逻辑

image

AutoAckTx中断处理逻辑

备注

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

8 测试现象

1、运行后,串口会打印log,包括例程基本信息,Radio Prameter、Packet Prameter、Crc Prameter,如下图所示:

image

AutoAckTx测试现象——例程基本信息,Radio Prameter、Packet Prameter、Crc Prameter

2、AutoAckTx串口打印现象,如下图所示:

image

PAN312x模组AutoAckTx发送的数据(收取到了Ack情况)

image

PAN312x模组AutoAckTx发送的数据(没有收取到了Ack,Timeout)

image

PAN312x模组AutoAckTx发送的数据(收取到了Ack,但Ack Error)

3、用另一块PAN312x模组作为AutoAckRx,接收发端的数据,并发送Ack数据包,如下图所示:

image

PAN312x模组AutoAckRx端的现象