TI论坛
直播中

郝埃连

7年用户 1377经验值
私信 关注
[问答]

请问CC2530如何实现指定节点的ACK回复功能?

各位大侠,
想请问下,CC2530是否能实现这样的有选择性的ACK回复功能:
多个节点广播发送RF信号,
1个接收器打开RF接收和ACK回复,
但只给某个指定的节点回复ACK,其它的节点收不到ACK,
当然,节点和接收器都出在一个频点下。
CC2530的相关机制是否能实现这点呢?
麻烦在于auto ack是自动回复的,似乎不能规定目标地址!

回帖(7)

李果

2020-4-24 09:08:04
在ZigBee协议里面,ACk主要分两种,APS ACK和MAC ACK,
MAC ACK是点到点的,当节点收到数据的目的地址和自己的MAC add一样的时候,就会回复MAC ACK出去,带有Seq number作为match对象取代了目标地址的功能。关于能不能收到,从无线通信上来说其他节点肯定也都收到的,但是其他节点收到了也不会处理。
APS ACK是应用层的ACK,端到端的,只有Destination得点会发出去,中间的经过的路由不会发送。
举报

郝埃连

2020-4-24 09:25:33
非常感谢VV大神回复,看来我遇到的mac ack的问题,
情况是:多个节点广播发送信号,接收器收到各个节点信号后,会自动回复ACK,虽然接收器接收到的地址不是它地址,而是广播地址FF.
希望实现的是,总多节点中,只有指定的某节点才收到接收器的ACK。
有两种途径:
1)接收器是否可以通过设定,只接收到指定节点的RF信号? 这样其它节点发送信号,接收器收不到,也就不会回ACK了。  用地址过滤功能可行吗?
2)接收器收到其它节点信号,但通过程序控制,判断不是指定节点,而不给ACK回复,也就是Manual Control能否控制呢?
另外,seq number应该是接收端收到的RF信号的自身计数器吧?
不知道我的叙述是否清晰,总之,谢谢VV大神!
举报

李果

2020-4-24 09:33:03
引用: a2009428 发表于 2020-4-24 14:02
非常感谢VV大神回复,看来我遇到的mac ack的问题,
情况是:多个节点广播发送信号,接收器收到各个节点信号后,会自动回复ACK,虽然接收器接收到的地址不是它地址,而是广播地址FF.
希望实现的是,总多节点中,只有指定的某节点才收到接收器的ACK。

1) 这个无法实现,但你的射频信号信号调制完以后发出以后,接收方接收到的是模拟信号,然后通过解调获得数字信号。
2)这个目前是有这个功能的,当你的节点单播的时候,虽然其他节点在射频上收到了数据,但是如果目的地址和自己的地址不匹配的话,就不会回复MAC ACK出来。
举报

郝埃连

2020-4-24 09:42:11
引用: wenlonghbo 发表于 2020-4-24 14:09
1) 这个无法实现,但你的射频信号信号调制完以后发出以后,接收方接收到的是模拟信号,然后通过解调获得数字信号。
2)这个目前是有这个功能的,当你的节点单播的时候,虽然其他节点在射频上收到了数据,但是如果目的地址和自己的地址不匹配的话,就不会回复MAC ACK出来。 ...

好的,那我暂且认为:假如接收器打开RF接收,并自动设置回ACK的话,
众多节点,广播发送RF信号后,都会收到接收器ACK回复,
如果节点都是广播发送,或者节点的RF发送目的地址都为接收器的地址的话,
那么接收器就无法只给特定的节点回复ACK,而是所有节点都会收到ACK;
另外想问下,不知道程序是否可控制ACK回复呢?是否可用C代码控制SACK,SNACK呢?
最后,非常感谢谢谢VV的回复!
举报

更多回帖

发帖
×
20
完善资料,
赚取积分