您好!
我想手动实现 CCA 逻辑(不使用 cc1200中提供的配置)。
首先、我将读取 RSSI0寄存器以检查是否有有效的 RSSI 可用(RSSI0寄存器的位0表示这一点)。 如果我看到 RSSI 有效、我从 RSSI1寄存器读取实际的 RSSI 值。
如果 RSSI 值大于-80dBm、我们认为网络很忙、否则网络就空闲了。
以下是观察结果:
当网络中没有数据包时、我们读取约-85dBm 至-100dBm 的 RSSI、这符合预期。 一旦在网络中出现干扰、持续大约5秒、我们就可以看到 RSSI0寄存器显示"无效的 RSSI "。 一旦有效 RSSI 再次可用、RSSI 寄存器读取大约-40dBm 至-50dBm。 如果仍是信道中没有通信、则不会看到 RSSI 值回到初始范围-85至-100。
注:
我们正在 while 循环中持续读取 RSSI 寄存器、延迟约为10ms。 在每次读取 RSSI 寄存器之前、我们选通 RF 处于 RX 状态。
如果我们读取 RSSI 寄存器的方式有误、请帮助我们理解。