Receiving multiple time the same frame with XBEE S2C


I use two XBEE S2C (XB24CAUIT-001) in API mode to transmit data from one module to the other. I can correctly send and receive each frames but I sometimes observe that a frame is received twice.
For example: I want to transmit “ABC” and then “DEF”. The frame “ABC” is received at 12:00:000 and I receive it again at 12:00:001 despite I am waiting for “DEF”.

I would expect the frame ID management to reject this as it should detect that we already received “ABC” the first time and sent an ACK paquet. Moreover, these two frames are always received 1ms or less apart even if I specified a 500ms delay between two frames which is very strange.

I think that there is a problem of frame ID management following the loss of the ACK paquet. Is there an option I should consider in XCTU to resolve that ?

It is possible that there has been a collision with the acknowledgement packet. When this happens, the retry can be resent even thought the previous packet got through. This duplication can be more common when using tight timing parameters between your application data packets.

I am assuming you are using unicast addressing and are referring to the radios ACK and not your own application acknowledgement.


1 Like

Indeed, I am referring to the radios ACK. Is there a way to avoid this duplication ?

Thank you for your answer

If you are using 802.15.4 you can implement the RN parameter for random back-offs to help avoid collisions.
You can also use broadcast mode. There are no acknowledgement packets used in broadcast mode.