CC1310 listen before talk的应用请教
在开发cc1310自己组建网络,碰到如下问题:
多个cc1310作为节点时,使用1310的信道监听功能实现listen before talk,检测到当前无其它节点发送数据时才进行数据发送。
节点只做发送用,就没什么问题。参考TI的官方例子已经能够实现相应功能。
现在如果我需要使得节点能够接收集中器发送的ack应答,那么节点需要处于radio接收状态。
请问信道监听和radio接收状态可以同时进行吗?
按照我现在的理解,先进行信道监听,当发现有其它设备在发送数据时,就进入radio接收状态。这样可能出现数据接收不全,因为信道监听会导致前面的数据信号漏掉。
不知道理解是否正确?有没有好的解决方法,还望赐教。
listen before talk中的信道侦听,目的是检查当前信道上是否有其他设备在发送数据,从而避免本机的发送与信道上已经在进行的发送发生冲突。
如果只是希望接收数据,直接处于接收状态即可,不必先侦听载波再接收数据。
hi~,Felix ZF,我使用的节点需要接收和发送数据,因为没有使用跳频技术,但是也希望尽量避免多个节点同时发送数据时的冲突。所以使用了信道侦听,在侦听到无数据时再发送。但是使用信道侦听会影响数据的接收。
我现在考虑直接处于接收状态,设置rx timeout时间,当timeout后没有收到数据,便认为当前信道无数据,可以发送数据。
不是太理解你为什么认为使用信道侦听会影响数据的接收。
你只需要在发送前使用信道侦听来检测信道忙闲,如果忙就随机退避后再检测,如果闲就可以发送数据了。
需要接收数据时,不用再进行信道侦听了,直接让RF处于rx状态,这时如果有节点在发送数据,就可以正常接收到了。
我之前对信道侦听的理解有些偏差。我测试一下。谢谢Felix ZF。