RFDESIGN RFD900x Multipoint Firmware User Manual
- June 5, 2024
- RFDESIGN
Table of Contents
RFDESIGN RFD900x Multipoint Firmware
Features
- Synchronous firmware for 2 or more modems
- User settable data rates
- Diversity antenna support
Introduction
The RFD x and ux radio modems can be loaded with three official firmware releases to achieve different communication architectures and node topologies. So far, the available firmware versions are:
- Peer-to-peer (P2P)
- Multipoint network
- Asynchronous mesh
This document describes the configuration of the Multipoint firmware. This firmware version is not loaded in the RFD900x radio modem by default. This means, you must download it from the website and flash it to the radio. The download link can be found in section “Useful links”.
The modems feature a boot loader to facilitate field upgrade of the modem firmware via the serial port. This is most easily performed by using the latest version RFD Modem tools (see “Useful links”)
Figure 1-1 pictures a generic multipoint network. The network requires that
one of the devices assumes a master role to control the timeslot distribution
of the surrounding modems.
As depicted in Figure 1-1, the multipoint network allows each node to be addressed individually. However, after receiving data it is not possible to identify which node it came from.
Note: Multipoint firmware is not compatible with -EU modems due to limitations the of certificated modes. Note: Due to the limited number of channels available on the 868 MHz band the maximum number of nodes that can be operated may be reduced.
Note: Use of flow control is strongly recommended to prevent data loss or corruption.
Software/GCS Support
Multipoint firmware settings, other than master node settings, can be managed
by the modem tools GUI. All settings can also be configured by AT commands.
Default serial port settings are as follows:
- 57600 baud
- No parity
- 8 data bits
- 1 stop bit
The RFD x and ux series radio modem have many software features including:
- Frequency Hopping Spread Spectrum
- Transparent Serial Link
- Configuration by simple AT commands for local radio, RT Commands for remote radio
- User configurable serial data rates and air data rates
- Error correction routines, MAVLink protocol framing (user selectable)
- MAVLink radio status reporting (Local RSSI, Remote RSSI, Local Noise, Remote Noise)
- Automatic antenna diversity switching on a packet basis in real-time
- Automatic duty cycle throttling based on radio temperature to avoid overheating
Note: Due to limitations of addressability in the firmware SiK features such as RC pass through and GPIO pin mirroring are not available.
AT commands
The Multipoint Firmware supports the Hayes AT’ modem command set for configuration. The AT command mode can be entered by using the
+++’ sequence
in a serial terminal connected to the radio. When doing this, you must allow
at least 1 second after any data is sent to be ensure the request for command
mode is not interpreted as data. When you are successfully in the AT command
mode, an `OK’ prompt will be displayed on the screen and the RFD900x modem
will stop displaying incoming data from the remote modem. Whilst in command
mode, you can use the AT commands to control the local RFD900x modem or the RT
commands to control the remote modem(s).
To set certain registers to a value, follow these steps:
- Use the command ATSn=X where n is the register number and X is the desired value.
- Use the command AT&W to save the new values to the modem.
- Use the command ATZ to reboot the modem for changes to take effect.
Table 3-1 shows a gives a list of AT commands and their description.
AT Command | Description |
---|---|
ATI | Returns the radio version |
ATI2 | Returns the board type (e.g. 131 for x series, 136 for ux modem) |
ATI3 | Returns board frequency (e.g. 0x0091 for 900MHz 0x0086 for 868MHz) |
ATI4 | Returns board reversion |
ATI5 | Returns all user settable EEPROM parameters and their values |
ATI5? | Returns all user settable EEPROM parameters and their values and |
possible range
ATI6| Displays TDM timing report
ATI7| Displays RSSI signal report
ATI8| Display Device 64-bit hexadecimal unique ID
ATI9| Returns calibration state as “CAL Valid” or “CAL invalid”
ATI10:X| Returns user settable EEPROM parameter X and their values and
possible range
ATO| Exits AT command mode
ATSn?| Returns ‘S’ parameter ‘n’
ATSn=X| Sets ‘S’ parameter number ‘n’ to value ‘X’
ATRn?| Returns ‘R’ parameter ‘n’
ATRn=X| Sets ‘R’ parameter number ‘n’ to value ‘X’
ATZ| Reboots the radio
AT &F| Resets all parameters to factory defaults
AT &W| Writes current parameters to EEPROM
AT &UPDATE| Reset and enter boot mode
AT &T| Disables debugging report
AT &T=RSSI| Enables RSSI debugging report
AT &T=TDM| Enables TDM debugging report
AT &E=X| Set new encryption key ‘X’ 128-bit AES (as 16 hex characters
5A02D5BB…)
AT &E?| Shows current encryption key
AT &M?| Current master node settings
AT &MX=A,B| Describes the network configuration. Only set this on master
node (NETID=0, NODEID=1). X is the network number (note must start
with 0 as this is the synchronising network). A is the start channel ID of
the network (this alsostartsat 0 and can have values 0,7 or 13). B is the
nodecount of the network (i.e. thenumber of nodes on the network including
the master)
Table 3-1: AT Commands and their description
RT commands are terminal commands that take effect on a remote node. They allowthe user tosetor get a remote node’s parameter, for instance, as if they were being set locally. Table 10-2 lists theRT commands and their respective descriptions
RT Command RTI,[x]| Description
Shows the radio version
---|---
RTI2,[x]| Shows the board type
RTI3,[x]| Shows board frequency
RTI4,[x]| Shows board version
RTI5,[x]| Shows all user settable EEPROM parameters and their values
RTI5?,[x]| Shows all user settable EEPROM parameters and their possible
range
RTI6,[x]| Displays TDM timing report
RTI7,[x]| Displays RSSI signal report
RTI8,[x]| Display Device 64-bit unique ID
RTI9,[x]| Display node ID [multipoint only]
RTO,[x]| Exits AT command mode
RTSn?,[x]| Displays radio ‘S’ parameter number ‘n’
RTSn=X,[x]| Sets radio ‘S’ parameter number ‘n’ to ‘X’
RTRn?,[x]| Displays radio ‘R’ parameter number ‘n’
RTRn=X,[x]| Sets radio ‘R’ parameter number ‘n’ to ‘X’
RTZ,[x]| Reboots the radio
RT &F,[x]| Resets all parameters to factory defaults
RT &W,[x]| Writes current parameters to EEPROM
RT &UPDATE,[x]| Reset and enter boot mode
RT &P,[x]| Change TDM phase (debug only)
RT &T,[x]| Disables debugging report
RT &T=RSSI,[x]| Enables RSSI debugging report
RT &T=TDM,[x]| Enables TDM debugging report
RT &E=X,[x]| Set new encryption key (128-bit AES in 16 hex bytes e.g.
5A02D5BB…)
RT &E?,[x]| Shows current encryption key
Figure 3-2: RT Commands and their description
Note: ATI5? and RTI5? may not return all parameters due to a buffer
overflow in this case use theATI10:X command to retrieve the missing parameter
information, where X is the parameter number. Eg ATI10:20, returns
S20:ANT_MODE(N [0..3]=0{Ant1&2,Ant1,Ant2,Ant1=TX;2=RX,}
RT commands on multipoint network will solicit a response from all available
nodes on the network, the responding node is identified by the x in the
brackets, [x] at the start of the line. Commands canbe addressed to an
individual node, done by adding ‘ ,[x]’ to the RT command as per the
examplesbelow. This example describes how to get the radio version of the
remote node 2 in a multipoint network(append,[x] where x is desired node to
RTI command)
RTI,2
Table 3-3 shows more details about the parameters that can be set in the RFD900x modem.
Reg #| S Register Description| Default Value| Maximum
Value| Minimum Value| Must be the same at both ends of the
link?
---|---|---|---|---|---
S0| FORMAT
This is for EEPROM version, it should not be changed|
69
|
n.a.
|
n.a.
|
n.a.
S1| SERIAL_SPEED
Serial speed in ‘one-byte form’. Accepted values are 1, 2, 4, 9, 19, 38,
57, 115, 230, 460,1000 corresponding to 1200bps, 2400bps, 4800bps, 9600bps,
19200bps, 38400bps, 57600bps, 115200bps, 230400bps, 460800bps, and 1000000bps
respectively.| 57| 1000| 1| No
S2| AIR_SPEED
Air data rate in one-byte form, in kbps. Accepted values are 12, 56, 64,
100, 125, 188, 200, 224, 500, 750.|
64
|
750
|
12
|
Yes
S3| NETID
Network ID. It should be the same on all modems of the network| 0| 311| 0|
Yes
S4| TXPOWER
Transmit power in dBm. Maximum is 30dBm| 30| 30| 0| No
S5| ECC
Deprecated. No effect, cannot be changed.| 0| 0| 0| n.a.
S6| RXFRAME
Sets the data type for the modem. 0=Raw, 1=Mavlink2, 2 = SAS|
1
|
2
|
0
|
No
S7| OP_RESEND
Deprecated. No effect, cannot be changed.| 0| 1| 0| n.a.
S8| MIN_FREQ 3| 922000,| 928000,| 902000,| Yes
Min frequency in kHz| 8650004| 8650004| 8690004
S9| MAX_FREQ 3| 928000,| 928000,| 902000,| Yes
Max frequency in kHz| 8670004| 8650004| 8690004
S10| NUM_CHANNELS 3
Number of frequency hopping channels. Do not change as this will affect the
spectrum separation of the nodes| 21,74| 51,84| 2,14| Yes
S11| DUTY_CYCLE
The percentage of time to allow transmit| 100| 100| 10| No
S12| LBT_RSSI
Listen before talk threshold
(This parameter shouldn’t be changed)| 0| 255| 0| Yes
S13| RTSCTS
Ready-to-send and Clear-to-send.| 1| 1| 0| No
S14| Max Window
Max transit window size used to limit max time/latency| 80| 400| 20| Yes
S15| Encryption Level
Encryption level 0=off, 1=128bit| 0| 1| 0| Yes
S16 – S19| RESERVED
Deprecated. No effect.| 0| 0| 0| n.a.
S20| ANT Mode
Set antenna port function. 0= Diversity, 1=A1 only, 2=A2 only, 3= A1 TX and
A2 RX| 0| 3| 0| No
S21| GPIO1_3 STATLED
Set GPIO 1.3 to behave the same as the status LED allowing link lock status
to read from the I/O pin|
0
|
1
|
0
|
No
S22| RESERVED
Deprecated. No effect.| 0| 0| 0| n.a.
S23| RATE/FREQBAND
To change bands. Only for locked modems| 0| 1| 0| Yes
S24| NODEID
Node ID. One node must be acting as a master (NODEID 1, NETID 0) for a
multipoint environment to work.| 2| 16| 1| No
S25| NODEDESTINATION
Remote node ID to communicate with. Set the value to 255 to broadcast to
all nodes. Cannot be the same as NODEID.| 255| 2555| 1| No
S26| NETCOUNT
The total number of networks on the one master node. Not applicable to non-
master nodes.| 1| 106| 1| Yes
S27| SERBREAKDETECTMS10
x10 to give time in ms units for break detection. Set to 0 to turn this
feature off.| 0| 20| 0| No
S28| RESERVED
Deprecated. Has no effect.| 0| 0| 0| n.a.
S29| MAX_PACKET
Max air packet (bytes). Advanced feature.| 380| 120| 480| Yes
S30| BUFFSIZE
Max serial buffer (bytes). Advanced feature.| 631| 256| 1920| Yes
R0| TARGET_RSSI
Optimal RSSI value to try to sustain (0 disables the feature)| 0| 110| 0|
No
R1| HYSTERESIS_RSSI
Amount of change before power levels altered| 5| 15| 2| No
Table 3-3: AT parameters
Notes:
- To ensure the correct channel separation this value will change based on frequency band and number of channels. Examples given in theexample configurations.
- Injects RSSI packet when MAVLink protocol used and heartbeat packet detected.
- Some of these values will vary on region locked modems.
- 868MHz version.
- The maximum node number is 16 and the value of 255 indicates broadcast, all values between 16 and 255 are not valid.
- The number of networks is based on channel separation requirements and will change based on frequency band and number of channels. Examples given in the example configurations.
Setting up data encryption
The 128-bit AES data encryption may be set, enabled and disabled using the AT commands (see Table 2.1). The encryption key can be any 32-character hexadecimal string.
To encrypt a device, the encryption mode must first be enabled, e.g. by typing
ATS15=1′ in the command terminal. Once the encryption mode is active, an encryption key may be set, e.g. by typing
AT&E’ into the command terminal.
The encryption key may be of any 32-character hexadecimal string of the users
choosing. Modems with different encryption settings will not communicate.
After entering command mode, send the following commands to set encryption on using an arbitrary 32-character key:
ATS15=1
AT&E=5AEEF103125C0AA233678909160111CA
AT&W
ATZ
Setting the air data rate
The default air data rate is 64kps. If the air speed is set lower, the range of the wireless link increases but the total amount of data that you can send will be reduced. The total amount of data is split evenly between all the nodes on the network. If the air data rate is set higher the greater throughput allows for more total data but reduces range. The air data rate must be the same for all nodes on the network.
The air data rate is chosen depending on:
- The range that you need
- How many nodes you want on each network
- The amount of data that each node will send
It is important that the modem serial data rate must be set to a higher value
than the air data rate serial output data is not lost, as there is limited
output buffering in the modem.
To set a 224kbps air data rate, for instance, enter command mode and issue:
ATS2=224
AT&W
ATZ
Multipoint Network
The multipoint firmware is not loaded on the modem by default and will need to be uploaded into all network modems. Check section “Useful links” for the download link and refer to section “RFD Modem Tools” to upload the multipoint firmware. After uploading the device, you are required to choose a master node that will control the radio timeslot allocations.
At this time the multipoint firmware settings, other than the master nodes configuration, are supported by the RFD modem tools. Therefore, the master node settings must be made by AT commands via a terminal programme or the terminal tab of the RFD tools. The list of AT commands can be found in section three of this manual.
To set up the multipoint network, each device must be assigned a unique Node ID on its network. A device set as overall master is also mandatory.
By default, the nodes are configured to address all the other nodes in broadcast mode, Node Destination = 255. To address a specific node, you must set the Node Destination parameter. For example, to address the data to node 3, you must send the following commands in command mode:
ATS25=3
AT&W
ATZ
A few notes on the multipoint network (see Figure 4-2):
- Based on the topology depicted in Figure 4-2, for Node 3 to communicate with Node 2, Node 1 (the base) and Node 2 must be within the RF range, and
- More nodes will reduce the effective throughput. · All nodes must remain in range of the Master node.
Example network configurations
This section will cover the key modem settings for some of the network types that may be desired. As a general rule lower airspeed will allow for more range but limit the number of nodes/data throughput that can be used.
64kbps Airspeed Networks
Single network
- Dependent on range and power requirements. Lower power will reduce range.
- Example setting for sending mavlink data
- Depends on the network structure. Master node must be set to broadcast (255). Other nodes may be set to address any single node in the network or broadcast mode
x = the node number starting with the master (1) with a maximum in this case of (4) in a three node one master configuration
y = the address of the target node
Master node specific settings
AT&M0= 0, Z where Z is the maximum NodeID used e.g. (4) in a three node one master configuration.
Single network with relay node
Example network path. Note that the master node has been set as the relay node
as all nodes must be able to see the master and that Vehicle1 will always send
messages via the relay even if it is in range to receive them direct from the
GCS
Settings as for single network with the following exceptions
Note that for the Master (Relay) only, the flow control is disabled. This node also requires that the RX and TX pin of the UART (pin 7 and 9) must be connected.
125kbps Airspeed Networks Single network (Maximum 7 non-master nodes)
- Dependent on range and power requirements. Lower power generally lowers range. 2 Example setting for sending mavlink data
- Depends on the network structure. Master node must be set to broadcast (255). Other nodes maybe set to address any single node in the network or broadcast mode
x = the node number starting with the master (1) with a maximum in this case of (4) in a three nodeone master configuration
y = the address of the target node
Master node specific settings
AT&M0= 0, Z where Z is the maximum NodeID used e.g. (4) in a three node one master configuration.
Maximum number of nodes per network
The maximum number of nodes that can be used on a network is determined by the total throughput, related to the airspeed minus overheads etc., and the required node throughput, recommended to be at least 12-14kbps for basic mavlink telemetry. The number of nodes is the throughput divided by needed node throughput.
Example throughput measurements
Multiple Networks
It is possible to run multiple networks of the same configuration at the same time to enable support for more nodes. There will still only be one master node (network 0, node 1) and all nodes will need to be in range of the master for synchronisation. Node 1 on NetworkIDs other than 0 will act as normal nodes and need no master node setting configurations. Nodes will only see other nodes on the same NetworkID.
The theoretical NetworkID minimum frequency separation for networks is approximately 1200kHz on 900 version modems and approximately 1050kHz on 868 version modems. The NetworkIDs of these networks would be separated by the number of channels required to meet this separation frequency. The channel bandwidth, in kHz, is the (Max Freq – Min Freq) / Num Channels.
e.g. For default frequency and number of channels on a 900x modem
928000 – 922000 / 21 = 285.7 kHz channel bandwidth
Therefore, the minimum number of channels for required network separation is 5, so valid NetworkIDs would be 0, 5, 10, 15 etc.
Note: These are theoretical values and have not been fully verified as working networks.
A tested network example is given below using the 125kbps airspeed example basic settings.
The NetworkIDs values are 0,7 and 13 so:
The following settings will be needed for the master node.
AT&M0= 0, Z0 where Z0 is the maximum NodeID used in NetworkID 0
AT&M1= 7, Z1 where Z1 is the maximum NodeID used in NetworkID 7
AT&M2= 13, Z2 where Z2 is the maximum NodeID used in NetworkD 13
Useful links
RDF900x/ux and RFD868x/ux modem Firmware
The firmware is the same for both the 868x/900x modems and can be found at. http://files.rfdesign.com.au/firmware/
RFD TOOLS
http://files.rfdesign.com.au/tools/
Documentation (including FAQ)
http://files.rfdesign.com.au/docs/
Store
http://store.rfdesign.com.au
FTDI Cable documentation
http://www.ftdichip.com/Support/Documents/DataSheets/Cables/DS_TTL-
232R_CABL
Document Revision History
Version | Date | Changes |
---|---|---|
1.0 | 20/08/2018 | Release document |
1.1 | 01/04/2021 | Updates to reflect latest firmware |
References
- Documentation | RFDesign Files
- Firmware | RFDesign Files
- Modem Tools | RFDesign Files
- Home - RFDesign
- RFDesign
- Home - RFDesign
Read User Manual Online (PDF format)
Read User Manual Online (PDF format) >>