- 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 重新启动,否则该中断保持有效。
- 锁存的 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。因此,换句话说,如果在信道中没有检测到信号功率,可使接收器调到下一个频率。
- CCA 信号
CCA(空闲信道评估)信号是可以输出到其中一个 GPIO(在 API 文档中查找 GPIO_PIN_CFG)的信号之一。如果当前 RSSI 值高于 MODEM_RSSI_THRESH 中给出的阈值,则它会变高电平,如果当前 RSSI 值低于此阈值,则它会变低电平。只要接收器打开,此信号就会不断更新。
- CCA 锁存信号
CCA 锁存(空闲信道评估锁存)信号是可以输出到其中一个 GPIO(在 API 文档中查找 GPIO_PIN_CFG)的信号之一。锁存的 CCA 信号可能会与锁存的 RSSI 信号混淆。锁存的 CCA 信号*不是*通过将锁存的 RSSI 信号与 RSSI 阈值相比较产生的。锁存的 CCA 信号是通过使用锁存函数“记住”CCA 信号(通过当前的 RSSI 与 RSSI 阈值对比)产生的。除非检测到同步字或接收器重新启动,否则 CCA 锁存信号保持有效。
- 抑制功能
可以根据当前的 RSSI 读数有条件地(除其他措施外)配置对 RX_DATA 输出的抑制。如果当前的 RSSI 仍低于 API 属性 MODEM_RSSI_THRESH 中定义的 RSSI 阈值,将不会开启 RX_DATA,而如果高于这个水平,则将开启 RX 数据。参见 API 属性 MODEM_OOK_CNT1 中的 SQUELCH 了解更多详细信息。