udviklingsplatform og programmeringssprog
TRANSCRIPT
30 Mar 2016 GomSpace Aps - Alfred Nobels Vej 21C, 1. – 9220 Aalborg E – Denmark 1
Product Development
Platform
30 Mar 2016 GomSpace Aps - Alfred Nobels Vej 21C, 1. – 9220 Aalborg E – Denmark 2
Agenda• Product Development
• Hardware & Software architecture
• Development platform– Programming language
30 Mar 2016 GomSpace Aps - Alfred Nobels Vej 21C, 1. – 9220 Aalborg E – Denmark 3
Product Development• Provide off the shelf Nano-Satellite products• Must conform with CSK standard (CSK=CubeSat Kit)• Allow customers to pick and choose from different
vendors• GomSpace wants to be the one-stop supplier of Nano-
Satellite products – Integrated Platform– All the basics: Power Supply, Batteries, Solar panels, Radio,
OBC– Buy all the basics from GomSpace and concentrate on
integrating your own payload
30 Mar 2016 GomSpace Aps - Alfred Nobels Vej 21C, 1. – 9220 Aalborg E – Denmark 4
Products• Power supplies• Batteries and Battery Packs• Solar panels• On-board computers and software• Radio communication systems• Antennas• Attitude control hardware and
software• Camera
30 Mar 2016 GomSpace Aps - Alfred Nobels Vej 21C, 1. – 9220 Aalborg E – Denmark 5
Product characteristics• Important characteristics for Nano-Satellite products
– Low power (limited power budget)– Low footprint (volume and weight)– Robustness
• Radiation (in orbit)• Vibration & shock (launch)• Temperatures, temperature cycles (in orbit)• Error handling
• Last but not least:
Flight heritage !
30 Mar 2016 GomSpace Aps - Alfred Nobels Vej 21C, 1. – 9220 Aalborg E – Denmark 6
Product history• Initially main focus was at hardware, mechanics and
electronics• Embedded software required to allow operation and
control• Atmel processors were chosen as the MCU
– AVR8 (power supply, battery pack, “support boards”)– AVR32 (COM, OBC)– ARM (OBC)
30 Mar 2016 GomSpace Aps - Alfred Nobels Vej 21C, 1. – 9220 Aalborg E – Denmark 7
Product history• Software started out “small”, but grew as requirements
evolved• Program and memory size increased• Example: Power Supply
– AVR8 processor– Initially: ATmega32 (2009)– Later: ATmega128 (2011)– Now: ATmega256 (2016)
30 Mar 2016 GomSpace Aps - Alfred Nobels Vej 21C, 1. – 9220 Aalborg E – Denmark 8
Hardware architecture• PC104 form factor• Generation 1: Single Board
30 Mar 2016 GomSpace Aps - Alfred Nobels Vej 21C, 1. – 9220 Aalborg E – Denmark 9
Hardware architecture• Generation 2: Motherboard + Daughterboard(s)
30 Mar 2016 GomSpace Aps - Alfred Nobels Vej 21C, 1. – 9220 Aalborg E – Denmark 10
Hardware architecture• Structures:
1U, 2U, 3U, 6U
30 Mar 2016 GomSpace Aps - Alfred Nobels Vej 21C, 1. – 9220 Aalborg E – Denmark 11
Satellite Design Overview
StackConnector
3v3
-Z -Y -X +X+Y +Z
I2C
PV2
L-band RF
P110UBP110BSP110UBS
P110UAP110ASP110UAS
P110UBP110BSP110UBS
Interstage A
4WD
ADCS
Mot
herb
oard
Nano
Powe
r P31
us
ADS-
B He
lix A
nten
na
L-band Patch Antennaon FPPTipTop
ANT430 UHF Antenna
UHFRF
AX10
0 UH
F Ra
dio
BP4
Batte
ry (4
S1P)
Zenith Pointing Nadir Pointing
SPI3v3
Interstage B Interstage A Interstage B
X-ba
nd
Patc
h An
tenn
a
GPSRF
Astro
fein
RW
-1 x
4
A320
0 CD
H
X-ba
nd T
rans
mitt
er
PV1-2
Internal Magnetorquer
X-ba
nd R
F
SOFT
RW Control
3v35V
MTctrl3V3
I2C
5V3v3
Vbattraw
5V
GOMX-3
Vbatt
Vbat
t
SPI3v3
ADS-
B Pa
yload
(GO
MX-
1 H/
W)
I2C
Vbatt
Vbatt
Disc
rete
M
agne
tom
eter
3v3
Syrlinks StackBreakout
ADS-B RF
Vbatt
MTctrl
PV1
SPI3v3
MTctrl
PV1
SPI3v3
MTctrl
PV2
SPI3v3
MTctrl
LVDS
P110UAP110UAS
MTctrl
Interstage C (internal)
30 Mar 2016 GomSpace Aps - Alfred Nobels Vej 21C, 1. – 9220 Aalborg E – Denmark 12
Software architecture• Static libraries, shared by all (almost all) products• Firmware for “closed” products (Power Supply, Radio, …)
using the same set of libraries• Based on common set of libraries
30 Mar 2016 GomSpace Aps - Alfred Nobels Vej 21C, 1. – 9220 Aalborg E – Denmark 13
Software architecture• Distributed Architecture
EPS
CubeSat Bus (I2C, CAN)
OBC ADCS
COM
COM GS
SPACE
GROUND
Payload Payload . . .
2 1 3
5 4 6
8 9
30 Mar 2016 GomSpace Aps - Alfred Nobels Vej 21C, 1. – 9220 Aalborg E – Denmark 14
Software architecture• Distributed Architecture, powered by CSP
(CSP = CubeSat Space Protocol) I2C
Interface
CSP Router
Task 1
Task 2
Task N RS232 Interface
CAN Interface
RouKng Table 1 LOOP 1 2 I2C 2
7 I2C 7 8 KISS 8 * I2C 5
30 Mar 2016 GomSpace Aps - Alfred Nobels Vej 21C, 1. – 9220 Aalborg E – Denmark 15
Software architecture
Services & UKliKes
AVR32 BSP (drivers, etc.) ASF A3200
CSP
GSSB LOG
UTIL
PARAM
User ApplicaKon MISSION
GOSH
FTP
SDK for A
3200
STORAGE
• Software Development Kit for “open” products (OBC)
30 Mar 2016 GomSpace Aps - Alfred Nobels Vej 21C, 1. – 9220 Aalborg E – Denmark 16
Software Products• Software as product(s)
– Documentation– Training– Support
30 Mar 2016 GomSpace Aps - Alfred Nobels Vej 21C, 1. – 9220 Aalborg E – Denmark 17
Programming languages• Environment and conditions
– Minimalistic low power systems– Proprietary hardware platform developed by GomSpace – A lot of low level and hardware–near programming required
• GPIO (switches etc)• SPI, I2C, CAN• RS232/USART
– Experience by programmers– Limited budgets/resources/experience
• C as programming language seems the obvious choice
30 Mar 2016 GomSpace Aps - Alfred Nobels Vej 21C, 1. – 9220 Aalborg E – Denmark 18
C as the programming language• FreeRTOS was chosen as multitasking framework
(light, portable, free)• Common functionality in libraries shared across
hardware platforms and processors (AVR8/AVR32/ARM)
• Atmel Toolchain (gcc) on Linux• WAF build system• Eclipse IDE