主题中讨论的其他器件:CC1111EMK868-915
您好!
我不知道如何正确地表述我的问题、因为我不知道根本原因是什么。 我将尝试提供一些背景:
我有一个 CC430系统、其中多个节点(电池驱动)与一个集线器(电源已连接)进行通信。 当集线器一直开启(RX 开启)时、节点大部分时间处于睡眠状态。 这些节点采用轮询机制:大约每7秒就会唤醒节点、并用一个小数据包将其可用性通告给集线器。 然后、节点在较短的时间内保持在 RX 中、以便集线器有机会与节点进行交互。
这在大多数情况下都非常有效。 我已经测试并弄清楚了节点在发送广播命令后保持在 RX 中的最短时间、以便能够安全地接收数据包。
我不确定这些信息是否相关、但我想介绍五个背景。
现在这是我的问题:在某些情况下,集线器和节点之间的通信失败。 我有一个系统、其中一个集线器与两个节点通信。 一个节点(节点 A)距离相当远、甚至需要通过一个房子(40米+中间的房子)进行传输。 节点(节点 B)靠近轮毂(10米、视线、仅部分衬套)。
虽然节点 A 和集线器之间的通信正常、但节点 B 和集线器之间的通信通常会失败、因为集线器未接收到广播包、或者集线器到节点 B 的命令在接收到广播后失败。 数据包。 奇怪的是:如果从节点 B 到集线器的封装确实通过、它具有相当好的 RSSI (大约-70dBm)。 当我将节点 B 向侧面移动几米时、一切都将再次正常工作。
它必须处理节点 B 的位置/位置、因为互换节点 A 和节点 B 会产生相同的结果、但现在节点 A 存在通信问题。 因此、这不是单个器件的问题。
我发现问题最可能与对讲机设置有关、因此我的寄存器设置如下:
/**
* CC430配置寄存器
*/
#define SYNC1 0xB5 //同步字、高字节
#define SYNC0 0x47 //同步字、低字节
#define FSCTRL1 0x06 //频率合成器控制。
#define FSCTRL0 0x00 //频率合成器控制。
//载波频率= 868MHz
#define FREQ2_868 0x21 //频率控制字、高字节。
#define FREQ1_868 0x62 //频率控制字、中间字节。
#define FREQ0_868 0x76 //频率控制字、低字节。
#define MDMCFG4 0xC7 //调制解调器配置。
#define MDMCFG3 0x83 //调制解调器配置。
#define MDMCFG2 0x13 //调制解调器配置。
#define MDMCFG1 0x22 //调制解调器配置。
#define MDMCFG0 0xf8 //调制解调器配置。
#define CHANNR 0x00 //通道编号。
#define DEVIATN 0x40 //调制解调器偏差设置(启用 FSK 调制时)。
#define FREND1 0x56 //前端 RX 配置。
#define FREND0 0x10 //前端 TX 配置。
#define MCSM0 0x10 //主对讲机控制状态机配置。
#define MCSM1 0x30 //主对讲机控制状态机配置。
#define FOCCFG 0x16 //频率偏移补偿配置。
#define BSCFG 0x6C //位同步配置。
#define AGCCTRL2 0x03 // AGC 控制。
#define AGCCTRL1 0x40 // AGC 控制。
#define AGCCTRL0 0x91 // AGC 控制。
#define FSCAL3 0xE9 //频率合成器校准。
#define FSCAL2 0x2A //频率合成器校准。
#define FSCAL1 0x00 //频率合成器校准。
#define FSCAL0 0x1f //频率合成器校准。
#define FSTEST 0x59 //频率合成器校准。
#define TEST2 0x81 //各种测试设置。
#define TEST1 0x35 //各种测试设置。
#define TEST0 0x09 //各种测试设置。
#define FIFOTHR 0x47 // RXFIFO 和 TXFIFO 阈值。
#define IOCFG2 0x29 // GDO2输出引脚配置。
#define IOCFG0 0x06 // GDO0输出引脚配置。 有关详细的伪寄存器说明,请参阅 SmartRF
Studio 用户手册。
#define PKTCTRL1 0x04 //数据包自动化控制。
#define PKTCTRL0 0x05 //数据包自动化控制。
#define ADDR 0x77 //设备地址。
#define PKTLEN 0x3D //数据包长度。
如果您可以检查一下您是否可以在这里看到可能导致此类数据包丢失的奇怪东西、那将会很棒。
无线电反射(例如从对面的墙反射)是否会导致此类行为?
反射是否会导致 CCA 未发送数据包?
如果另一个节点已关闭、则也会出现通信问题。 因此、来自其他节点的流量不会导致问题。
最棒的
Henry