GOMspace NanoCom AX100 User manual

NanoCom
AX100
Manual
Long-range software configurable VHF/UHF transceiver
Release 3.13.0

Product name: NanoCom AX100
Document No.: 1013824
Revision: 3.13.0
Author: Gomspace
Approved by: Gomspace
Approval date: 2020
Confidentiality Notice
This document is submitted for a specific purpose as agreed in writing and contains information, which is
confidential and proprietary. The recipient agrees by accepting this document, that this material will not be
used, transferred, reproduced, modified, copied or disclosed in whole or in part, in any manner or to any third
party, except own staff to meet the purpose for which it was submitted without prior written consent.
GomSpace © 2020

Table of Contents
1 Unpacking and handling precautions 1
2 Quickstart guide 2
2.1 RFLoad ................................................. 2
2.2 Debugconnectorw/powersupply................................... 3
2.3 EMIShield ................................................ 4
2.4 Usingamotherboard .......................................... 4
3 Console interface 5
4 CSP Port numbers 7
5 Parameters 8
5.1 Parametertables............................................. 8
5.2 ParameterModifiers........................................... 8
5.2.1 (A)Activeparameter ...................................... 8
5.2.2 (B)Boot-upparameter..................................... 8
5.2.3 (R)Read-onlyparameter.................................... 8
5.2.4 (P)Persistentparameter.................................... 9
5.3 Table0:Systemconfiguration ..................................... 9
5.4 Table1:Receiverconfiguration..................................... 10
5.5 Table 5: Transmitter configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
5.6 Table4:Telemetry............................................ 12
5.6.1 boot_cause .......................................... 13
6 Stored configurations 14
6.1 Bootsequence.............................................. 14
6.2 Savingaparametertable........................................ 14
6.2.1 Setting the default configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
6.3 Loadingaparametertable ....................................... 16
7 Safety functions 17
7.1 Temperatureprotection ......................................... 17
7.2 TXmaxtime ............................................... 17
7.3 RXidletime ............................................... 17
7.4 TXinhibit................................................. 17
7.5 GroundWDT............................................... 17
8 Telemetry 19
8.1 Receiving Telemetry with parameter system . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
8.2 Receiving Telemetry with the GOSH command . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
9 Layer 3: Network-layer (Cubesat Space Protocol) 21
9.1 Understandingroutingentries ..................................... 21
9.1.1 Example 1: Spacecraft routing table . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
9.1.2 Example 2: Ground station routing table . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
9.2 Altering the routing table (temporarily) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
9.3 Altering the routing table (persistent) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
9.3.1 Example 1: Serialized routing table . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
9.3.2 Example 2: Serialized routing table with MAC address . . . . . . . . . . . . . . . . . . . 22
9.4 Interface statistics / Conn stats . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
9.5 MTU ................................................... 23
10 Layer 2: Data-link layer 25
10.1 Framingformats............................................. 25
© 2020 GomSpace A/S. All printed copies, and all electronic copies and versions except the one accessible on
the GomSpace A/S server, are considered uncontrolled copies used for reference only.
i
Manual AX100
26 March 2020
MAN 1013824 3.13.0

10.1.1 Mode1:RAW.......................................... 25
10.1.2 Mode2:ASM.......................................... 25
10.1.3 Mode3:HDLC ......................................... 26
10.1.4 Mode4:HDLC+ViterbiFEC ................................. 26
10.1.5 Mode5:ASM+GOLAY .................................... 27
10.1.6 Mode6:HDLC+AX.25 .................................... 27
10.2 Error detection and correction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
10.2.1 CRC32framevalidation .................................... 28
10.2.2 ReedSolomonCoding..................................... 28
10.2.3 Randomization ......................................... 28
10.2.4 Hash-based message authentication (HMAC) . . . . . . . . . . . . . . . . . . . . . . . . 29
10.3 Mediumaccesscontrol ......................................... 29
10.3.1 CarrierSense(RSSI)...................................... 29
10.3.2 Collisionavoidance....................................... 29
10.3.3 Keyupdelay .......................................... 29
11 Layer 1: Physical layer (RF) 31
11.1 Modulation................................................ 31
11.1.1 Modulationindex ........................................ 31
11.2 Frequency ................................................ 31
11.3 Bandwidthselection........................................... 32
12 Self-test Features 33
12.1 BERTest:RXTestroutine ....................................... 33
12.2 BERTest:TXpattern .......................................... 34
12.3 SingleCarrier .............................................. 34
13 GOSH Debugging Interface 35
13.1 ClientCommands ............................................ 35
13.1.1 print&store........................................... 35
13.1.2 list ................................................ 35
13.1.3 insert............................................... 36
13.1.4 hist................................................ 36
14 Software changelog 37
15 Disclaimer 43
© 2020 GomSpace A/S. All printed copies, and all electronic copies and versions except the one accessible on
the GomSpace A/S server, are considered uncontrolled copies used for reference only.
ii
Manual AX100
26 March 2020
MAN 1013824 3.13.0

1. Unpacking and handling precautions
Warning: Please observe precautions for handling electrostatic sensitive devices
The AX100 is an ESD sensitive device vulnerable especially on the following interfaces: RF-Connector all CPU
I/O pins. Proper precautions must be observed during the handling of the device.
Please use an ESD mat and a wrist strap as a minimum. Please wear gloves to avoid fingerprints on the
anodized aluminum shield, this part is particularly difficult to rinse off. If any cleaning of the parts are required
prior to flight, use only ESD safe cleaning methods and a neutral, non-reactive, IPA solvent.
Fig. 1.1: ESD handling tools
© 2020 GomSpace A/S. All printed copies, and all electronic copies and versions except the one accessible on
the GomSpace A/S server, are considered uncontrolled copies used for reference only.
1
Manual AX100
26 March 2020
MAN 1013824 3.13.0

2. Quickstart guide
2.1 RF Load
Warning: Please ensure that the RF connector is connected to a proper 50 ohm RF load capable of handling
minimum 2 Watt, or a properly matched 50 ohm antenna, at all times when keying up the transmitter. Failure
to do so will result in damage or degradation of the transmitter.
The first thing to connect to the AX100 is a dummy load, or antenna. The right angle MCX connector gives a
solid click when connected.
Fig. 2.1: Connecting the MCX connector
In this example a RG316 cable is used with MCX/SMA. The SMA end will be connected to a 2 W dummy load.
Note: Cable and dummy load is not included with the AX100.
© 2020 GomSpace A/S. All printed copies, and all electronic copies and versions except the one accessible on
the GomSpace A/S server, are considered uncontrolled copies used for reference only.
2
Manual AX100
26 March 2020
MAN 1013824 3.13.0

Fig. 2.2: 50 Ohm dummy load of 2 Watt
The dummy load is in this case a 20 dB attenuator. These SMA loads is not designed for continuous transmission
and will get very hot if the transmitter is left operating for more than 2-3 minutes at a time. Please allow the load
to cool if testing continuously, or get a bigger load with a heat sink.
2.2 Debug connector w/ power supply
The easiest way to access the AX100 is to use the accompanying 4-pin debugging connector. It has GND, VCC
and UART RX/TX. A custom FTDI USB/SERIAL cable is made to fit with the 4-pin picoblade connector, and the
VCC line is driven by an external power supply, instead of the FTDI 3.3 Volt interface.
Warning: Do not power the system using FTDI power and external power supply simultaneously.
Warning: Please ensure that any PC/Laptop connected to the USB cable has a properly grounded AC-plug.
The external power supply ground and PC/Laptop ground must be the same. Failure to do so will result in
Common Mode noise on the GND lines of up to 100+ Volts.
The external power supply must be set to 3.3 volt and a current limiter of 1000 mA. The ground connection is
taken made one of the four PCB corners, but could also be made in the USB/Serial cable.
© 2020 GomSpace A/S. All printed copies, and all electronic copies and versions except the one accessible on
the GomSpace A/S server, are considered uncontrolled copies used for reference only.
3
Manual AX100
26 March 2020
MAN 1013824 3.13.0

Fig. 2.3: External power supply
2.3 EMI Shield
The black anodized aluminum EMI shield and heat sink will come pre-installed on the AX100 module. The
module will be factory checked out both before and after mounting the shield. Pictures will be taken of the PCB
before mounting the shield, so please do not try to remove the shield to check what is inside. Furthermore
the screws of the shield will be tightened to factory specifications and secured with locktite™ fastener glue.
Removing the shield will void the warranty on the product.
2.4 Using a motherboard
The AX100 is designed to fit on a PC/104 GomSpace motherboard with the FSI connector. Please refer to the
motherboard documentation for information about mounting and powering the AX100 module.
© 2020 GomSpace A/S. All printed copies, and all electronic copies and versions except the one accessible on
the GomSpace A/S server, are considered uncontrolled copies used for reference only.
4
Manual AX100
26 March 2020
MAN 1013824 3.13.0

3. Console interface
The console interface is a powerful debug interface for the AX100 radio. The console is running at 500.000 baud,
8n1, 3.3 V, TTL levels. For Linux the program ‘minicom’ can be recommended, and for windows the program
‘putty’ is also recommended.
In order to setup ‘minicom’, please use ‘apt-get install minicom’ on a debian based distribution, or similar, to
install it. After the installation open minicom as the root user and with the -s option: ‘sudo minicom -s’. This
will enter the setup, where you must go to console settings and setup the baudrate to 500.000 baud, 8n1, and
disable flow-control also. When this is completed, go back and select ‘save as dfl’ to store those settings as the
default. Finally you may open minicom by using the following command:
minicom -D /dev/ttyUSB0 -con
The –D option specifies which device you wish to use and the –c option controls color on or off. In Figure 5
AX100 v1.8 boot screenthe boot-screen of the AX100 is shown. This may look different for different software
revisions and settings.
Fig. 3.1: v3.0 boot screen
The specific commands that can be entered will be described later in this manual, but a general help is to type
the ‘help’ command:
© 2020 GomSpace A/S. All printed copies, and all electronic copies and versions except the one accessible on
the GomSpace A/S server, are considered uncontrolled copies used for reference only.
5
Manual AX100
26 March 2020
MAN 1013824 3.13.0

Fig. 3.2: v3.0 help screen
This provides a simple list of all the “top-level” commands that can be issued over the debug interface.
Note that any excerpt from the console used in this manual will look like this:
nanocom-ax # cmp ident 5 1000
Hostname: com
Model: NanoCOM AX100
Revision: v1.8
Date: Sep 10 2014
Time: 11:41:36
This was an example of the ‘cmp ident’ command, sent from the AX100 to the AX100 over the loopback interface
in order to request the software identity of the AX100.
The most common commands to use the AX100 are:
ping <node>
param list <table>
param mem <table>
param get <name>
param set <name> <value>
ax100 hk
For further details on the parameters available, see section List of parameter tables.
© 2020 GomSpace A/S. All printed copies, and all electronic copies and versions except the one accessible on
the GomSpace A/S server, are considered uncontrolled copies used for reference only.
6
Manual AX100
26 March 2020
MAN 1013824 3.13.0

4. CSP Port numbers
The AX100 listens on the following port numbers on CSP:
Table 4.1: List of port numbers
Port Name Description
0 CSP_CMP Control Port
1 CSP_PING Returns a copy of the packet received
2 CSP_PS Returns process list
3 CSP_MEMFREE Returns memory free
4 CSP_REBOOT Reboots subsystem
5 CSP_BUF_FREE Returns number of free buffers
6 CSP_UPTIME Returns subsystem uptime
7 AX100_PORT_RPARAM Controls AX100 with parameter system (see below)
9 AX100_PORT_GNDWDT_RESET Resets the AX100 ground WDT
The first ports 0-6 are default port numbers handled by the ‘libcsp’ network stack. They are common on all
gomspace CSP systems. For a description on how to use the CSP ports, please see the libcsp repository
(https://github.com/libcsp/libcsp).
The RPARAM port is used to service remote parameter get/set requests. For a full list of parameters of the
AX100 please see the next section of this manual. For a description on the parameter system and how to
execute get/set commands, please refer to the libparam documentation.
For a description on the ground WDT please see Ground WDT .
© 2020 GomSpace A/S. All printed copies, and all electronic copies and versions except the one accessible on
the GomSpace A/S server, are considered uncontrolled copies used for reference only.
7
Manual AX100
26 March 2020
MAN 1013824 3.13.0

5. Parameters
The AX100 uses a universal parameter system shared with other Gomspace products. All parameters shown in
the parameter table can be modified through this system. To read more about this, please refer to the separate
manual for the parameter system.
5.1 Parameter tables
Parameters reside in the RAM memory of the system, and have been split into different sections called “param-
eter tables”. For a list of tables, refer to the following table:
Table 5.1: List of parameter tables
Table number Name Description Boot File Default File (R/O)
0 System config See Table 0: System configuration 0 24
1 Receiver config See Table 1: Receiver configuration 1 25
3 Radio chip mem Direct access to radio chip none none
4 Telemetry See Table 4: Telemetry none none
5 Transmitter config See Table 5: Transmitter configuration 5 29
5.2 Parameter Modifiers
Writing to a parameter can have different consequences, determined by how the parameter is accessed by the
firmware. This is expressed using parameter modifiers found next to the type
5.2.1 (A) Active parameter
The types marked with an A are active parameters; this means they are checked by the firmware during ex-
ecution. In practice this means that for example, the ‘preamblen’ parameter is read for each time a packet
is transmitted, and therefore the value will take effect on the next transmitted frame. Another example is the
‘reboot_in’ and ‘tx_inhibit’ parameter that will automatically decrement once per second.
5.2.2 (B) Boot-up parameter
The types marked with an B can only be applied during system power-on. That means that after setting the
parameter, nothing will happen. In order to apply the change, the table configuration must be stored and the
system rebooted.
5.2.3 (R) Read-only parameter
The parameters marked with an R are read-only. That means that the firmware of the system will automatically
update the value of the parameter, and that it can be used to readout a system state or value. Parameters
marked with an R can be written to, but the value will most likely be overwritten by the firmware at a later time.
An exception to this is counter values, which is only incremented by the firmware. So in order to reset the
counters, it is possible to write a zero to the counter parameters.
© 2020 GomSpace A/S. All printed copies, and all electronic copies and versions except the one accessible on
the GomSpace A/S server, are considered uncontrolled copies used for reference only.
8
Manual AX100
26 March 2020
MAN 1013824 3.13.0

5.2.4 (P) Persistent parameter
Finally the parameters marked with a P means that they are persistent. A persistent parameter will be stored
each time they are changed in a separate memory location, allocated specifically for that single parameter. An
example is the tx_inhibit parameter which runs in it’s own non-volatile memory area, completely separate from
the parameter storage system. The advantage of this is, that they are not overwritten when saving and loading
parameters to/from a parameter table.
5.3 Table 0: System configuration
The first parameter table contains all the system parameters. These parameters should be set once for your mis-
sion, and should not have to be modified during operations. Most of the parameters are boot time configuration
that requires a reboot in order to take effect.
© 2020 GomSpace A/S. All printed copies, and all electronic copies and versions except the one accessible on
the GomSpace A/S server, are considered uncontrolled copies used for reference only.
9
Manual AX100
26 March 2020
MAN 1013824 3.13.0

Table 5.2: Parameter table 0: System configuration
Addr Name Type Default
Value
Comment
0x0000 rssi_offset I8 A -11 Sets the RSSI indicator offset, if you have external gain
please adjust here for correct RSSI readings
0x0002 max_temp I16 A 60 Maximum temperature in degrees of the PA allowed be-
fore automatic key-down occurs
0x0004 bgndrssi_ema FLT A 0.500000 Exponential moving average (alpha value) [0.01 – 1.00]
0x0008 csp_node U8 B 5 CSP address of the AX100 module
0x0009 i2c_en BL B true Enables I2C
0x000B can_en BL B false Enables CAN
0x000C extptt_en BL B false Enable push-to-talk driver (used in GS100 only) – This
conflicts with the I2C controller, so i2c_en must be zero
while EXTPTT is enabled.
0x000D led_en BL B true Set to zero to disable the on-board leds. The LEDs
should be disabled for flight in order to preserve power
0x000E kiss_usart I8 B 4 Set which USART to use for KISS interface. Set to -1 to
disable KISS interface. Refer to the datasheet for USART
port numbers
0x000F gosh_usart I8 B 2 Set which USART to use for GOSH interface. Set to -
1 to disable GOSH interface. Refer to the datasheet for
USART port numbers
0x0010 i2c_addr U8 B 5 The non-shifted I2C address of the system, set to the
same as csp_node, for normal operation
0x0012 i2c_khz U16 B 400 The speed of the I2C master, this may vary depending on
the bus capacitance.
0x0014 can_khz U16 B 1000 The speed of the CAN bus
0x0018 reboot_in U16 A 0 Number of seconds before automatic reboot will happen.
This will automatically count down and reboot the AX100
if set.
0x001C tx_inhibit U32
AP
4294967295Number of seconds the transmitter will be shutdown. This
will automatically count down and turn on the transmitter
when reaching zero. Note: this parameter is persistent
0x0020 log_store U8 B 0 Enable log-system FRAM storage backend: ‘log hist’
gosh command (only use for debugging)
0x0021 tx_pwr U8 A 0 TX power level: 0 = minimum, 3 = maximum. Refer to
checkout documentation for actual levels.
0x002C max_tx_time U16 A 10 Maximum number of seconds to key up the transmitter.
0x002E max_idle_time U16 A 3600 Number of seconds the receiver can be idle, before the
receiver is reinitialized.
0x0030 csp_rtable STR
B
“” CSP routing table in the CIDR format: Example could be:
“0/0 AX100, 8/2 KISS”
0x0090 legacy_hmac BL false If HMAC authentication is used (see Table 1: Receiver
configuration or Table 5: Transmitter configuration) this
must be enabled to be compatible with pre 3.10 versions.
0x0094 kiss_baud U32 B 500000 The symbol rate of the KISS USART
5.4 Table 1: Receiver configuration
The configuration for the receiver is kept in table 1. These parameters are all ‘active’ parameters which mean
that they will take effect immediately after being changed. If you need to change multiple receiver parameters
over the radiolink, use the rparam query system to build a packet with multiple parameters.
© 2020 GomSpace A/S. All printed copies, and all electronic copies and versions except the one accessible on
the GomSpace A/S server, are considered uncontrolled copies used for reference only.
10
Manual AX100
26 March 2020
MAN 1013824 3.13.0

Table 5.3: Parameter table 1: Receiver configuration
Addr Name Type Default
Value
Comment
0x0000 freq U32 A 437250000 Frequency in [Hz]
0x0004 baud U32 A 4800 Baudrate
0x0008 modindex FLT A 0.000000 Same as the tx_modindex (see below) - rx and tx modin-
dex should have matching values. Set to zero for auto-
calculation.
0x000C guard U16 A 0 RX guard in [ms] (guard period after receiving a frame)
0x000E pllrang U8 A 9 Startup value of the PLLRANGE register
0x000F mode U8 A 5 Framing mode
0x0010 csp_hmac BL A false Enable HMAC (checksum and authentication)
0x0011 csp_rs BL A true Enable Reed-Solomon
0x0012 csp_crc BL A true Enable CRC-32
0x0013 csp_rand BL A true Enable CCSDS randomization
0x0020 csp_hmac_key DAT A 0000000000000000HMAC key (needs to match transmitter)
0x0030 ax25_call STR
A
” “ The callsign used as the SRC field in outgoing AX.25
frames
0x0040 bw U32 A 0 Receiver bandwidth in Hz, must be at least 1.5 times big-
ger than the baudrate but can be set to zero in order to let
the AX100 auto calculate the best rx_bw for the desired
bitrate
0x0044 afcrange I32 A -4 Sets the AFC pull-in range in Hz. Set to zero to disable
AFC. Set to a negative value to autocalculate based on
the formula: afcrange = rx_bw/(-1 * rx_afcrange) – The
automatic calculation is capped at 10 kHz
5.5 Table 5: Transmitter configuration
The first part of the transmitter configuration is similar to the receiver configuration. In general, the value stored
in the receiver configuration should be mirrored into the opposite transmitters configuration. (Apart from the
guard and pllrang, which only effects the local end of the link)
The parameters from 0x40 and up are transmitter only.
These parameters are all ‘active’ parameters which mean that they will take effect immediately after being
changed.
© 2020 GomSpace A/S. All printed copies, and all electronic copies and versions except the one accessible on
the GomSpace A/S server, are considered uncontrolled copies used for reference only.
11
Manual AX100
26 March 2020
MAN 1013824 3.13.0

Table 5.4: Parameter table 5: Transmitter configuration
Addr Name Type Default
Value
Comment
0x0000 freq U32 A 437250000 same as receiver parameter
0x0004 baud U32 A 4800 same as receiver parameter
0x0008 modindex FLT A 0.000000 same as receiver parameter
0x000C guard U16 A 50 same as receiver parameter
0x000E pllrang U8 A 9 same as receiver parameter
0x000F mode U8 A 5 same as receiver parameter
0x0010 csp_hmac BL A false same as receiver parameter
0x0011 csp_rs BL A true same as receiver parameter
0x0012 csp_crc BL A true same as receiver parameter
0x0013 csp_rand BL A true same as receiver parameter
0x0020 csp_hmac_key DAT A 0000000000000000same as receiver parameter
0x0030 ax25_call STR
A
” “ The callsign used in the DST field for outgoing AX.25
packets
0x0040 preamb X8 A 0xAA The byte to use as preamble
0x0041 preamblen U8 A 50 The length of the preamble in bytes
0x0042 preambflags U8 A 56 The flags to use for the preamle (do not modify)
0x0043 intfrm X8 A 0xAA The byte to use between two frames
0x0044 intfrmlen U8 A 0 The number of bytes to put between two frames
0x0045 intfrmflags U8 A 56 The flags to use for the intfrm bytes (do not modify)
0x0048 rssibusy I16 A -95 The transmitter will consider the channel busy when the
RSSI is above this value
0x004A kup_delay U8 A 0 An additional delay of the first frame after the radio have
been keyed up. Usefull for slow RX/TX relays
0x004C pa_level X16 A 0x04A9 The input level for the PA (do not modify)
0x0050 ber FLT A 0.000000 Injects random bit-errors in transmitted frames with this
probability
5.6 Table 4: Telemetry
The radio contains a separate memory area allocated for telemetry data such as the current temperature, data
counters and the bootcounter. The memory map for the telemetry is as follows:
© 2020 GomSpace A/S. All printed copies, and all electronic copies and versions except the one accessible on
the GomSpace A/S server, are considered uncontrolled copies used for reference only.
12
Manual AX100
26 March 2020
MAN 1013824 3.13.0

Table 5.5: Parameter table 4: System Telemetry
Addr Name Type Default
Value
Comment
0x0000 temp_brd I16 R 0 Board temperature (near MCU)
0x0002 temp_pa I16 R 0 PA temperature (near PA)
0x0004 last_rssi I16 R 0 Last received RSSI
0x0006 last_rferr I16 R 0 Last received RF error
0x0008 tx_count U32 R 0 Number of tx packets since reboot
0x000C rx_count U32 R 0 Number of rx packets since reboot
0x0010 tx_bytes U32 R 0 Number of tx bytes since reboot
0x0014 rx_bytes U32 R 0 Number of rx bytes since reboot
0x0018 active_conf U8 R 0 The currently active system configuration (table 0), cf.
Boot sequence
0x0020 boot_count U16 R 0 The number of reboots
0x0024 boot_cause X32 R 0 The cause of the reboot (see below)
0x0028 last_contact U32 R 0 The timestamp of the last valid packet (required a CSP
timesync to work)
0x002C bgnd_rssi I16 R -120 The current background RSSI level (Exponential moving
average, see bgndrssi_ema parameter in table 0)
0x002E tx_duty U8 R 0 Total TX duty time since reboot
0x0030 tot_tx_count U32
RP
0 Number of tx packets (total)
0x0034 tot_rx_count U32
RP
0 Number of rx packets (total)
0x0038 tot_tx_bytes U32
RP
0 Number of tx bytes (total)
0x003C tot_rx_bytes U32
RP
0 Number of rx bytes (total)
5.6.1 boot_cause
The boot_cause parameter is a bit mask which can be interpreted as follows:
Table 5.6: boot cause bit mask
Bit # 15 14 13 12 11 10 9 8
Meaning BOD33 AWIRE OCDRST
Bit#76543210
Meaning CPUERR JTAG WDT EXT BOD POR
And:
• BOD33: Brown-out 3.3 V reset
• AWIRE: AWIRE Reset
• OCDRST: OCD Reset
• CPUERR: CPU Error
• JTAG: JTAG Reset
• WDT: Watchdog Reset
• EXT: External Reset Pin
• BOD: Brown-out Reset
• POR: Power-on Reset
For more details, refer to the Reset Cause (RCAUSE) register in the Atmel AT32UC3C series datasheet.
© 2020 GomSpace A/S. All printed copies, and all electronic copies and versions except the one accessible on
the GomSpace A/S server, are considered uncontrolled copies used for reference only.
13
Manual AX100
26 March 2020
MAN 1013824 3.13.0

6. Stored configurations
6.1 Boot sequence
The AX100 will first check the non-volatile memory for the boot-file. If the data and table CRC are correct, it
will load that into running memory and continue booting. If the boot-file does not exist, or the CRC fails, it will
continue and try the special write-protected boot file. Again if the data and table CRC are correct, it will use that.
Otherwise the system will assume that no configuration has been ever stored by the customer, and revert to an
internal backup configuration in the FLASH of the MCU. This configuration is set by GomSpace and cannot be
changed.
Which configuration is currently in use is reflected by the active_conf parameter in the telemetry table. It is
an enum that can be interpreted as follows:
Table 6.1: Active configuration enum
Active configuration active_conf
Fallback configuration (internal backup configuration) 0
Default configuration (from write-protected boot file) 1
Stored configuration (from non-volatile memory) 2
In the List of parameter tables it is possible to see which files will be read during bootup. Each configuration
have a ‘boot-file’ and a ‘default-file’. The boot file is the first attempted file which can be saved to in-orbit. The
default file is the second choice if the boot-file is not valid. This is stored in read-only memory and cannot be
changed in-orbit.
Important: Please make sure that the default-file has been stored correctly before launching. Otherwise the
system will startup using the internal backup configuration in the MCU Flash. The internal backup configuration
in the MCU Flash will have the tx_inhibit parameter set, so the radio will effectively stop transmitting.
6.2 Saving a parameter table
In order to store a configuration from memory to a file-number, the commands param save or param load can
be used. The commands param save or param load will save to FRAM and load from FRAM respectively.
Below is an example of modifying a parameter in parameter table 1 and storing parameter table 1 to FRAM:
nanocom-ax # param mem 1
nanocom-ax # param get mode
GET mode =2
nanocom-ax # param set mode 5
SET mode =5(1)
nanocom-ax # param save 1 1
Table CRC 46704
Data CRC 63250
nanocom-ax # reset
...
AXSEM: Init complete
nanocom-ax # param mem 1
nanocom-ax # param get mode
GET mode =3
© 2020 GomSpace A/S. All printed copies, and all electronic copies and versions except the one accessible on
the GomSpace A/S server, are considered uncontrolled copies used for reference only.
14
Manual AX100
26 March 2020
MAN 1013824 3.13.0

6.2.1 Setting the default configuration
In order to store to the special write protected boot configuration the FRAM chip must first be unlocked. Here is
an example of doing it manually:
nanocom-ax # rtc debug clear_wp
nanocom-ax # param save 0 24
Table CRC 46704
Data CRC 1180
nanocom-ax # param save 1 25
Table CRC 46704
Data CRC 1180
nanocom-ax # param save 5 29
Table CRC 46704
Data CRC 1180
nanocom-ax # rtc debug set_wp
Note: This can only be done over the debug interface. So when the radio is in space, there is no way to alter
the alternate boot file configuration.
The default configuration can also be updated and verified using the config command. To update the default
configuration for all three parameter tables use config update_default all:
nanocom-ax # config update_default all
Table CRC 9508
Data CRC 1900
Updated settings in FRAM for table 0, saving to file 0: OK
Table CRC 9508
Data CRC 1900
Updated default factory settings in FRAM for table 0, saving to file 24: OK
Table CRC 57481
Data CRC 53000
Updated settings in FRAM for table 1, saving to file 1: OK
Table CRC 57481
Data CRC 53000
Updated default factory settings in FRAM for table 1, saving to file 25: OK
Table CRC 56172
Data CRC 13489
Updated settings in FRAM for table 5, saving to file 5: OK
Table CRC 56172
Data CRC 13489
Updated default factory settings in FRAM for table 5, saving to file 29: OK
To verify or check the default configuration for all three parameter tables use config verify_default all:
nanocom-ax # config verify_default all
File 0CRC values: Table 9508 Data 1900
File 24 CRC values: Table 9508 Data 1900
Verification of default factory settings in FRAM for table 0, file 24: OK
File 1CRC values: Table 57481 Data 53000
File 25 CRC values: Table 57481 Data 53000
Verification of default factory settings in FRAM for table 1, file 25: OK
File 5CRC values: Table 56172 Data 13489
File 29 CRC values: Table 56172 Data 13489
Verification of default factory settings in FRAM for table 5, file 29: OK
The default configuration can also be updated/verified on individual tables, e.g. for parameter table 1:
nanocom-ax # config update_default 1
Table CRC 57481
(continues on next page)
© 2020 GomSpace A/S. All printed copies, and all electronic copies and versions except the one accessible on
the GomSpace A/S server, are considered uncontrolled copies used for reference only.
15
Manual AX100
26 March 2020
MAN 1013824 3.13.0

(continued from previous page)
Data CRC 53000
Updated settings in FRAM for table 1, saving to file 1: OK
Table CRC 57481
Data CRC 53000
Updated default factory settings in FRAM for table 1, saving to file 25: OK
And verify:
nanocom-ax # config verify_default 1
File 1CRC values: Table 57481 Data 53000
File 25 CRC values: Table 57481 Data 53000
Verification of default factory settings in FRAM for table 1, file 25: OK
Important: Please note that the default configuration must always be updated, verified and tested before
launch.
To test the default configuration without waiting 48 hours, a ground watchdog timeout can be simulated by
manually setting the ground watchdog timer to something smaller, using the config gnd_wdt command. To
view the current ground watchdog time value, run the command config gnd_wdt:
nanocom-ax # config gnd_wdt
gnd wdt value is 171155 seconds
To set the ground watchdog timer to e.g. 60 seconds, run the command config gnd_wdt 60:
nanocom-ax # config gnd_wdt 60
gnd wdt value is 60 seconds
After this, the ground watchdog will expire after 60 seconds and the normal configuration will be cleared and the
default configuration will be used instead.
Note: Remember to store the normal configrauion again if/when the ground watchdog expires.
6.3 Loading a parameter table
The parameter table will be automatically loaded on a reboot of the system. However it is possible to use the
param load or rparam load commands to load a file to memory.
© 2020 GomSpace A/S. All printed copies, and all electronic copies and versions except the one accessible on
the GomSpace A/S server, are considered uncontrolled copies used for reference only.
16
Manual AX100
26 March 2020
MAN 1013824 3.13.0
Table of contents