1. 引言
S2-LP 硬件上支持 802.15.4g 的帧格式,但是现有的 SDK 包并没有基于该帧格式的示例工程,因此本篇文章将介绍如何实现基于 802.15.4g 帧格式的数据透传。
2. 802.15.4g 帧格式
在开始之前,需要对 802.15.4g 帧格式有一个初步的了解,如下图 1 如所示:
图1.802.15.4 帧格式
-
前导码(Preamble) :由 0~1023 对’01’或’10’组成,即总共 0~2046 个比特。
-
同步字(Sync) :用于判断一帧数据的开始,长度为 0~32 个比特;其中 S2-LP 支持双同步字配置,但不能两个同时一起生效,只能二选一附上数据包并发送出去。对于接收者来说,如果第二个同步字被使能,那么就会同时识别这两个同步字,只要其中之一被识别出来,那么就对这一包数据进行解调。就 802.15.4g 帧格式而言,当 FEC 被使能,那么在发送数据时,第二个同步字会被自动附上,无须专门使能第二个同步字。
-
物理头(PHR):802.15.4g 特有的字段,根据不同的配置自动附到数据包上。
其中,
• MS 字段一直都是 0
• FCS 字段用于选择 CRC 模式
• DW 字段则是用于配置是否使能数据白化功能
• L10-L0 字段,用于设置帧数据包的长度 (MHR + MAC Payload + CRC) -
▪ 载荷包(Payload):填充需要发送的内容
-
▪ 循环冗余码校验(CRC):硬件会自动计算并附到 MHR+MAC Payload 后面
2.1. 配置
接下来,我们对 S2-LP 进行以下步骤的配置,使其可以基于 802.15.4g 帧格式进行数据透传,打开 S2-LP DK 上位机工具软件,如下图 2 所示:
图2.射频参数设置
其中,
- 配置想要的 RF 参数
- 帧数据的配置,如前导码、同步字、CRC 等。
紧接着,我们继续进行 802.15.4g 帧格式的相关配置,双击右侧的寄存器列表即可修改对应寄存器的内容,如下图 3 所示:
图3.802.15.4g 参数配置
其中,上述各步骤的含义如下:
- 表示当前的帧格式设置为 802.15.4g
- 配置 CRC 模式,当前选择 CRC 模式 3:
a. 0b,CRC 模式 5 (4 字节)
b. 1b,CRC 模式 3 (2 字节) - CRC 多项式选择,这里选择模式 3
a. 0,没有 CRC 字段
b. 1,模式 1、8 比特、多项式为 0x07
c. 2,模式 2、16 比特、多项式为 0x8005
d. 3,模式 3、16 比特、多项式为 0x1021
e. 4,模式 4、24 比特、多项式为 0x864CFB
f. 5,模式 5、32 比特、多项式为 0x04C011BB7,802.15.4g 兼容 - 双同步字选择
a. 发送模式
-i. 0,选择首要同步字
-ii. 1,选择次要同步字
b. 接收模式,如果设为 1,那么双同步字都会被用于识别
此时,802.15.4g 相关的参数均配置完成。
3. 代码生成
按照上述的步骤配置之后,输出对应的寄存器配置即可,如下图 4 所示:
图4.寄存器配置输出
有了导出寄存器的设置之后,导入当前 SDK 包中的 Basic_Generic 示例工程即可实现基
于 802.15.4g 帧格式的数据透传,其中修好后的源码文件见下述的附件。
4. 实验结果
为了验证上述的配置是否正确,通常会监控传输的数据包是否符合要求,如下图5、6 所示:
图5.802.15.4g 数据 (逻辑分析仪)
图6.802.15.4g 数据 (串口打印)
上述的实验结果基本符合我们的预期。
5. 小结
本篇章描述了如何利用 S2-LP DK 上位机工具软件生成 802.15.4g 对应寄存器配置内容,并导入至当前 SDK 包中去,从而实现基于 802.15.4g 的数据透传,弥补了 SDK 包该帧格式例程的缺失。
本文档参考ST官方的《【应用笔记】LAT1223+基于S2-LP实现802.15.4g帧格式的数据透传》文档。
参考下载地址:https://download.csdn.net/download/u014319604/88969408