SI24R1/NRF24L01P引脚及软硬件中文开发资料

NRF24L01P芯片兼容通信。从而被打上了国产NRF24L01P的标签,更有甚者居然磨掉芯片原本的SI24R1的LOGO打成NRF24L01P,给很多客户产生了很多不必要的损失。大家定向的理解,国产的东西总是会比国外进口的相差到哪里哪里,如此云云。其实,在很多客户在使用Si24R1的时候,通过一定的控制与设计,是可以发挥Si24R1自己独特的特性的。
   不同的芯片设计需要不同的射频布线以及MCU的控制,那么我下面要分享几点自己所知道的一些问题以及解决办法:
   1.进入低功耗(关断)模式后,功耗可能还在1mA左右,正常应该在1.5uA左右。
    解决办法:由于芯片采用CMOS工艺,当芯片处于关断模式时,芯片的数字输入引脚,CE,CSN,SCK,MOSI,必须为低电平,即关断模式下,和上述四路输入引脚相连的MCU的输出必须为低电平,不能为高阻状态或高电平。否则由于输入端累积电荷,会导致内部电路不能关断,而使得功耗增加
   2.当使用Si24R1号称7dbm的发射功率的时候,距离好像没有增加太多,而且无线音频客户觉得会有很大的噪声。
    解决办法:
       一、友商的nRF24L01+不要求芯片底部的金属焊盘接地,Si24R1规格书上也没要求接地,这是因为发射功率较低只有0dbm的情况,当芯片发射功率大于0dbm以后,芯片底部的金属焊盘会有很多白噪声耦合到地,而nRF24L01+的参考设计金属PAD下面有走3.3V的电源线,如果使用Si24R1 7dbm的发射功率,没有将底部的3.3V走线移除的话,那些噪声会干扰到电源,从而会增加通信的丢包率以及通信距离。有一些网友在网上提出,使用Si24R1替换NRF24L01P电源处需要多加一个大电容去滤波,这种做法是在一定的设计上是可行的,但是还是有一些朋友的问题没有解决。故,为达到更好的性能,特别是发射较大功率时,建议用户芯片底部PAD全部接地,将3.3V走线重新布线。
       二、无线音频客户做到第一点后还无法解决有噪声的问题,需要考虑这个噪声的来源,电源的纯净度,因为SI24R1相比对电源更加敏感一些,用户可以通过走线顺序来改进。本来电源的走线顺序为LDO-MCU-ADC-RF,整个流程设计下来,走线方便也符合流程,但是这样的设计弊端就是整个MCU与ADC转换(实际噪声maker)的噪声全部串扰到RF的电源中,从而影响无线通信。故,用户可以更改电源走线设计,LDO出来后分两路,一路给到RF,一路给到MCU+ADC。
   3.用户一直在使用nRF24L01P,替换成Si24R1后发现功耗突然大了许多。
     解决办法:对于已经使用nRF24L01+的用户,通常用户会将发射功率配置在0dbm,而此时的寄存器配置对于Si24R1来说,此时的发射功率是4dbm,此时消耗电流为16mA,比0dbm配置消耗的电流要大4-5mA,当系统采用纽扣电池供电时,需要注意这个问题。如果不需要大的发射功率请将发射功率的配置调整到小功率模式,具体配置,参考芯片手册(可配置为100模式,1dbm发射功率模式)。Si24R1的最大功率是7dbm,需要专门配置寄存器,请参考手册。

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

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Flutter启动页

效果图 import dart:async; import package:flutter/cupertino.dart; import package:flutter/material.dart; import jumpPage.dart;class TransitPage extends StatefulWidget {const TransitPage({super.key});overrideState<TransitPage> createState() > _Trans…

git学习笔记 | 版本管理 - 分支管理

文章目录 git学习笔记Git是什么仓库常见的命令commit 备注规范在文件下设置git忽略文件 .gitignore 版本管理git log | git reflog 查看提交日志/历史版本版本穿梭 git resetgit reset HEAD <file> git checkout -- fileName 丢弃工作区的修改git revertGit恢复之前版本的…

Redis设置开机自启动

&#xff08;配置环境变量&#xff09;需要重启电脑 1、在安装目录打开命令行&#xff0c;输入&#xff1a;打开一个命令窗进入文件夹内&#xff0c;输入redis-server --service-install redis.windows-service.conf 2、windowsR ---->services.msc 找到Redis&#xff0c;右…

框架分析(9)-Hibernate

框架分析&#xff08;9&#xff09;-Hibernate 专栏介绍Hibernate特性对象关系映射&#xff08;ORM&#xff09;数据库连接和事务管理查询语言&#xff08;HQL&#xff09;缓存机制透明的持久化操作对象的延迟加载事务管理 优缺点优点简化数据库操作跨数据库平台高度可定制性缓…

技术深入解析与教程:网络安全技术探秘

第一章&#xff1a;引言 在当今数字化时代&#xff0c;网络安全已经成为了重要议题。随着各种信息和业务在网络上的传输与存储&#xff0c;安全问题也日益突出。本文将带您深入探讨网络安全领域中的关键技术&#xff0c;涵盖渗透测试、漏洞挖掘以及恶意软件分析等方面&#xf…

SolVES4.1学习1——安装与使用教程

1、下载并安装 SolVES 4版本是QGIS插件&#xff0c;但实际使用过程中发现在最新版的QGIS安装该插件过程中&#xff0c;会报错或异常。因此需安装特定版本的软件。共需安装如下图软件及Java环境等。 根据官方文档安装好后&#xff0c;可以进行相关操作。 2、设置QGIS环境 QG…

Redis的数据类型到底有什么奥秘

这里我们先只介绍五种常用的数据类型~ 目录 1、string 2、hash 3、list 4、set 5、zset 6、示例 1、string 数据类型&#xff1a;string内部编码&#xff1a;raw、int、embstr 说明&#xff1a; raw是最基本的字符串--底层是一个char数组&#xff08;此处的char是一个字…

阿里内部绝密资料——亿级并发系统架构设计(2023版)

俗话说&#xff1a;罗马不是一天建成的&#xff0c;系统的设计当然也是如此。 从原来谁都不看好的淘宝到现在的电商巨头&#xff0c;展现的不仅仅是一家互联网巨头的兴起&#xff0c;也是国内互联网行业迎来井喷式发展的历程&#xff0c;网络信号从 2G 发展到现在的 5G 通信&a…

07-ThreadLocal有哪些使用场景?【Java面试题总结】

ThreadLocal有哪些使用场景&#xff1f; 7.1 多线程场景下共享变量问题 ThreadLocal是线程本地变量&#xff0c;可以存储共享变量副本&#xff0c;每一个独立线程都有与共享变量一模一样的副本。ThreadLocal在当前线程下共享变量是全局共享的&#xff0c;各个线程之间是相互独…

Unity2D实现左右移动的敌人角色

文章目录 环境与角色创建敌人角色 敌人脚本检测前方是否有地面获取检测点检测地面 完整代码运行结果其他文章 环境与角色 创建敌人角色 简单起见&#xff0c;突出脚本的内容&#xff0c;我们就只创建一个圆形用来当做当前的敌人角色。 为分清左右&#xff0c;我们再为敌人角色…

Docker使用数据卷挂载进行数据存储与共享

一、挂载和数据卷 在 Docker 中&#xff0c;挂载&#xff08;Mounting&#xff09;和数据卷&#xff08;Data Volumes&#xff09;是用于在容器和宿主机之间共享数据的机制。 挂载&#xff1a;将宿主机文件系统中的目录或文件与容器中的目录或文件进行关联的过程。数据卷&…

Jenkins java8安装版本安装

一、首先准备Jenkins、Jdk8、Tomcat9安装包 根据Jenkins官网介绍&#xff0c;Jenkins支持Java8的版本如下&#xff1a; 我们选择2.164版本进行安装&#xff0c;根据版本号支持输入下载地址&#xff1a;https://archives.jenkins.io/war/2.164/jenkins.war&#xff0c;进行下载…