SX126x-数字接口SPI和控制功能

2023-11-15

目录

1 前言

2 Reset

3 SPI接口

3.1 属性要求

3.2 时序参数要求

1)离开Sleep模式时的时序

4 BUSY引脚

4.1 Tsw

4.2 TswMode

5 DIO

5.1 DIO1

5.2 DIO2

5.3 DIO3

6 IRQ

7 各模式下引脚状态


1 前言

        本文主要介绍SX126x系列芯片的数字接口和控制引脚。主要包括如下几个部分:

  • Reset引脚
  • SPI接口
  • Busy引脚
  • IRQ
  • DIO引脚

2 Reset

        该引脚用于芯片内部逻辑复位,需要注意的是,至少保证引脚拉低100us

3 SPI接口

3.1 属性要求

  • 芯片作为Slave设备端
  • 满足CPOL = 0; CPHA = 0
  • 最大速率支持16M

3.2 时钟来源

        内部的13M Hz RC

3.3 时序参数要求

1)离开Sleep模式时的时序

        退出Sleep模式的方法之一就是NSS的下降沿,通俗点理解就是会存在Sleep模式对某些寄存器进行操作,此时处于Sleep模式下的芯片接收到NSS下降沿后,会自动开启唤醒序列以及内部硬件初始化,在此阶段BUSY引脚会一直处于高电平。所以此时使用SPI通信时,需注意NSS下降沿到SCK的第一个上升沿之间需预留足够的时间,即时间t10,需要满足大于100us

  • 这点在移植驱动时需要尤为注意,Semetch官方代码中在所有会操作SPI接口的函数中先执行SX126xCheckDeviceReady()
void SX126xCheckDeviceReady( void )
{
    //通过全局变量判断是否在Sleep模式,如果是的则执行SX126xWakeup()
    //这里的MODE_RX_DC模式其实是receive duty cycle mode,该模式执行完后会自动进入Sleep模式,所以也默认做为Sleep模式处理
    if( ( SX126xGetOperatingMode( ) == MODE_SLEEP ) || ( SX126xGetOperatingMode( ) == MODE_RX_DC ) )
    {
        SX126xWakeup( );
    }
    SX126xWaitOnBusy( );
}

void SX126xWakeup( void )
{
    //执行一次获取状态的命令(本质还是NSS的下拉沿)来使芯片唤醒。
    GpioWrite( &SX126x.Spi.Nss, 0 );
    SpiInOut( &SX126x.Spi, RADIO_GET_STATUS );
    SpiInOut( &SX126x.Spi, 0x00 );
    GpioWrite( &SX126x.Spi.Nss, 1 );

    //等待BUSY引脚拉低
    SX126xWaitOnBusy( );

    //全局变量记录当前处于的工作模式
    SX126xSetOperatingMode( MODE_STDBY_RC );

    CRITICAL_SECTION_END( );
}

4 BUSY引脚

        表示芯片内部的状态,低电平表示内部空闲允许接收命令;拉高表示内部已占用不能接受SPI命令。

4.1 Tsw

  • 写命令操作过程中,当NSS上升沿,表示一个完整命令的结束。芯片接收到命令后,内部状态机需环境并开始处理命令,这个时间就是Tsw。即NSS上升沿到BUSY拉高的时间
  • 读命令不影响内部状态机,因此命令发送完后,BUSY会一直低电平
  • Tsw最大值600ns
  • 虽然Tsw过程中,BUSY引脚是低电平,但该阶段是无法接收命令的

4.2 TswMode

  • CS上拉到BUSY下拉的时间,即转换时间
  • 写命令会导致模式之间的切换,该切换对应时间如下

5 DIO

  • 用于中断输出引脚或者特殊功能引脚,总共有3个:DIO1,DIO2,DIO3。
  • 如果映射到DIOx上的中断出发,DIOx会输出上升沿

5.1 DIO1

  • 通用中断引脚,任何芯片内部的中断源都能映射到该引脚

  • 可以通过命令SetDioIrqParams来配置

        Irq Mask - 中断源使能,对应bit置1即使能

        DIO1 Mask - 映射到DIO1的中断源使能,对应BIT置1即使能

        DIO2 Mask - 映射到DIO2的中断源使能,对应BIT置1即使能

        DIO3 Mask - 映射到DIO3的中断源使能,对应BIT置1即使能

5.2 DIO2

  • 两个功能2选一:1)和DIO1一样,通用中断引脚; 2)可以配置成RF开关控制引脚

  • RF开关控制引脚是通过命令 SetDIO2AsRfSwitchCtrl来使能的。在这种模式下,DIO2将在Tx期间输出高电平,在任何其他模式下输出低电平。

5.3 DIO3

  • 两个功能2选一:1)和DIO1一样,通用中断引脚; 2)可以配置成TCXO(温度补偿晶振)的电源

  • 电源功能是通过命令 SetDio3AsTCXOCtrl来使能的。

        tcxoVoltage - 输出电源电压值

        delay - 等待TCXO起振的超时时间

6 IRQ

  • 总共有10各中断源
  • 每个中断源都能映射到引脚DIO1,DIO2,DIO3上

7 各模式下引脚状态

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

SX126x-数字接口SPI和控制功能 的相关文章

  • 刷脸支付成为下一个主流我们拭目以待

    智能刷脸支付已成为2019支付生态的风口 对于超市 便利店 企事业单位 停车场 餐厅等所有支付场景 越早加入刷脸支付 将享受越多的风口红利 刷脸支付 智慧医疗 智慧校园 智慧银行 餐饮超市酒店 无感停车场 各场景解决方案 软件定制开发 支付
  • 谷歌面试题解析: 扔鸡蛋的正确方式是什么?

    面试中 为了考察应聘者的思维方式 面试官偶尔会出一些谜题 Puzzles 比如 在谷歌 就有这样一道让人 闻风丧胆 的面试题 You work in a 100 floor building and you get 2 identical
  • 个人网站搭建记录

    个人网站地址 实际需要 云服务器 域名 网站备案 知识储备 node写一些后台接口 express mysql数据库 navicat连接数据库 mysql 常用终端命令行 https www jb51 net article 194140
  • hexo问题及解决

    1 推荐主题 butterfly 的默认 layout 很好 尤其对于内容比较多的 blog 安装方法如下 npm install hexo renderer pug hexo renderer stylus save npm instal

随机推荐

  • QMessageBox、QColorDialog、按钮汉化显示

    QMessageBox QColorDialog 按钮汉化显示 版本 Qt5 9 9 环境 QtCretator MinGW 在Qt源码目录下找到qt zh CN ts复制一份到工程目录 该文件在 G install Qt Qt5 9 9
  • 图像仿射变换shear怎么翻译?剪切、错切、推移哪个译词好?

    老猿Python博文目录 https blog csdn net LaoYuanPython 仿射变换博文传送门 带星号的为付费专栏文章 图像仿射变换原理1 齐次坐标来龙去脉详解 图像仿射变换原理2 矩阵变换 线性变换和图像线性变换矩阵 图
  • 关于CASE WHEN造成的查询缓慢的生产问题思考

    因为做的是类似SAAS的系统 关于同一个业务没会有不同的视角 有管理员 有类别分类的 有特别逻辑处理的 总而言之涉及到很多方面 再加上历史遗留问题导致导致的数据问题 这SQL写起来真的酸爽 除了简单的关联 还要考虑到一个效率问题 最近就因为
  • 搜索引擎的发展历史

    第一代搜索引擎 分类目录时代 分类目录时代的的搜索引擎会收集互联网上各个网站的站名 网址 内容提要等信息 并将它们分门别类的编排到一个网站中 用户可以在分类目录中逐级浏览并寻找相关的网站 搜狐目录 hao123等就是典型的分类目录时代的代表
  • 如何在数据库事务提交成功后进行异步操作

    原文链接 问题 业务场景 业务需求上经常会有一些边缘操作 比如主流程操作A 用户报名课程操作入库 边缘操作B 发送邮件或短信通知 业务要求 操作A操作数据库失败后 事务回滚 那么操作B不能执行 失败后也可以重新进行自调度 操作A执行成功后
  • css3学习以及移动端开发基本概念的思考

    html height 1000px background color red media screen and width 2560px html background color blue 注意 首先必须弄清楚 我们的width hei
  • => js 中箭头函数使用总结

    箭头函数感性认识 箭头函数 是在es6 中添加的一种规范 x gt x x 相当于 function x return x x 箭头函数相当于 匿名函数 简化了函数的定义 语言的发展都是倾向于简洁 对人类友好的 减轻工作量的 就相当于我最钟
  • Zookeeper启动报错~找不到或无法加载主类

    按照之前自己写的博客安装zk 在启动的时候却发现 就是启动不了 百思不得其解 额 唯一的区别就是zk的版本不一样了 最后通过查看启动日志 一般都是在zk的log路径下 查出竟然报了如下的错误 root centos 1 logs tail
  • 博图程序需要手动同步_TIA(博图)S7-1200实战篇:模拟量标定3--SCL语言生成成FC/FB块续...

    往期相关回顾 定义各变量名称传感器量程上限 HI 下限 Lo PLC接收数字量 上限 K1 下限 K2 模拟量输入 AI 然后公式是 AI K2 K1 K2 HI Lo Lo 我们已经知道传感器标定的公式 那又如何在博图SCL语言环境编写程
  • 【精读系列】GloVe: Global Vectors for Word Representation

    本论文介绍了一种基于计数统计的词向量学习方法 GloVe 作者实验说明效果优于 Word2Vec 模型 阅读完成时间 20221109 一些预备知识或者是常用知识 GloVe 模型属于 count based method 所谓 count
  • Flink CDC(2.0) 如何加速海量数据的实时集成?

    原文 Flink CDC 如何加速海量数据的实时集成 知乎 导读 Flink CDC如何解决海量数据集成的痛点 如何加速海量数据处理 Flink CDC社区如何运营 如何参与社区贡献 今天的介绍会围绕下面四点展开 Flink CDC 技术
  • 自媒体怎么做?综合类自媒体账号怎么做好

    原创 自媒体运营中比较大众化的就是综合类 比如趣头条 搜狐号等 可以发文字内容 可以发图文内容也可以发视频 可以说是多样化的 对于创作者来说 这样的平台更加方便 但是运营其实更加难 如果只是单一类的 掌握一种运营方法还比较容易 但是这种多样
  • FATFS实现数据追加功能(原文不覆盖)

    在对FATFS的应用中我们经常需要把采集的数据存入的文件中 用作保存 也许我们的系统是一个长期的运行过程 但是我们的数据可能不是持续采集的 所以我们这样写代码 注册一个工作区域 f mount 0 fs 打开创建一个新文件 res f op
  • Chrome开启自带多线程下载

    在地址栏输入 chrome flags 然后在搜索框中输入 Parallel downloading 选择enabled 重启Chrome
  • hadoop学习笔记之分布式计算框架

    分布式计算框架 移动计算而不是移动数据 移动计算就是把你写好的计算 程序拷贝到不同的计算节点上运行 MapReduce适合做离线计算 Storm适合做流失计算 Spark适合做内存计算框架 从HDFS上存储的数据作为我们MapReduce的
  • 前端如何高效的与后端协作开发

    前端如何高效的与后端协作开发 1 前后端分离 前端与后端的分离 能使前端的开发脱离后端的开发模式 拥有更大的自由度 以此便可做前端工程化 组件化 单页面应用等 可以参考 前后端分离 web与static服务器分离 2 尽量避免后端模板渲染
  • 点云数据生成鸟瞰图笔记

    参考博客 处理点云数据 一 点云与生成鸟瞰图 灰信网 软件开发博客聚合 点云数据 点云数据一般表示为N行 至少三列的numpy数组 每行对应一个单独的点 所以使用至少3个值的空间位置点 X Y Z 来表示 如果点云数据来自于激光雷达传感器
  • jQuery dataTables 的使用

    jQuery 的插件 dataTables 是一个优秀的表格插件 提供了针对表格的排序 浏览器分页 服务器分页 筛选 格式化等功能 dataTables 的网站上也提供了大量的演示和详细的文档进行说明 为了方便学习使用 这里一步一步进行说明
  • 跨域和处理跨域

    一 跨域的概念 在讨论跨域之前 我们先来说一下什么是 同源策略 看下面这个URL地址 该URL由 协议 IP 端口等部分组成 如果他的协议 IP和端口3者都一样我们就可以称之为是同源 有一个不一样就不是同源 即 跨域 也就是跨域访问 默认这
  • SX126x-数字接口SPI和控制功能

    目录 1 前言 2 Reset 3 SPI接口 3 1 属性要求 3 2 时序参数要求 1 离开Sleep模式时的时序 4 BUSY引脚 4 1 Tsw 4 2 TswMode 5 DIO 5 1 DIO1 5 2 DIO2 5 3 DIO