基于 S2-LP 实现 802.15.4g 帧格式的数据透传

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.射频参数设置
在这里插入图片描述
其中,

  1. 配置想要的 RF 参数
  2. 帧数据的配置,如前导码、同步字、CRC 等。
    紧接着,我们继续进行 802.15.4g 帧格式的相关配置,双击右侧的寄存器列表即可修改对应寄存器的内容,如下图 3 所示:
    图3.802.15.4g 参数配置
    图3.802.15.4g 参数配置

其中,上述各步骤的含义如下:

  1. 表示当前的帧格式设置为 802.15.4g
  2. 配置 CRC 模式,当前选择 CRC 模式 3:
    a. 0b,CRC 模式 5 (4 字节)
    b. 1b,CRC 模式 3 (2 字节)
  3. 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 兼容
  4. 双同步字选择
    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 数据 (串口打印)
图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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/524603.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

springCloud-LoadBalancer负载均衡微服务负载均衡器LoadBalancer

2020年前SpringCloud是采用Ribbon作为负载均衡实现,但是在2020后采用了LoadBalancer替代 LoadBalancer默认提供了两种负载均衡策略(只能通过配置类来修改负载均衡策略) 1.RandomLoadBalancer-随机分配策略 2.RoundRobinLoadBalancer-轮询分配…

基于SSM的周边乡村旅游小程序

系统实现 游客注册通过注册窗口,进行在线填写自己的账号、密码、姓名、年龄、手机、邮箱等,信息编辑完成后核对信息无误后进行选择注册,系统核对游客所输入的账号信息是否准确,核对信息准确无误后系统进入到操作界面。 游客登录通…

[图像处理] MFC载入图片并绘制ROI矩形

上一篇: [图像处理] MFC载入图片并进行二值化处理和灰度处理及其效果显示 文章目录 前言完整代码重要代码效果 前言 上一篇实现了MFC通过Picture控件载入图片。 这一篇实现ROI功能的第一部分,在Picture控件中,通过鼠标拖拽画出一个矩形。 完…

实时计算平台设计方案:913-基于100G光口的DSP+FPGA实时计算平台

基于100G光口的DSPFPGA实时计算平台 一、产品概述 基于以太网接口的实时数据智能计算一直应用于互联网、网络安全、大数据交换的场景。以DSPFPGA的方案,体现了基于硬件计算的独特性能,区别于X86GPU的计算方案,保留了高带宽特性&…

产品推荐 | 星嵌基于TI TMS320C6657+Xilinx XC7Z035/045 DSP+FPGA+ARM工业核心板

1、产品概述 广州星嵌电子科技有限公司研发的C6657ZYNQ7035/45工业核心板,是基于TI KeyStone 架构C6000 系列TMS320C6657 双核C66x定点/浮点DSP 以及 Xilinx ZYNQ-7000 系列XC7Z035/045 SoC 处理器设计的。 DSP处理器采用TMS320C6657,双核C66x定点/浮点…

FIN和RST的区别,几种TCP连接出现RST的情况

一、RST跟FIN的区别: 正常关闭连接的时候发的包是FIN,但是如果是异常关闭连接,则发送RST包 两者的区别在于: 1.RST不必等缓冲区的包都发出去,直接就丢弃缓存区的包发送RST包。而FIN需要先处理完缓存区的包才能发送F…

【小白学机器学习11】假设检验之2:Z检验(U检验,正态检验)

目录 1 什么是Z检验 1.1 Z检验的别名 Z-test /U-test / 正态检验 1.2 维基百科定义 1.2 百度百科定义 1.3 定义提炼关键点 1.4 Z检验量 : Z(X-θ)/s (X-u)/s 2 Z检验量的构造 2.1 Z检验量 : Z(X_-u)/s 2.2 Z检验变量的构造 2.4 Z检验量的核心参数 2.4.1 原始公式 …

使用单点登录(SSO)如何提高安全性和用户体验

什么是单点登录(SSO) 对于所有大量采用云应用程序的组织来说,有效的身份管理是一个巨大的挑战,如果每个 SaaS 应用程序的用户身份都是独立管理的,则用户必须记住多个密码,技术支持技术人员在混合环境中管理…

【ELK】搭建elk日志平台(使用docker-compose),并接入springboot项目

1、环境搭建 前提条件:请自行安装docker以及docker-compose环境 version: 3 services:elasticsearch:image: elasticsearch:7.14.0container_name: elasticsearchports:- "9200:9200"- "9300:9300"environment:# 以单一节点模式启动discovery…

ASP.NET Core 模型绑定

🍀介绍 在C#中,特别是在ASP.NET Core中,模型绑定是一个将HTTP请求中的数据映射到C#对象的过程。它使得开发者能够方便地从请求中提取数据,而无需手动解析请求体、查询字符串、路由数据等。ASP.NET Core提供了多种特性&#xff08…

uniapp极光推送、java服务端集成

一、准备工作 1、进入【服务中心】-【开发者平台】 2、【创建应用】,填写应用名称和图标(填写项目名称,项目logo就行,也可填写其他的) 3、选择【消息推送】服务,点击下一步 ​ ​ Demo测试 参照文档&…

数据备份的演变:数字时代的一个关键方面

微信关注获取更多内容 数据备份至关重要,涵盖了其过去、现在和未来,是数字时代任何企业运营的一个重要方面。 如今,公司运营的几乎每个方面,从客户信息到内部财务数据,都以数字方式存储。 有鉴于此,数据…

【Linux系列】“dev-node1“ 运行的操作系统分析

💝💝💝欢迎来到我的博客,很高兴能够在这里和您见面!希望您在这里可以感受到一份轻松愉快的氛围,不仅可以获得有趣的内容和知识,也可以畅所欲言、分享您的想法和见解。 推荐:kwan 的首页,持续学…

【STL】list的底层原理及其实现

文章目录 list的介绍list的整体结构设计list的构造代码模拟实现: list节点类的实现list 迭代器Iterator的使用以及实现Iterator的使用Iterator的底层实现反向迭代器 list与vector的比较实现list类 list的介绍 list是可以在常数范围内在任意位置进行插入和删除的序列…

Linux中shell脚本的学习第一天,编写脚本的规范,脚本注释、变量,特殊变量的使用等,包含面试题

4月7日没参加体侧的我自学shell的第一天 Shebang 计算机程序中,shebang指的是出现在文本文件的第一行前两个字符 #! 1)以#!/bin/sh 开头的文件,程序在执行的时候会调用/bin/sh, 也就是bash解释器 2)以#!/usr/bin/python 开头的文件&#…

科研学习|研究方法——扎根理论三阶段编码如何做?

一、背景介绍 “主题标引”意指对文献内容进行分析, 然后对文献所表达的中心思想、所讨论的基本问题以及研究的对象等进行提取, 以形成主题概念, 然后在此基础上把可检索的主题词表示出来, 再将这些主题词按一定顺序 (如字顺) 排列, 对论述相同主题内容的文献加以集中, 从而提高…

vmware和ubuntu的问题与解决

1.问题与对策 最近使用vmware安装ubuntu16和ubuntu20,遇到了挺多的问题,如下 ubuntu在用过多次后,重启后登录用户名后会出现花屏的现象。 解决方案如下 在键盘上同时按键:Ctrl Alt F4,进入命令行模式,…

Hive3.0.0建库表命令测试

Hive创建表格格式如下: create [external] table [if not exists] table_name [(col_name data_type [comment col_comment],)] [comment table_comment] [partitioned by(col_name data_type [comment col_comment],)] [clustered by (col_name,col_name,...)…

三防平板定制服务:亿道信息与个性化生产的紧密结合

在当今数字化时代,个性化定制已经成为了市场的一大趋势,而三防平板定制服务作为其中的一部分,展现了数字化技术与个性化需求之间的紧密结合。这种服务是通过亿道信息所提供的技术支持,为用户提供了满足特定需求的定制化三防平板&a…

leetcode代码记录(下一个更大元素 I

目录 1. 题目:2. 我的代码:小结: 1. 题目: nums1 中数字 x 的 下一个更大元素 是指 x 在 nums2 中对应位置 右侧 的 第一个 比 x 大的元素。 给你两个 没有重复元素 的数组 nums1 和 nums2 ,下标从 0 开始计数&#x…