I have a project with Xbee but I’m just a beginner. I have a question that when some Xbees transfers their data to one station at the same time, the collision may happen. Is there any methodology to avoid or detect the collision except for CSMA-CA like token passing or something else ?
I’m looking forward to getting your reply.
Thank you so much
In IEEE 802.15.4, CSMA-CA is implemented. Now it depends on are you using beacon or non-beacon type. There is a parameter (AT command) to set CSMA-CA in xbee 802.15.4. Check XBee 802.15.4 product manual for the AT command to set CSMA-CA. Mean enable or disable. In CSMA-CA Xbee checks for the empty channel before transmitting the data.
As far as I read on the product manual of Xbee/ Xbee PRo v1.xAx, the CSMA-CA is implemented and in AT Commands, if RN=0, collision avoidance is disable. So when the CSMA-CA algorithm is disable, what will happen if some end devices transmit data at the same time to the coordinator ? Someone told me that when CSMA-CA is disable, we assummed that there are 3 end devices transmit their datas to the coordinator at the same time. 3 messages will be arranged to be collected by the coordinator in order due to delays which are ebtalished by a methodology. Is it right ?
In general, I really wanna know what will happen if some end devices transmit their data to one station at the same time when I disable CSMA-CA.
Thank you so much.
The CSMA-CA works is, it will broadcast the beacon to check before sending the actual data whether the channel on which xbee module is working is empty or not? And then xbee module transmit the actual data. So, CSMA-CA provides the safe way to communicate on the network. In this case module will wait before transmitting data until channel is empty for the security credential it is using
If CSMA-CA is disabled, then it is chance to face data loss or corrupted data at the receiving side if more frequently the data to be sent.
Other thing, in uni cast mode, coordinator will take care of the data packets which can be taken care by the receiving buffer size of the module. The issue can also depend on how much data is transmitted at a time from end-devices. If those are in single digi bytes of data then this issue may not occur. So, it totally depends on the buffer size, distance between two modules, RSSI of End Devices, Link Quality Budget, Used Antenna Types, Fresnel Zone between two modules and sent data bytes from End Device.
In unicast mode, coordinator can take care the data packets and buffer the data which still cant be transmitted in the buffer but I think when we disabled the CSMA-CA algorithm by AT command for RN, the data which will be transmitted to the coordinator from End devices at once time collided. How the coordinator can distinguish and buffer the exact message from End devices. Thanks for your helps.