CC2530 发送一个ack.req的帧时,发送完成后会在一段时间内等待ack回复。想请问一下,如果这个时候来了一个其它帧(此帧destaddr,panid什么都合法),CC2530是会接收这个其它帧而产生中断(从而有可能应为超时无法接收到ack帧),还是会过滤\忽略这个帧一直等到期待的ack帧回复?谢谢
VV:
会接收的,但是这种可能性很小,因为ACK是硬件产生的,所以处理速度会很快,而且在接收端收到ACK很快就退出接收中断了
jiaqiang huang:
回复 VV:
根据802.15.4,macAckWaitDuration在OQPSK下应该有54个symbol periods。发送一个需要ack回复的帧时,在54个symbol periods等待时间内有别的帧发送过来为什么接收的可能性很小呢(例如在多node组网中,刚好有节点polling)?
所以我还是想知道一下CC2530在TX后等待ack的机制。在datasheet中我没有没有看到很明确的描述。在等待ack时,CC2530
1、是会过滤掉非ack帧,直到收到DSN正确ack帧或超时后产生中断。
2、还是正常接收任意合法帧产生中断。
因为如果是1,那等待的过程中会丢掉其它帧。如果是2,很有可能我在接收到并处理这个非ack合法帧时(例如Beacon Request命令需转换为TX发送Beacon),在处理的时候ack帧来就没法收到。
这两种情况不知道是怎么取舍与解决的?谢谢!