Digi radio modems are packet radios. Data shifted into the serial interface is buffered in a Din Buffer, packetized with a header and CRC and transmitted over-the-air. A receiving radio modem will decode the packet, check the addresses and CRC and send the packet out the serial interface if everything checks out. When retries are enabled the receiving radio modem will also send an Acknowledgement (ACK) to the transmitter.
Packets are assembled based on the following algorithm:
First byte shifted into the radio triggers the channel initialization sequence (by default; see RB* parameter to adjust).
Channel initialization takes 35 ms on 9600 and 19200 baud XStream modules. The Din buffer will continue to accumulate any bytes shifted in during this time.
When Channel initialization is complete, the radio modem will assemble the contents of the buffer into an RF packet with addresses and CRCs and begin to transmit it over-the-air (up to 64 bytes by default; see PK* parameter to adjust).
When the transmission of the packet completes, the transmitter will assemble another packet if there are additional characters in the buffer (after waiting for an ACK if retries are enabled). The module will continue to return to the Din buffer to assemble RF packets until it finds the buffer empty.
Firmware version 4.3 and higher allows additional packetization control. Look for documentation about PK*, RO* and RB*.
*Refers to register value, configure using AT commands.
Note that this all happens transparent to the host device. A host
device can stream 9600bps data through a Digi 9600 baud radio modem.
In many applications it is advantageous to ensure that the RF packets align the protocol packets by adjusting the baud rates and/or the packetizing parameters to allow the protocol packets to travel over-the-air as one contiguous block.
Aug 08, 2017