Hi All,
我的一个客户在测试CC1310时遇到如下问题,能否帮忙分析一下原因,多谢。
测试条件:3个CC1310在收到广播指令后同时发送数据;接收方接收数据,并检测无线信号数据冲突的问题。
测试结果:接收方有很大概率(约80%)能够收到某一个完整数据,且CRC校验正确。偶尔才能够检测到无线信号数据冲突。
接收数据以及检测信号冲突使用的是RF接收指令的CALL函数。
Void callback(RF_Handle h, RF_CmdHandle ch, RF_EventMask e)
{
If (e & RF_EventRxCollisionDeteced) //信号冲突
…
else if (e & RF_EventRxNok) //CRC错误
…
else if (e & RF_EventRxEntryDone) //接收到一个完整数据
…
}
为什么在3个目标在同时发送数据时,还能收到某一个完整数据,而不是必然得到无线信号数据冲突的结果。是不是跟目标发送的信号强度有关?
客户的原本用意是发现信号冲突时,则将多个CC1310分组并过滤出来。
Bruce li:
Hi All,
补充如下,针对如下应用场景,有什么比较好的建议吗?非常感谢。
CC1310做标签,每一个标签有唯一的ID,这些标签会跟着特定的产品变化位置;
在特定区域 ,向所有的CC1310标签进行广播,所有的CC1310标签收到广播后上报自己的ID;
在特定区域,无法事先知道具体有多少数量的CC1310,也不知道它们的ID分别是多少,但是知道它们ID的编码规则和ID范围;
客户原计划是通过信号冲突,将CC1310一个一个的识别出来,现在看来很难实现,因为测试了几片CC1310标签发现经常检测不到冲突