热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

基于Si446x上的RSSI测量的自动操作

RSSI中断如果当前RSSI水平高于(超过)在API属性MODEM_RSSI_THRESH中定义
  1.       RSSI 中断

 

如果当前 RSSI 水平高于(超过)在 API 属性 MODEM_RSSI_THRESH 中定义的 RSSI 阈值,RSSI 中断将被激活。无论如何配置 MODEM_RSSI_CONTROL 或 MODEM_RSSI_THRESH 或 FRR_CTRL_X_MODE 属性,Si446x 芯片中的 RSSI 中断的来源始终是当前 RSSI 值与设定的 MODEM_RSSI_THRESH 值的比较。也就是说,RSSI 中断(GET_INT_STATUS 命令返回的 MODEM_STATUS 响应字节的位 D3)始终通过将当前的 RSSI 值与 RSSI_THRESH 相比较来生成,而不是将锁存的 RSSI 值与 RSSI_THRESH 相比较。除非清除中断或接收器通过其自动状态机器或主机 MCU 重新启动,否则该中断保持有效。

 

  1.       锁存的 RSSI 检查

 

RSSI 中断可能会与涉及锁存的 RSSI 值的另一个函数混淆。在 MODEM_RSSI_CONTROL 属性中,有一个名为 CHECK_THRESH_AT_LATCH(位 D5)的函数。如果将此位置位,则会对锁存的 RSSI 与 RSSI_THRESH 进行对比。但是,其目的是确定锁存的 RSSI 值没有超出阈值。如果锁存的 RSSI 超出阈值,则不会发生中断,数据包的接收继续正常进行。如果锁存的 RSSI 低于阈值,则芯片转换为 START_RX:RXTIMEOUT_STATE,并生成 INVALID_PREAMBLE 中断(如果启用)。利用跳频时,接收器调到下一频率的其中一个条件是 INVALID_PREAMBLE。如果锁存的 RSSI 值保持在 MODEM_RSSI_THRESH 定义的阈值以下,本段落中描述的功能将生成一个 INVALID_PREAMBLE。因此,换句话说,如果在信道中没有检测到信号功率,可使接收器调到下一个频率​​。

 

  1.       CCA 信号

 

CCA(空闲信道评估)信号是可以输出到其中一个 GPIO(在 API 文档中查找 GPIO_PIN_CFG)的信号之一。如果当前 RSSI 值高于 MODEM_RSSI_THRESH 中给出的阈值,则它会变高电平,如果当前 RSSI 值低于此阈值,则它会变低电平。只要接收器打开,此信号就会不断更新。

 

  1.       CCA 锁存信号

 

CCA 锁存(空闲信道评估锁存)信号是可以输出到其中一个 GPIO(在 API 文档中查找 GPIO_PIN_CFG)的信号之一。锁存的 CCA 信号可能会与锁存的 RSSI 信号混淆。锁存的 CCA 信号*不是*通过将锁存的 RSSI 信号与 RSSI 阈值相比较产生的。锁存的 CCA 信号是通过使用锁存函数“记住”CCA 信号(通过当前的 RSSI 与 RSSI 阈值对比)产生的。除非检测到同步字或接收器重新启动,否则 CCA 锁存信号保持有效。

 

  1.       抑制功能

 

可以根据当前的 RSSI 读数有条件地(除其他措施外)配置对 RX_DATA 输出的抑制。如果当前的 RSSI 仍低于 API 属性 MODEM_RSSI_THRESH 中定义的 RSSI 阈值,将不会开启 RX_DATA,而如果高于这个水平,则将开启 RX 数据。参见 API 属性 MODEM_OOK_CNT1 中的 SQUELCH 了解更多详细信息。



推荐阅读
  • GetWindowLong函数
    今天在看一个代码里头写了GetWindowLong(hwnd,0),我当时就有点费解,靠,上网搜索函数原型说明,死活找不到第 ... [详细]
  • 本文介绍了设计师伊振华受邀参与沈阳市智慧城市运行管理中心项目的整体设计,并以数字赋能和创新驱动高质量发展的理念,建设了集成、智慧、高效的一体化城市综合管理平台,促进了城市的数字化转型。该中心被称为当代城市的智能心脏,为沈阳市的智慧城市建设做出了重要贡献。 ... [详细]
  • Commit1ced2a7433ea8937a1b260ea65d708f32ca7c95eintroduceda+Clonetraitboundtom ... [详细]
  • Java容器中的compareto方法排序原理解析
    本文从源码解析Java容器中的compareto方法的排序原理,讲解了在使用数组存储数据时的限制以及存储效率的问题。同时提到了Redis的五大数据结构和list、set等知识点,回忆了作者大学时代的Java学习经历。文章以作者做的思维导图作为目录,展示了整个讲解过程。 ... [详细]
  • 本文详细介绍了Spring的JdbcTemplate的使用方法,包括执行存储过程、存储函数的call()方法,执行任何SQL语句的execute()方法,单个更新和批量更新的update()和batchUpdate()方法,以及单查和列表查询的query()和queryForXXX()方法。提供了经过测试的API供使用。 ... [详细]
  • 本文介绍了在使用Python中的aiohttp模块模拟服务器时出现的连接失败问题,并提供了相应的解决方法。文章中详细说明了出错的代码以及相关的软件版本和环境信息,同时也提到了相关的警告信息和函数的替代方案。通过阅读本文,读者可以了解到如何解决Python连接服务器失败的问题,并对aiohttp模块有更深入的了解。 ... [详细]
  • 生成式对抗网络模型综述摘要生成式对抗网络模型(GAN)是基于深度学习的一种强大的生成模型,可以应用于计算机视觉、自然语言处理、半监督学习等重要领域。生成式对抗网络 ... [详细]
  • Iamtryingtomakeaclassthatwillreadatextfileofnamesintoanarray,thenreturnthatarra ... [详细]
  • 在Android开发中,使用Picasso库可以实现对网络图片的等比例缩放。本文介绍了使用Picasso库进行图片缩放的方法,并提供了具体的代码实现。通过获取图片的宽高,计算目标宽度和高度,并创建新图实现等比例缩放。 ... [详细]
  • PHP图片截取方法及应用实例
    本文介绍了使用PHP动态切割JPEG图片的方法,并提供了应用实例,包括截取视频图、提取文章内容中的图片地址、裁切图片等问题。详细介绍了相关的PHP函数和参数的使用,以及图片切割的具体步骤。同时,还提供了一些注意事项和优化建议。通过本文的学习,读者可以掌握PHP图片截取的技巧,实现自己的需求。 ... [详细]
  • 向QTextEdit拖放文件的方法及实现步骤
    本文介绍了在使用QTextEdit时如何实现拖放文件的功能,包括相关的方法和实现步骤。通过重写dragEnterEvent和dropEvent函数,并结合QMimeData和QUrl等类,可以轻松实现向QTextEdit拖放文件的功能。详细的代码实现和说明可以参考本文提供的示例代码。 ... [详细]
  • Linux重启网络命令实例及关机和重启示例教程
    本文介绍了Linux系统中重启网络命令的实例,以及使用不同方式关机和重启系统的示例教程。包括使用图形界面和控制台访问系统的方法,以及使用shutdown命令进行系统关机和重启的句法和用法。 ... [详细]
  • 开发笔记:加密&json&StringIO模块&BytesIO模块
    篇首语:本文由编程笔记#小编为大家整理,主要介绍了加密&json&StringIO模块&BytesIO模块相关的知识,希望对你有一定的参考价值。一、加密加密 ... [详细]
  • 本文讨论了在Windows 8上安装gvim中插件时出现的错误加载问题。作者将EasyMotion插件放在了正确的位置,但加载时却出现了错误。作者提供了下载链接和之前放置插件的位置,并列出了出现的错误信息。 ... [详细]
  • CSS3选择器的使用方法详解,提高Web开发效率和精准度
    本文详细介绍了CSS3新增的选择器方法,包括属性选择器的使用。通过CSS3选择器,可以提高Web开发的效率和精准度,使得查找元素更加方便和快捷。同时,本文还对属性选择器的各种用法进行了详细解释,并给出了相应的代码示例。通过学习本文,读者可以更好地掌握CSS3选择器的使用方法,提升自己的Web开发能力。 ... [详细]
author-avatar
跟-着感觉走
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有