Thread 中讨论的其他器件: CC2592、 Z-stack、 CC2591
大家好、
因此、我的工作场所提出了一个基于用于无线通信的 CC2538+CC2592组合芯片组的设计、运行 OpenThread 堆栈、并且在大多数情况下工作正常。 但是、在一些站点、我们遇到了节点似乎"卡住"、无法传输的问题、我们想知道这是否是一个与渠道评估相关的明确问题。
我们的无线电驱动器或多或少地是 标准 OpenThread CC2538驱动器:我实际上贡献了大量 CC2592集成工作在上游。
阅读 CC2538的用户手册、我看到在 RFCORE_XREG_CCACTRL0中设置了 CCA 阈值;最低有效8位是一个有符号整数、表示以 dBm 为单位的 CCA 阈值;施加的偏移为73dBm。 它还在后面讨论了具有相同73dBm 偏移的 RSSI。
CC2538数据表介绍了加电复位不合适的情况、并建议值0xf8 (奇怪的是、与该页面上记录的"复位值"匹配)、该值大约等于-81dBm。 这比 CC2538数据表中描述的预期-88dBm 接收器灵敏度高7dB。 我想需要一些裕度、但为什么需要7dB 裕度?
在 CC2592数据表中、它讨论了使用不同 HGM 设置实现的相对增益;开启时的标称值为11dB、关闭时的标称值为6dB。 在我们的应用中、我们使用稳定的稳压电源运行、温度不会与典型的室温发生很大变化、但我们几乎可以在2.4GHz 频带的任何位置、因此需要考虑频率的±2dB 增益变化。 很明显、该变化假设 Hgm = 1、因此11dB 增益实际上可能在9dB 和13dB 之间。 在 HGM = 0时、我不确定 CC2592在这方面的行为。
现在、AN130 (SWRA447)讨论了如何让 CC2538与 CC2592完美搭配。 其中讨论了 LNA 对 RSSI 值的影响:如果启用了高增益模式、偏移将更改为85dBm、而当它关闭时、该值应为81dBm。 我在 这份承诺中已经注意到了这一点。
本文档未讨论如何调整 CCA 阈值。 如果没有。 我尝试用笔和纸来弄一些数字,但没有得到任何结果。
根据 AN130、CC2592可根据频率、电压和环境温度增加9dB 至13dB 增益。 在高增益模式关闭的情况下、灵敏度显然会降至-99dBm (因此在"赤脚"CC2538上提高了~11dB)、或降至-101dBm (提高了~13dBm;"最佳情况")。 我可以看到-101dBm (HGM=1)图的来源、但不能看到-99dBm (HGM=0)图。 在我的座位上、有几个可能的选项:
- 当 HGM=1或6dB (?)时、我可以将阈值减少13dB 当 HGM=0…时 因此、当 HGM=1或-14 (0xf2)且 HGM=0时、-8 (0xf8)变为-21 (0xeb)
- 我可以将与 RSSI 一起使用的偏移应用到 CCA 阈值并将"灵敏度"保持在它所在的位置;因此-81 + 85 = 4 (0x04)(此时 HGM=1)或-81 + 81 = 0 (0x00)(此时 HGM=0)
- 我可以用 AN130的值替代-81dBm 灵敏度;因此-101 + 73 =-28 (0xe4)表示 HGM=1、或-99 + 73 =-26 (0xe6)表示 HGM=0
或执行上述三项的组合。 问题是、这里的正确方法是什么? 或者我们是在错误的树中砍头、还是应该在其他地方寻找我们的沟通问题?