SG90 Radio MDB Definitions
This page has the MDB definitions for the radio.
MDB Variables
| INDEX |
mdb Variable Name |
Description |
Affects RF Board |
Status (Get) Only |
Requires Reset |
| 2 |
bitrateLo |
Radio Data Rate in units of bits per second. The value is a 32 bit value with the upper portion in BITRATEHI and the lower portion in BITRATELO. |
|
|
|
| 3 |
bitrateHi |
See BITRATELO description above. |
|
|
|
| 4 |
centerFreqLo |
The Radio Center Frequency in units of Hz stored as a 32 bit number. CENTERFREQHI is the most significant portion of the number |
Y |
|
|
| 5 |
centerFreqHi |
The Radio Center Frequency least significant portion. |
Y |
|
|
| 14 |
fecMode |
Forward Error Correction (FEC) mode. See FEC Mode below. |
|
|
|
| 15 |
txPower |
Radio Transmit Power Level in tenths of a dB (17.0 to 32.0 dBm). See Transmit Power Control below. |
Y |
|
|
| 22 |
rssi |
The Received Signal Strength Indication in dB. In the downlink, this is from the last packet received. In the uplink, this is from the last Block Sync word received. |
|
Y |
|
| 23 |
ber |
Bit Error Rate estimate in parts per million. Not currently implemented. |
|
Y |
|
| 24 |
temp |
Internal temperature measurement in degrees centigrade |
|
Y |
|
| 25 |
alarm |
Alarm status variable. See Alarm Status |
|
Y |
|
| 27 |
ipAddressLo |
Lower 16 bits of Static IP address for the Ethernet Port. The IP address is stored in network order. See IP Addresses. |
|
|
|
| 28 |
ipAddressHi |
Upper 16 bits of Static IP address for Ethernet Port. |
|
|
|
| 29 |
netMaskLo |
Lower 16 bits of the netmask. See IP Addresses. |
|
|
|
| 30 |
netMaskHi |
Upper 16 bits of the netmask. |
|
|
|
| 31 |
gatewayLo |
Lower 16 bits of the gateway address. IP Addresses. |
|
|
|
| 32 |
gatewayHi |
Upper 16 bits of the gateway address. |
|
|
|
| 37 |
fskDeviation |
FSK Deviation as a percentage of symbol rate. |
|
|
|
| 38 |
broadcastAddrLo |
Lower 16 bits of IP Broadcast address. See IP Addresses |
|
|
|
| 39 |
broadcastAddrHi |
Upper 16 bits of IP Broadcast address. |
|
|
|
| 40 |
serverAddrLo |
Lower 16 bits of IP Server address. IP Addresses |
|
|
|
| 41 |
serverAddrHi |
Upper 16 bits of IP Server address. |
|
|
|
| 42 |
flashUpdate |
Setting any value to this variable causes the radio to attempt a code update via tftp to the server address above. The processor attempts to download a main.bin from the server. |
|
|
|
| 43 |
xilinxUpdate |
Setting any value to this variable causes the radio to attempt a xilinx code update via tftp to the server address above. The processor attempts to download a fpga.bin file from the server. |
|
|
|
| 44 |
restartNetwork |
Setting any value to this variable causes a network restart. This can be used to force the radio to start using changes to the network settings above. |
|
|
|
| 45 |
rfStatus |
contains the status bits from the RF Board. |
|
|
|
| 46 |
ethAddressLo |
Reports the Ethernet address. See Ethernet Address |
|
Y |
|
| 47 |
ethAddressMid |
Reports the Ethernet address. See Ethernet Address |
|
Y |
|
| 48 |
ethAddressHi |
Reports the Ethernet address. See Ethernet Address |
|
Y |
|
| 50 |
tempLoThreshold |
Temperature Fault Low Threshold in degrees C. |
|
|
|
| 51 |
tempHiThreshold |
Temperature Fault Hi Threshold in degress C. |
|
|
|
| 52 |
presetConfigs |
Preset Configurations for the radio including bit rates and filters. See Preset Configurations |
|
|
|
| 53 |
resetBoard |
Reset the board |
|
|
|
| 54 |
rfSerialNumber |
RF Board Serial Number |
|
Y |
|
| 55 |
rfType |
RF Board Type (Band of Operation). See Rf Type |
|
Y |
|
| 56 |
dbSerialNumber |
Digital Board Serial Number |
|
Y |
|
| 57 |
dbCpuVersion |
CPU Firmware Version Number |
|
Y |
|
| 58 |
fpgaVersion |
FPGA Version Number |
|
Y |
|
| 59 |
rfMcuVersion |
RF Board MCU Firmware Version |
|
Y |
|
| 60 |
radioSerialNumber |
Overall Product Serial Number |
|
Y |
|
| 63 |
radioIpAddressLo |
Radio Ethernet Interface Lower 16 bits of Static IP address for the Ethernet Port. The IP address is stored in network order. See IP Addresses. |
|
|
|
| 64 |
radioIpAddressHi |
Radio Ethernet Interface Upper 16 bits of Static IP address for Ethernet Port. |
|
|
|
| 65 |
radioNetMaskLo |
Radio Ethernet Interface Lower 16 bits of the netmask. See IP Addresses. |
|
|
|
| 66 |
radioNetMaskHi |
Radio Ethernet Interface Upper 16 bits of the netmask. |
|
|
|
| 67 |
radioGatewayLo |
Radio Ethernet Interface Lower 16 bits of the gateway address. IP Addresses. |
|
|
|
| 68 |
radioGatewayHi |
Radio Ethernet Interface Upper 16 bits of the gateway address. |
|
|
|
| 69 |
radioBroadcastAddrLo |
Radio Ethernet Interface Lower 16 bits of IP Broadcast address. See IP Addresses |
|
|
|
| 70 |
radioBroadcastAddrHi |
Radio Ethernet Interface Upper 16 bits of IP Broadcast address. |
|
|
|
| 90 |
modbusSlaveID |
modbus Slave ID for the radio itself |
|
|
|
| 93 |
restartCount |
Number of restarts for this radio. This variable can be written so that it can be set to 0 if desired. |
|
|
|
| 105 |
debugLevel |
Debug level or mask |
|
|
|
| 111 |
dbType |
Digital Board Type. See Digital Board Types |
|
|
|
| 112 |
dbCpuAppsVersion |
Digital Board CPU Apps tree version |
|
|
|
| 131 |
ntpServerAddrLo |
Network Time Protocol (NTP) Server Lower 16 bits of the address. See IP Addresses. |
|
|
|
| 132 |
ntpServerAddrHi |
Network Time Protocol (NTP) Server Upper 16 bits of the address. |
|
|
|
Preset Configurations
For AWR operation as an SG90 Uplink Transmitter, set the following using the Maintenance tab of the EMS tool:
- Set presetConfigs (52) to 11
- Set presetConfigs (52) to 0
- Set bitrate (2/3) to the desired SG90 bitrate
- Set fecMode (14) to 10 (for no FEC) or 13 (for R1/2 FEC)
- Set nodeType (18) to 1
- Go to the SW/HW tab and click on the Reset Radio button.
HINT: It is often useful to have a background ping running to the radio so you can see when it resets and when it returns.
For AWR operation as an SG90 Uplink Receiver, set the following using the Maintenance tab of the EMS tool:
- Set presetConfigs (52) to 12
- Set presetConfigs (52) to 0
- Set bitrate (2/3) to the desired SG90 bitrate
- Set fecMode (14) to 10 (for no FEC) or 13 (for R1/2 FEC)
- Set nodeType (18) to 1
- Go to the SW/HW tab and click on the Reset Radio button.
For ATR operation as an SG90 Downlink Transmitter or Receiver without FEC, set the following using the Maintenance tab of the EMS tool:
- Set presetConfigs (52) to 2
- Set presetConfigs (52) to 0
- Set nodeType (18) to 1
- Go to the SW/HW tab and click on the Reset Radio button.
For ATR operation as an SG90 Downlink Transmitter with R1/2 FEC, set the following using the Maintenance tab of the EMS tool:
- Set presetConfigs (52) to 3
- Set presetConfigs (52) to 0
- Set nodeType (18) to 1
- Go to the SW/HW tab and click on the Reset Radio button.
Value |
Description |
| 0 |
Operational Startup |
| 1 |
T200 Emulation |
| 2 |
SG90 Downlink |
| 3 |
SG90 Downlink w/FEC |
| 4 |
Unused |
| 5 |
Unused |
| 6 |
Unused |
| 7 |
CW Test Mode |
| 8 |
Unused |
| 9 |
2FSK Test Mode |
| 10 |
Test Mode Startup |
| 11 |
SG90 Uplink Transmitter |
| 12 |
SG90 Uplink Receiver |
Alarm Status
The alarm status bits are defined as
| Bit |
Description |
| 0 |
VSWR Fault |
| 1 |
PA Output Fault |
| 2 |
Synthesizer Fault |
| 3 |
RSSI Fault |
| 4 |
Temperature Fault |
| 5 |
Configuration Fault |
Ethernet Address
The Ethernet address is reported in three consecutive mdb variables that are get only. It is reported as an array of bytes where the first byte of the Ethernet address is the first byte of the array and the first byte of the array is returned as the LSB of the ethAddressLo mdb variable. So for example, an Ethernet address of 00:24:4a:01:02:03 gets reported as:
| ethAddressLo |
0x2400 |
| ethAddressMid |
0x014a |
| ethAddressHi |
0x0302 |
IP Addresses
IP addresses are stored in byte reversed order. Thus an IP address of 10.20.30.40 would be stored as 0x281e140a. This 32 bit unsigned integer is then stored in two mdb variables with the low portion holding the 0x140a or "10.20" piece and the hi portion holding 0x281e or "30.40" piece.
RF Type
The rfType field describes the band of operation and the bandwidth of the RF board. Narrow bandwidth limits the bandwidth to 200KHz. Wide bandwidth limits the bandwidth to 5 MHz.
| Type |
Band |
| 15 |
145 - 225 MHz |
| 16 |
210 - 320 MHz |
| 24 |
210 - 320 MHz |
| 25 |
137.5 - 225 MHz |
| 28 |
450 - 698 MHz |
| 29 |
225 - 380 MHz |
Digital Board Types
| Value |
Type |
| 0 |
ADR - out of production |
| 1 |
ATRV1 |
| 2 |
AMRV1 |
| 3 |
AWRV1 |
| 7 |
ATRV2 |
| 8 |
AMRV2 |
| 11 |
AWR_SG90 |
Left Justified Unsigned Fractions
Left Justified Unsigned Fractions are given as the fraction of a full scale 16 bit number. It is defined by multiplying the desired fraction by 65536. For example a fraction of 0.25 is given by 0.25*65536=16384.
FEC Mode
| Value |
Mode |
| 10 |
SG90 No FEC |
| 11 |
SG90 R7/8 |
| 12 |
SG90 R3/4 |
| 13 |
SG90 R1/2 |
Transmit Power
- Bits 8-0: Transmit Power Level - This sets the transmit power level. It is an unsigned integer in units of tenths of a dBm. For instance, to set the radio for 2 Watts (33 dBm) of transmit power, one would load this variable with 330. The valid range for AxR radios is 10 to 36 dBm.
MDB Variables for radio statistics
The radio statistics are available as status (read-only) variables beginning at index 256. The statics are all in the form of 32 bit counters with the low portion stored at even indices and the high portion stored at odd indices. A read to any index in this statistics range causes all the counts to be reset so it is best to do a multi-register read beginning at 256 with a count of 48 to get all of them. The following table lists the counters.
| MDB Indices |
Name |
Description |
SG90 Uplink? |
| 256-257 |
tx_good |
successful packet transmitted of any type |
|
| 258-259 |
tx_control_packet |
control packets transmitted (used for controlling access to the channel) |
|
| 260-261 |
tx_raw_packet |
raw packets transmitted (non-Ethernet) |
|
| 262-263 |
tx_eth_packet |
Ethernet packets transmitted |
|
| 264-265 |
tx_count |
count of all attempted transmit packets |
|
| 266-267 |
tx_complete |
successful packet transmitted of any type (currently identical to tx_good) |
|
| 268-269 |
tx_dropped |
transmit packet dropped for any reason |
|
| 270-271 |
rx_good |
packets received without error of any type |
Y |
| 272-273 |
rx_control_packet |
Preamble Frames received |
Y |
| 274-275 |
rx_raw_packet |
Streaming frames received |
Y |
| 276-277 |
rx_eth_packet |
TCPIP or UDPIP frames received |
Y |
| 278-279 |
rx_los_count |
the number of times the radio has experienced a loss of sync |
Y |
| 280-281 |
rx_crc_errors |
not currently used |
|
| 282-283 |
rx_dropped |
received packet dropped for any reason |
Y |
| 284-285 |
rx_resource_errors |
no memory available to store received packet |
Y |
| 286-287 |
rx_overrun_errors |
not currently used |
|
| 288-289 |
rx_short_frames |
Management (DMF or LMF) frames received |
Y |
| 290-291 |
rx_too_long_frames |
An illegal frame length was received |
Y |
| 292-293 |
rx_symbol_errors |
not currently used |
|
| 294-295 |
interrupts |
counts all interrupts for transmit or receive |
Y |
| 296-297 |
rx_count |
counts all packets received before error processing is done |
|
| 298-299 |
rx_deliver |
counts all packets delivered to any upper layer |
Y |
| 300-301 |
rx_resource |
not currently used |
|
| 302-303 |
rx_restart |
not currently used |
|
Software Upgrades
Download the software images to your computer from the attachments below. If you are upgrading both the CPU and FPGA images, upgrade the CPU image first. Set up a continuous ping of the radio you are upgrading so you can easily tell when the radio resets following the upgrade.
To upgrade the CPU code using the EMS tool:
- Start the ping.
- Go to the SW/HW tab.
- Choose the "Using EMS" update method.
- Select the "CPU" component
- Browse to where you stored the CPU software image on your computer and select the image.
- Click on the Start button.
- Observe the download progress in the lower left corner of the EMS tool
- After the download is complete, the radio will flash the image and reset. Use the ping to tell when the unit resets.
- Press the Get button and check the CPU and Apps version numbers to make sure the upgrade was successful.
To upgrade the FPGA code using the EMS tool:
- Start the ping.
- Go to the SW/HW tab.
- Choose the "Using EMS" update method.
- Select the "FPGA" component
- Browse to where you stored the FPGA software image on your computer and select the image.
- Click on the Start button.
- Observe the download progress in the lower left corner of the EMS tool
- After the download is complete, the radio will flash the image and reset. Use the ping to tell when the unit resets.
- Press the Get button and check the FPGA version numbers to make sure the upgrade was successful.
CAUTION:
If you upgrade the CPU with an FPGA image, you will make the radio inoperable. The only way to recover the unit is to send it back to KTS.
--
LarryKoos - 12 May 2021