With any radio communication system it is important to plan for data corruption to take place because of the harsh RF environment and interference.
There are 3 ways that applications deal with data loss:
-
Ignore data loss because old data is bad data (remote contolling vehicles, etc.)
-
Application handles error detection and retransmission when necessary.
-
Radio modems handle error detection and retransmission at the RF level so the RF channel appears as a transparent reliable connection.
A system designer should try to reduce interference as much as possible by separating antennas of disparate systems as much as possible. If the system designer prefers to allow the radio to provide a reliable data channel they will have to enable a built-in function in our radios called reliable delivery.
Within the XBee radio modem are settable parameters for reliable delivery. These parameters by radio include:
XBee Zigbee
Retries within Zigbee are not configurable and comply with the Zigbee protocol. Acknowledgements to packet delivery and retries can be disabled using the TO parameter.
XBee 802.15.4
RR - Application-layer retries the device executes
MM - Enables Digi header to use RR parameter
XBee SX, XBee 868 SX, XBee 900HP,
RR - Application-layer retries the device executes
MR - Mesh Retries
Included are diagnostic commands to assist in relible transmission:
BC (Bytes Transmitted)
DB (Last Packet RSSI)
ER (Received Error Count)
GD (Good Packets Received)
EA (MAC ACK Timeouts)
TR (Transmission Errors)
UA (MAC Unicast Transmission Count)
%H (MAC Unicast One Hop Time)
%8 (MAC Broadcast One Hop Time)
XBeePRO XTC (XTend compatible)
RR - Application-layer retries the device executes
MT - Multiple Transmit
TT - Streaming Limit
RN - Delay Slots
Included are diagnostic commands to assist in reliable transmission
%V (Board Voltage)
DB (Received Signal Strength)
GD (Receive Good Count)
HV (Hardware Version)
RC (Ambient Power - Single Channel)
RE (Restore Defaults)
RM (Ambient Power)
RP (RSSI PWM Timer)
SH (Serial Number High)
SL (Serial Number Low)
TP (Board Temperature)
TR (Transmit Error Count)
VL (Firmware Version - Verbose)
VR (Firmware Version - Short)
WA (Active Warning Numbers)
WN (Warning Data)
WS (Sticky Warning Numbers)
" If a pair of radio modems each have their RR parameter set to a number greater than 0, the transmitting radio will expect an acknowledgment from the receiving radio to indicate that it has successfully received a data packet. If an acknowledgment is not received, the transmitting radio will resend the same data packet (up to RR times) until it receives an acknowledgment from the receiving radio.
This will configure the modems to expect an acknowledgment from the receiving modem when the communication was successful. In the event of a comm failure, the transmitting modem will retry up to RR times (RR is the parameter to configure).
To enable this functionality simply configure the RR parameter available in the modems to a non-zero value. Most applications work well with a setting of 8 as a starting point. Using retries will slow down the response time slightly but will ensure good communication as retries always take place on a frequency different than were the error occurred to better overcome any potential interference.
Closely related to the RR parameter are the RN and TT parameters. They control a wait time before the transmitting radio resends a data packet. This is useful because if two radios are transmitting at the same time, they can be programmed to wait different time periods before resending their data packets. This will prevent a second collision when each radio retries the transmission.
Last updated:
Jan 01, 2024