You are on page 1of 10

This article has been accepted for publication in a future issue of this journal, but has not been

fully edited. Content may change prior to final publication. Citation information: DOI 10.1109/TETC.2018.2874643, IEEE
Transactions on Emerging Topics in Computing

IEEE TRANSACTIONS ON EMERGING TOPICS IN COMPUTING 1

CAN implementation and performance for


Raman Laser Spectrometer (RLS) Instrument
on Exomars 2020 Mission
L. Seoane, C. Díaz, J. Zafra, S. Ibarmia, C. Quintana, C. Pérez, A. Moral, A. Araujo

Abstract— The use of CAN bus in space applications has increased during the last fifteen years. The need of standardizing not
only the physical and link layers but also the higher layers protocol to meet spacecraft specific constraints or requirements, such
as bus redundancy management, node monitoring and synchronization, has aroused. Therefore, a Working Group on CAN bus
was stablished by ESA in collaboration with European Industry and Space Agencies, whose effort gave as result the publication
of ECSS-E-ST-50-15C in 2015. This standard defines CAN protocol extensions for space use and specifies the optional use of
the CANopen standard as higher layer to be used over CAN bus. The ExoMars Mission was chosen as spreadhead for the
application of this standard. The present paper provides an experience report on this novel standardized use of CAN/CANopen
in Space, in particular in the Raman Laser Spectrometer (RLS) that will be boarded into the Rover of ExoMars 2020. Even
though RLS makes use of considerably long science telemetries (up to around 2Mbytes) CAN has been designated as its only
data interface. We report on software, hardware and data transmission performances, as well as brief description on
redundancy and synchronisation of this CAN implementation.

Index Terms— CAN, CANopen, Command and control, Raman Laser Spectrometer (RLS), Exomars, Space technology
systems

——————————  ——————————

1 INTRODUCTION

T HE number of space applications using Controller


Area Network (CAN) bus [1] [2] has grown during the
last years with divergent nonstandard implementations.
This standard extends the original CAN network specifi-
cation to cover the aspects required to satisfy the particular
needs of spacecraft data handling systems, including the
This has happened because the original CAN Specification optional use of CANopen [5] as higher layer protocol.
from Bosh [1] only specifies the OSI (Open System Inter- CANopen is an open standard with highly flexible con-
connection) Data Link layer [3] and space applications also figuration capabilities developed for motion-oriented ap-
need to implement higher OSI level layers to manage re- plications. Currently it is used in several domains, such as
dundancy, data block transfer, synchronization, etc. to op- medical equipment, off-road vehicles, maritime or railway
erate CAN as a spacecraft data bus. applications. The core of this protocol is the “Object Dic-
The data bus is one of most critical parts of a control and tionary”, a sort of database where the communication
data handling system, since it serves as the interface be- characteristics and the data involved in this communica-
tween spacecraft controller and the individual peripherals tion are stored. It is also the interface between the device
and payloads. Reliability, robustness, low power con- application and the CAN bus.
sumption, low mass requirements, multi-master and Beyond the well-founded available testing tools, CAN-
broadcast capabilities, automatic retransmission of mes- open has been selected to be included in the CAN bus
sages or simple wiring (only two wires) are some of the standardization for space applications. It provides a set of
well-known features provided by CAN that makes this bus services that are in line with the needs required by this
especially suitable for space-based applications. Addition- kind of applications, such as device discovery service,
ally, it has been broadly used and validated in automation, packet service, memory access service, synchronization
and there are available abundant test and simulation tools. service and test service [6].
Both circumstances, the lack of a complete standard and One of the first missions implementing the ECSS-E-ST-
the good characteristics of CAN for space use, have caused 50-15C standard is ExoMars, and this is the first mission in
CAN bus had been used in numerous past applications using the optional CANopen higher layer over CAN bus
with bespoke higher communication protocols.Most of as specified in the standard. This CAN/CANopen protocol
times the applications were developed from scratch, what was selected to be used in the Entry Descending and Land-
makes difficult or impossible to re-use them across differ- ing Demonstrator Module (EDM), which was launched in
ent projects. the first part of the ExoMars Mission (2016), likewise in the
Thus, a standardization effort led by European Space Descending Module and the Rover Module, which belong
Agency in cooperation with European Industry and Na- to the second part of the mission to be launch in 2020.
tional Space Agencies was performed, and as result, the This paper presents the experience of using the Exo-
ECSS-E-ST-50-15C [4] standard was published in 2015.

xxxx-xxxx/0x/$xx.00 © 200x IEEE Published by the IEEE Computer Society

2168-6750 (c) 2018 IEEE. Personal use is permitted, but republication/redistribution requires IEEE permission. See http://www.ieee.org/publications_standards/publications/rights/index.html for more information.
This article has been accepted for publication in a future issue of this journal, but has not been fully edited. Content may change prior to final publication. Citation information: DOI 10.1109/TETC.2018.2874643, IEEE
Transactions on Emerging Topics in Computing

2 IEEE TRANSACTIONS ON EMERGING TOPICS IN COMPUTING

Mars CAN/CANopen protocol on RLS [7], one of the Pas- own data, without needing to be polled by the
teur Payload instruments onboard the Rover Module of CANopen master.
Exomars 2020 [8]. The Pasteur Payload instruments are There are two types of PDOs: transfer PDOs
dedicated to exobiology and geochemistry research. In or- (TPDOs) and receive PDOs (RPDOs). A TPDO is
der to help to accomplish this goal, RLS will collect the the data coming from the node (produced) and a
scattered light emitted by a Raman laser on a Martian sam- RPDO is the data coming to the node (consumed).
ple and analyze the spectral information received by the CANopen also allows Network Management services
spectrometer to determine the molecular structure and to control the communication state of individual nodes,
composition of a compound, and the final identification Emergency Notification, Time stamping services, synchro-
and characterization of the Martian molecules, minerals, nization services, and Error control.
and rocks.
RLS makes use of the ExoMars CAN/CANopen proto-
col as its only data inface to accomplish its scientific pur-
3 SCOPE
pose, including the transmission of large telemetries up to The nature of any space-based Mission require technol-
around 2Mbytes. ogies that provide high reliability, even more for those that
Considering that, the use of CANopen in European imply certain level of real time and/or autonomy, such as
space applications is increasing and ExoMars is the first ExoMars 2020, its Rover and instrumentation. The hostile
mission using it, this RLS experience report is expected to environment, in which everything must work, is normally
be useful for future CAN/CANopen implementations. translated into constrained behavior, bandwidth and per-
formance.
In the framework of the Exomars mission, RLS opera-
2 THE CANOPEN BASICS tion comprises from basic configuration tasks, to long last-
CANopen is a flexible standardized higher layer proto- ing scientific activities [9] [10]. The instrument will be ana-
col application for distributed automation systems based lyzing Mars samples until, at least, 218 sols after the de-
on CAN. scent to Mars. This implies a large set of various data to be
CANopen is built around the concept of an Object Dic- shared between the instrument, the Rover, and ground.
tionary (OD), the interface between the application soft- The telecommands to be executed by the instrument, the
ware and the CANopen protocol stack. The OD consists on Housekeeping and Scientific telemetry acquired by RLS
a lookup table where configuration data and every com- will be transferred though a CAN interface.
munication and application parameters are described.
Each entry may be read and written to by other CANopen
nodes.
4 IMPLEMENTATION OF CAN/CANOPEN IN RLS
Data transfer is done through two different methods: 4.1 Architecture
 The service data objects (SDO): The data interface architecture for the Rover Module
Each network node implements a server that was designed including two CAN buses, one for the Plat-
handles read/write requests to its object dictionary. form and other for the Payload. RLS is one of the eight
The CANopen master nodes act as clients to that nodes of the Payload Bus (PL Bus).
servers and always start the transfer. This method All the nodes of this PL Bus implement the same high-
is based on a master-driven polling, which adds level protocol on top of the CAN data link layer; this pro-
protocol overhead. tocol is CANopen. With the aim to make CANopen com-
When using SDOs, there are three possible com- ply with specific Mission requirements, a specific tailored
munication modes: CANopen was defined for the PL Bus by TAS-I (Thales
o “Expedite transfer” which consists of one Alenia Space). Among other things, the PL Bus was de-
SDO request and one SDO response. This fined as a redundant bus, with a main and a redundant
is only suitable for accesses to Object Dic- channel, working at 1Mbps.
tionary entries that are up to 4-bytes long.
o “Segmented transfer” which consists of an
SDO initiation request and response and
then one pair of request and response for
each 7-byte segment.
o “Block transfer” which is an optimized
transfer mode for Object Dictionary entries
that contain large amounts of data. In this
transfer mode, up to 889 bytes (segmented
into 127 messages with each 7 bytes) are Figure 1 - CAN Topology on Exomars
combined into one data block.
 The Process data objects (PDO): The redundancy architecture implemented is “selective
Process data represents data that can be chang- bus access”, consisting on a single CAN controller interfac-
ing in time and so, the overhead added by SDO may ing the CANBus network via two transceivers, each one for
be unacceptable. Within PDOs, each node sends its each bus channel, providing communication on only one

2168-6750 (c) 2018 IEEE. Personal use is permitted, but republication/redistribution requires IEEE permission. See http://www.ieee.org/publications_standards/publications/rights/index.html for more information.
This article has been accepted for publication in a future issue of this journal, but has not been fully edited. Content may change prior to final publication. Citation information: DOI 10.1109/TETC.2018.2874643, IEEE
Transactions on Emerging Topics in Computing

AUTHOR ET AL.: CAN IMPLEMENTATION AND PERFORMANCE FOR RAMAN LASER SPECTROMETER (RLS) INSTRUMENT ON EXOMARS 2020 MISSION
3

channel at a time. Among the PL Bus nodes, two act as terface in which an arbiter module manages the communi-
master in the communication. These are the main and re- cation between microcontroller and CCIPC. This interface
dundant Rover Onboard Computers (OBC-A and OBC-B), allows the software running on the microprocessor to ac-
but both nodes never are active at the same time. The rest cess to CCIPC from the I/O section of the microprocessor
of the nodes, including RLS, act as slaves. memory controller.
For PL Bus nodes, CAN/CANopen protocol is allowed CCIPC distinguishes three logical areas:
to be carried out completely by hardware or by a mix of 1. a configuration memory, implemented within the con-
hardware and software. In the first case, by means of the troller, that collects the CCIPC configuration and sta-
Sitael “CANopen Controller IP Core” (CCIPC) [11] [12]; in tus register,
the second case, using an ASIC which contains the Hurri- 2. “ROM memory” area dedicated to store the default
cane IP CAN Bus Controller Core to implement the Data values for CANopen PDOs Communication and Map-
Link Layer and including the CANopen functionality in ping parameters. This is used also for CANopen Ap-
the user processor software. plications Objects that have to be loaded after power-
The development of the CCIPC controller has been sup- on or when the CANopen Reset Node or Reset Com-
ported by ESA in the framework of the ExoMars program munication services are required
and the IP core is currently included in the ESA IP Cores 3. “RAM memory” area assigned to maintain PDO Map-
Library. This core is delivered with certain tools that allow ping Parameters and Application object data.
a flexible and configurable way to embed it into different In RLS, the “ROM memory” and “RAM memory” areas
FPGA vendors. are accommodated in FPGA on-chip RAM.
The RLS CANBus is based on the CCIPC controller, which
implements in Hardware all the ExoMars CANopen func-
tions. It is designed to act as Slave node in a CANopen net-
work, Server node for SDO Download and Upload ser-
vices, Producer and Consumer node for PDO and Heart-
beat services and Consumer of SYNC message. This con-
troller is embedded in a reprogrammable Flash Microsemi
ProAsic FPGA. For the physical layer, RS-485 transceivers
are used.
The controller is managed by SW running on a SPARC
V8 microprocessor, an integrated circuit (IC) outside the
FPGA. The communication between microprocessor and
FPGA is done through registers in the FPGA that are
mapped in the I/O memory area of the microprocessor. Figure 3 - CCIPC memory regions
Thus, the FPGA behavior is controlled by writing/reading
by SW the content of specific addresses that each FPGA CCIPC controller expects all processor read/writes to
register has assigned. be 32 bits wide, but RLS implements this data interface
with only 16 bits because no more pins were available in
the FPGA. Therefore, some glue logic has been added to
the FPGA implementing a 32/16bits databus adapter,
which convers two FPGA databus access into one CCIPC
data access. This also has some impact in the SW side and
timing performance, since each CCIPC access has to be
dealt as two FPGA accesses.
CCIPC offers three interrupt output lines called
TRX_IRQ, SYNCH_IRQ and ERR_IRQ, through which
some events are signaled. The TRX_IRQ indicates the re-
ception of Initiate SDO transfer message, successful elabo-
ration of an SDO transfer, successful elaboration of asyn-
chronous TPDO or RPDO and NMT state transition, the
SYNCH_IRQ is used to signal the successfully completion
of the Synch message reception and the ERR_IRQ line in-
forms that an EDAC error, CAN bus Error, SDO error,
Figure 2 - CCIPC architecture on RLS
PDO error or Bus switch error has been detected.
The CCIPC IRQ status register and the IRQ mask-clear
4.2 CCIPC: Can Controller IP Core register are available to manage these interrupts.
The following tables depict the interface between the
The IP Core GUI tool distributed with the CCIPC con-
OBSW and the CAN within the FPGA.
troller allows different configurations of the controller for
Control and status registers are used to manage the
several host interfaces. For RLS the Generic I/O (CCIPC
CCIPC interrupts to signal the availability or need for data
GENIO) has been chosen. This is a generic memory-like in-
transfers.

2168-6750 (c) 2018 IEEE. Personal use is permitted, but republication/redistribution requires IEEE permission. See http://www.ieee.org/publications_standards/publications/rights/index.html for more information.
This article has been accepted for publication in a future issue of this journal, but has not been fully edited. Content may change prior to final publication. Citation information: DOI 10.1109/TETC.2018.2874643, IEEE
Transactions on Emerging Topics in Computing

4 IEEE TRANSACTIONS ON EMERGING TOPICS IN COMPUTING

CCIPC also has an additional line to inform on recep- The rest of the telemetries are sent asynchronously.
tion of the Synch message, activating this line for a single Once the action triggered by the received telecommand
clock cycle. RLS design does not use this last additional finishes, the corresponding TM is sent reporting the result
line (although its value is available in a FPGA register) and of the execution and any other relevant information. How-
multiplexes the three CCIPC IRQ lines in only one line (im- ever, there are two exceptions:
plemented in the FPGA block called “Glue logic”). In this 1. Events TM (RLS_TM_EVENTS), used when an un-
way, only one IRQ regarding to the CAN interface is man- expected happening needs to be shared with the
aged by the microprocessor. Rover Platform or Ground for failure isolation and
For RLS, on the FPGA, the CCIPC controller, the data processing.
RAM/ROM memory and the Arbiter to handle the access 2. Six synchronous housekeeping TMs (4
to this memory (from CCIPC or SW) are implemented. As RLS_TM_TEMPERATURES and 2
well, some glue logic is added for the 32/16bits databus RLS_TM_POWER_OUTPUTS). They report on the
adapter and CCIPC IRQ lines multiplexing in just one, instrument health and thermal status.
which will be connected to the microprocessor where the Event telemetries can be sent at any time, since RLS
RLS SW is executed. sends them just at the moment the events happen, and syn-
The digital CAN protocol data used by the controller in- chronous housekeeping TMs are sent at 0,1Hz with current
terfaces the physical CAN bus through RS-485 transceivers. instrument voltages, currents and temperatures since the
One transceiver is used for the main bus and a different one payload is powered on.
for the redundant bus.

4.3 Telecommands (TCs) and Telemetries (TMs)


With the CANopen protocol, each TC/TM is managed
as a write/read operation into/from the payload object
dictionary. All needed parameters for TCs and TMs are
mapped into the RLS object dictionary.
As a brief overview, RLS TCs include information to:
 Change the operational mode to manage the
SW state machine,
 Control Instrument subunits and their status
(switch the laser on/off, move the stepper mo-
tor, activate/deactivate the thermal control)
 Run scientific operations (image acquisition, al-
gorithms execution)
 Configure parameters,
 Carry out predefined test,
 Abort an operation or accomplish a reset,
 Access to memory for patching/dumping.

Figure 5 - RLS Telemetry List

For each message to be sent or received by RLS, the most


appropriate CANopen service is chosen (PDO or SDO).

4.4 Process Data Objects (PDO)


PDOs are messages with a data field between one and
eight data bytes long. RLS implements PDOs mainly for
TC and housekeeping TM.
RLS, as Producer and Consumer node for PDO, man-
ages Transmit Process Data Objects (TPDOs) and Receive
Process Data Objects (RPDOs). From the point of view of a
slave node as RLS, a TPDO is a message sent to the net-
work, it means, a TM, and a RPDO is a message received
Figure 4 - RLS Telecommand list
from the network, that is, a TC.
Each RLS PDO must be defined in the RLS object dic-
All the TCs are acknowledged by RLS after a validity tionary and in the Rover OBC master dictionary. RLS
check against the current operational mode and the ex- RPDOs are linked to OBC TPDOs and RLS TPDOs to OBC
pected format and values. The acknowledgement is done RPDOs by means of the COB-ID parameter.
by RLS sending a RLS_TM_ACCEPTANCE telemetry.

2168-6750 (c) 2018 IEEE. Personal use is permitted, but republication/redistribution requires IEEE permission. See http://www.ieee.org/publications_standards/publications/rights/index.html for more information.
This article has been accepted for publication in a future issue of this journal, but has not been fully edited. Content may change prior to final publication. Citation information: DOI 10.1109/TETC.2018.2874643, IEEE
Transactions on Emerging Topics in Computing

AUTHOR ET AL.: CAN IMPLEMENTATION AND PERFORMANCE FOR RAMAN LASER SPECTROMETER (RLS) INSTRUMENT ON EXOMARS 2020 MISSION
5

PDO definition encompasses communication parame- not multi-block transmissions for telecommands.
ters and mapping parameters. The communication param-
eters include the COB-ID and the transmission type of the
CAN message. The mapping parameters assign which ob-
jects from the object dictionary will be transmitted or re-
ceived within each PDO and their location inside the CAN
message.
RLS, as a PDO producer, composes the data field of a
TPDO in accordance with its TPDO mapping. It takes the
current data of the variables to be transmitted from its ob-
ject dictionary and copies these into the data field of the
TPDO before the CAN message (PDO) is sent.
The triggering mechanish chosen by RLS for PDOs
transmissions, is asynchronous for all TPDOs, except six
TPDOs in which a synchronous transmit trigger is used in
order to send housekeeping TM periodically each 10s.
As a PDO Consumer, RLS based on RPDO COB-ID and
mapping record, copies the received data bytes into its ob-
ject dictionary entries. RLS SW, by means of polling or in-
terrupt handler, realizes a TC has come and processes it.
Based on the Transmission Type parameter, all RPDOs
are configured to be processed immediately upon recep-
tion.
The CCIPC foresees up to 4 TPDOs and 4 RPDOs for
each node occupied by the CCIPC. In this way the user is
able to define a number of TPDOs and RPDOs included in
the range [1:4*NodeID count]. Since RLS occupies eight
nodes, the instrument can define up to 32 TPDOs and 32
RPDOs, but only 21 TPDOs and 18 RPDOs are finally used. Figure 6 - SDO Block Download Protocol for ExoMars

4.5 Service Data Objects (SDO) Message contents of SDO Block Download is as in the
Figure 7.
SDOs are used for the SDO client node to access to the
SDO server’s object dictionary. Since the Rover OBC im-
plements the SDO client and RLS the SDO server, the
Rover OBC can read (“SDO Upload”) and write (“SDO
Download”) the RLS object dictionary entries. Figure 7 - SDO Block Download format
Within RLS, the selected SDO service type is SDO Block
Transfer, where up to 889 bytes (segmented into 127 mes- An SDO Block Upload is divided in the following four
sages with each 7 bytes) are combined into one data block. stages, as shown in Figure 9:
RLS defines an 888bytes long buffer for SDO Upload  Buffer Support Object (BSO) transmission, where
service and other different buffer with the same size for RLS sends a specific TPDO (defined at mission level
SDO Download service. During SDO Block transfers, one and required to be mapped as TPDO0) to request
of this buffer will be written or read. the client to start a SDO Block Upload.
RLS implements this service to transfer long messages  Initiate Block Upload, in which the client requests
mainly for science data and patching purposes. the server to use block transfer mode for an upload.
SDO data transfer is an acknowledged service that is in-  Upload Blocks, where the client receives data seg-
itiated by the SDO client. Every SDO CAN message has al- ments from the server and returns one response per
ways an eight bytes long data field, bits of the data field block.
that are not required are set to 0.  End of Download Block, what finishes the transfer.
SDO Block Download is divided into three communica-
tions stages, as depicted in Figure 6: SDO Block Upload messages comply with the format
 Initiate Block Download, where the client requests depicted in Figure 8.
from the server to use block transfer mode for a
download.
 Download Blocks, in which the client sends data
segments and expects one response per block.
Figure 8 - SDO Block Upload format
 End of Download Block, what finishes the transfer.
Where Block Type indicates the SDO Block transfer type
RLS during its operation utilizes only standalone block (Download or Upload), Instrument ID the RLS node iden-
messages during SDO Block Download; that is, there are

2168-6750 (c) 2018 IEEE. Personal use is permitted, but republication/redistribution requires IEEE permission. See http://www.ieee.org/publications_standards/publications/rights/index.html for more information.
This article has been accepted for publication in a future issue of this journal, but has not been fully edited. Content may change prior to final publication. Citation information: DOI 10.1109/TETC.2018.2874643, IEEE
Transactions on Emerging Topics in Computing

6 IEEE TRANSACTIONS ON EMERGING TOPICS IN COMPUTING

tifier, TM Type ID identifies the TM and Sequence Flag dis- the “Initialization” phase.
tinguish between a standalone block and the first, interme-  Heartbeat Event service.
diate or last block in case of multi-block transmission.
4.7 Redundancy Management
Bus redundancy is managed by CCIPC based on the
Heartbeat service. When CCIPC does not receive the
Heartbeat message from the master node, it generates an
event. When the number of generated events reach the
Ttoggle value, a bus switch is accomplished. The maxi-
mum number of bus switches is defined by the Ntoggle
value. Once this number of switches is achieved, RLS
keeps working on the same bus until the instrument is
powered off.
Ttoggle and Ntoggle values are defined in the Manufac-
turer-specific profile area of the Object Dictionary.
On the other hand, CCIPC sends periodically a Heart-
beat message, indicating RLS is alive to the master node. If
RLS´s Heartbeat message or some other slave´s Heartbeat
message is missing, the master could decide to change it-
self from one bus to the other. In this case, after Ttoggle
missed master Heartbeats, all slaves should move to the
same bus.

4.8 Synchronization
The Rover OBC acts as SYNC producer, broadcasting
the synchronization object periodically each 100ms, and
RLS as SYNC consumer. The Synchronization Object pro-
vides the basic network clock.
RLS does not need any special synchronization. Never-
theless, the SYNC is used by RLS SW to provide a more
Figure 9 - SDO Block Upload Protocol for ExoMars deterministic behavior; asynchronous TM transmission al-
ways starts a fixed elapsed time of 5ms after receiving
To transfer more than one block, the full SDO Block
SYNC. This avoids any overlapping with synchronous
Download or Upload sequence should be repeated as
TMs, which are sent from SYNC to SYNC+3ms. Each SDO
many times as necessary.
sent in the first half of this window, is processed in the
Both SDO Block Download and Upload processes fol-
same window by the Rover OBC. So, any RLS SDO block
lows to [5] except for BSO. The content of the BSO PDO
should be processed in the same SYNC window that it is
message can be seen in Figure 10.
sent.

4.9 Time distribution


The Exomars Rover Module PL Bus does not support
the CANopen TIME object. Instead, for time distribution a
Figure 10 - BSO message format
PDO called Rover Elapsed Time (RET) is sent from the
Rover OBC. This PDO is required to slave nodes like RLS
4.6 Network Management to be mapped as RPDO0. The time format used is the
CCSDS Unsegmented Time Code (CUC).
RLS works as slave node in Network Management ser-
vice. Through this service, the master (the Rover OBC) is
4.10 The Object Dictionary
in charge of managing the status of each slave in the CAN
network. CCIPC supports a limited set of Object Dictionary entries.
The Network Management services supported by RLS These entries belong to one of the following CANopen
and implemented by CCIPC are: standard objects: Communication profile area (where gen-
 Start Remote Node to enter in “Operational” state. eral communication objects, RPDOs and TPDOs objects
 Stop Remote Node to enter in “Stop” state. and their mapping are defined), Manufacturer-specific
 Enter Pre-Operational to enter in “Pre-Opera- profile area (where specific CCIPC parameters are de-
tional” state. fined), Read-Write Area (where RLS TCs and TMs are de-
 Reset Node to enter in “Reset Application” state. fined).
 Reset Communication to enter in “Reset Commu- Within CCIPC the data types of the objects are pre-de-
nications” state. fined. The only available data types are Variable (U8, U16
 Bootup Service, signaling to the master the end of or U32 single value), Record (object composed by a combi-

2168-6750 (c) 2018 IEEE. Personal use is permitted, but republication/redistribution requires IEEE permission. See http://www.ieee.org/publications_standards/publications/rights/index.html for more information.
This article has been accepted for publication in a future issue of this journal, but has not been fully edited. Content may change prior to final publication. Citation information: DOI 10.1109/TETC.2018.2874643, IEEE
Transactions on Emerging Topics in Computing

AUTHOR ET AL.: CAN IMPLEMENTATION AND PERFORMANCE FOR RAMAN LASER SPECTROMETER (RLS) INSTRUMENT ON EXOMARS 2020 MISSION
7

nation of Variables) and Array (object composed by a com- CAN/CANOpean protocol over the PL Bus, for this pro-
bination of Variables of the same data type). cedure is assessed, by analyzing the number of useful bits
In RLS, the CCIPC object dictionary is embedded in the which are transferred via the bus against the total number
boot software code and copied to the CCIPC “ROM” when of transferred bits. Furthermore, a similar analysis for the
the boot code starts running. After this ROM is loaded, the main maintenance procedure is accomplished. This proce-
boot software must release the CCIPC from reset and after dure allows App Software updates, and it is called
approximately 15ms the CCIPC will be active and ready to RLS_Patching Task.
use. For the assessment, the tasks are decomposed in actions,
and these actions in TCs and TMs. Then, these TCs and
TMs are converted to CANopen messages and, finally,
5 ONBOARD DATA HANDLING AND SW DESIGN these CANopen messages are translated to CAN messages,
The RLS SW design is based on a five-mode state ma- which are what really will be transferred through the CAN
chine, where transitions from one mode to another are trig- PL Bus.
gered by telecommands; that is, CAN messages sent from Neither retransmission nor bit stuffing are considered
the CAN master node, the Rover OBC. in this assessment. Only Data CAN messages regarding
Two SW entities follow this state machine: The Boot RLS_SampleMeasurement and RLS_Patching tasks. Heart-
Software (Boot SW) and the Application Software (App beat messages, SYNC messages, RLS synchronous TMs
SW). Both entities never work at the same time, after in- (PDOs sent each 10s) and RLS_TM_Events are skipped of
strument power-on, the Boot SW starts the “Initialization” this analysis.
mode, and once a transition to another mode is requested A CAN Data Frame format including one data byte
by means of the correspondent telecommand, the App SW (Byte 1) is shown in Figure 11.
starts its execution. The App SW implements the rest of the
modes, and the Boot SW does not run again until a Reset
Telecommand is received or the instrument is powered off
and on again.
Thus, the state machine is controlled by the Rover Figure 11 - Raw CAN Data Frame for 1 Byte of real data
through CAN messages (TCs) sent by the CAN master
node. The reception of these messages is handled in differ- Since the number of data bytes can be from one to eight,
ent way by Boot SW and App SW. The former implements and the rest of the bits are mandatory independently of the
polling, active sampling of CCIPC registers, while the lat- number of data bytes, overhead decrements when the
ter uses the microcontroller interrupt mechanism, with all number of data bytes increases following Figure 12.
the CCIPC interrupts coming from the same interrupt line.

5.1 CAN usage description on RLS Onboard


procedures
The usage of the data interface by the onboard Software
differs from one procedure to another. While the bootup
procedure would set and prepare the infrastructure, the
more complex scientific activities would intensify the ex- Figure 12 - Data bits vs Transferred bits
change of data. This section shows some sequence dia-
grams and numbers relative to CAN performance. The assessment is done in the following sections consid-
The use of SDO for sending large amounts of science ering the data bytes transmitted for the main scientific ac-
data could be considered as the main characteristic of the tivity (RLS sample measurement activity) and the main
RLS CAN implementation. maintenance activity (RLS patching).
SDO was not mainly developed to do this. SDO was
thought to access the client to the server´s object dictionary 5.2 CAN performance on RLS main scientific
for service purposes like configuration and, consequently, activity
it is not the most efficient bus for large data transmission.
However, since for the server is possible to access to all The RLS_SampleMeasurement task comprises:
the Object Dictionary, it is also possible to access to a big
data buffer object implemented in the OD and, in this way, 1. Rover moving SPDS (Figure 15) to allocate the
to read or write its content. This is how RLS works; receiv- Martian sample under the RLS field of view. This
ing TCs means the client to write in an OD´s buffer and step does not imply any Rover-RLS message;
sending TMs means the client to read in an OD’s buffer. SPDS is completely independent from RLS.
The main goal of the instrument is to collect and trans- 2. RLS_SetLaser Action is then performed, where
mit scientific data coming from Mars samples, and this im- the laser is switched on and its signal is stabilized.
plies to transmit it through CAN PL Bus. For that, an oper- 3. The sequence follows moving SPDS one-step for-
ation procedure is defined, called RLS_SampleMeasure- ward, what does not transfer any RLS-Rover mes-
ment Task. The overhead added by the Exomars sages to the bus.

2168-6750 (c) 2018 IEEE. Personal use is permitted, but republication/redistribution requires IEEE permission. See http://www.ieee.org/publications_standards/publications/rights/index.html for more information.
This article has been accepted for publication in a future issue of this journal, but has not been fully edited. Content may change prior to final publication. Citation information: DOI 10.1109/TETC.2018.2874643, IEEE
Transactions on Emerging Topics in Computing

8 IEEE TRANSACTIONS ON EMERGING TOPICS IN COMPUTING

4. RLS_SingleSpotAcquisition Task is then per-


formed to acquire one spot of the sample in the
refillable container (Figure 13).

Figure 13 - RLS Single Spot Acquisition

5. The first of these Actions is RLS_SetFocus, which


moves RLS IOH (Internal Optical Head) into z-
axis, either automatically or by forcing to a spe-
cific position in order to focus the sample and
maximizes in this way the received Raman signal. Figure 14 - RLS_SampleMeasurent CAN messages
6. RLS_EstimateAcquisition_Parameters Action is
executed. Within this Action, RLS executes the This activity has been simulated for the following use
procedure to estimate the Number of images to case:
average (Nav) and the Integration time (Ti), in-  20 spots
cluding operation like Saturation process, Fluo-  5 images per spot
rescence Removal, Estimation Parameters and  CCD subwindowing for size 5x2048.
Store parameters for next acquisition. With 37 messages being exchanged and a total of
7. Then, the Rover performs the RLS_ToIAlgo Ac- 3597720 bytes, the obtained result is 0.5865 Data Bits/CAN
tion, where the 'traces of interest detection' algo- Bits rate.
rithm is run. This algorithm analyses the refer- A complete block diagram for the RLS_SampleMeas-
ence frames, obtained during RLS_Estimate- urement Activity is depicted in Figure 15.
AcquisitionParameters Action, looking for peaks
that fall into spectral regions of interest. This Ac-
tion does not require to transfer any CAN mes-
sage to the bus.
8. Once this action is finished, RLS accomplishes the
RLS_ImageAcquisition Action to make RLS Ac-
quire Frames.
9. Then, the Rover performs the RLS_Accumulate
Action to execute 'Accumulation' algorithm, what
is meant to average Nav (Output parameter of
RLS_ImageAcquisition Action) frames obtained
from Raman after an acquisition.
10. After that, it is also the Rover in charge of execut-
ing the RLS_Precompress Action to remove scien-
tific data headers and join several frames in order
to allow the final compression and the RLS_Com-
pression Action to accomplish the final data com-
pression algorithm. These last three Actions do
not involve any CAN message transfers.

All the CAN messages transferred during the


RLS_SampleMeasurement Task are shown in Figure 14.

Figure 15 - RLS_SampleMeasurement Activity

2168-6750 (c) 2018 IEEE. Personal use is permitted, but republication/redistribution requires IEEE permission. See http://www.ieee.org/publications_standards/publications/rights/index.html for more information.
This article has been accepted for publication in a future issue of this journal, but has not been fully edited. Content may change prior to final publication. Citation information: DOI 10.1109/TETC.2018.2874643, IEEE
Transactions on Emerging Topics in Computing

AUTHOR ET AL.: CAN IMPLEMENTATION AND PERFORMANCE FOR RAMAN LASER SPECTROMETER (RLS) INSTRUMENT ON EXOMARS 2020 MISSION
9

considered the time taken in sending a SDO Block Down-


During testing, we have found that the transmission of load.
the content of a SDO Block Upload (127 data segments)
takes RLS 25.087ms. This corresponds to 323.992kbps of
Data Bits and 551.799kbps of CAN Bits. That gives 0.5871
6 CONCLUSION
Data Bits/CAN Bits. The CAN bus application on the scientific space in-
strument RLS has been presented.
5.3 CAN performance on RLS main maintenance Besides reliability, robustness, low power consump-
activity tion and low mass requirements among other good char-
acteristics provided by CAN, RLS takes advantage of using
The RLS_Patching task comprises: CANopen as higher layer.
1. Once a block is received via the SDO service, it is In RLS, CANopen protocol is managed by CCIPC con-
stored on memory. This is repeated for every troller, allowing onboard software applications to rely on
block. a generic service to transfer data through the CAN bus
2. After every block is stored, a Reset of the Instru- which is also responsible for the data segmentation.
ment is performed. The use of CANopen allows network management,
bus redundancy and synchronization services within the
All the CAN messages transferred during the network. Regarding communication protocols, the use of
RLS_PatchMemory Task are herein summarized in Figure data-oriented communication through PDOs is useful for
16. short TCs and TMs, while service-oriented communication
via SDOs is implemented in RLS for long science data TMs
and some long TCs, as patching.
During RLS development, we have found several is-
sues related to: understanding the meaning and values of
some Object Dictionary entries; dealing with all the inter-
rupts provided by CCIPC multiplexed in only one micro-
processor input line; and managing the endianness, since
CCIPC works in Little-endian and the Exomars protocol is
defined as Big-endian.
Some overhead could be avoided using other protocol
really defined for long data transfers, and higher data rates
may be achieved. Nevertheless, this overhead is accepted
for applications like RLS and the complexity to manage an-
other different interface is avoided.
Figure 16 - RLS_PatchMemory CAN messages Although some improvement could be done, like in-
creasing the CCIPC working frequency from 10MHz to
Considering this activity has been simulated for the 16MHz (maximum frequency allowed by datasheet) or im-
following use case: plementing CANopen on CAN FD (Flexible Data-Rate) to
 256KB patched avoid overhead impact increasing the bit-rate when just
 Rover Vehicle Interface Simulator acting as the one node is transmitting, this CAN implementation is cur-
Rover with predefined routines rently being successfully tested with RLS EQM (Engineer-
With 1012 TC/TMs being exchanged and a total of ing Qualification Model) and FM (Flight Model).
264659 bytes, the obtained result is 0.58712 Data Bits/CAN
Bits rate.
ACKNOWLEDGMENT
The authors wish thank to the entire team in charge of the
development of the Raman Laser Spectrometer, its hard
work and good working environment during all these
years.

REFERENCES
[1] Bosch, “CAN Specification” Version 2.0, Sept. 1991
[2] ISO 11898-1:2003(E), “Road vehicles – Controller area network
(CAN) – Part 1: Data link layer and physical signalling“ Road
vehicles – Controller area network (CAN) – Part 1: Data link
Figure 17 - RLS_PatchMemory Activity layer and physical signaling
[3] Information technology – Open Systems Interconnection – Basic
During testing, we are using an electrical ground sup- Reference Model: The Basic Model. ISO/IEC Standard 7498-
port equipment (EGSE) that simulates the Rover OBC, but 1:1994(E)
its performance is not exactly the same; so, we have not [4] CANbus extension protocol. ECSS Standard ECSS-E-ST-50-15C.

2168-6750 (c) 2018 IEEE. Personal use is permitted, but republication/redistribution requires IEEE permission. See http://www.ieee.org/publications_standards/publications/rights/index.html for more information.
This article has been accepted for publication in a future issue of this journal, but has not been fully edited. Content may change prior to final publication. Citation information: DOI 10.1109/TETC.2018.2874643, IEEE
Transactions on Emerging Topics in Computing

10 IEEE TRANSACTIONS ON EMERGING TOPICS IN COMPUTING

1 May 2015 intern, and later as senior space radiation engineer in the Space Pro-
grams Dept. His work at INTA has included radiation shielding design
[5] CiA 301, “CANopen application layer and communication pro-
for space missions, radiation hardness assurance and component
file”, Version: 4.2.0, 21 February 2011 testing and development of high-energy particles simulation tech-
[6] A.Viana “CAN Bus for Modern Spacecraft Control Systems”, niques for total dose effects, non-ionizing damages and single event
Proceedings of DASIA 2011 DAta systems in aerospace: 17-20 effects modeling. In addition, he also works developing computing
software for radiation simulation, and lately, embedded control appli-
May 2011 San Anton, Malta. Noordwijk, ESA Communications.
cations for space scietific instruments.
(Conference proceedings)
[7] Fernando Rull et al., “The Raman Laser Spectrometer for the Ex- César Quintana (Las Palmas de G.C., Spain - 1987). Telecommuni-
oMars Rover Mission to Mars”, ASTROBIOLOGY, vol. 17, Numbers cation Engineer (2010) by the University of Las Palmas de G.C.,
Spain, and Master in Space Science and Techonology by the Univer-
6 and 7, 2017
sity of Alcala de Henares. He worked during two years with an
[8] Jorge L. Vago et al., “Habitability on Early Mars and the Search Esteban Terradas Grant for the development of a Spanish nanosatel-
for Biosignatures with the ExoMars Rover”, ASTROBIOLOGY, lite. Aftherwords, he had a trainee at ESAC (European Space Astron-
vol. 17, Numbers 6 and 7, 2017 omy Center) at Villafranca in the frame of CESAR´s project. (Cooper-
ation through Education in Science and Astronomy Research) in
[9] C.Diaz et al., “Raman Laser Spectrometer adaptative operation colaboration with Cebreros (ESA) and Robledo (NASA) Deep Space
for Mars Exploration”, presented at IAC-13,A3.P.29, 2013 Stations. At present, he is working as Software Engineer in RLS (Ra-
[10] A.G. Moral et al., Raman Laser Spectrometer (RLS) Instrument man Laser Spectrometer), an instrument onboard ESA ExoMars mis-
sion to be launched in 2020.
for 2020 ExoMars Mission, presented at Instrument Planetary
Probe Workshop#14 – ID 411, 2017 Carlos Pérez Canora (Madrid, Spain - 1977). Master degree in phys-
[11] M. Caramia et al., “The CANopen Controller IP Core: Implemen- ics (5 years - 2005) by Autonoma University of Madrid, PhD student
tation, Synthesis and Test Results”, Proceedings of DASIA 2011 in physics (2 years - currently) by Valladolid University and Master in
Satellite communications by University Complutense of Madrid. He
DAta systems in aerospace: 17-20 May 2011 San Anton, Malta.
worked 3 years for Macanus as product assurance engineer, 2 years
Noordwijk, ESA Communications. (Conference proceedings) for Indra Spain as software engineer and joined INTA in 2007. He has
[12] CCIPC - Datasheet. Sitael. CAS-CCIPC-DTS-0001. Issue 17. worked during 2 years as software engineer in MIRI project (James
Webb - NASA) and since 2009 as System engineer in RLS (Exomars
Laura Seoane (Ferrol, Spain – 1979) received her Master Degree in - ESA) project related with Mars exploration. Along these years he
Telecommunication Engineering from the University of Vigo, Spain, presented several papers in conferences related with optics, photonis,
and her Postgraduate Specialization in Satellite Communication and astronautical and planetary missions.
M. Eng. In Electronic Systems from the Polytechnic University of Ma-
drid, Spain. Currently she is finishing her PHD on CAN applications Andoni G. Moral (Madrid, Spain – 1976) Master Degree in Aeronautic
for small satellites. After a half-year stage at the European Space Re- Engineering (Space Vehicles) at Polytechnic University of Madrid,
search and Technology Centre (ESTEC) in 2004, she joined to INTA Spain. Currently finishing a PhD on Raman Spectroscopy for Plane-
in 2005. There, she has worked at INTA for the Small Satellites Pro- tary Exploration. Started his career as AIT engineer and PA assistant
gram during 10 years, participating in Nanosat-01 (launched in 2004), at Lidax S.L., becoming company AIV Manager for INTA's JSWT MIRI
Nanosat-1B (launched in 2009) and IntaµSat-1 (stopped in Phase C Telescope Simulator project for three years, and Project Manager in
due to budget restrictions) satellites development and operations. several satellites acceptance/qualification programs (HISPASAT 1E,
During these years, she was involved in system engineering, AIV ac- EXPRESS AM4, YAHSAT 1B, YAHSAT 1A, ARABSAT 5B...) for
tivities, electronic design and satellite operations, mainly. In 2015 she EADS CASA (Astrium) Spain. In 2009 joined INTA as RLS (Raman
joined to the RLS instrument development, as software designer. Laser Spectrometer for 2020 ExoMars) AIV Responsible, and Tech-
Since 2016 she is responsible of the RLS Software. nical support for RLS Laser development and RLS Optical Head Unit
focusing mechanism qualification. Since 2015 he is RLS Instrument
Carlos Díaz (Madrid, Spain - 1982) Computer Scientist by the Univer- Project Manager, AIV Responsible and Optical Head Unit Responsi-
sity Carlos III of Madrid, Spain, Master Degree in Space Technology ble; and Spanish National Project Manager for the RLS International
in 2009, and currently a PhD student in physics by University of Val- Consortium.
ladolid. After 3 years working in several developments with artificial
intelligence, switched to the Space industry in 2009, to join the Flight Alvaro Araujo (Madrid, Spain -1978) received his Diploma (M.Sc.) in
Software group at INTA, and soon started working for the develop- Telecommunication Engineering from the Universidad Politécnica
ment of the RAMAN Spectrometer for ExoMars. After 7 years as the deMadrid in 2001 and his Ph. D. on 2007 from the same University.
SW and Operation responsible, involved in the design and implemen- Currently he is serving as Associate Professor in the Electronic Engi-
tion of ground, AIV and onBoard Software for this project, he changed neering Department at the Escuela Técnica Superior de Ingenieros de
Telecomunicación of the Universidad Politécnica de Madrid where he
his job to start working for the European Southern Observarory (ESO),
carries out both research and teaching activities. He was a post-doc-
as part of the Control SW group for the Extreme Large Telescope
toral researcher at Berkeley Wireless Research Center (BWRC) at the
(ELT).
University of California at Berkeley. His main research and develop-
ment fields are in embedded systems focusing on Wireless Sensor
Jesús Zafra (Jaén, Spain - 1986). Telecommunications Engineer
Networks, Wireless Neural Nerworks and Cognitive networks.
(2010) by the University of Seville, Spain. He worked for 5 years
(2011-2016) for Moog GmbH (Böblingen, Germany) as HW Engineer
in the Motion Controls department designing and manufacturing PLCs
for the industry. He joined INTA in 2016. Since then, he is working as
Software Developer in RLS (Raman Laser Spectrometer), an instru-
ment onboard ESA ExoMars mission to be launched in 2020. At pre-
sent, his work at INTA includes SW PA and SW testing with RVIS
(Rover Vehicle Interface Simulator).

Sergio Ibarmia (Madrid, Spain – 1976) received his B.S. and M.S. in
Atomic, Nuclear and Molecular physics in 2003 from the Madrid Com-
plutense Univesity (UCM). He joined the Dept. of Atomic Physics of
the UCM as an intern researcher to study the Ultra High Energy Cos-
mics Rays for the Pierre Auger Observatory. In 2005, he moved to the
Spanish National Institute for Aerospace Technology (INTA), first as

2168-6750 (c) 2018 IEEE. Personal use is permitted, but republication/redistribution requires IEEE permission. See http://www.ieee.org/publications_standards/publications/rights/index.html for more information.

You might also like