物联网LoRa系列-19:LoRa终端--射频芯片SX1261 SX1262的6种操作模式及其设置

2023-10-27

本文根据SX1261/2芯片手册,阐述SX161/2射频芯片的8种操作模式及其设置。

目录:

一. MCU与射频芯片之间的操作接口

二.SX1261/2射频芯片的6种工作模式的含义

三. SX1261/2射频芯片工作模式的设置

四. SX1261/2射频芯片的6种工作模式切换

五. 不同操作模式下的参数设置


一. 射频芯片功能模式以及与MCU之间的操作接口

(1)功能模块

(2)操作接口

在上述电路中,MCU通过SPI接口访问LoRa芯片内部的寄存器,也是通过SPI接口操作芯片内部的FIFO,用于收发数据包。

不同于那些把所有操作都直接基于“寄存器地址空间”访问的芯片,LoRa视频芯片暴露给MCU的是:基于“命令”的访问。有点类似所谓的AT命令的格式。

因此MCU是通过“命令”的方式配置、管理、控制LoRa芯片的工作方式。

同时MCU也是通过“命令”的方式,从LoRa内部data buffer中读取数据,向LoRa内部data buffer中写入数据。

SX1261/2通过GPIO busy管脚向MCU指示,当前是否正在执行某一个命令,命令的执行是否完成,以允许或禁止执行下一个命令。

MCU可以通过置位NSS复位管脚,强制SX1261/2终止正在执行的命令。

命令格式:


二. SX1261/2射频芯片的8种工作模式的含义

SX1261/2可以工作在如下几种工作模式下:

1. SLEEP: 休眠模式,这是指LoRa进入最低低功耗。在该模式下工作的部件有

(1)SPI接口:在低功耗模式下,预先MCU通过SPI接口唤醒射频芯片,进入standby模式。

(2)Regulator稳压器,用于保证SPI接口所需要电压,该电源来自于VBAT, 即电池电压。

(3)RC64K 低频晶体震荡电路:用于保证SPI接口所需要参考时钟。

SLEEP模式下,射频芯片绝大多数电路都处于休眠状态,只有SPI接口是可以访问的。

实际上,访问SPI的时候,MCU会置位NSS位,该信号就能够把射频芯片从sleep模式下唤醒。

2.  STDBY_RC: 除了SLEEP下的期间,STDBY_RC新增的功能有:

(1)RC13M:数字电路工作时钟。

(2)LDO:所有的数字电路所需的电压,该LDO的电源来自于VBAT, 即电池电压。

3. STDBY_XOSC:除了STDBY_RC之外的电路,新加的功能有:

(1)XOSC: 这是射频电路26M的高频射频时钟。

(2)DC-DC/LDO:射频工作电压

4. FS:时钟同步状态(暂态)

锁相环与外部的26M时钟同步,得到高频接收和发送所需要的时钟。

只有进入此状态后,进行射频信号的发送和接收。该电路的电源来自于外部电源。

5. Tx:启动射频数据发送(暂态)

发送完成后或超时后,自动进入设定的下一低功耗状态,或进行连续发送。

这里三种发送子模式:

(1)常规发送模式:就是发送数据帧后,自动停止发送

(2)TxContinuousWave:测试命令,连续的发送载波信号(空的载波信号)

(3)TxInfinitePreamble:测试命令,连续的发送物理层前导位(载波信号+物理层帧前导)

6. Rx:启动射频数据的接收(暂态)

接收完成或超时后,自动进入设定的低功耗状态,或继续进行间隙性接收。

连续接收:休眠后一段时间后,自动唤醒,直接接入接收状态,检查链路,是否有数据需要接收。


三. SX1261/2射频芯片的操作命令

MCU可以通过SPI接口,强制让射频芯片工作在特定的状态。

备注:

在设置Tx和Rx模式时,需要同时制定发送和接收的超时时间。


四. SX1261/2射频芯片的8种工作模式的切换

1. 不同模式的切换有两种途径

(0)NSS: SPI片选信号:MCU通过向射频芯片发送SPI命令,把射频芯片从休眠状态唤醒到standby状态。

(2)MCU通过SPI接口,向射频芯片发送模式切换的命令

(3)射频芯片自动的某种动作或内部事件完成后,自动进入设定的状态,

比如在间隙性接收模式下,如果Rx Timeout,表示没有数据,不需要MCU设置, 可以直接进入休眠模式,

比如在Rx done或Tx Done之后,不需要MCU设置, 直接进入standby状态。

2. 主要的内部事件有:

Tx Done发送完成:成功的发送完一个数据包

Rx Done接收完成:成功的接收到一个完整的数据包

Tx Timeout发送超时:在指定的时间内,发送数据包识别

Rx Timeout接收超时:在指定的时间内,没有接收到任何数据包

3. 初始状态:

上电复位后,射频芯片自动重新启动,然后进入standby模式,这时候,芯片的SPI数字接口工作正常,MCU可以访问芯片内部的寄存器和数据内存中的FIFO。


五. 不同操作模式下的参数

1. sleep模式的设置参数

bit0:是否需要周期性的自动唤醒

bit1:命令的发送方向

bit2:自动唤醒时,执行冷启动还是热启动

2. standby模式的设置参数

bit0:进入哪一种standby模式

3. FS模式的参数

无参数

锁相环同步状态,其实在正常情况下,是不需要MCU设置其状态的,这是一个中间状态。

在设置Tx和Rx状态的时候,芯片首先自动进行锁相环同步,进入该状态,然后再进入Tx或Rx状态。

锁相环的输出频率有:SetRfFrequency(...)指定。

4. Tx模式的设置参数

设置发送超时时间

如果在指定的时间内发送数据成功,则产生TxDone事件。

如果在指定的时间内发送数据失败,则产生TxTimeout事件。

0:表示一致处于发送状态,直到TxDone发送完成,没有超时事件。

5. Rx模式的设置参数

设置接收超时时间

如果在指定的时间内接收数据成功,则产生RxDone事件。

如果在指定的时间内接收数据失败,则产生RxTimeout事件。

0:表示一直处于接收状态,知道RxDone成功接收到数据,没有接收超时。

6. 间隙性接收模式设置


备注:

模式的设置,是低功耗设计关键!

LoRa MAC层的Class A, B, C模式,实际就是设置视频芯片工作模式的几种预定义的策略。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

物联网LoRa系列-19:LoRa终端--射频芯片SX1261 SX1262的6种操作模式及其设置 的相关文章

  • flutter android 和 ios 发布

    android篇 keytool genkey v alias android keyalg RSA validity 20000 keystore Users 当前用户的用户名 android keystore keytool genke
  • Web学习之JavaScript

    文章目录 一 什么是JavaScript 二 JavaScript 用法 三 Chrome 浏览器中执行 JavaScript 四 JavaScript 语法 五 JavaScript 语句 六 JavaScript 函数 七 JavaSc

随机推荐

  • 【redis】单机安装部署redis7.0版本

    下面我以redis 7 0 5版本 来进行讲解 链接 https pan baidu com s 1FesU8iHJQyW4pVARIqeQAA 提取码 qtqc 单机安装Redis 1 首先需要安装Redis所需要的依赖 yum inst
  • 预测知识

    预测知识 预测技术流程及模型评价 目录 预测知识 预测技术流程及模型评价 神经网络 机器学习 深度学习 参考资料 神经网络 神经网络 neural network 是机器学习的一个重要分支 也是深度学习的核心算法 神经网络的名字和结构 源自
  • 上传图片几种方式解析(上)--file

    浏览器上传图片到服务器时通过input type file 以及onchange事件的配合实现的 element和vant的ui库的图片上传都是基于这个 input的files属性 1 众所周知 一级dom事件不同于addeventlisn
  • c语言三目运算符的一些小细节,赋值不改变变量的值

    C语言三目运算符的一些小细节 赋值不改变变量的值 今天无聊翻翻C语言的课本 看到三目运算符的时候 心想这个和if else 语句用法一样 突然脑海里浮现一个想法 三目运算符结构 表达式1 表达式2 表达式3 表达式1 为逻辑表达式 如果为真
  • 使用左、右、全、内连接及使用where条件语句的区别

    使用左 右 全 内连接及使用 where 条件语句的区别 从学SQL语句到现在 从来没有使用过左右连接 也许会有人感到惊讶 但是确实是没有 因为我一直是使用的WHERE条件语句 我也想试一下效果 今天做了一下测试 终于知道 WHERE 条件
  • MySQL --- 多表查询

    多表查询 事务 以及提升查询效率最有手段的索引 一 多表查询 1 1 多表查询 概述 1 1 1 数据准备 将资料中准备好的多表查询数据准备的SQL脚本导入数据库中 部门表 员工表 1 1 2 介绍 多表查询 指从多张表中查询数据 就是从多
  • 系统架构设计师(第二版)学习笔记----信息安全基础知识

    原文链接 系统架构设计师 第二版 学习笔记 信息系统基础 文章目录 一 信息安全的概念 1 1 信息安全的基本要素 1 2 信息安全的内容 1 3 设备安全的内容 1 4 数据安全的内容 1 5 内容安全的含义 1 6 行为安全的含义 二
  • Python函数常见return返回值类型

    Python函数常见return返回值类型Python函数return返回值类型主要包括 class int class str class tuple class list class dict class bool class None
  • 小明和小强的故事 漫画版

    转载于 https blog 51cto com loofeer 676484
  • 发送arp请求报文

    1 报文格式 2 代码如下 include
  • Python爬虫入门教程(非常详细)

    初学Python之爬虫的简单入门 一 什么是爬虫 1 简单介绍爬虫 爬虫的全称为网络爬虫 简称爬虫 别名有网络机器人 网络蜘蛛等等 网络爬虫是一种自动获取网页内容的程序 为搜索引擎提供了重要的数据支撑 搜索引擎通过网络爬虫技术 将互联网中丰
  • C# 计算两个日期之间的所有日期

    用一个for循环就可以解决 int year Begin Convert ToInt32 this dateBegin Value ToString yyyy int month Begin Convert ToInt32 this dat
  • 解决英文版windows10安装软件中文显示乱码问题

    实验室买了台Thorlabs的设备 配了一台笔记本 带的操作系统是美版的windows10 为了提高笔记本的利用率嘛就在这台笔记本安装了一些中文软件 结果问题就出现了 安装完某些中文软件 能正常打开也能正常操作就是显示的中文乱码 在网上找了
  • [SPSS]系统聚类和kmeans聚类的spss实现——基于多维度对中国各城市聚类

    一 系统聚类 选中系统聚类并把变量移入变量框内 聚类选择按照个案聚类 在Display栏中选择Statistics和Plots复选框 这样在结果输出窗口中可以同时得到聚类结果统计量和统计图 选中绘图中的谱系图 单击保存选项卡 方案范围选择2
  • 教你用go 配置管理神器Viper解析docker-compose文件

    什么是Viper Viper 是一个完整的 Go 应用程序配置解决方案 包括 12 Factor 应用程序 它被设计为在应用程序中工作 并且可以处理所有类型的配置需求和格式 它支持 设置默认值 从 JSON TOML YAML HCL en
  • 后台程序 报错内容:java.sql.SQLException: Java heap space

    原因有以下可能 1 查询没有通过参数 而是直接查询出所有的记录 2 是由于mysql单个字段存储的内容过大导致堆内存溢出 3 JVM启动时 JVM堆会自动设置heap size值 值太小导致
  • 内核LED驱动框架讲解以及led设备注册示例代码

    1 驱动框架介绍 1 内核中驱动部分维护者针对每个种类的驱动设计一套成熟的 标准的 典型的驱动实现 然后把不同厂家的同类硬件驱动中相同的部分抽出来自己实现好 再把不同部分留出接口给具体的驱动开发工程师来实现 这就叫驱动框架 2 内核维护者在
  • 涉密服务器 远程,一种具有远程定位功能的涉密移动存储系统及其实现方法专利_专利查询 - 天眼查...

    1 一种具有远程定位功能的涉密移动存储系统 其特征在于 该系统包括定位管理服 务器和移动存储介质 移动存储介质内设置有移动供电模块 定位通信模块 数据销毁模块 和数据存储模块 移动供电模块分别电连接定位通信模块 数据销毁模块和数据存储模块
  • adworld-pwn-level2

    必要知识点 32位系统函数调用使用堆栈传参 其调用时栈的结构如下 返回地址 gt 参数n gt 参数n 1 gt gt 参数1 将elf文件扔到IDA中 跟进到vulnerable函数 里面有输入函数 可以用来做栈溢出 再看到有system
  • 物联网LoRa系列-19:LoRa终端--射频芯片SX1261 SX1262的6种操作模式及其设置

    本文根据SX1261 2芯片手册 阐述SX161 2射频芯片的8种操作模式及其设置 目录 一 MCU与射频芯片之间的操作接口 二 SX1261 2射频芯片的6种工作模式的含义 三 SX1261 2射频芯片工作模式的设置 四 SX1261 2