Download MASTER`S THESIS

Document related concepts

Emulator wikipedia , lookup

Fault tolerance wikipedia , lookup

Telecommunications engineering wikipedia , lookup

Immunity-aware programming wikipedia , lookup

Transcript
MASTER'S THESIS
Design and Qualification of On-Board
Computer for Aalto-1 CubeSat
Elyas Razzaghi
Master of Science (120 credits)
Space Engineering - Space Master
Luleå University of Technology
Department of Computer Science, Electrical and Space Engineering
Elyas Razzaghi
Design and Qualification of On-Board Computer
for Aalto-1 CubeSat
School of Electrical Engineering
Department of Automation and Systems Technology
Thesis submitted in partial fulfillment of the requirements for the degree of
Master of Science in Technology
Espoo, August 25, 2012
Instructor:
LAN Shengchang
Aalto University
School of Electrical Engineering
Supervisors:
Professor Emeritus Aarne Halme
Professor Thomas Gustafsson
Aalto University
School of Electrical Engineering
Luleå University of Technology
Acknowledgment
The author would like to thank and acknowledge the following for their contribution towards this project: Jaan Praks, LAN Shengchang, Osama Khurshid
Mirza, Adrian Yanes, Jussi Hemmo, Maria Komu, Antti Kestilä, Matti Vaaja,
and Tomi Ylikorpi.
Also, I would like to thank my wife and my family for their support and patience throughout writing this thesis.
Espoo, August 25, 2012
Elyas Razzaghi
ii
Aalto University
School of Electrical Engineering
Author:
Abstract of the Master’s Thesis
Elyas Razzaghi
Date:
Design and Qualification of On-Board Computer for Aalto-1
CubeSat
August 25, 2012
Number of pages: 66
Faculty:
School of Electrical Engineering
Department:
Automation and Systems Technology
Programme:
Master’s Degree Programme in Space Science and Technology
Professorship:
Automation Technology (AS-84)
Supervisors:
Professor Emeritus Aarne Halme (Aalto)
Title of the thesis:
Professor Thomas Gustafsson (LTU)
Instructor:
LAN Shengchang
In this thesis an electrical model of On-Board Computer (OBC) using commercial-offthe-shelf (COTS) components for the first Finnish small satellite, Aalto-1, is designed
and built for testing the on-board hardware and software. Both the theoretical and
practical aspects of designing a reliable OBC are investigated in this work. The
Aalto-1 OBC is designed to provide a platform for Command and Data Handling
System (CDHS) that interfaces with other subsystems of the satellite and controls
their operations. The Aalto-1 OBC is based on ATMEL ARM9 processors and runs
a commercial operation system that is able to boot from several devices.
When designing equipment to spacecraft, several aspects should be accounted for, and
the design must be highly reliable. The methods for increasing the reliability of OBC
are introduced, and the applicable methods are implemented in the OBC design. The
components are selected and the electrical model of OBC is built. The functionality of
the model is tested in thermal cycling chamber to qualify the design and the selected
components to be used in the engineering model of OBC.
Keywords: Aalto-1, CubeSat, OBC
iii
Contents
1 Introduction
1
1.1
Aims and Objectives . . . . . . . . . . . . . . . . . . . . . . . .
1
1.2
Aalto-1 Mission . . . . . . . . . . . . . . . . . . . . . . . . . . .
2
1.3
Outline . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2
2 Development of Small Satellites
4
2.1
Overview of Small Satellites . . . . . . . . . . . . . . . . . . . .
4
2.2
Challenges in Small Satellites Design . . . . . . . . . . . . . . .
6
2.3
Overwiew of CubeSats . . . . . . . . . . . . . . . . . . . . . . .
7
3 OBC of Small Satellite
10
3.1
OBC Properties . . . . . . . . . . . . . . . . . . . . . . . . . . .
10
3.2
OBC Architecture . . . . . . . . . . . . . . . . . . . . . . . . . .
13
3.2.1
Centralised Architecture . . . . . . . . . . . . . . . . . .
13
3.2.2
Distributed Architecture . . . . . . . . . . . . . . . . . .
13
3.2.3
Bus Architecture . . . . . . . . . . . . . . . . . . . . . .
15
OBC in Space Environment . . . . . . . . . . . . . . . . . . . .
16
3.3.1
Launch Phase Vibration . . . . . . . . . . . . . . . . . .
16
3.3.2
Thermal Conditions
. . . . . . . . . . . . . . . . . . . .
16
3.3.3
Radiation in LEO . . . . . . . . . . . . . . . . . . . . . .
18
OBC Qualification . . . . . . . . . . . . . . . . . . . . . . . . .
21
3.4.1
21
3.3
3.4
Random Vibration Test . . . . . . . . . . . . . . . . . .
iv
3.4.2
3.5
3.6
Thermal Vacuum Bakeout . . . . . . . . . . . . . . . . .
22
OBC Reliability Improvement Strategies . . . . . . . . . . . . .
22
3.5.1
Cold Redundancy . . . . . . . . . . . . . . . . . . . . . .
24
3.5.2
Hot Redundancy . . . . . . . . . . . . . . . . . . . . . .
24
3.5.3
TMR . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
24
3.5.4
EDAC circuitry and Memory Scrubbing . . . . . . . . .
25
OBC Processors . . . . . . . . . . . . . . . . . . . . . . . . . . .
25
4 Aalto-1 satellite OBC
29
4.1
Aalto-1 System Description . . . . . . . . . . . . . . . . . . . .
29
4.2
OBC Requirements . . . . . . . . . . . . . . . . . . . . . . . . .
32
4.2.1
Mission Requirements . . . . . . . . . . . . . . . . . . .
32
4.2.2
System Requirements . . . . . . . . . . . . . . . . . . . .
33
4.2.3
Mission Constraints . . . . . . . . . . . . . . . . . . . . .
34
4.2.4
Software Requirements . . . . . . . . . . . . . . . . . . .
35
Top level design decisions . . . . . . . . . . . . . . . . . . . . .
35
4.3.1
Technical justification for Linux as On-Board OS . . . .
36
4.3.2
Technical justification for using ARM processors . . . . .
37
4.4
Related Works . . . . . . . . . . . . . . . . . . . . . . . . . . . .
38
4.5
Processor Selection . . . . . . . . . . . . . . . . . . . . . . . . .
38
4.6
System Configuration . . . . . . . . . . . . . . . . . . . . . . . .
41
4.6.1
OBC Architecture
. . . . . . . . . . . . . . . . . . . . .
41
4.6.2
Redundancy Strategy . . . . . . . . . . . . . . . . . . . .
42
4.6.3
Software Configuration . . . . . . . . . . . . . . . . . . .
42
Component screening and selection . . . . . . . . . . . . . . . .
44
4.7.1
Volatile Memory . . . . . . . . . . . . . . . . . . . . . .
45
4.7.2
Non-Volatile Memories . . . . . . . . . . . . . . . . . . .
46
4.7.3
LVDS . . . . . . . . . . . . . . . . . . . . . . . . . . . .
47
4.7.4
I/O Capability . . . . . . . . . . . . . . . . . . . . . . .
48
4.3
4.7
v
4.8
Power Management . . . . . . . . . . . . . . . . . . . . . . . . .
51
4.9
Supervisory Circuit . . . . . . . . . . . . . . . . . . . . . . . . .
51
4.10 Layout Design . . . . . . . . . . . . . . . . . . . . . . . . . . . .
52
4.11 Booting . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
52
4.12 OBC Testing . . . . . . . . . . . . . . . . . . . . . . . . . . . .
55
4.12.1 Test Software . . . . . . . . . . . . . . . . . . . . . . . .
55
4.12.2 Test Procedures . . . . . . . . . . . . . . . . . . . . . . .
56
4.12.3 Test Results . . . . . . . . . . . . . . . . . . . . . . . . .
57
5 Summary and Conclusions
5.1
59
Future Work . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
References
60
61
vi
List of Tables
4.1
4.2
OBC Specifications of CubeSat Missions with Commercial Operating Systems . . . . . . . . . . . . . . . . . . . . . . . . . . .
39
Aalto-1 OBC Processor Candidates . . . . . . . . . . . . . . . .
40
vii
List of Figures
2.1
Satellite Mass and Cost Classification, Adopted from (Barnhart,
2008) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
5
3.1
Centralized Architecture . . . . . . . . . . . . . . . . . . . . . .
14
3.2
Ring Architecture . . . . . . . . . . . . . . . . . . . . . . . . . .
14
3.3
Bus Architecture . . . . . . . . . . . . . . . . . . . . . . . . . .
15
3.4
DNEPR High and Low Level Qualification Profile, Adopted from (Toorian et al., 2004) . . . . . . . . . . . . . . . . . . . . . . . . . .
22
3.5
Bakeout Profile, Adopted from (Toorian et al., 2004) . . . . . .
23
3.6
Mitigation Scheme Matrix, Adopted from (Xilinx, 2008) . . . .
25
4.1
Aalto-1 Satellite Subsystems . . . . . . . . . . . . . . . . . . . .
31
4.2
Aalto-1 System Block Diagram . . . . . . . . . . . . . . . . . .
31
4.3
Aalto-1 OBC Block Diagram . . . . . . . . . . . . . . . . . . . .
43
4.4
Aalto-1 Redundant OBC Block Diagram . . . . . . . . . . . . .
43
4.5
Physical Layer of I2 C Bus . . . . . . . . . . . . . . . . . . . . .
49
4.6
Electrical Model of Aalto-1 OBC . . . . . . . . . . . . . . . . .
53
4.7
Internal First-Stage Bootloader Flow Diagram . . . . . . . . . .
54
4.8
Weiss Thermal Cycling Profile . . . . . . . . . . . . . . . . . . .
57
4.9
HMT337 Temperature Transmitter Thermal Cycling Profile . .
58
viii
Abbreviations
ADCS Attitude Determination and Control System
BGA Ball Grid Array
CDHS Command and Data Handling System
CDH Command and Data Handling
COM Communication Subsystem
COTS commercial-off-the-shelf
DSP Digital Signal Processor
EDAC Error Detection And Correction
EEPROM Electrically Erasable Programmable Read-Only Memory
EPB Electrostatic Plasma Brake
EPS Electrical Power System
FPGA Field-Programmable Gate Array
GPS Global Positioning System
I2 C Inter-Integrated Circuit
IR Infrared
LEO Low Earth Orbit
LVDS Low-Voltage Differential Signaling
MMU Memory Management Unit
OBC On-Board Computer
ix
OBSW On-Board Software
PCB Printed Circuit Board
P-POD Poly Picosatellite Orbital Deployer
PQFP Plastic Quad Flat Pack
RADMON Radiation Monitor
RTC Real-Time Clock
SAA South Atlantic Anomaly
SCL Serial Clock
SCV Spacecraft Configuration Vector
SDA Serial Data
SDRAM Synchronous Dynamic Random-Access Memory
SEE Single-Event Effects
SEL Single-Event Latch-up
SEU Single-Event Upsets
SoC System on Chip
SPE Spectral Imager
SPI Serial Peripheral Interface
SRAM Static Random-Access Memory
TID Total Ionizing Dose
TMR Triple Modular Redundancy
UART Universal Asynchronous Receiver/Transmitter
x
Chapter 1
Introduction
In order to achieve more reliability and functionality in space, the size of satellites has been increased over time. However, the increase in size of satellites
results in a long development time and a high development cost and especially
very high launch costs. On the other hand, rapidly developing technology and
tight budgets have created the need for shorter and cheaper developments of
space missions. The need for low cost and fast developing satellites has led
to the formation of a new generation of small satellites. The small satellites
provide cheaper alternatives to bigger satellites by reducing the requirements
significantly and taking the advantages of commercial technologies. The competitive market in microelectronics industry continues to decrease the cost, size,
and power consumption of state-of-the-art COTS components, while conversely,
increases the performance of these components.
1.1
Aims and Objectives
The aims of this thesis are to design and qualify the main OBC to meet the
system and mission requirements of Aalto-1. Designing hardware for space application requires considerations that would not normally be considered while
designing hardware for other applications. This is due to the extreme environmental conditions in space such as wide temperature range and high radiation
exposure. The space equipment demands highly robust electronic components
and higher level of redundancy to survive in such environment. The objectives
1.2 Aalto-1 Mission
2
in designing a computer system for space applications are to optimize the availability, capability, flexibility, and reliability of system while optimizing cost and
risk (Wertz and Larson, 1999).
1.2
Aalto-1 Mission
Aalto-1 is a student satellite mission initiated and coordinated by Aalto University, Department of Radio Science and Engineering. The mission is to build,
launch and operate a functional remote sensing satellite, mainly with student
workforce. The satellite mission should promote space technology education,
domestic and international networking in space sciences and latest advances in
space technology (Praks et al., 2011).
The mission concept and main configuration was developed by students during the Aalto-1 preliminary study in 2010. The Aalto-1 mission is built around
three innovative payloads, and the main goal of the mission is to demonstrate the
functionality of these payloads in orbit and measure their performance parameters. All three payloads are built by different institutions in order to facilitate
cooperation inside space R&D segment in Finland (Praks et al., 2011).
The Aalto-1 satellite will be built as a three unit (3U) CubeSat according to
the CubeSat design specifications (CalPoly, 2009). The CubeSat design has
been widely used in many university satellite projects, and currently there are
several CubeSats orbiting the Earth. CubeSat design was chosen for Aalto-1
because the concept has been proven in space, off-the-shelf subsystems can be
procured if necessary, and commercial launches for CubeSats are available. In
addition to this, using CubeSat standard also makes it possible that the new
systems designed for Aalto-1 to be easily available for others in the CubeSat
community (Näsilä et al., 2011a).
1.3
Outline
The thesis is organized as follows:
Chapter 1 defines the aims for the thesis work and it introduces the Aalto-1
1.3 Outline
3
mission.
Chapter 2 explores existing and emerging very small satellite technologies. It
gives an overview of small satellites for carrying out various scientific and technological research activities, and it focuses on a short survey of the challenges in
the development of small satellites. It also presents a short summary of current
CubeSat technology status as an important category of small satellites.
Chapter 3 investigates the theoretical background considerations for designing
an OBC for CubeSat in Low Earth Orbit (LEO). This chapter introduces the
typical of satellite OBC and architecture. It investigates the space environment that Aalto-1 CubeSat will experience during the mission and explains the
effects of space environment on OBC. According to CubeSat standards and mission scenario, the qualification requirements of Aalto-1 are then inferred. This
chapter investigates the methods for increasing the reliability of OBC when using COTS components. Finally, it proposes different options in selecting the
processor for OBC.
Chapter 4 presents the work done for the development of an electrical model
of OBC. It discusses the design and development process in terms of the techniques and the methodologies incorporated for the whole process. This chapter
describes the system specifications of Aalto-1. Based on the OBC system requirements, it proposes the hardware and software schemes. This chapter also
derives the detailed system configuration and components of OBC and their
interfaces. It explains the booting sequence of the on-board software. Then, it
presents the test software and testing procedures for the preliminary thermal
qualification of OBC. Consequently, it explores the potential weaknesses of the
design based on the test results.
Chapter 5 concludes and summarizes the work done in development of OBC.
Eventually, it proposes the considerations for development of an engineering
model of OBC.
Chapter 2
Development of Small Satellites
2.1
Overview of Small Satellites
The mission requirements were increasing from the beginning of space age in
1957 in order to have more capable and more reliable spacecraft in the hostile
space environment. These requirements have increased the mass of spacecraft
from 84 kg Sputnik to over 6,000 kg for some missions today. When, the mass
increases, the cost and complexity and developing time of the mission also increase significantly. Conversely to this trend, the emergence of small satellites,
originated mostly in universities, has provided many low cost and capable space
missions to the space community. The capabilities of small satellites are continuously increasing and the main reason is based on reducing the qualification
requirements significantly and taking the advantages of commercial technologies (Barnhart, 2008). Satellites below 500 kg are known as small satellites and
they are classified usually according to their mass. These classifications can be
seen in Figure 2.1.
The launch cost makes up a big portion of any satellite project, and the small
size of satellite leads to the much lower launch cost. Some Nano-satellites have
been launched as secondary payloads of Dnepr and Eurocket launch vehicles
for around $40K per kilogram (Flagg et al., 2004). Since the end of the cold
war, former Soviet InterContinental Ballistic Missile (ICBM)s have been refurbished by the Russians for use as launch vehicles. These launch vehicles provide
dedicated launches to small satellites as primary payloads. The small size of
2.1 Overview of Small Satellites
5
Figure 2.1: Satellite Mass and Cost Classification, Adopted from (Barnhart,
2008)
the satellite using commercial technology is achievable because of the advances
in microelectronics. The new microelectronic components consume less power
while they are more powerful and more efficient. The short development time
of the small satellites is because they are less complicated and demand simpler
qualification requirements. The low cost introduces new concepts in the space.
A system where two or more satellites function collectively to perform a task
is defined as a distributed satellite system. Because of the low cost a distributed satellite system, with a reasonable price, could be built and launched.
A distributed satellite system like GPS satellites is beneficial since we can have
distributed sensors which provide real-time observations and coverage around
the world. Space sensor networks could provide an unprecedented capability
to investigate widespread phenomena. Distributed sensors will provide more
information about the space as well as the Earth environment. There will be
more samples at an instant of time, so a better simulation and evaluation of the
environment could be performed.
The distributed satellite system also increases the reliability of the overall system. For a single, conventional satellite, if there is a failure in one module then
the entire mission might be lost. Whereas for a collection of smaller satellites,
there would still be other operative satellites that could continue the mission
even if one fails. Higher quantity mitigates the risk of failure and this also
2.2 Challenges in Small Satellites Design
6
brings the higher reliability to the whole system.
There is always a need for real-time coverage of the Earth for weather forecasting, military applications, natural phenomena studies, disaster avoidance
and treatment, civilian applications, navigation, and hobbyists. One interesting vision for small satellites is that, they can be used as service spot for bigger
satellites, e.g., had there been a full coverage system of small satellites around
the earth, the recently lost Envisat (ESA, 2012) could be inspected for maintenance and recovery purposes.
The risky and not fully proven scientific experiments usually do not get the
chance to go to the space with conventional satellites because of high costs and
high level of risks involved. Due the low cost of small satellites, such experiments could be performed. The high cost of conventional satellites puts up the
requirement for higher quality control practices to ensure the satellite will work
for the aimed lifetime. These quality assurance procedures are usually very
costly, time consuming, and need a lot of facilities. In the development of low
cost small satellites there are less stringent qualification and quality assurance
requirements, and a compromise in project management and quality assurance
roles is acceptable.
The development of small satellite technology is often open source. Thus, having an easy access to the space technology, the hobbyists and researchers can
make more contributions to this area. Consequently, small companies and individuals can have the access to the space.
Through the CubeSat standard, many universities have got the chance to develop a real satellite at their own laboratories or workshops. CubeSats can be
developed in, comparatively, short time that is suitable for universities where
the main workforce comprises of students.
2.2
Challenges in Small Satellites Design
The small dimensions of a satellite bring forward a lot of restrictions and challenges. The first limitation is in small solar panels that produce only a couple of
watts of electrical energy. In fact, 15 to 20 years ago, it was almost impossible
to have any reasonable mission with such a small power generation because the
electronic components were not that efficient as today. Thus, they could not be
used for on-board processing in such a small satellite. The advances in mobile
2.3 Overwiew of CubeSats
7
technology made it possible to have very efficient radios and processors that
could operate with a very little power. The area available for antenna is also
a challenge where there is not enough gain available for radio communication.
The frequency range is also restricted for small antennas.
Future on-board processing will allow even greater data collection, but the overall downlink rate is still somewhat limited (Flagg et al., 2004). Communication
is by far the bottle neck for Nano-satellites.
Using COTS components which are much cheaper compared to space qualified components is one approach commonly used in small satellites. The other
benefits of using COTS may include: higher gate densities, increased speed/performance, little or no need for spacial software, easier system development path
using COTS development and test equipment, and decreased lead times in comparison to rad hard (RH) devices. Microelectronic manufacturers are being
driven by a commercial market of which the space community is a very small
portion (LaBel et al., 2011). However, most of COTS components have never
been used in any of the satellite missions; and the systems using these components require going through the qualification procedures to be tested for their
tolerance to destructive effects of radiation. During these procedures, the COTS
components might not pass the tests and they must be discarded and the whole
subsystem might need to be redesigned. The COTS components are not radiation hardened, and they are usually available only in plastic packages which are
vulnerable to outgassing. The lack of radiation protection and high outgassing
rate limit the lifetime of small satellites using COTS components.
The orbit selection is another challenge for small satellites at the moment. Currently, the very small satellites are launched together with the conventional
satellites on piggyback launches. Since, the conventional satellite holds the major share of the launch cost, it determines the orbit. So, the very small satellite
mission designers are not free in orbit selection.
2.3
Overwiew of CubeSats
Two major categories of very small satellites are the Nano-satellites with the
mass between 1kg to 10kg, and Pico-satellites in the range of 0.1kg to 1kg.
CubeSat is a popular open standard in Nano and Pico-satellites. The CubeSat
2.3 Overwiew of CubeSats
8
standard defines the dimensions of satellites. It also defines some test procedures and interfaces with launchers. The size of one unit (1U) CubeSat is 10cm
x 10cm x 10cm, and the weight is about 1kg. CubeSat standard was developed
mainly for simplification of satellite infrastructure in order to reduce build and
launch costs for space science so more universities and organizations worldwide
could participate in space exploration. There is already a big CubeSat community that provides conferences, workshops, and launcher arrangements for
CubeSat developers. The subsystems of CubeSats could be designed as modules, and the modules are integrated in a stacked architecture. Standard launch
adapter like Poly Picosatellite Orbital Deployer (P-POD) greatly simplifies getting launch opportunities as opposed to a traditional satellite that has to be
designed from the ground up to fit to the launch vehicle.
Throughout years of designing for various missions, developers have realized
that maximizing potential payload volume is crucial as missions become more
complex (Fitzsimmons, 2012). There are some core hardware platform or the
avionics systems like Pumpkin’s “CubeSat Kit” or Tyvak’s “Intrepid” provided
by different suppliers to support various missions. This allows developers to
reuse previously designed systems, and focus more on innovative payloads development. CubeSat mission goals are: Technology Demonstration (56%), Communication (32%). Within a decade more than 50 missions were flown. Currently 250 missions (at least) are in operation/planning (Bridges, 2012). After
February 2012, 6 CubeSats were launched to space, by then 74 CubeSats project
had been designed, and 55 had been launched, and 36 are still orbiting, 19 naturally deorbited, 14 not operative, and in next 10 years at least 100 CubeSats
will be launched.
Some interesting derivations of CubeSats are:
• PhoneSat is an example of rapid development which uses mobile phone
as a platform for CubeSat, this platform reduces the costs significantly,
this platform already has most of satellite subsystems, it needs low power,
and it has accelerometers, GPS, radios, etc.
• CubeFlow developed by Operationally Responsive Space (ORS) and Air
Force Research Laboratory (AFRL) is a kind of plug and play modular Nano-satellite approach where hardware and software ’Black-box’ elements can be combined very quickly (possibly less than an hour) to form
simple, but functional spacecraft (Kief et al., 2010).
2.3 Overwiew of CubeSats
9
• Tyvak which is a spin-off company is leading in producing very thin modules which fully conform to the CubeSat specification, and solves many of
the design challenges developers face by including the Electrical Power
System (EPS), CDHS, a custom Embedded Linux OS with device drivers
already in place, and post-deployment power-up interfaces. Tyvak provides a module for CubeSats which is only 1cm thick, and does the vital
functions of satellite and the rest of CubeSat volume is left for the developers, and they can put whatever payloads they like to this satellite (Tyvak,
2012).
• KickSat satellites are a swarm of PCBs fitted in a CubeSat which have
radio and communicate with each other and also to a main satellite, and
the main satellite has the link down to the Earth (Manchester, 2011).
Chapter 3
OBC of Small Satellite
The OBC is a computer or a system of computers that processes various information transmitted to the satellite or from other on-board subsystems. The
purpose of main OBC is to provide a platform for CDHS that interfaces with
other subsystems of satellite and controls their operations. The other standard
subsystems of a satellite are EPS, Communication Subsystem (COM), Attitude
Determination and Control System (ADCS) and the payloads.
There are several interactions that can adversely affect the performance of OBC.
Percentage of failure in OBCs are, design 24.8 %, not fully understood environment 21.4 %, operations (bad commands) 4.7 %, Random (parts 16.3 %,
quality 7.7 %, other 6.3%, unknown 18.9 %), based on about 2500 failures between 1962-1988) (Bridges, 2012). In order to reduce the failures, the common
techniques for increasing the reliability of OBC in space environment will be
presented in this chapter.
3.1
OBC Properties
The OBC compared to standard industry embedded controllers or automotive
controllers have to provide the following characteristics (Eickhoff, 2012):
• mechanical robustness to withstand launcher induced loads with respect
to sinusoidal vibration and release shock(Subsection 3.3.1).
3.1 OBC Properties
11
• resistance to extreme thermal change (Subsection 3.3.2).
• radiation robustness against high energetic particles (Subsection 3.3.3).
• significant failure robustness (Section 3.5).
• low power consumption (Section 3.6).
All of the above items are explained in their referred sections.
OBC main elements are processor, boot memory, safeguard memory, work memory, mass memory for science and housekeeping data, data buses and bus controllers, debug and service interface, power supplies, and clock (Eickhoff, 2012).
Processors will be discussed in more detail in section 3.6.
Boot memory is a non-volatile memory which is persistent even after a power
reset. It holds bootloader for On-Board Software (OBSW) and the reference
image of OBSW.
Safeguard Memory holds the OBC configuration and satellite status information when OBC is being power cycled. The bootloader has a memory area
where it can find the latest satellite status and health information. This memory area is called (Spacecraft Configuration Vector (SCV)). SCV has two part
of information (Eickhoff, 2012):
1. Actual satellite configuration with its subsystems: Nominal settings, Safe
mode settings, Health status parameters.
2. Actual satellite status with its subsystems: Powered subsystems, Subsystems telemetry acquisition, Subsystems operational status.
The status part of SCV is continuously updated during operations and the
configuration part is directly affected in case a payload was identified to have
failure.
Work memory (RAM) is used for runtime storage of the executed OBSW which
includes both OS and the control software. The OBSW is copied by the bootloader from boot memory into RAM and then OBC is started up. Also, all configuration parameters are loaded into RAM. Two types of RAM are available:
“Static RAM” (SRAM) and “Dynamic RAM” (DRAM), usually “Synchronous
DRAM” (SDRAM). The difference is that DRAM needs to be periodically refreshed which requires extra circuitry, but it offers higher memory density (Eickhoff, 2012).
3.1 OBC Properties
12
Mass memory is a storage area for housekeeping and payload science data acquired during flight phases without ground contact.
Data buses and bus controllers are for connecting different subsystems to OBC.
Missions are becoming more diverse and complex, thus satellites should be
able to accommodate various payloads. Consequently, the OBC should demonstrate high flexibility in term of available peripherals. There are two connection
types (Eickhoff, 2012):
1. Point-to-point connection; it needs separate pair of wires for each subsystem, and the data rate is usually higher: UART/USART, MIL-STD1553B, SpaceWire, HotLink, GigaLink.
2. Data bus; the OBC hosts a bus controller which connects to the bus lines
shared by other subsystems, and the data rate is usually slower: I2 C,
CAN, SPI.
Debug interface is an interface that allows debugging of OBSW code on the
OBC. Service interface makes it possible to monitor OBSW execution via debugger and in most cases also can be used for fast OBSW upload to RAM while
the OBC is not booted.
Power supplies needed by OBC are usually 1.8, 3.3V, or 5V. EPS sometimes
does not provide these supplies and voltage regulators must be employed to
provide these voltages.
Clock and synchronization concerns the on-board time generation and the coherent synchronization of all OBSW processes and the on-board subsystems which
require timing information or time progress information. Availability of time
information is an essential function for OBSW task control and for time stamping of telemetry packets. The main elements for time producing are (Eickhoff,
2012):
• internal Real-Time Clock (RTC) of the processor.
• the physical quartz based oscillator clock modules.
• a GPS atomic clock time reference which provides more exact time and
better stability concerning clock drifts compared to the quartz based clock
modules.
3.2 OBC Architecture
3.2
13
OBC Architecture
Architecture is a framework for developing a computer system. The architecture
shows the system’s parts and how they interact through a block diagram. Data
architecture addresses the physical structure of the data network or bus, as well
as the protocol or logical interaction across the bus (Wertz and Larson, 1999).
The OBC architecture has to be flexible and general-purpose to increase its
reusability (Yashiro and Fujiwara, 2002). Three different data architectures are
used to connect the board computer with external components or subsystems:
3.2.1
Centralised Architecture
A Centralized Architecture has Point-to-Point interfaces between OBC and
other satellite subsystems. It is also refered as Star Architecture (Wertz and
Larson, 1999) as seen in Figure 3.1.
Advantages:
• Failure of a component or line does not cause system loss.
• Individual interfaces are possible for secure data.
Disadvantages:
• High wiring effort is necessary which may also cause electromagnetic compatibility (EMC) problems.
• Adding a new node requires both hardware and software changes in the
central node.
3.2.2
Distributed Architecture
Often called ring architecture, it establishes a way to arbitrate information flow
control as the data are passed in a circular pattern (Wertz and Larson, 1999).
See Figure 3.2.
Advantages:
3.2 OBC Architecture
Figure 3.1: Centralized Architecture
Figure 3.2: Ring Architecture
14
3.2 OBC Architecture
15
• Low cabling effort is needed and can be distributed throughout the satellite structure.
• Components can be tested independently.
• Adding new nodes will have limited impact on OBC.
Disadvantages:
• It is less reliable, since each node is in-line and thus required to achieve
transmission to the next node (e.g. short circuit can cause loss of system).
• Adress decoder in each node is required.
3.2.3
Bus Architecture
This architecture utilizes a common data bus with all subsystems sharing the
bus. It uses standard protocols and communication schemes for all nodes (Wertz
and Larson, 1999). See Figure 3.3.
Advantages:
• The system realization is simple.
• Data transmissions are deterministic which reduces test and troubleshooting time while increases reliability.
Disadvantages:
Figure 3.3: Bus Architecture
3.3 OBC in Space Environment
16
• All components must be developed with a specific interface - physically
as well as electrically.
• Failure (e.g. short-circuit) of a component or line may cause loss of system.
3.3
OBC in Space Environment
Space is a hazardous environment for electronic equipment and it poses a risk
to all Earth-orbiting satellites. The following subsections will highlight the
major challenges when designing electronic equipment, such as OBC, for space
applications.
3.3.1
Launch Phase Vibration
The launch environment that spans from ground to the altitude of about 80km,
known as Karman Line, is one of the most hostile environments that a satellite
experience during its mission. There are a lot of vibrations in launch phase.
The launch vehicle reaches to an acceleration of about 20g in 90 second in order
to gain the escape velocity needed to break free from the Earth gravitational
field (Tribble, 1995). During this time, the payloads must withstand multi-axial
forces and pressures exerted by launch vehicle. In the presence of air pressure,
these forces are produced from violent behavior of air molecules at high speeds.
Rocket motors are not designed for the comfort and safety of the equipment
they are transporting to space; they are designed to achieve the escape velocity.
The energy required to achieve this velocity is violent, and the satellites must
be built in such a way that they do not crush under the pressure or rattle apart
during the launch. Vibration requirements are dictated by the launch vehicle
and given usually in launch vehicle manual.
3.3.2
Thermal Conditions
There are different thermal contributors i.e. sources of heating and cooling
in the space environment that cause the wide changes in the temperature of
3.3 OBC in Space Environment
17
satellites. The main contributors are direct solar radiation, heat radiation from
earth and heat from internal components of the satellite. These contributors
are briefly described here.
Direct solar radiation
Solar radiation is the main source of heat on LEO. Due to Earth’s elliptic orbit
around the sun, the intensity of sunlight at Earth’s distance varies from the
minimum of 1322 W/m2 to 1414 W/m2 . Earth’s mean distance from the sun is
149,597,870 km, at which the sunlight intensity is 1367 W/m2 (Gilmore, 2002).
Radiation Reflected from Earth
The reflected radiation from earth is defined by Albedo which is the fraction of
sunlight reflected off Earth. Generally clouds, snow and ice increase reflectivity
as does a lower solar-elevation angle, which leads to higher albedo factor when
latitude increases. Usually oceanic regions have lower reflectivity, than continental ones. The local incident solar energy per unit area at Earth’s surface
decreases with cosine law when moving away from the subsolar point, which
leads to decreasing satellite albedo heat flux although albedo fraction increases
with latitude. Albedo is highly variable because of the multiple factors affecting
it (Gilmore, 2002).
Earth Infrared
Earth itself emits Infrared (IR) radiation as a thermal body with average temperature around −18 ◦C (Gilmore, 2002) E.g. local temperature at Earth’s
surface and clouds affect the amount of Earth IR received by the satellite. Generally Earth-emitted IR decreases with latitude. The variability of Earth IR is
smaller than that of albedo loads. Since satellite’s temperature is closer to that
of the Earth than that of the sun, i.e. IR wavelengths are closer, there is no
way of selecting thermal coatings that would effectively reflect Earth-emitted
IR, but still dissipate heat as IR radiation with high emissivity.
3.3 OBC in Space Environment
18
Internal contributors
The main satellite internal heat contributor is waste heat from electrical components. For approximate worst case calculations it is often assumed that 100%
of electrical power used by the satellite subsystems and payloads is converted
to heat.
3.3.3
Radiation in LEO
During the fusion process, the stars emanate a lot of radiations that contain
various forms of charged particles. The Sun dominates the sources of radiation
in space near the Earth. Encircling the Earth, the Van Allen belt radiation that
forms the Earth’s magnetic field can divert most of the radiations from space,
and shields the Earth. The satellites in LEO are also protected by the magnetic
field most of the times, except in South Atlantic Anomaly (SAA) region where
the trapped charged particles in Van Allen belt and the radiation from Van Allen
belts enter the atmosphere. These radiations cause in the electronic equipment,
especially semiconductor devices undesired effects (Botma, 2011).
The main sources of energetic particles that contribute to undesired radiation
effects to electronic components are:
1. protons and electrons trapped in the Van Allen belts,
2. cosmic ray protons and heavy ions,
3. protons and heavy ions from solar flares.
Ionizing radiation has enough energy to remove tightly bound electrons from
their orbits while interacting with an atom, and causes the atom to become
charged or ionized. The effects of space radiation on the microscopic IC world
are not benign. The effects are caused by protons, heavy ions & galactic or solar
cosmic rays (GCR/SCRs) > 10 MeV. The effects of radiation in brief are damage
of crystal structure, bit flips, and latch up (always on). These effects can be
generally classified into two fundamental mechanisms: lattice displacement and
ionizing effects.
When high energy particles collide with electronics, the arrangement of atoms
3.3 OBC in Space Environment
19
changes in the crystal lattice, as a result, lasting damage occurs and the number
of recombination centers increases, the minority carriers deplete and the analog
properties of the affected semiconductor junctions become worse. This type of
problem is particularly significant in bipolar transistors, which are dependent on
minority carriers in their base regions; increased losses caused by recombination
cause loss of the transistor gain (Wikipedia, 2012).
Ionizing radiation effects in space vehicle electronics can be separated into two
areas:
1. Total Ionizing Dose (TID)
2. Single-Event Effects (SEE)
The two effects are distinct, as are the requirements and mitigation techniques.
TID
TID is long-term degradation of electronics due to the cumulative energy deposited in a material. TID effects include functional failures and parametric
failures (variations in device parameters such as leakage current, threshold voltage, etc.). Accumulation of charge on transistors used in semiconductor circuits
affects their current-voltage characteristics. In order to operate correctly, as
the gate voltage passes through a threshold, a transistor must be able to switch
from a low conductance (off) state to a high conductance (on) state. When being exposed to radiation for long time, the threshold voltage is shifted and this
causes an easier or harder switching of the transistors. The leakage current may
also increase and it causes the on and off states of the transistors to become less
distinguishable. Any of these effects can ultimately cause circuit failure. The
dominant sources of TID exposure in the space environment include trapped
electrons, trapped protons, and solar flare protons. Possible countermeasures
are qualification by tests (Cobalt 60), shielding, and redundancy. The TID
tolerance can be seen as a measure for determining the life expectancy of an
electronic device. Some electronic devices have a radiation-hardened version
which has a greater TID tolerance, but they are considerably more expensive.
COTS components usually have a TID tolerance large enough to justify their
use on a satellite with a short mission in LEO.
3.3 OBC in Space Environment
20
SEE
SEEs on the other hand are nearly instantaneous effects. They are induced by
the impact of a single energetic particle at a sensitive point in a device. SEEs
occur when a single ion strikes the material, depositing sufficient energy in the
device to leave an ionized track behind. The many types of SEE may be divided
into two main categories: Soft Errors and Hard Errors.
In general, a soft error occurs when a transient pulse or bitflip in the device
causes an error detectable at the device output. Therefore, soft errors are entirely device specific, and are best categorized by their impact on the device.
The most common soft error is Single-Event Upsets (SEU). SEU is generally
a transient pulse or bitflip. In combinatorial logic or an analog-to-digital converter, a transient or spike on the device output would be a potential SEU; in a
memory cell or latch, a bitflip would be an SEU. SEUs occurring in the device’s
control circuitry may also cause other effects. In general, SEUs are corrected by
resetting the device or rewriting the data. These upsets usually do not damage
a device, but it could cause undesired effects within the operation of a device or
system. Possible countermeasures are Error Detection And Correction (EDAC)
for memory and busses, redundancy of software or data, and reset (LaBel et al.,
2011).
Hard errors may be, but are not necessarily, physically destructive to the device,
and cause permanent functional effects and change to the operation of the device. A common example would be a stuck bit in a memory device. Like SEUs,
this is also device dependent. The most common hard error is Single-Event
Latch-up (SEL). SEL is a potentially destructive condition involving parasitic
circuit elements. During a traditional or destructive SEL, the device current exceeds the maximum specified for the device. Unless power is removed, the device
will eventually be destroyed. Latch up is the most common source of problem in
90nm technology, depending on their power and technology used and materials,
they can cause permanent damages. Particle hit causes a power-to-ground short
within device. This excessive current flow may damage the device, due to the
heat generated locally, if the latchup is not removed by means of power cycling
(switching power on and off to device). A combination of hardware and software
error detection methods serve as effective mitigation. Possible countermeasures
are current limiters, power cycling, and cold redundancy (LaBel et al., 2011).
3.4 OBC Qualification
3.4
21
OBC Qualification
Many factors including launch vehicle vibrations, extreme temperatures, radiation and the vacuum environment contribute to the harsh environment that any
satellite will experience during its mission. Satellite hardware must be designed
and tested to resist each of the above environmental factors so that a satellite
will be able to operate nominally with a little or ideally no faults. Qualification
testing shall be performed to meet all launch provider requirements as well as
any additional testing requirements deemed necessary to ensure the safety of
CubeSats and P-POD. If launch vehicle environment is unknown, GSFC-STD7000 shall be used to derive testing requirements. All flight hardware shall
undergo protoflight and acceptance testing. If a part does not have test results
to prove that it met this requirement, then it needs to have flight history onboard a satellite in a similar low-earth orbit. Finally, if a part could not be
justified using either of the above mentioned methods, then at the very least,
it needed to be in the same “family” as a known radiation tolerance levels.
At the very minimum, all CubeSats shall undergo the following test (CalPoly,
2009):
• Random Vibration
• Thermal Vacuum Bakeout
3.4.1
Random Vibration Test
Vibration test is done to qualify the robustness of satellite systems in launch
phase. The displacement of the components could happen due to weak solders
joint or loose contacts when there are high internal and external forces to the
satellite structure. The vibration test is performed by inserting sine and random forces to the satellite using a shaker machine.
The following vibration testing requirements will ensure that the hardware will
not damage any satellites under the worst-case environmental conditions expected during launch. As an example, the test procedures for DNEPR are the
following: Setup Test Pod so that the X axis is the test axis of the shake table.
Then run the High Level DNEPR qualification test for 35 seconds, then the
3.5 OBC Reliability Improvement Strategies
22
Low Level DNEPR qualification test for 831 seconds, see Figure 3.4. Repeat
the test for Y and Z axis (Toorian et al., 2004).
3.4.2
Thermal Vacuum Bakeout
Thermal vacuum bakeout is a simple procedure that secondary payload like
CubeSat is required to perform in order to remove excess contaminations that
may be harmful to the launch vehicle or primary payload. Thermal vacuum
bakeout shall be performed to ensure proper outgassing of components. A minimum vacuum level of 5 x 10−4 Torr must be attained to observe the outgassing
of components, Figure 3.5 (Toorian et al., 2004).
3.5
OBC Reliability Improvement Strategies
Protection from radiation is mostly not achievable in CubeSat because of its
fundamental limitations in size and budget, but it is possible to mitigate the
radiation effects to some degree. The common countermeasures for radiation
effects are avoiding, shielding, redundancy, error correction, reset, scrubbing
memories (used more in Field-Programmable Gate Array (FPGA)).
The are different strategies to improve the reliability. Fault avoidance strategies
Figure 3.4:
DNEPR High and Low Level Qualification Profile, Adopted
from (Toorian et al., 2004)
3.5 OBC Reliability Improvement Strategies
23
Figure 3.5: Bakeout Profile, Adopted from (Toorian et al., 2004)
are usually used in conventional satellites:
• Using more reliable hardware and proven solutions (heritage).
• Applying radiation hardened solutions (rad-hard).
The fault avoidance strategies are not very common in CubeSat community,
since the CubeSat project nature is to use state-of-the-art COTS components
that have never been to space.
Fault tolerance strategies enables the OBC to continue operation when some
part of OBC fails. These strategies include:
• module redundancy
• mitigation of radiation effects
– Triple Modular Redundancy (TMR)
– EDAC circuitry
– Memory Scrubbing
The module redundancy and mitigation of radiation effects could be implemented both by hardware and software methods. Only the hardware methods
will be explained here.
3.5 OBC Reliability Improvement Strategies
3.5.1
24
Cold Redundancy
Cold redundancy between circuits, boxes, systems, etc. provides a potential
means of recovery from a SEE on a system. Autonomous or ground controlled
switching from a prime system to a redundant spare may provide system designers an option, depending on satellite size and weight restrictions. An advantage
of this method is that the power consumption will not increase very much.
Switching control is very important in this method since it causes a single point
failure, and in case the switching is autonomous, it should be highly reliable.
3.5.2
Hot Redundancy
Alternately, hot redundancy known also as lockstep operation uses two identical
circuits performing identical operations with synchronized clocking, a technique
often used with microprocessors. Errors are detected when the processor outputs do not agree, implying that a potential SEU has occurred. The system
then has the option of reinitializing, etc. However, for longer satellite mission
time frames, lockstep circuits using commercial devices may cause TID-induced
problems; clock skew with increasing dosage may cause false triggers when the
lockstep devices respond to the dosage differently.
3.5.3
TMR
Triple modular redundancy, better known as TMR, is a widely used method
of protecting a system from both hard and soft failures. Voting takes lockstep systems one step further; the implementation involves using three identical
subsystems that are each carrying out the same functions simultaneously. The
output from each subsystem is then processed by a voter circuit which outputs
the majority of the three inputs. As long as two of the subsystems are functioning properly, the output will be valid (Moore and Pisacane, 1994).
TMR results in more than tripling the amount of logic required to implement
the design large overhead. TMR approach is mostly used in FPGA based systems. FPGAs provide higher gate counts and device logic densities than other
large-scale integration circuits. While high gate count reduces the IC count
3.6 OBC Processors
25
for satellite electrical designs, with the TMR scheme essentially over two thirds
of the available FPGAs gates are lost. There is a scheme by Xilinx for SEU
mitigation selection in Figure 3.6.
As long as the high energy flux is not sufficient to cause SEUs to two of the
three modules simultaneously (multiple bit errors), the mitigation of SEUs are
effectively done by TMR.
3.5.4
EDAC circuitry and Memory Scrubbing
EDAC codes are usually implemented in hardware using extra memory bits and
encoding/decoding circuitry. EDAC codes can only correct one bit error and to
avoid the accumulation of errors, the contents of memory are read periodically
and all the correctable errors are corrected. This operation is called “periodic
scrubbing” and thereby reducing the probability of multiple errors that might
not be correctable.
3.6
OBC Processors
There are many options for the selection of a processor for OBC. Selecting the
appropriate processor is important for the design, because it directly and indirectly affects the whole OBC and satellite design. Commonly used processors
are: Microprocessors, Microcontrollers, SoCs, FPGAs.
Microprocessors are much simpler processing units than processors, mainly
Figure 3.6: Mitigation Scheme Matrix, Adopted from (Xilinx, 2008)
3.6 OBC Processors
26
meant for computing. They require companion chips. They address huge memory banks, and they have cache memory because RAM and external memories
are slow.
Microcontrollers are meant for controlling. They have interrupt controller, so
they can perform real-time tasks. They can be used stand alone. They can drive
current. They do not have a cache memory. Real-time is critical in an embedded system. Modern microcontrollers have internal RAM which is surprisingly
fast, some of them have internal ROM, and mostly have external memory interface. Some microcontrollers have a floating point co-processor which can do
for example sine calculation. However, single chip microprocessors still offer
greater processing power compare to microcontrollers.
System on Chip (SoC)s emerged due to take the advantage of both microcontrollers and microprocessors. SoC can do the same amount of floating point
operation as core i7 but with much less power (1w).
Generic processors can be used in everything but also inefficient at what they
do. Digital Signal Processor (DSP), which is a specialized processor, is very fast
at a select type of operations like signal processing, but some other operations
like conditional computing is extremely slow. Graphics processing unit (GPU)s
are really fast at matrix computations which can be used in space applications
like Kalman filter for smoothing the noise or attitude determination, but they
miss basic features for normal applications.
FPGA is universally programmable logic chip and it allows near-instantaneous
execution of complex state-machine operations, and it can do conditional branching. Because it is programmable, it is fully custom-made chip; it is always optimized for the task. For a really lousy programmer in FPGAs, there might be
a better solution with the microcontroller, but essentially FPGA always offers
the best scenario. It is always the fastest in execution of a fixed algorithm for
given clock speed, FPGAs have speed limit. FPGA is quickly reprogrammable,
and it can be reprogrammed even every 10 ms.
There are several reasons for not using FPGA by everyone. First of all designing with a FPGA is difficult, when making a tradeoff between Microprocessor,
Microcontroller, DSP, etc., and a FPGA, designer stuck with the problem of
power consumption calculation, the only thing designer can do is to go through
the whole design process and measure or simulate its power usage, but in a
microcontroller the worst case is known which is always low, designer can get
an estimation and the design will always finish faster in terms of power con-
3.6 OBC Processors
27
sumption data.
Power consumption of FPGA in its own is always higher because FPGA has a
layer on top of logic gates themselves which do the configuration, even though
the configuration maybe fixed forever, those layers will always consume power,
because they have to remain in the same state. One cannot just program and
dump the layer because the layer will stop doing what it was supposed to do.
FPGA is parallel by nature like our brain, but for some reason human can only
think in straight line. Parallelism is one way for higher process rate, but it
works only for applications which are naturally parallel, not sequential.
Soft-core processors are always outcompeted by discrete processors because they
are optimized with no overhead. There is hybrid solution by Xilinx, the Extensible Processing Platform, which is essentially a microcontroller connecting
to an ocean of FPGA space through bus, so one can program software in the
microcontroller to feed data to a specific function that has been programmed
in FPGA; it is built in 28nm technology and very efficient.
The power trend is the limit for processors, the faster processor, the higher
power density; power density is the amount of watt per cm2 , and P4 was the
last processor to follow the power trend because Intel could not cool the processor anymore, a power density close to nuclear reactor.
There is another trend which says, the faster process, the lower power supply
voltage; but it is not possible to lower the voltage less than 1V because then
there will not be a state machine (Engelen, 2012).
In processor selection for space application, the following factors must be considered: throughput, on-chip memory size, physical size, pinout, power, supported interfaces, temperature range, and the package. Processor throughput
is a function of the instruction set and the clock speed; it can be calculated by
equation 3.1.
T hroughput(M IP S) = P
Clock(M Hz)
× instruction set clock cycle
(3.1)
instruction set
total instructions
A good rule of thumb is to set the processor throughput at four times the
estimate of minimum system throughput requirement (Wertz and Larson, 1999).
The on-chip memory decreases the processing time by providing single-cycleaccess memory for CPU. On-chip memory often connects by multiple busses
to CPU that could be accessed by different functional units in one clock-cycle.
The size and pinout directly affect the required space and weight of design
which eventually affect the system cost. Power consumption is so critical, as
3.6 OBC Processors
28
the generated power in solar cells is very limited. The processor must provide
interfaces with all the components on board and other subsystem of satellite.
In case an interface is missing, an additional chip is required which adds to the
size, weight, and power consumption of system. The processor must withstand
wide temperature change in space. The surface mount packages are preferred
for space application since these packages are more resistant to vibrations and
have smaller footprint.
Chapter 4
Aalto-1 satellite OBC
This chapter describes the main considerations and solutions chosen during
the Aalto-1 main OBC design and implementation. It discusses the techniques
followed during the hardware design of Aalto-1 OBC. The OBC functional requirements are presented, which served as the standard by which the entire
system was designed. The next section covers the procedure of selecting the
processor. This is important for the design, because selecting the appropriate
processor directly and indirectly affects the whole design. Following that, an
overview of the OBC will be provided, looking at the different subsystems: why
they are there and what they will do. A lower-level overview will then follow
which will briefly describe how all the subsystems were implemented and which
components were used.
4.1
Aalto-1 System Description
The payloads of Aalto-1 are:
• Spectral Imager (SPE) which is the main payload of Aalto-1, is based
on a tunable, piezoactuated Fabry-Perot interferometer that is able to
record 2D spatial images at one to 60 selected wavelength bands simultaneously (Blomberg et al., 2010).
4.1 Aalto-1 System Description
30
• Radiation Monitor (RADMON) to observe the fluxes of radiation belt
electrons and protons for the duration of the mission to provide mapping
of the inner-belt proton and electron spectra as a function of geographic
coordinates, especially in the SAA region.
• Electrostatic Plasma Brake (EPB) to de-orbit the satellite based on the
electric solar wind sail idea, where a charged tether, in plasma, will experience Coulomb drag from the plasma whenever the plasma is moving
with respect to the tether (Janhunen, 2010).
A Global Positioning System (GPS) receiver is also planned to be used to provide orbit determination capability for EPB experiment. The GPS will also
be used for precise time synchronization and satellite tracking from the ground
station.
The size of Aalto-1 will be 34 cm x 10 cm x 10 cm with a mass less than 4
kg. The satellite will also follow a modified PC/104 standard stackable configuration, with a stack-through bus connecting the satellite subsystems. The
subsystems are divided into the long stack and the short stack, and the short
stack is rotated 90 degrees in order to achieve the best orientation for radiation measurements as seen in Figure 4.1. The platform will have a VHF/UHF
data link for telemetry and command, a high bandwidth S-band downlink, a
complete ADCS and a high performance OBC with a Linux-based operating
system. In addition to these, the satellite will also house the three aforementioned payloads (Näsilä et al., 2011b).
The satellite will have a polar low-Earth orbit, preferably a Sun-synchronous
one. The sun-synchronous midday-midnight orbit provides optimal lighting
conditions for the Earth Observation payload and favorable night conditions
for the radiation detector. This orbit also provides sufficient solar cell-based
power generation. This is important as the average power available will be 5.8
W, and 8 W at maximum which limits cost, schedule, and implementation techniques available to the system designer (Nikkanen, 2010).
The satellite system block diagram with all interfaces and subsystems is shwon
in Figure 4.2.
4.1 Aalto-1 System Description
Figure 4.1: Aalto-1 Satellite Subsystems
Figure 4.2: Aalto-1 System Block Diagram
31
4.2 OBC Requirements
4.2
32
OBC Requirements
It is important to clearly define the requirements before starting any design.
The following requirements are defined while taking into account the aspects
discussed in the previous chapters, such as the limitations of a CubeSat and the
space environment.
4.2.1
Mission Requirements
The first step in analyzing and designing a space mission is to define mission
objectives: the broad goals which system must achieve to be productive (Wertz
and Larson, 1999). Mission requirements are top level requirements (lifetime,
launcher, payloads, scientific outcome, etc.), which determine the characteristics of mission. The Aalto-1 mission lifetime is expected to be two years, and
during this time, the OBC has to survive and work in the space environment,
so it has to be designed in such a way that it is highly reliable and robust.
The launcher is not decided before OBC design process, so the qualification
requirement regarding the launch vehicle will be according to the worst-case
scenario (Näsilä et al., 2011b).
All payloads except EPB have their own processors, but they are instrumentspecific and commanded by the main computer; so OBC takes care of high-level
controlling of payloads. The OBC is responsible for all on-board activities except attitude determination and control. The OBC collects the scientific data
in a predefined format from each payload and stores the data on non-volatile
memories (Näsilä et al., 2011b).
In Aalto-1, the telemetry consists of housekeeping data collected from different
subsystems including ADCS, EPS, and the science data from payloads which
will be stored in a non-volatile memory. When there is a pass over the main
ground station, the telemetry data will be transmitted and the contents of memory will be dumped to the ground; at the same time, the telecommand will be
received; the instructions will be loaded to OBSW and will get executed (Näsilä
et al., 2011b).
4.2 OBC Requirements
4.2.2
33
System Requirements
System requirements are derived from mission requirements and are defined at
system level. OBC System requirements can be subdivided into three different
groups:
• Functional Requirements (tasks, subsystem control, task scheduling, data
processing, communication subsystem and component level, data storage,
etc.)
• Operational Requirements (Operations modes (states), power modes, autonomy, failure detection isolation and recovery (FDIR), etc.)
• Interface Requirements and protocols (Compatibility with hardware and
software interfaces, standards and protocols)
Functional Requirements
Functional requirements define how well the system must perform to meet its
objectives. The mission objectives and requirements determine the functional
requirements for any satellite subsystem. For each subsystem there are different
requirements. In Aalto-1, the OBC is the command and data handling system
which receives, validates, decodes, and distributes commands to other subsystem of satellite and collects, processes, formats, and delivers telemetry. The
OBC shall (Modrzewski, 2011):
• be able to provide high processing power.
• receive the telecommands, store and execute them.
• collect, frame, and store the telemetry at least for 24 hours.
• be able to adjust the housekeeping collection rate by telecommand.
• provide variable telemetry data rates. These rates shall be selectable by
telecommand.
• provide precise local timing and time synchronization.
4.2 OBC Requirements
34
Operational Requirements
Operational requirements determine how the system operate and how users
interact with it to achieve its broad objectives (Wertz and Larson, 1999). In
Aalto-1, the OBC shall (Yanes, 2011):
• have autonomous operation.
• monitor battery charge level. In case of an out of limit condition, OBC
will initiate satellite safe mode.
• keep a list of commands which will be executed automatically in case of
an emergency.
• give conditional predefined high-level commands to the payloads.
• establish a communication link with the ground station.
Interface Requirements and protocols
• The OBC shall communicate with payload mostly through I2 C bus.
• Manage the data bus (always master).
• For high data rate transmission from SPE to OBC and from OBC to COM
subsystem, SPI is preferred.
• One UART is needed to interface with RADMON and one is needed for
GPS receiver.
• A serial connection is required for debugging.
4.2.3
Mission Constraints
The mission constraints are (Näsilä et al., 2011b):
• CubeSat standard, which requires Aalto-1 OBC to have low power consumption, less than 1W, compact size, 10cm x 10cm, and low weight,
100g.
4.3 Top level design decisions
35
• It has to handle commands and data during 2 year mission.
• No accurate thermal simulation is available for satellite at the moment,
so worst case (−65 ◦C to 90 ◦C) is concerned which at least industrial
components (−40 ◦C to 85 ◦C) are needed to almost cover this range.
• No vibration information is available due to undecided launcher, so the
worst-case scenario is concerned. It is preferred to use surface mount
components, and avoid Ball Grid Array (BGA) packages since the BGA
packages could not be easily qualified.
• The workforce are mostly students who have limited experience.
• limited budgets, 100k Euro, and short development, time 4 years.
4.2.4
Software Requirements
Developing software is as important as hardware; HW and SW design must go in
parallel. The principal requirement on the OBC software is that, it has to carry
out the mission tasks. Additionally, inflight software update techniques and
corresponding boot loader capabilities are desirable. This approach will make
the OBC architecture capable to recover from software bugs by software inflight
reloading. Utilization of a Real-Time Operating System (RTOS) provides several priority levels for tasks execution (Duma et al., 2007). The availability of
emulator, development tool support, and reusable reliable software module are
the design parameters for software developers to be considered when designing
the OBC (Wertz and Larson, 1999).
Each of the above requirements needs to be considered. In the following sections, the methods to fulfill these requirements are described.
4.3
Top level design decisions
It has been decided to use ARM processor running Linux operating system
in Aalto-1 OBC (Modrzewski, 2011), (Yanes, 2011). In this section, the ideas
behind these decisions are explained.
4.3 Top level design decisions
4.3.1
36
Technical justification for Linux as On-Board OS
Due to the nature of Aalto-1 and its custom development, Linux is the only
operating system available that full-fill the following requirements:
• Real-time capabilities
• Full availability of the source code
• Functional development environment
• Cross-platform support
• Community support
• POSIX compliant
• Support different processor families
Linux is a flexible Unix-like operating system that can run on a host of platforms from small embedded computers (1-2 MB) with no Memory Management
Unit (MMU) to super computers. While using OS limits the processor selection,
the software development will benefit a lot. A higher level of success is achieved
if there is already a development board with OS using a similar processor. This
was the case with Aalt-1 OBC processor. This means that no time was wasted
finding or developing I/O drivers, and a little time was spent for porting the
same OS on Aalto-1 OBC.
Linux has a proven track in embedded systems; including environments in which
the operating system must react to real-time inputs. Furthermore, its portability, documentation, testing and license, third party software, and the compatibility with the ground station and satellite contact software make Linux a
solid and robust environment in which the software development can be tested
and verified completely due to the availability of all the source code involved.
In addition, Linux can be adapted to any purpose without licensing constrains,
providing the possibility to develop custom solutions for any purpose. The
use of the Linux operating system allows developers to write powerful applications in short time, thanks to the great open source database. It also gives
the developers a common set of development tools including modern languages
like Python and a vast working, documented, and tested code base that could
4.3 Top level design decisions
37
be harvested over the Internet for free. Providing modern language support increases the number of developers able to contribute to the project and decreases
the amount of retraining that is necessary.
Linux also provides a host of tools that could be utilized in the operational
satellite without burdening the software development team with coding, testing, and maintenance overhead. These include free utilities that report memory
use, disk space utilization, software status, and date/time manipulation.
Another benefit of any commercial operating system like Linux that supports
an IP protocol stack is the existence of a ready-made communication path that
exists below the application level software. Utilities like PING, SSH, and SCP
provide an out of the box communication mechanism that supports an effective
backup resource to the primary communication software. In QuakeSat (Bleier
et al., 2004), a CubeSat mission which also utilized Linux OS, the operators used
the PING and SSH utilities to communicate with the satellite when the payload
software temporarily failed. This helped the ground team validate modem and
radio hardware health when normal satellite operations were impaired.
4.3.2
Technical justification for using ARM processors
ARM processors are widely used in mobile devices due to their low power consumption and high performance architecture. Many major processor vendors
like ATMEL and Texas Instruments have produced their processors based this
architecture. Each of these vendors offers different peripherals and features for
different applications. For any application it is possible to find an ARM processor with most of needed peripherals and processing power. Due to widespread
use of the ARM processors, there are many software supports from user’s community providing design ideas and solutions for different tasks. There have
already been several families of ARM processor produced, newer design offer
more features and performance. The nice property of the new designs is that
they are compatible with older designs, so developers can easily migrate to the
newer processors without much effort. In space, the total energy consumption is
very important due to the limited power in battery. ARM processors consume
low power because they integrate more functionality on a single die than other
processors and they usually function at slower clock speed. Another reason is
that ARM does more aggressive power gating, effectively shutting down parts
4.4 Related Works
38
of the processor that are not currently in use.
4.4
Related Works
In Aalto-1, the main characteristic of OBC is utilizing a commercial operating
system. The technical justification of using Linux OS is explained in 4.3. The
general trend is to use custom OS on-board or no OS at all, and there have
been a few CubeSats which had a commercial OS on-board. The OBC specifications of these CubeSats are listed in Table 4.1. This table demonstrates the
wide range of options for processors, memories, and operating systems. Among
these CubeSats, QuakeSat was the only one used full featured Linux. QuakeSat
utilized a Diamond Systems Prometheus PC/104 single board computers. Although, this computer could be down clocked to reduce power consumption of
processor, its power consumption still would be significantly higher than Aalto1 available power on-board. To achieve a low power and high performance
OBC design a new design using an ARM processor on-board is needed. As seen
from the previous missions, the ARM processors provide the most power saving
designs.
4.5
Processor Selection
From the Linux perspective, there are 2 very different kinds of ARM chips:
• ARM processors that include a MMU, and can run standard Linux
• ARM processors without MMU. These can run a modified version of Linux
called uClinux, enabling Linux to run on MMU-less platforms or embedded processors with Memory Protection Unit (MPU).
Because of security considerations for MMU-less processors, it is unwise to use
them when 3rd-party or untrusted code will be running on the device. For
locked-down, single function devices, MMU-less processors may be appropriate.
They are usually less expensive than processors with MMU (eLinux, 2011).
MMU provides independent virtual memory for each process, and systems that
4.5 Processor Selection
Satellite
Organization
AAUSAT-
Aalborg Uni-
II
versity
39
Main Proces-
Clock Fre-
sor
quency
AT91SAM7A1 8/40MHz
Memory
Power
Operating
System
RAM:
<300mW
eCos/
2MB,
@ 40MHz
RedBoot
ROM:
and
4MB,
<80mW @
Flash:
8MHz
4MB
DTU Sat-1
University of
AT91M40800
16MHz
Denmark
RAM:
155.1mW
eCos
Linux
1MB,
Flash:
2MB
QuakeSat
CUTE-1.7
Stanford Uni-
ZFMicro De-
100MHz
RAM:
5W at 100
versity
vices ZFx86
down
32MB,
MHz
clocked to
Flash:
66MHz
128MB
400MHz
RAM:
Tokyo
In-
stitute
of
ARMV4I
5V
32MB,
Technology
Windows
CE.NET
Flash:
128MB
STUDSAT
India- 7 Aca-
UC3A0512
66MHz
RAM:
demic Institu-
64KB,
tions
Flash:
3.3V
VxWorks
100mW
Salvo 4
512KB
ITUpSAT
Istanbul
(Pumpkin
Technical
Design)
7.4MHz
RAM:
10KB,
Unversity
MSP430F1611
Flash:
50KB
Table 4.1: OBC Specifications of CubeSat Missions with Commercial Operating
Systems
4.5 Processor Selection
40
uses a processor with MMU is much more reliable because the erroneous operation of one application is not able to hang the whole system.
There were few processors which could fulfill the Aalto-1 OBC requirements.
The processor must have:
• an ARM architecture
• a MMU
• I2 C,SPI,UART, interfaces
• non-BGA package
• industrial temperature range −40 ◦C to 85 ◦C
In ARM architecture series, only the following series were available to have a
MMU and not having a BGA package:
ARM720T, ARM920T, ARM922T, ARM926EJ-S.
The newer ARM families were all in BGA. ARM9 family is preferred because of
higher performance and more features than ARM7 family. A list of candidates
processors are presented in Table 4.2.
Processor
Vendor
Seri
Frequency Package
(MHz)
AT91RM9200
ATMEL
ARM920T
180
208PQFP*
SAM9260
ATMEL
ARM926EJ-S
180/210
208PQFP
SAM9XE
ATMEL
ARM926EJ-S
180
208PQFP
AM1705
TI
ARM926EJ-S
375/456
176HLQFP
MCIMX233
Freescale
ARM926EJ-S
454
128LQFP
CNS2131
Cavium
ARM922
200/250
128PQFP
EP9302
Cirrus
ARM920T
200
208PQFP
128/256/512
CAG4C
Logic
Table 4.2: Aalto-1 OBC Processor Candidates
* Plastic Quad Flat Pack (PQFP)
4.6 System Configuration
41
Among the above processor, those from ATMEL had better documentations and
support, bigger community, and more development kits available. AT91RM9200
was the most mature product of ATMEL ARM9 series and, consequently, all
aspect of it has already been studied and revealed by the community. So, after a long selection process AT91RM9200 has been chosen (Modrzewski, 2011).
Although, ARM processors from ATMEL have been used in several CubeSat
projects (DTU, 2003), (Aalborg, 2008), (Kanpur, 2008), (STUDSAT, 2010), the
AT91RM9200 processor has never been used before, and it requires to be tested
and qualified before it gets into the flight model.
A great advantage of AT91RM9200 was having some fairly cheap development
kits like BF220 (BoFF, 2009) and Centipad (Hasenstab, 2012), providing the
most interfaces and hardware needed in OBC but in a different form factor.
Computer BF220 has been designed for use in industrial automation. This
computer comes with a Linux OS adapted for its hardware which made the developing applications and porting the kernel to Aalto-1 OBC easier. Based on
BF220 computer, the OBC has been designed. Since this board is a proven operational product, it provides some initial values and solutions for the selection
of other components of OBC. Centipad was another development board which
was concerned in the later stages of the design both in hardware and software
development due to its more advanced features. Other development kits for
AT91RM9200 processor were: RM9200-EK (ATMEL, 2010), RM9200-DK (ATMEL, 2005), Open ARM9 SBC (Ribeiro, 2005), HiCO.ARM9-Core (emtrion,
2012), Linuxstamp (OpenCircuits, 2011).
4.6
4.6.1
System Configuration
OBC Architecture
The Aalto-1 OBC is based on AT91RM9200 processor, utilizing 32MB of external RAMs. The OBC is equipped with an 8MB DataFlash and a microSD
memory for data storage. The processor can use either of these memories for
booting up, enabling the use of a fail-safe mode. This lowers the chances of
faults during boot-up and enables the possibility of uploading new software after launch of satellite. The OBC system block diagram with all interfaces and
4.6 System Configuration
42
subsystems/components is shown in Figure 4.3.
4.6.2
Redundancy Strategy
Considering the requirements discussed in the section 4.2, a long lifespan is more
probable to be achieved with redundant design. Therefore a redundant OBC
is required. The redundancy between circuits can provide a potential means
of recovery from a failure. Cold-redundant design consumes less power than a
hot-redundant design. Aalto-1 OBC is designed to be fully “Cold Redundant”,
meaning that, the OBC will have two duplicate computers that only one of
them is powered and active. The other computer is switched off, and the power
switching between two systems is decided by a third party (an arbiter) automatically. A hard coded signal is produced by active processor and the arbiter
observes the hard coded signal. In case there is failure in signal for a certain
time, the arbiter reset the active computer. After few iteration, if there is still
a failure, the arbiter cuts the power from the current computer and activate the
other computer. Switching also could be controlled by the ground station. Both
units will be physically placed on a single Printed Circuit Board (PCB). Each
unit will be equipped with a dedicated processor, RAM, and flash memories,
etc. Figure 4.4.
4.6.3
Software Configuration
The software is designed to boot-up and afterwards serve the command and data
handling task. The Aalto-1 OBC is responsible for managing all of the satellite
subsystems including EPS, payloads, ADCS, and the radios. The AT91RM9200
has a throughput of 200 MIPS at 180 MHz clock frequency. The application
programs run in 32MB SDRAM. For data storage there are two non-volatile
memories: 8MB DataFlash and up to 32GB microSD memory. The Atmel
Dataflash device is a specific technology name dedicated to external NOR flash
devices included with the AT91 family of hardware (ATMEL, 2002). These
memories are also used for storing satellite bootloader in order to increase the
reliability of booting procedure. The number of external non-volatile memory
devices available on OBC allows for up to two primary methodologies for storing
4.6 System Configuration
Figure 4.3: Aalto-1 OBC Block Diagram
Figure 4.4: Aalto-1 Redundant OBC Block Diagram
43
4.7 Component screening and selection
44
and booting Linux, as well as storing other desired data. The processor can use
either of these memories for booting up, enabling the use of a fail safe mode.
This lowers the chances of faults during boot-up.
In Aalto-1 OBC, every external memory device has different capacities and
interfaces: 8MB Dataflash with a serial peripheral interface (SPI), up to 32GB
microSD (non-SDHC required to utilize as a boot device), and 32MB volatile
SDRAM with a standard parallel interface. Typically, one of these non-volatile
external memory devices is utilized as the primary boot device, which allows for
two boot device options. This boot device contains primary dependencies for
Linux, as well as other startup dependencies. The other non-volatile memory
devices can be used for secondary data storage.
The primary components that make up Linux are commonly known as a system
images, which are compressed files containing specific elements of the Linux OS.
These main images include the kernel and the root file system. The kernel, which
is the core of the OS, is a separate program that executes in volatile memory,
and it is responsible for hardware control, system scheduling, and system I/O
after full system startup. The root file system is the primary directory and file
tree hierarchy that contains all the dependencies the system needs to properly
run such as other programs, libraries, and modules. In addition to these critical
elements, bootloader program is so vital which exists as a multi-stage program.
More specifically, two of these stages are the AT91 boot program and U-Boot.
These stages are all primary components necessary for startup and full system
boot up.
4.7
Component screening and selection
The command and data handling bus requires one I2 C bus to interface with
ADCS, EPS, EPB, SPE, and COM. Three Serial Peripheral Interface (SPI) interfaces are needed, one for DataFlash, another for image capture from SPE
and the last one for communication with S-BAND part of COM.
Screening means choosing the best component from a batch of similar components. There is many ways to do this; one way is temperature cycling which
could be done for example for processors.
The components are chosen with industrial specifications, small packages, and
low power consumption enabling the OBC to operate in an extended tempera-
4.7 Component screening and selection
45
ture range using minimal resources. In selecting the components, the following
consideration has been taken into account (Näsilä et al., 2011b):
• Materials need to withstand high and low temperatures (worst case−65 ◦C
to 90 ◦C)
• No hazardous materials shall be used.
• Materials shall satisfy the following low out-gassing criterion to prevent
contamination of other spacecraft during integration, testing, and launch.
– Total Mass Loss (TML) shall be < 1.0%
– Collected Volatile Condensable Material (CVCM) shall be < 0.1%
• For electronics:
– Prefer ceramic/metal casings (not plastic)
– Restriction of Hazardous Substances (RoHS) Compliance components need to be pretinned/solder dipped so try to avoid them.
4.7.1
Volatile Memory
The Aalto-1 OBC needs at least 32 Mbytes of RAM to be able to temporary
keep and process images from SPE, measurements, and payload data simultaneously. Because of the fact that is has been decided to run an operating
system, an increased amount of RAM is necessary. Taking into consideration
also the amount of data that has to be processed, fast Synchronous Dynamic
Random-Access Memory (SDRAM) seems to be indispensable. This type of
memory is supported by the AT91RM9200 processor through External Bus Interface (EBI). The AT91RM9200 SDRAM controller has self-refresh mode and
energy-saving capabilities by supporting low-power mode. It also supports error
detection by refresh error interrupt (ATMEL, 2009b).
The IS42S16160D is 268,435,456 bits synchronous high speed Dynamic RAM
organized as 4 x 4,196,304 words by 16bits, fabricated with ISSI high performance CMOS technology. Synchronous design allows precise cycle control with
the use of system clock I/O transactions is possible on every clock cycle. Range
4.7 Component screening and selection
46
of operating frequencies, programmable burst length and programmable latencies allow the same device to be useful for a variety of high bandwidth, high
performance memory system applications. It supports industrial temperature
from −40 ◦C to 85 ◦C (ISSI, 2011).
4.7.2
Non-Volatile Memories
Non-volatile high-capacitive memory storage is needed to keep the telemetry and
payload data until sending it to the ground station. High-capacitive microSD
Flash memory is usually utilized for this purpose. DataFlash could also be
used for data storage. Flash memory is a non-volatile memory unit, in other
words it retains its value even when not powered. It has very fast access speeds,
but writing to flash memory is considerably slower than reading from it. Flash
memory is also very resistant to radiation effects when being accessed, but it is
susceptible to SEEs, such as SEU and SEL, when being programmed. Taking
the above into consideration, flash memory is a very good storage candidate for
OBC software. The OBC software is updated very seldom when the satellite is
in orbit, therefore negating its weakness of slow programming time and SEEs.
When continuously accessed during program execution it is very resistant to
SEEs.
DataFlash
A serial data flash is chosen as the primary bootloader memory. The AT45DB642D
is a 2.7-3.6 volt only, serial interface Flash memory ideally suited for a wide variety of digital voice, image, program code and data-storage applications. It
supports RapidS serial interface which is SPI compatible for frequencies up
to 66 MHz. Its 69,206,016bits of memory are organized as 8,192 pages of
1,024 bytes each. In addition to the main memory, the AT45DB642D also contains one Static Random-Access Memory (SRAM) data buffer of 1,024 bytes.
The buffer allows receiving of data while a page in the main memory is being reprogrammed. Electrically Erasable Programmable Read-Only Memory
(EEPROM) emulation (bit or byte alterability) is easily handled with a selfcontained three step Read-Modify-Write operation. Unlike conventional Flash
4.7 Component screening and selection
47
memories that are accessed randomly with multiple address lines and a parallel interface, the DataFlash uses an SPI serial interface to sequentially access
its data. SPI mode 0 and mode 3 are supported. Also this chip has a wide
temperature under bias from −55 ◦C to 125 ◦C (ATMEL, 2009a).
MicroSD
The memory subsystem further includes up to 32 GB microSD storage card.
The microSD memory is a non-volatile memory based on NAND flash technology and has exceptionally high capacity. The processor uses the MultiMedia
Card Interface (MCI) interface to communicate with the microSD card. The
microSD offers another form of long-term storage that could be used to log various telemetry data to be requested by the ground station at a later time. This
memory is necessary if main computer is supposed to store bigger amount of
data. Main processing unit supports almost all microSD memory types available
in the market.
4.7.3
LVDS
Low-Voltage Differential Signaling (LVDS) is a high-speed digital interface that
has become the solution for many applications that demand low power consumption and high noise immunity for high data rates. The use of LVDS on
board of satellites has become more and more popular. For example SpaceWire
links are based on LVDS but it is also used for the distribution of many other
signal types within a PCB, units and between boxes (National-Instruments,
2012).
The LVDS standard defines the electrical characteristics of the transmitter and
receiver of an LVDS interface. LVDS uses differential signals with low voltage
swings to transmit data at high rates. Differential signals contrast to traditional
single-ended signals in that two complementary lines are used to transmit a signal instead of one line. That is, two signals are generated of opposite polarity,
and then the data transmission references the two signals to one another. This
transmission scheme provides the kind of large common-mode rejection and
noise immunity to a data transmission system that a single-ended system referenced only to ground cannot provide. The ability to reject common-mode noise
4.7 Component screening and selection
48
in this manner makes LVDS less sensitive to environmental noise and reduces
the risk of noise related problems, such as crosstalk from neighboring lines. It
also results in a reduced amount of noise emission. Another major benefit of
LVDS is the low power consumption of LVDS devices (National-Instruments,
2012).
In order to take the advantages of LVDS interfacing, the high data rate transmission on-board are done through LVDS transceivers.
4.7.4
I/O Capability
The idea of having a generic bus capable of supporting a wide variety of payloads makes the system simpler to implement. This idea needs all the payloads
to be custom-made providing similar interfaces. But having only a generic bus
could not interface all the subsystems to OBC in Aalto-1, since, the payloads
are provided from different institutions. Each payload has its own specific interface requirements, so OBC has to be adapted to the interfaces required by
the payloads providers.
I2 C
The Inter-Integrated Circuit (I2 C) is an effective method of communication
based on bus architecture. It has become a recognized standard throughout
industry and is used by all major IC manufacturers. In I2 C there is a master, and
there could be many slave modules. The master can access any of slaves by using
their unique address for data transmission. If needed, it is also possible to have
multiple bus masters by using arbitration, clock synchronization and stretching.
The multi-master bus must include collision detection and arbitration to prevent
data corruption if two or more masters simultaneously initiate data transfer. If
a bus master fails, the clock line will stall propagating through the bus to all
subsystems. In order to solve this problem Dallas 1-wire interface could be used
to reset all nodes or change bus master (Semiconductors, 2000).
In Aalto-1 OBC, a standard I2 C bus communication protocol is implemented
physically. Two wires, called Serial Clock (SCL) and Serial Data (SDA) are
required according to the I2 C protocol. SCL is used to synchronize all data
transfers over the I2 C bus. Both of the lines are connected to all devices on
4.7 Component screening and selection
49
the I2 C bus. Besides, one set of pull-up resistors is needed on the two lines,
SCL & SDA, in order to make sure that they are capable of driving high. The
pull-up resistors and their connections are shown in Figure 4.5. Only one set
of pull up resistors is required for the whole I2 C bus. It is recommended on the
board of OBC with value of 1.8k - 4.7k experimentally (depending upon the
number of components connected to the line) (Semiconductors, 2000). It has
been decided that OBC, alone, will have the right to be a master on I2 C bus.
This is, primarily, because it will reduce the complications of communication
initiation and data transfer processes. This will also eliminate any of possible
issues regarding bus arbitration. The OBC will poll all the nodes sequentially
and systematically in a pre-defined sequence.
Figure 4.5: Physical Layer of I2 C Bus
UART
The Universal Asynchronous Receiver/Transmitter (UART) is a simple pointto-point communication interface. Data is serially transmitted on one channel
and received on another. Transmission is asynchronous in the sense that it can
start at any time, but both transmitter and receiver should be set up with the
same speed for operation.
In Aalto-1 OBC, the UART interface is used for different purposes. There are at
least four UART controllers in AT91RM9200. One UART has been dedicated
to the GPS module. Another UART is assigned to RADMON through LVDS
transceiver. One UART is the processor’s default unit for debugging the Linux
kernel using a RS-232 transceiver.
4.7 Component screening and selection
50
SPI
The serial peripheral interface (SPI) is a high-speed synchronous serial input/
output (I/O) port that allows a serial bit stream of programmed length (one
to sixteen bits) to be shifted into and out of the device at a programmed bittransfer rate (Texas, 2009). The SPI system consists of two data lines and two
control lines (ATMEL, 2009b):
• Master Out Slave In (MOSI): This data line supplies the output data from
the master shifted into the input(s) of the slave(s).
• Master In Slave Out (MISO): This data line supplies the output data from
a slave to the input of the master. There may be no more than one slave
transmitting data during any particular transfer.
• Serial Clock (SPCK): This control line is driven by the master and regulates the flow of the data bits. The master may transmit data at a variety
of baud rates; the SPCK line cycles once for each bit that is transmitted.
• Slave Select (NSS): This control line allows slaves to be turned on and off
by hardware.
There is one SPI interface in the AT91RM920 having four chip-selects. It means
that it supports at least four modules. In Aalto-1 OBC, one SPI channel is used
to communicate with DataFlash. When OBC receives an image file which is
taken by a camera onboard SPE for telemetry, transmitting this large file over
the communal shared bus (I2 C in the case of most CubeSats) would unnecessarily occupy the bus for a long period of time and possibly prevent important
communication to take place between the other satellite subsystems. To prevent
this, another SPI is used for point-to-point access to SPE through LVDS where
large amounts of data transfer needs to take place. The third SPI is dedicated
to S-BAND module which is used for sending the satellite’s scientific data in
high data rate when it has a pass over Aalto University. This module is also
using LVDS transceiver between the OBC and itself. SPI has rather higher data
rate transmission compare to UART and I2 C interfaces, and the data rate is
limited by the slave module.
4.8 Power Management
4.8
51
Power Management
AT91RM9200 has a Power Management Controller (PMC) that optimizes power
consumption of the whole system and supports the Normal, Idle, Slow Clock and
Standby operating modes. In power-save modes, PMC programmably reduces
operating frequency while sustaining the normal operation. It keeps system
power consumption to a minimum by selectively enabling/disabling the colck
of processor and various peripherals under software control. The AT91RM9200
requires two voltage level for operation (ATMEL, 2009b):
• 3.3V for interface and peripheral I/O lines (VDDIOM, VDDIOP)
• 1.8V for core, PLL, and oscillators (VDDCORE, VDDPLL, VDDOSC)
The 3.3V is provided directly from EPS, and the 1.8V is regulated by a switching step-down regulator. The switching regulators have higher efficiency (up
to 96%) than linear regulators (<40%). The selected regulator was LTC34061.8 from LINEAR TECHNOLOGY. Its switching frequency is internally set at
1.5MHz, allowing the use of small surface mount inductors and capacitors. It
can have 2.5V to 5.5V input voltage range and provides 600 mA (Linear, 2002)
which is sufficient for operation of AT91RM9200.
The AT91RM9200 consumes about 500 µA of static current on VDDCORE at
25 ◦C. For dynamic power consumption, the AT91RM9200 consumes a maximum of 25 mA on VDDCORE at maximum speed in typical conditions (1.8V,
25 ◦C), processor running full-performance algorithm (ATMEL, 2009b).
4.9
Supervisory Circuit
In order to monitor the power-fail of supply voltages required by OBC, a supervisory circuit is needed. In OBC it is not only important to supervise the supply
voltage, it is also important to ensure correct program execution. The task of a
watchdog is to ensure that the program is not stalled in an indefinite loop. For
these purposes TPS3306-18 was selected. This chip monitors two independent
supply voltages of 3.3V and 1.8V. In addition, this device integrates a watchdog
4.10 Layout Design
52
timer that is periodically triggered by a positive or negative transition of watchdog input. When the processor fails to retrigger the watchdog circuit within
the time-out interval, a reset becomes active for a time period (Texas, 2006).
By resetting the processor, it is reinitialized and if the power-fail was transient
the OBC will boot successfully.
4.10
Layout Design
The schematic and layout design of the electrical model of OBC were done in
EAGLE software package. This model is only for single computer. The main
idea was to see the feasibility of placing one computer with all required components in half of a CubeSat board area. The PCB was decided to have only
two layers stackup, to reduce the manufacturing cost and also provide access to
all signals on-board. By accessing all the signals, the study of high frequency
signals characteristics along the traces by oscilloscope becomes possible, and
the debugging of soldering becomes simpler. In engineering model of OBC, the
PCB will be multilayer (4 to 8 layers). The two layers stackup limits the density of the components placements thus some of components were placed on the
bottom side of the board. Having a double sided board also provided shorter
traces between the processor and SDRAM which contained high frequency signals. Since this OBC was occupying half of available board area, the feasibility
of having a redundant computer in addition to the primary computer was approved, see Figure 4.6.
4.11
Booting
The Aalto-1 on-board computer runs GNU/Linux, a Unix-like operating system,
using a monolithic architecture for its kernel (Linux). The on-board computer
has been adapted and customized to operate under GNU/Linux, with an emphasis on its devices drivers, together with the modifications required to adapt
it to an embedded environment to be used in a Nano-satellite.
One of the most vital functions of the OBC is the Boot-up sequence. The
4.11 Booting
53
(a) PCB Layout
(b) Board
Figure 4.6: Electrical Model of Aalto-1 OBC
purpose of the Boot-up sequence is to configure the processor and activate the
Command and Data Handling (CDH). The boot sequence is to be carried out
autonomously, because during boot-up there would be no intelligent control and
no communication between the Earth and the satellite. If the boot sequence
failed and the OBC is not prepared to deal with the fault by itself, the satellite
would be lost.
Bootloaders are typically required with hardware that uses an operating system. They will execute as the hardware is initially powered and usually reside
on a processor-internal ROM or similar device. Their primary responsibility
is to perform low-level hardware initialization for devices such as memory or
oscillators, which are necessary prior to loading an actual OS. In the case of
the AT91RM9200, it contains an internal boot program on its 128KB ROM,
that is capable of downloading and running an application from external storage media into internal SRAM. It integrates a Bootloader and a boot Uploader
to assure correct information download. This internal boot program only acts
as a first-stage program, which results in a very limited hardware configuration
when done executing. This internal boot program can support multiple primary
boot devices dynamically, and it will attempt to search and detect a suitable
second-stage boot program that can be loaded from other external memory
devices. After the first-stage completes scanning, if a valid second-stage boot
program has not been detected or perhaps no external memory devices exist,
an in-system programming utility also contained within the internal ROM is
loaded. It initializes the Debug Unit serial port (DBGU). It then waits for any
4.11 Booting
54
transaction and downloads a piece of code into the internal SRAM via a Device Firmware Upgrade (DFU) protocol for XMODEM protocol for the DBGU.
This allows the system to be reprogrammed or perhaps troubleshooted in the
event that the user may not want to fully boot the system. A flow diagram depicting the overall behavior of the first-stage internal boot program is show in
Figure 4.7. When the first-stage completes execution, control is handed to the
Figure 4.7: Internal First-Stage Bootloader Flow Diagram
second-stage boot program, which is ultimately responsible for loading the OS.
The second-stage boot program is Das U-Boot (Universal Bootloader) (Denk,
2011) an open source bootloader used in embedded devices. It looks for a kernel image and root file system image in the DataFlash connected to the SPI
or microSD memory connected to the external bus interface. Then Linux OS
is loaded and OBC continues with full system setup for CDH. Aside from the
first and second stages, other stages are loaded into external SDRAM before
executing.
OBC is designed so that after launch of satellite, new software could be up-
4.12 OBC Testing
55
loaded to DataFlash or microSD memory and after a reset the OBC would run
with the new software. This would be desirable if the software onboard did not
work properly. Another reason could be e.g. trying to optimize the performance
of satellite.
4.12
OBC Testing
The main purpose of testing performed for the Aalto-1 OBC was the verification of well-functioning of hardware components, together with their resistance
under critical conditions in a thermal cycling process.
4.12.1
Test Software
The testing procedure has been designed to subject the on-board computer
to a high load of activity, involving all the main hardware components. The
stressing activity that the testing software generates, targets the following main
components:
• On-board computer processor
• RAM Memory
• Mass storage device (MMC)
• System BUS
The software utilized is named “stress” (version 1.0.4) (Oklahoma, 2009). This
software provides the capability to stress different hardware resources through
POSIX compliant system calls. The Stress internal organization is in essence
a loop that forks worker processes and then waits for them to either complete
normally or exit with an error. The following list enumerates the system calls
utilized in the testing:
• void *malloc(size_t size); (OpenGroup, 2004c)
• void free(void *ptr); (OpenGroup, 2004b)
4.12 OBC Testing
56
• int mkstemp(char *template); (OpenGroup, 2004d)
• ssize_t write(int fildes, const void *buf, size_t nbyte); (OpenGroup, 2004e)
• pid_t fork(void); (OpenGroup, 2004a)
The logic that follows the testing procedure is based on the execution of the
test cases in a defined amount of time N. The software proceeds to the execution of CPU using through the creation of multiple process child, continuing
with memory allocation in blocks of 2 megabytes (MB), and finalizing with the
writing of multiple small files of 5 kilobytes of size(kB). The results of the test
cases are saved in the mass-storage device for previous analysis and processing.
All of the mentioned process is handled through a shell-script that is placed
in the root file-system of the Aalto-1 on board computer. This shell-script requires the user interaction, in order to be executed / paused. This procedure
guarantees us that the on-board computer is stressed during the amount of time
configured, making use of all of its main hardware components.
4.12.2
Test Procedures
Temperature cycling was performed in climate test station at Finnish Meteorological Institute (FMI)’s space instrument calibration laboratory. The cycling
consisted of 50 cycles from −65 ◦C to 90 ◦C. The dwell time in both extreme
temperatures was 1 hour. 3 boards were powered and running the test program
during the cycling and 2 boards were not powered.
Test Equipment
• Weiss DU 40/70 Temperature test station
• Vaisala HMT337 Humidity and Temperature Transmitter (The transmitter provides more accurate measurement for temperature of inside chamber)
Test Flow
1. Functional test at laboratory, log “before” OBC test data for 24 hours.
4.12 OBC Testing
57
2. Temperature cycling, log “while” OBC test data for 50 cycles.
3. Functional test at laboratory, log “after” OBC test data for 24 hours.
4. Compare the amount of Errors from “before”, “while”& “after” test data
5. Determine results.
Temperature Cycling
The DU40-70 station was programmed to do the following tasks:
It raises the temperature to 90 ◦C, and stays on the program line until the chamber reaches the set point temperature. It stays for 1 hour at 90 ◦C then lowers
the temperature to −65 ◦C. It stays on the program line until the chamber
reaches the set point and stays for 1 hour at −65 ◦C. It does the above loop for
50 cycles and ends the program by returning the chamber temperature to about
20 ◦C. The profiles for two thermal cycles of DU40-70 station and HMT337 temperature transmitter are shown in Figures 4.8 and 4.9, respectively.
4.12.3
Test Results
All the boards had 100% success in “before” log means that all of them were
functioning and healthy before test. In “while” log, all the three powered boards
experienced at least one reset. The plastic cover of one microSD memory was
Figure 4.8: Weiss Thermal Cycling Profile
4.12 OBC Testing
58
Figure 4.9: HMT337 Temperature Transmitter Thermal Cycling Profile
deformed but it was still working fine. Writing data to one of microSD memories
was not possible, even after cycling, which could explain the reason for resetting
of boards. In “after” log again all the boards had 100% success which means
that no component except the microSD memory was affected by thermal cycling
and the reason for resetting of all the boards were the microSD memory. This
will be verified in the engineering model by using a NAND flash memory on
board.
Chapter 5
Summary and Conclusions
In this thesis an electrical model of OBC for Aalto-1 CubeSat was designed
and implemented.
The system requirements and constraints were defined,
and accordingly, the suitable components were selected. The ARM processor, AT91RM9200, provides all the functionality and requirements for Aalto-1
OBC. To achieve a higher reliability, the feasibility of having a redundant computer hardware on a single CubeSat board was investigated and confirmed. To
add fail safe mode for boot-up two independent flash memories were used for
bootloader storage. A supervisory circuit was also used to monitor the power
supplies; in addition it acts as watchdog to ensure that the OBSW is not stalled
in an indefinite loop. It was shown that using Linux as an OS for OBSW is
beneficial for CubeSat projects. The OBC boots-up in less than 20 seconds and
runs smoothly the Linux OS adapted to its hardware. This design based on the
ARM architecture running a Linux OS fulfills the very low power consumption;
the overall power consumption of OBC in idle mode is about 200 mW, and under stress, it consumes about 400 mW. The functionality of all subsystems and
interfaces of OBC was tested and a thermal cycling was performed to validate
the survivability of the design in extreme temperatures.
5.1 Future Work
5.1
60
Future Work
There are some considerations and developments which will be included in the
engineering model of OBC. It will mostly focus on qualification of the processor
and other components:
• For processors screening a socket will be added to the board since the
soldering and unsoldering of processor due to high pin count is so difficult.
The dimensions of the board will be bigger because of the bulky socket.
• An EEPROM will be added to contains the bootloader configuration data.
• Since the microSD memories have not withstood the extreme thermal
cycling test, a NAND memory will be added in to increase the reliability.
• An external real-time clock IC and a battery will be added to provide the
operating system with the real time at startup. This will also provide a
wake up system for an sleeping OBC via the INT line of RTC IC.
The design of OBC for Aalto-1 CubeSat will be continued, and its capabilities
and reliability will be further improved.
References
Aalborg, U. (2008). AAUSAT-II.
URL: http: // www. space. aau. dk/ aausatii/ homepage/ index. php?
language= en&page= obc/ obc
ATMEL (2002). Using Atmel’s DataFlash.
URL: http: // www. atmel. com/ Images/ doc0842. pdf
ATMEL (2005). RM9200-DK.
URL:
http: // armlinux. simtec. co. uk/ kautobuild/ 2. 6.
24-git13/ at91rm9200dk_ defconfig. html
ATMEL (2009a). AT45DB642D Complete.
URL: http: // www. atmel. com/ Images/ doc3542. pdf
ATMEL (2009b). AT91RM9200.
URL: http: // www. atmel. com/ Images/ doc1768. pdf
ATMEL (2010). RM9200-EK.
URL:
http: // www. at91. com/ component/ resource/ article/
products/ 9-sam9/ 581-rm9200-ek. html
Barnhart, D.J. (2008). Very Small Satellite Design for Space Sensor
Networks. Ph.D. thesis, Faculty of Engineering and Physical Sciences,
University of Surrey, United Kingdom.
Bleier, T., Clarke, P., Cutler, J., DeMartini, L., Dunson, C.,
Flagg, S., Lorenz, A., and Tapio, E. (2004). QuakeSat Lessons
Learned: Notes from the Development of a Triple CubeSat.
Blomberg, M., Kattelus, H., and Miranto, A. (2010). Electrically
tunable surface micromachined Fabry-Perot interferometer for visible light.
Sensors and Actuators A : Physical, 162:184–188.
REFERENCES
62
BoFF (2009). BF220.
URL: http: // www. boff. pl/
Botma, P.J. (2011). The Design and Development of an ADCS OBC for
a CubeSat. Master’s thesis, Faculty of Engineering, Stellenbosch University.
Bridges, C. (2012). CubeSat course presentation on On-Board Computing
Challenges on in LEO.
URL: http: // www. youtube. com/ watch? v= 6qlue8-O5i4
CalPoly (2009). CubeSatDesign Specification Rev. 12.
URL: www. cubesat. org/ images/ developers/ cds_ rev12. pdf
Denk, W. (2011). U-boot.
URL: http: // www. denx. de/ wiki/ U-Boot/ Documentation
DTU (2003). DTUsat-1.
URL: http: // dtusat1. dtusat. dtu. dk
Duma, M., Urhan, H., Turhan, O., Kozal, O., , and Gurun,
M. (2007). A new generation On-Board Computer and Solid State Data
Recorder suitable for SpaceWire Platforms. In The 3rd International Conference on Recent Advances in Space Technologies, pages 429–432.
Eickhoff, J., editor (2012). Onboard Computers, Onboard Software and
Satellite Operations: An Introduction. Springer Aerospace Technology.
eLinux (2011). Embedded Linux Wiki.
URL: http: // elinux. org/ Processors
emtrion (2012). HiCO.ARM9-Core.
URL: http: // www. emtrion. de/ hicoarm9_ core_ en. php
Engelen, S. (2012). CubeSat course presentation on Spacecraft Mechatronics.
URL: http: // www. youtube. com/ watch? v= mKZ4TFmXf3M
ESA (2012). ESA declares end of mission for Envisat.
URL:
html
http: // www. esa. int/ SPECIALS/ Envisat/ SEM1SXSWT1H_ 0.
REFERENCES
63
Fitzsimmons, S. (2012). Reliable Software Updates for On-orbit CubeSat
Satellites. Master’s thesis, California Polytechnic State University, San
Luis Obispo.
Flagg, S., Bleier, T., Dunson, C., Doering, J., DeMartini, L.,
Clarke, P., Franklin, L., Seelbach, D.J., Flagg, J., Klenk, M.,
and Safradin, V. (2004). Using Nanosats as a Proof of Concept for
Space Science Missions: QuakeSat as an Operational Example. In 18th
AIAA/USU Conference on Small Satellites. SCC04-XI-4. August 2004.
Gilmore, D.G. (2002). Spacecraft Thermal Control Handbook - Volume
I: Fundamental Technologies.
Hasenstab, M. (2012). Centipad.
URL: http: // www. harerod. de/ centipad/ index_ english. html
ISSI (2011). IS42S16160D.
URL: www. issi. com/ pdf/ 42-45S83200D-16160D. pdf
Janhunen, P. (2010). Electrostatic Plasma Brake for Deorbiting a Satellite. Propulsion and Power 2010, 26:370–372.
Kanpur, I. (2008). Jugnu.
URL: http: // www. iitk. ac. in/ me/ jugnu/ index. htm
Kief, C.J., Christensen, J., Hansen, B., and Mee, J. (2010). CubeFlow: Training for a New Space Community. In AIAA/Infotech@Aerospace
Conference.
LaBel, K.A., Gates, M.M., and Moran, A.K. (2011). Commercial
Microelectronics Technologies for Applications in the Satellite Radiation
Environment.
URL:
http: // radhome. gsfc. nasa. gov/ radhome/ papers/ aspen.
htm
Linear, T. (2002). LTC3406-1.8.
URL: http: // cds. linear. com/ docs/ Datasheet/ 3406fa. pdf
Manchester, Z. (2011). KickSat.
URL:
http: // www. kickstarter. com/ projects/ 251588730/
kicksat-your-personal-spacecraft-in-space
REFERENCES
64
Modrzewski, R. (2011). A1-OBH-DD-01-v2 Preliminary Design of On
Board Computer Hardware.
Moore, R.C. and Pisacane, V.L., editors (1994). Fundamentals of
Space Systems. Oxford University.
Näsilä, A., Hakkarainen, A., Praks, J., Kestilä, A., Nordling,
K., Modrzewski, R., Saari, H., Antila, J., Mannila, R., Janhunen, P., Vainio, R., and Hallikainen, M., editors (2011a). Aalto-1
- A Hyperspectral Earth Observing Nanosatellite.
Näsilä, A., Kestilä, A., Hakkarainen, A., , and Komu, M.
(2011b). A1-SYS-EID-01-v4 Experiment Interface Document.
National-Instruments (2012). Understanding LVDS for Digital Test
Systems.
URL: http: // www. ni. com/ white-paper/ 4441/ en
Nikkanen, T. (2010). Nanosatelliitin Energiajärjestelmä. Master’s thesis,
School of Science and Technology, Aalto University.
Oklahoma, U. (2009). Stress.
URL: http: // weather. ou. edu/ ~apw/ projects/ stress/
OpenCircuits (2011). Linuxstamp.
URL: http: // www. thelinuxstamp. com/
OpenGroup (2004a). Fork.
URL:
http: // pubs. opengroup. org/ onlinepubs/ 009604599/
functions/ fork. html
OpenGroup (2004b). Free.
URL:
http: // pubs. opengroup. org/ onlinepubs/ 009695399/
functions/ free. html
OpenGroup (2004c). Malloc.
URL:
http: // pubs. opengroup. org/ onlinepubs/ 009695399/
functions/ malloc. html
OpenGroup (2004d). Mkstemp.
URL:
http: // pubs. opengroup. org/ onlinepubs/ 009695399/
functions/ mkstemp. html
REFERENCES
65
OpenGroup (2004e). Pwrite.
URL:
http: // pubs. opengroup. org/ onlinepubs/ 007904975/
functions/ write. html
Praks, J., Kestilä, A., Hallikainen, M., Saari, H., Antila, J.,
Janhunen, P., and Vainio, R. (2011).
Aalto-1 - An experimental
nanosatellite for hyperspectral remote sensing. In Geoscience and Remote
Sensing Symposium (IGARSS), 2011 IEEE International.
Ribeiro, F. (2005). Open ARM9 SBC.
URL: http: // www. lps. usp. br/ ~fr/ sbc/
Semiconductors, P. (2000). The I2C-bus specification.
URL: http: // www. cs. unc. edu/ Research/ stc/ FAQs/ Interfaces/
I2C-BusSpec-V2. 1. pdf
STUDSAT, T. (2010). STUDSAT.
URL: http: // www. teamstudsat. com/ index-2. html
Texas, I. (2006). TPS3306-18.
URL: http: // www. ti. com/ product/ tps3306-18
Texas, I. (2009). TMS320x281x Serial Peripheral Interface.
URL: http: // www. ti. com/ lit/ ug/ spru059e/ spru059e. pdf
Toorian, A., Coelho, R., Lee, S., and Coelho, R. (2004). DNEPR
Safety Compliance Requirements (DSCR)Version 1.0.
URL:
http: // edge. rit. edu/ content/ P07102/ public/ Testing%
20Requirements% 20from% 20Cubesat% 20Community
Tribble, A.C., editor (1995). The Space Environment: Implications for
Spacecraft Design. Princeton, NJ: Princeton UP.
Tyvak (2012). Tyvak.
URL: http: // www. tyvak. com/ products/ products. html
Wertz, J.R. and Larson, W.J., editors (1999). Space Mission Analysis
and Design. Space Technology Library, 3rd edition.
Wikipedia (2012). Radiation hardening. [Online; accessed 19-August2012].
URL: http: // en. wikipedia. org/ wiki/ Radiation_ hardening
REFERENCES
66
Xilinx (2008). Xilinx Single-Event Upset Mitigation Selection Guide.
URL:
http: // www. xilinx. com/ support/ documentation/
application_ notes/ xapp987. pdf
Yanes, A. (2011). A1-OBS-DD-01-v2 Preliminary Design of On-board
Computer Software.
Yashiro, H. and Fujiwara, T. (2002). A high assurance on-line recovery technology for a Space On-board Computer. In The 5th International
Symposium on Autonomous Decentralized Systems, pages 47–56.